/**********************************
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		= true				// true 					meerdere tegelijk open | false = 1 item open, de rest sluit




// HIERONDER NIETS MEER AANPASSEN
var slideopen_active		= true				

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'));
		var status 		= String(divarray[ii].getAttribute('status'));		
		if(attributeID.toLowerCase().indexOf('slideopen_geopend[') > -1){
			idnaamarray 								= attributeID.toLowerCase().split('[');
			idnaamarray 								= idnaamarray[1].split(']');															 
			id											= idnaamarray[0];
			
			show('slideopen_gesloten['+id+']');
			show('slideopen_geopend['+id+']');						
			slideopen_divs[id] 							= new Object;
			slideopen_divs[id].id						= id;	
			slideopen_divs[id].maxHeight				= parseInt(document.getElementById('slideopen_geopend['+id+']').offsetHeight);
			

			
			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(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+']');				
			}
		}
	}			
}
	
function slideopen(id){
	if(slideopen_divs[id].status == 'open'){
		slideopen_divs[id].status = 'close';
	}else{
		if(slideopen_active != id && slideopen_active && slideopen_multiple == false){
			slideopen(slideopen_active)
		}
		slideopen_active = id;
		slideopen_divs[id].status = 'open';		
	}
	
	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+']')
		}
	}
}	
