<!--
/********************************************************/
/*  CUSTOM SLIDE FUNCTION								*/
/*  Copyright (c) 2008 Blade fx bvba, Ghesquiere Thomas	*/
/********************************************************/

function slideX(id, options) {
	obj					= $(id);
	options				= options || {};
	options.delay		= options.delay || 100;		// # milliseconds to finish motion
	options.steps		= options.steps || 10;		// delay (in milliseconds) between each step
	options.overflow	= options.overflow || '';
	nrOfSteps			= Math.ceil(options.delay / options.steps) || 1;
	
	obj.style.overflow	= options.overflow;
	options.widthStart	= options.widthStart || obj.offsetWidth;
	options.widthEnd	= (options.widthEnd || 0) < 0 ? 0 : options.widthEnd;
	diffX				= Math.round((options.widthStart - options.widthEnd) / nrOfSteps);
	
	widthNew = options.widthStart - diffX;
	if (options.widthStart > options.widthEnd) {	//shrink
		if (widthNew <= options.widthEnd) {
			widthNew = options.widthEnd;
			obj.style.width = widthNew + 'px';
		} else {
			obj.style.width = widthNew + 'px';
			setTimeout("slideX('" + id + "'," +
				"{" + 
					"widthStart:" + widthNew + "," +
					"widthEnd:" + options.widthEnd + "," +
					"overflow:'" + options.overflow + "'," +
					"delay:" + (options.delay - options.steps) + "," +
					"steps:" + options.steps +
				"}" +
			")", options.steps);
		}
		
	} else {										//expand
		if (widthNew >= options.widthEnd) {
			widthNew = options.widthEnd;
			obj.style.width = widthNew + 'px';
			obj.style.overflow	= '';
		} else {
			obj.style.width = widthNew + 'px';
			setTimeout("slideX('" + id + "'," +
				"{" + 
					"widthStart:" + widthNew + "," +
					"widthEnd:" + options.widthEnd + "," +
					"overflow:'" + options.overflow + "'," +
					"delay:" + (options.delay - options.steps) + "," +
					"steps:" + options.steps +
				"}" +
			")", options.steps);
		}
	}
	//trace(diffX + '//' + options.widthStart);
}

function slideY(id, options) {
	obj					= $(id);
	options				= options || {};
	options.delay		= options.delay || 100;		// # milliseconds to finish motion
	options.steps		= options.steps || 10;		// delay (in milliseconds) between each step
	options.overflow	= options.overflow || '';
	nrOfSteps			= Math.ceil(options.delay / options.steps) || 1;
	
	obj.style.overflow	= options.overflow;
	obj.style.emptyHeight	= (options.emptyHeight) || false;
	options.heightStart	= options.heightStart || obj.offsetHeight;
	options.heightEnd	= (options.heightEnd || 0) < 0 ? 0 : options.heightEnd;	//(obj.offsetheight ? 500 : 0);
	diffY				= Math.round((options.heightStart - options.heightEnd) / nrOfSteps);
	
	heightNew = options.heightStart - diffY;
	if (options.heightStart > options.heightEnd) {	//shrink
		if (heightNew <= options.heightEnd) {
			heightNew = options.heightEnd;
			(options.emptyHeight) ? obj.style.height = '' : obj.style.height = heightNew + 'px';
		} else {
			obj.style.height = heightNew + 'px';
			setTimeout("slideY('" + id + "'," +
				"{" + 
					"heightStart:" + heightNew + "," +
					"heightEnd:" + options.heightEnd + "," +
					"overflow:'" + options.overflow + "'," +
					"emptyHeight:" + options.emptyHeight + "," +
					"delay:" + (options.delay - options.steps) + "," +
					"steps:" + options.steps +
				"}" +
			")", options.steps);
		}
		
	} else {										//expand
		if (heightNew >= options.heightEnd) {
			heightNew = options.heightEnd;
			(options.emptyHeight) ? obj.style.height = '' : obj.style.height = heightNew + 'px';
		} else {
			obj.style.height = heightNew + 'px';
			setTimeout("slideY('" + id + "'," +
				"{" + 
					"heightStart:" + heightNew + "," +
					"heightEnd:" + options.heightEnd + "," +
					"overflow:'" + options.overflow + "'," +
					"emptyHeight:" + options.emptyHeight + "," +
					"delay:" + (options.delay - options.steps) + "," +
					"steps:" + options.steps +
				"}" +
			")", options.steps);
		}
	}
	//trace(diffY + '//' + options.heightStart);
}

function slideXY(id, options) {
	slideX(id, options);
	slideY(id, options);
}

