// var mOutput;
//

var Vijf = new function() {}
//
Vijf.loadVideo = function(sIdn) {
	mFlv = document.getElementById("flvplayer_wrapper");
	mFlv.innerHTML = "<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0' width='425' height='418'><param name='movie' value='http://www.videotalent.nl/flash/player/external/videoPlayerBNN.swf?listMode=0&id="+sIdn+"'><param name='quality' value='high'><param name='wmode' value='transparent'><embed src='http://www.videotalent.nl/flash/player/external/videoPlayerBNN.swf?listMode=0&id="+sIdn+"' width='425' height='418' quality='high' wmode='transparent' pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash'></embed></object>";
}
//
Vijf.scrollInit = function() {
	var aDiv = getElementsByClassName(document,"div","scroll");
	for (var i=0;i<aDiv.length;i++) {
		mScr = aDiv[i];
		if (mScr.scrollHeight>mScr.offsetHeight) {
			sCnt = mScr.innerHTML;
			mScr.innerHTML = "";
			//
			mCnt = document.createElement("div");
			mCnt.innerHTML = sCnt;
			mCnt.setAttribute("class", "scrollcontent");
			mCnt.setAttribute("className", "scrollcontent");
			mScr.appendChild(mCnt);
			//
			mLine = document.createElement("div");
			mLine.setAttribute("class", "scrollline");
			mLine.setAttribute("className", "scrollline");
			mScr.appendChild(mLine);
			//
			mBut = document.createElement("div");
			mBut.setAttribute("class", "scrollbut");
			mBut.setAttribute("className", "scrollbut");
			//mBut.onmousedown = Drag.start;
			//
			Drag.init(mBut,null, 0, 0, 0, mScr.offsetHeight-20, true);
			//
			mScr.appendChild(mBut);
		}
	}
	// create output
	mOutput = document.createElement("div");
	mOutput.setAttribute("class",		"output");
	mOutput.setAttribute("className",	"output");
	mOutput.style.textAlign = "left";
	mOutput.style.fontWeight = "bold";
	mOutput.style.color = "red";
	mOutput.style.display = "none";
	mOutput.innerHTML = "output";
	document.getElementsByTagName("body")[0].appendChild(mOutput);
	//
	// sifr meuk
	if(typeof sIFR == "function"){
		//sIFR.replaceElement(named({sSelector:".smallbox .menu a span", sFlashSrc:"style/vincastencil.swf", sColor:"#ffffff", sWmode:"transparent",sFlashVars:"textalign=right"}));
		sIFR.replaceElement(named({sSelector:".smallbox .content h3", sFlashSrc:"style/vincastencil.swf", sColor:"#ffffff", sWmode:"transparent"}));
	}
	//
	//
}

/**************************************************
 * dom-drag.js
 * 09.25.2001
 * www.youngpup.net
 **************************************************
 * 10.28.2001 - fixed minor bug where events
 * sometimes fired off the handle, not the root.
 **************************************************/
