/* javascript-functies www.halfgouda.nl */
/* ©2005-6 arthur van zuylen, www.2parts.nl */


/* 'add event' functie om meerdere javascript-functies aan te roepen */
function addEvent(obj, evType, fn) {
	if (obj.addEventListener) {
		obj.addEventListener(evType, fn, true);
		return true;
	
	} else if (obj.attachEvent) {
		var r = obj.attachEvent("on"+evType, fn);
		return r;
	
	} else {
		return false;
	}
}   

/* activeer selectbox zonder button */
function go(keuze) {
	with(keuze) {
		destination = options[selectedIndex].value;
		if(destination != "") {
			location.href = destination;
		}	
	}
}

/* leeg inputvenster */
function cleartext(thefield) {
 	if (thefield.defaultValue == thefield.value)
 	thefield.value = ""
}

/* vul inputvenster */
function fillemptytext(thefield) {
	if (thefield.value == "")
	thefield.value = thefield.defaultValue
}

/* selecteer inputvenster */
function selectall(form, element) {
	if (document.forms.length > 0) {
 		document.forms[form].elements[element].focus();
 		document.forms[form].elements[element].select();
	}
}

/* focus op inputvenster */
function setfocus(form, element) {
	if (document.forms.length > 0) {
		document.forms[form].elements[element].focus();
	}
}


/* universeel showhide-script met inline HTML voor feedback*/
function showhide(item,link_tag,toon_html,verberg_html) {
	obj=document.getElementById(item);
   	visible=(obj.style.display!="none")
   	key=document.getElementById(link_tag + item);
   		
   	if (visible) {
    	obj.style.display="none";
    	key.innerHTML=toon_html;
   	} else {
     	
    	obj.style.display="block";
    	key.innerHTML=verberg_html;
   	}
}

/* showhide formulieren */
function toggle(obj) {
	if(document.getElementById(obj)) {
		var el = document.getElementById(obj);
		if(el.style.display != 'none') {
			el.style.display = 'none';
		} else {
			el.style.display = 'block';
		}
	}
}	

function show(obj) {
	if(document.getElementById(obj)) {
		var el = document.getElementById(obj);
		if(el.style.display == 'none') {
			el.style.display = 'block';
		}
	}	
}

function hide(obj) {
	if(document.getElementById(obj)) {
		var el = document.getElementById(obj);
		if(el.style.display != 'none') {
			el.style.display = 'none';
		}
	}	
}	

function prepareShowHide_contact() {
	// check of javascript voldoende wordt ondersteund door de browser 
	if(!document.getElementById) {
		return;
	}
	
	// check of contactformulier op de pagina voorkomt
	if(document.getElementById("contact_container") == null) {
		return;
	}
	
	// haal de show/hide-link voor het contactformulier op
	var sh_contact = document.getElementById("contact");
	sh_contact.onclick = function() {
		
		// verberg evt reactieformulier
		hide("reactie_container");
		
		// verberg evt zoekformulier
		hide("zoek_container");
		
		// toon/verberg contactformulier
		toggle("contact_container");
		
		// scroll naar contactformulier
		if(document.getElementById("contact_container").style.display != "none") {
			scrollnaar_einde();
		}

		// deactiveer link
		return false;
	}
}

function prepareShowHide_reageren() {
	// check of javascript voldoende wordt ondersteund door de browser 
	if(!document.getElementById) {
		return;
	}
	
	// check of reactieformulier op de pagina voorkomt
	if(document.getElementById("reactie_container") == null) {
		return;
	}
	
	// haal de show/hide-link voor het reactieformulier op
	var sh_zoek = document.getElementById("reageren");
	sh_zoek.onclick = function() {
		
		// verberg evt contactformulier
		hide("contact_container");
		
		// verberg evt zoekformulier
		hide("zoek_container");
		
		// toon/verberg zoekformulier
		toggle("reactie_container");
		
		// scroll naar zoekformulier
		if(document.getElementById("reactie_container").style.display != "none") {
			scrollnaar_einde();
		}
		
		// deactiveer link
		return false;
	}	
}

	
function prepareShowHide_zoeken() {
	// check of javascript voldoende wordt ondersteund door de browser 
	if(!document.getElementById) {
		return;
	}
	
	// check of contactformulier op de pagina voorkomt
	if(document.getElementById("zoek_container") == null) {
		return;
	}
	
	// haal de show/hide-link voor het zoekformulier op
	var sh_zoek = document.getElementById("zoeken");
	sh_zoek.onclick = function() {
		
		// verberg evt contactformulier
		hide("contact_container");
		
		// verberg evt reactieformulier
		hide("reactie_container");
		
		// toon/verberg zoekformulier
		toggle("zoek_container");
		
		// scroll naar zoekformulier
		if(document.getElementById("zoek_container").style.display != "none") {
			scrollnaar_einde();
		}
		
		// deactiveer link
		return false;
	}	
}

/* scroll naar inputvenster */
function scrollnaar_einde() {

	var anchor = document.getElementById('einde');
	var goto_y = findPosY(anchor);
	
	scrollTo(0,goto_y);
}

/* bepaal positie van een element */
/* [ ontleend aan http://www.quirksmode.org/js/findpos.html ]
/*   en http://blog.firetree.net/2005/07/04/javascript-find-position/ ] */

function findPosX(obj) {
	var curleft = 0;
	if (obj.offsetParent) {
		while (1) {
			curleft+=obj.offsetLeft;
			if (!obj.offsetParent) {
				break;
			}
			obj=obj.offsetParent;
		}
	} else if (obj.x) {
		curleft+=obj.x;
	}
	return curleft;
}

function findPosY(obj) {
	var curtop = 0;
	if (obj.offsetParent) {
		while (1) {
			curtop+=obj.offsetTop;
			if (!obj.offsetParent) {
				break;
			}
			obj=obj.offsetParent;
		}
	} else if (obj.y) {
		curtop+=obj.y;
	}
	return curtop;
}

addEvent(window,'load',prepareShowHide_contact);
addEvent(window,'load',prepareShowHide_zoeken);
addEvent(window,'load',prepareShowHide_reageren);