/**********************************

CREATED BY TIM DE VOS, IFOX



<div id="slideopen_geopend[ID]" status="open|closed">TEKST</div>		=>	div met complete inhoud



<div id="slideopen_gesloten[ID]">TEKST</div>							=> 	div met gesloten inhoud 						(optioneel)



<div id="slideopen_sluiten[ID]">SLUITEN</div>							=> 	div met button met caption "sluiten" o.i.d. 	(optioneel)



<div id="slideopen_openen[ID]">OPENEN</div>								=> 	div met button met caption "openen" o.i.d. 		(optioneel)



<a href="#" onclick="slideopen('ID');return false"> 					=> 	functie om te sluiten



**********************************/



var slideopen_divs			= new Object;

var slideopen_speed			= 2.5; 				// 1 t/m n =>				1 = super snel, 10 = traag, 20 = sloom, etc.

var slideopen_multiple		= false;				// true 					meerdere tegelijk open | false = 1 item open, de rest sluit

var slideopen_cacheajax		= false;				// true 					meerdere tegelijk open | false = 1 item open, de rest sluit









// HIERONDER NIETS MEER AANPASSEN

var slideopen_active		= false				



window.onload = function(){	

	slideopen_init()

}



function hide(id){

	if(document.getElementById(id)){

		document.getElementById(id).style.display = 'none';

	}

}



function show(id){

	if(document.getElementById(id)){

		document.getElementById(id).style.display = 'block';

	}

}



function resize(id, newHeight){

	document.getElementById(id).style.height = newHeight + 'px';			

}



function slideopen_init(){

	var divarray = document.getElementsByTagName("div");    

	for(var ii=0;ii<divarray.length;ii++){  

		var attributeID = String(divarray[ii].getAttribute('id'));

		if(attributeID.toLowerCase().indexOf('slideopen_geopend[') > -1){

			idnaamarray 								= attributeID.toLowerCase().split('[');

			idnaamarray 								= idnaamarray[1].split(']');															 

			id											= idnaamarray[0];

			slideopen_divs[id] 							= new Object;

			slideopen_divs[id].id						= id;				

			slideopen_initdiv(id);

		}

	}			

}

function slideopen_initdiv(id){

	var status 		= String(document.getElementById('slideopen_geopend['+id+']').getAttribute('status'));			

	show('slideopen_gesloten['+id+']');

	show('slideopen_geopend['+id+']');

	if(!slideopen_divs[id].maxHeight){

		slideopen_divs[id].maxHeight				= parseInt(document.getElementById('slideopen_geopend['+id+']').offsetHeight);

	}else{

		var currentheight = parseInt(document.getElementById('slideopen_geopend['+id+']').offsetHeight);		

		document.getElementById('slideopen_geopend['+id+']').style.overflow	= 'visible';

		document.getElementById('slideopen_geopend['+id+']').style.height	= 'auto';

		slideopen_divs[id].maxHeight				= parseInt(document.getElementById('slideopen_geopend['+id+']').offsetHeight);

		document.getElementById('slideopen_geopend['+id+']').style.overflow	= 'hidden';	

		document.getElementById('slideopen_geopend['+id+']').style.height	= currentheight + 'px';			

	}

	

	if(document.getElementById('slideopen_gesloten['+id+']')){

		slideopen_divs[id].minHeight				= parseInt(document.getElementById('slideopen_gesloten['+id+']').offsetHeight);

		show('slideopen_gesloten['+id+']');

	}else{

		slideopen_divs[id].minHeight				= 0;				

	}

	

	if(!slideopen_divs[id].status){

		if(status == 'open'){

			slideopen_active = id;

			slideopen_divs[id].status					= 'open';			

			hide('slideopen_openen['+id+']');

			show('slideopen_sluiten['+id+']');				

			resize('slideopen_geopend['+id+']', slideopen_divs[id].maxHeight);

			show('slideopen_geopend['+id+']');								

			hide('slideopen_gesloten['+id+']');												

		}else{

			slideopen_divs[id].status					= 'closed';							

			show('slideopen_openen['+id+']');

			hide('slideopen_sluiten['+id+']');				

			resize('slideopen_geopend['+id+']', slideopen_divs[id].minHeight);

			hide('slideopen_geopend['+id+']');

			show('slideopen_gesloten['+id+']');

		}

	}else{

		hide('slideopen_geopend['+id+']');

		hide('slideopen_gesloten['+id+']');			

	}

}



function slideopen(id,ajaxURL){

	if(slideopen_divs[id]){

		if(slideopen_divs[id].status == 'open'){

			slideopen_divs[id].status = 'close';

		}else{

			if(slideopen_active != id && slideopen_active && slideopen_multiple == false){

				if(slideopen_active != false){

					slideopen(slideopen_active)

				}

			}

			slideopen_active = id;

			slideopen_divs[id].status = 'open';		

		}

		

		

		if(ajaxURL && (slideopen_divs[id].loaded != true || slideopen_cacheajax == false) && slideopen_divs[id].status == 'open'){

			startRequest(ajaxURL,'slideopen_geopend['+id+']',false,'slideopen_initdiv(\''+id+'\');slideopenStart(\''+id+'\')')

			slideopen_divs[id].loaded = true;

		}else{

			slideopenStart(id)

		}

	}else{

		alert('Pagina nog niet uitgeladen, even geduld aub..');

	}

}	



function slideopenStart(id){

	show('slideopen_geopend['+id+']');		

	hide('slideopen_gesloten['+id+']');			

	clearTimeout(slideopen_divs[id].timeout);

	

	if(slideopen_divs[id].status == 'open'){

		hide('slideopen_openen['+id+']');

		show('slideopen_sluiten['+id+']');		

		slideopen_timeout(id)			

	}else{

		show('slideopen_openen['+id+']');

		hide('slideopen_sluiten['+id+']');							

		slideopen_timeout(id)					

	}

}	







function slideopen_timeout(id){

	divElement = document.getElementById('slideopen_geopend['+id+']');



	if(slideopen_divs[id].status == 'open'){

		target = slideopen_divs[id].maxHeight

	}else{

		target = slideopen_divs[id].minHeight

	}

	speed 		= (target - parseInt(divElement.offsetHeight)) / slideopen_speed		

	if(Math.abs(speed) > 1){

		newheight 	= parseInt(divElement.style.height) + speed;		

		resize('slideopen_geopend['+id+']',newheight);

		slideopen_divs[id].timeout = setTimeout('slideopen_timeout(\''+id+'\')',30);

	}else{

		resize('slideopen_geopend['+id+']',target);	

		if(slideopen_divs[id].status == 'close'){

			hide('slideopen_geopend['+id+']')

			show('slideopen_gesloten['+id+']')

		}

	}

}	