var Drag = {

	obj : null,

	init : function(o, oRoot, minX, maxX, minY, maxY, bSwapHorzRef, bSwapVertRef, fXMapper, fYMapper) {
		o.onmousedown	= Drag.start;


		o.hmode			= bSwapHorzRef ? false : true ;
		o.vmode			= bSwapVertRef ? false : true ;

		o.root = oRoot && oRoot != null ? oRoot : o ;

		if (o.hmode  && isNaN(parseInt(o.root.style.left  ))) o.root.style.left   = "0px";
		if (o.vmode  && isNaN(parseInt(o.root.style.top   ))) o.root.style.top    = "0px";
		if (!o.hmode && isNaN(parseInt(o.root.style.right ))) o.root.style.right  = "0px";
		if (!o.vmode && isNaN(parseInt(o.root.style.bottom))) o.root.style.bottom = "0px";

		o.minX	= typeof minX != 'undefined' ? minX : null;
		o.minY	= typeof minY != 'undefined' ? minY : null;
		o.maxX	= typeof maxX != 'undefined' ? maxX : null;
		o.maxY	= typeof maxY != 'undefined' ? maxY : null;

		o.xMapper = fXMapper ? fXMapper : null;
		o.yMapper = fYMapper ? fYMapper : null;

		o.root.onDragStart	= new Function();
		o.root.onDragEnd	= new Function();
		o.root.onDrag		= new Function();
	},

	start : function(e) {
		var o = Drag.obj = this;
		e = Drag.fixE(e);
		var y = parseInt(o.vmode ? o.root.style.top  : o.root.style.bottom);
		var x = parseInt(o.hmode ? o.root.style.left : o.root.style.right );
		o.root.onDragStart(x, y);

		o.lastMouseX	= e.clientX;
		o.lastMouseY	= e.clientY;

		if (o.hmode) {
			if (o.minX != null)	o.minMouseX	= e.clientX - x + o.minX;
			if (o.maxX != null)	o.maxMouseX	= o.minMouseX + o.maxX - o.minX;
		} else {
			if (o.minX != null) o.maxMouseX = -o.minX + e.clientX + x;
			if (o.maxX != null) o.minMouseX = -o.maxX + e.clientX + x;
		}

		if (o.vmode) {
			if (o.minY != null)	o.minMouseY	= e.clientY - y + o.minY;
			if (o.maxY != null)	o.maxMouseY	= o.minMouseY + o.maxY - o.minY;
		} else {
			if (o.minY != null) o.maxMouseY = -o.minY + e.clientY + y;
			if (o.maxY != null) o.minMouseY = -o.maxY + e.clientY + y;
		}

		document.onmousemove	= Drag.drag;
		document.onmouseup		= Drag.end;

		return false;
	},

	drag : function(e) {
		e = Drag.fixE(e);
		var o = Drag.obj;

		var ey	= e.clientY;
		var ex	= e.clientX;
		var y = parseInt(o.vmode ? o.root.style.top  : o.root.style.bottom);
		var x = parseInt(o.hmode ? o.root.style.left : o.root.style.right );
		var nx, ny;

		if (o.minX != null) ex = o.hmode ? Math.max(ex, o.minMouseX) : Math.min(ex, o.maxMouseX);
		if (o.maxX != null) ex = o.hmode ? Math.min(ex, o.maxMouseX) : Math.max(ex, o.minMouseX);
		if (o.minY != null) ey = o.vmode ? Math.max(ey, o.minMouseY) : Math.min(ey, o.maxMouseY);
		if (o.maxY != null) ey = o.vmode ? Math.min(ey, o.maxMouseY) : Math.max(ey, o.minMouseY);

		nx = x + ((ex - o.lastMouseX) * (o.hmode ? 1 : -1));
		ny = y + ((ey - o.lastMouseY) * (o.vmode ? 1 : -1));

		if (o.xMapper)		nx = o.xMapper(y)
		else if (o.yMapper)	ny = o.yMapper(x)

		Drag.obj.root.style[o.hmode ? "left" : "right"] = nx + "px";
		Drag.obj.root.style[o.vmode ? "top" : "bottom"] = ny + "px";
		Drag.obj.lastMouseX	= ex;
		Drag.obj.lastMouseY	= ey;

		Drag.obj.root.onDrag(nx, ny);
		//
		// insert scrolling stuff
		var fPrt = (ey-o.minMouseY)/(o.maxMouseY-o.minMouseY);
		var iHgt = Drag.obj.parentNode.childNodes[0].offsetHeight;
		var iTop = -parseInt(fPrt*(iHgt-Drag.obj.parentNode.offsetHeight));
		//var iTop = -parseInt(fPrt*(o.a.offsetHeight-Drag.obj.parentNode.offsetHeight));
		//var iTop = -parseInt(fPrt*(o.iHgt-Drag.obj.parentNode.offsetHeight));
		//var iTop = -parseInt(fPrt*(Drag.obj.parentNode.scrollHeight-Drag.obj.parentNode.offsetHeight));
		Drag.obj.parentNode.childNodes[0].style.top = iTop+"px";
		//
		// output
		sShow = "";
		sShow += "ey: "+ey+"<br/>";
		sShow += "o.maxMouseY: "+o.maxMouseY+"<br/>"
		sShow += "o.minMouseY: "+o.minMouseY+"<br/>";
		sShow += "fPrt: "+fPrt+"<br/>";
		sShow += "iTop: "+iTop+"<br/>";
		sShow += "offsetTop: "+Drag.obj.parentNode.offsetTop+"<br/>";
		sShow += "offsetHeight: "+Drag.obj.parentNode.offsetHeight+"<br/>";
		sShow += "scrollHeight: "+Drag.obj.parentNode.scrollHeight+"<br/>";
		sShow += "scrollTop: "+Drag.obj.parentNode.scrollTop+"<br/>";
		sShow += "iHgt: "+o.iHgt+"<br/>";
		mOutput.innerHTML = sShow;
		//
		return false;
	},

	end : function() {
		document.onmousemove = null;
		document.onmouseup   = null;
		Drag.obj.root.onDragEnd(	parseInt(Drag.obj.root.style[Drag.obj.hmode ? "left" : "right"]), 
									parseInt(Drag.obj.root.style[Drag.obj.vmode ? "top" : "bottom"]));
		Drag.obj = null;
	},

	fixE : function(e) {
		if (typeof e == 'undefined') e = window.event;
		if (typeof e.layerX == 'undefined') e.layerX = e.offsetX;
		if (typeof e.layerY == 'undefined') e.layerY = e.offsetY;
		return e;
	}
};

// ############################################################################################
addEvent(window, "load", Vijf.scrollInit);
// ############################################################################################

function addEvent(elm, evType, fn, useCapture) {
  if (elm.addEventListener){
    elm.addEventListener(evType, fn, useCapture);
    return true;
  } else if (elm.attachEvent){
    var r = elm.attachEvent("on"+evType, fn);
    return r;
  } else {
    alert("Handler could not be removed");
  }
}

function getElementsByClassName(oElm, strTagName, strClassName){
    var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    strClassName = strClassName.replace(/\-/g, "\\-");
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    for(var i=0; i<arrElements.length; i++){
        oElement = arrElements[i];      
        if(oRegExp.test(oElement.className)){
            arrReturnElements.push(oElement);
        }   
    }
    return (arrReturnElements)
}

// ############################################################################################