function resizeNav(obj) {
	var idNav = 'nav';
	var widthMin = 38;
	var heightMin = 28;
	
	var widthCurr = $(idNav).offsetWidth - 2;	//1px border included in offsetWidth
	var heightCurr = $(idNav).offsetHeight - 2;	//1px border included in offsetWidth
	
	var widthNew, heightNew, sOverflow;
	if (widthMin < widthCurr) {
		obj.style.backgroundImage = 'url(../images/layout/slideright.gif)';
		$('titnav').style.visibility = 'hidden';
		widthNew = widthMin;
		variables.navWidth = widthCurr;
		sOverflow = 'hidden';
	} else {
		obj.style.backgroundImage = 'url(../images/layout/slideleft.gif)';
		$('titnav').style.visibility = 'visible';
		widthNew = variables.navWidth;
		sOverflow = 'auto';
	}
	if (heightMin < heightCurr) {
		heightNew = heightMin;
		variables.navHeight = heightCurr;
	} else {
		heightNew = variables.navHeight;
	}
	
	widthDiff = widthNew - widthCurr;
	//trace(widthNew + ', ' + heightNew);
	slideXY(idNav, { widthEnd: widthNew, heightEnd: heightNew, overflow: sOverflow });
	
	idContent = 'detailpag';
	//trace ($(idContent).offsetWidth - widthDiff);
	slideX(idContent, { widthEnd: ($(idContent).offsetWidth - widthDiff) });
}

function SlideInOut(id, obj, margins) {
	margins			= margins || 0;
	var heightMin	= 0;
	var heightCurr	= $(id).offsetHeight;
	
	var heightNew, emptyHeight;
	if (heightMin < heightCurr) {
	//	variables[id + 'Y'] = heightCurr;
		heightNew	= heightMin;
		emptyHeight	= ($(id).style.height) ? true : false;
		if (obj) { obj.className = 'inactive'; }
	} else {
	//	heightNew = variables[id + 'Y'];
		heightNew	= $(id).firstChild.offsetHeight + margins;
		emptyHeight	= ($(id).style.height) ? true : false;
		if (obj) { obj.className = 'active'; }
	}
	
	slideY(id, {heightEnd: heightNew, emptyHeight: emptyHeight, overflow: 'hidden' });
}

function Splitter() {						// de navigatie-div moet kunnen vergroot/verkleind worden
	var nav = $("nav");
	var detail = $("detailpag");
	var body = document.body;
	var posX = 0;
	var navposX = 0;
	var go = false;
	var goodpos = false;
	var bodywidth = body.offsetWidth;
	
	document.onmousemove = function(e) {	// hier zullen we moeten bepalen wanneer de cursor moet veranderen, en het verslepen zelf als muis ingedrukt
		if (!e) { // IE..
			e = window.event;
		}
		navposX = getposX(nav);				// positie van het te-resizen element bepalen
		posX = e.clientX;					// muispositie bepalen
		if (navposX + nav.offsetWidth < posX && navposX + nav.offsetWidth + 13 > posX) { // area bepalen waar we kunnen verslepen
			if (nav.className.indexOf("hide") < 0) {
				body.style.cursor = "e-resize"; // cursor veranderen
				goodpos = true;				// we staan op een goede positie om te verslepen
			}
		} else {
			body.style.cursor = "default";
		}
		document.onmousedown = function(e) {
			if (!e) { // IE..
				e = window.event;
			}
			navposX = getposX(nav);			// same thing als zonet; gebeurt nog eens omdat event niet meteen door-bubblen (en wordt goodpos niet meteen aangepast)
			posX = e.clientX;
			if (navposX + nav.offsetWidth < posX && navposX + nav.offsetWidth + 13 > posX) {
				if (nav.className.indexOf("hide") < 0) {
					go = true;				// ok, we hebben geklikt, resizen is toegestaan
					return false;			// text wordt niet 'geselecteerd' dan (andere browsers)
				}
			}
		}
		document.onmouseup = function() {
			go = false;						// muis gelost, niet meer resizen
		}
		if (go) {							// momenteel is onze muis ingedrukt...
			body.style.cursor = "e-resize"; // behoud de cursor 'e-resize'
			
			var idNav = 'nav';
			var widthMin = 40;
			var widthMax = body.offsetWidth - 150;
			
			var xMoved = posX - (navposX + $(idNav).offsetWidth);	// = muispositie - (positie navigatieblok +  breedte nav)
			var widthCurr = $(idNav).offsetWidth - 2;				//1px border included in offsetWidth
			var widthNew = widthCurr + xMoved;
			
			if (widthMin > widthNew) { widthNew = widthMin; }
			if (widthMax < widthNew) { widthNew = widthMax; }
			slideX(idNav, { widthEnd: widthNew, delay: 1, steps: 1 });
			
			var idContent = 'detailpag';
			var widthDiff = widthNew - widthCurr;
			slideX(idContent, { widthEnd: ($(idContent).offsetWidth - widthDiff), delay: 1, steps: 1, overflow: 'auto' }); //widthDiff
		}
		return false; // text wordt niet 'geselecteerd' dan (IE)
	}
}

function getposX(obj) { // posx van element berekenen
	var curleft = 0;
	while (obj.offsetParent) {
		curleft += obj.offsetLeft;
		obj = obj.offsetParent;
	}
	curleft += obj.offsetLeft;
	if (obj.x) {
		curleft += obj.x;
	}
	return curleft;
}

//-->

