// JavaScript Document

/* EVENT LISTENERS */
addEvent(window, 'load', init);

function init(){
	vulZoek();
	
	var zoek = document.getElementById('searchField');
	addEvent(zoek, 'focus', leegZoek);
	addEvent(zoek, 'blur', vulZoek);
	addEvent(document.getElementById('search'), 'submit', leegZoek);

}

/* FUNCTIONS */

function addEvent(obj, evType, fn){ 
	try{
		if (obj.addEventListener){ 
			obj.addEventListener(evType, fn, false); 
			return true; 
		} else if (obj.attachEvent){ 
			var r = obj.attachEvent("on"+evType, fn); 
			return r; 
		} else { 
			return false; 
		} 
	}catch(e){ }
}

function emptyValue(elm, tekst){
	if(document.getElementById(elm).value==tekst){
		document.getElementById(elm).value="";
	}
}
function returnValue(elm, tekst){
	if(document.getElementById(elm).value==""){
		document.getElementById(elm).value=tekst;
	}
}

function leegZoek(){
	emptyValue('searchField', 'Zoek...');	
}
function vulZoek(){
	returnValue('searchField', 'Zoek...');	
}

function leegNewsletter(){
	emptyValue('newsletterField', 'vul je e-mail in en meld je aan');	
}
function vulNewsletter(){
	returnValue('newsletterField', 'vul je e-mail in en meld je aan');	
}

function toggleNutrition(){
	elm = document.getElementById('nutritionTable');
	if(elm.style.display != 'block'){
		elm.style.display = 'block';
	}else{
		elm.style.display = 'none';
	}
}


function popUp(link , width , height){
	window.open(link, 'venster', 'width=' + width + ',height=' + height + ',scrollbars=yes,toolbar=no,location=no,status=no,resize=no');
}


function showFlash(filename,width,height, name_sender, name_receiver) {
	document.write ('<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" data="'+filename+'" WIDTH="'+width+'" HEIGHT="'+height+'" ALIGN="middle">');
   	document.write ('		<PARAM NAME="movie" VALUE="'+filename+'"> ');
	document.write ('		<param name="menu" value="false" />');
	document.write ('		<param name="quality" value="high" />');
	document.write ('		<param name="flashvars" value="verzender=' + name_sender+ '&ontvanger=' + name_receiver + '" />');
	document.write ('		<param name="wmode" value="transparent" />');
	document.write ('		<embed src="'+filename+'" menu="false" FlashVars="verzender=' + name_sender+ '&ontvanger=' + name_receiver + '" quality="high" bgcolor="#FFFFFF" wmode="transparent" width="'+width+'" height="'+height+'" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">');
	document.write ('		</embed>');
	document.write ('</OBJECT>');
}

function expandAll(startDiv) {
	var divObj = document.getElementById(startDiv);
	if (divObj == "object") {
		for (var i=0;i<divObj.childNodes.length;i++) {
			if (divObj.childNodes[i].nodeName == "DIV" && divObj.childNodes[i].id.substr(0,6) == "folder") {
				toggleFolder(divObj.childNodes[i].id, document.getElementById("image" + divObj.childNodes[i].id.substr(6)));
				expandAll(divObj.childNodes[i].id);
			}
		}
	}
}

function closeAll(startDiv) {
	expandAll(startDiv);
	var divObj = document.getElementById(startDiv);
	for (var i=0;i<divObj.childNodes.length;i++) {
		if (divObj.childNodes[i].nodeName == "DIV" && divObj.childNodes[i].id.substr(0,6) == "folder") {
			toggleFolder(divObj.childNodes[i].id, document.getElementById("image" + divObj.childNodes[i].id.substr(6)));
			expandAll(divObj.childNodes[i].id);
		}
	}
}

function expandItem(theID, startDiv) {
	var divObj = document.getElementById(startDiv);
	var found = false;
	for (var i=0;i<divObj.childNodes.length;i++) {
		if (divObj.childNodes[i].nodeName == "DIV" && divObj.childNodes[i].id.substr(0,6) == "folder") {
			found = expandItem(theID, divObj.childNodes[i].id);
			if (divObj.childNodes[i].id == "folder" + theID) {
				// current element found
				toggleFolder(divObj.childNodes[i].id, document.getElementById("image" + divObj.childNodes[i].id.substr(6)));
				return true;
			}
			if (found) {
				toggleFolder(divObj.childNodes[i].id, document.getElementById("image" + divObj.childNodes[i].id.substr(6)));
				return true;
			}
		}
	}
	return found;
}

function toggleFolder(id, imageNode) {
	var folder = document.getElementById(id);
	var l = imageNode.src.length;
	if (imageNode.src.substring(l-21,l)=="tree_folderclosed.png" || imageNode.src.substring(l-19,l)=="tree_folderopen.png") {
		imageNode = imageNode.previousSibling;
		l = imageNode.src.length;
	}
	if (folder == null) {
	} 
	else if (folder.style.display == "block")  {
		if (imageNode != null) {
			imageNode.nextSibling.src = imgPath+"sitemap/tree_folderclosed.png";
			if (imageNode.src.substring(l-14,l) == "tree_mnode.png") {
				imageNode.src = imgPath+"sitemap/tree_pnode.png";
			}
			else if (imageNode.src.substring(l-18,l) == "tree_mlastnode.png") {
				imageNode.src = imgPath+"sitemap/tree_plastnode.png";
			}
		}
		folder.style.display = "none";
	} 
	else {
		if (imageNode != null) {
			imageNode.nextSibling.src = imgPath+"sitemap/tree_folderopen.png";
			if (imageNode.src.substring(l-14,l) == "tree_pnode.png") {
				imageNode.src = imgPath+"sitemap/tree_mnode.png";
			}
			else if (imageNode.src.substring(l-18,l) == "tree_plastnode.png") {
				imageNode.src = imgPath+"sitemap/tree_mlastnode.png";
			}
		}
		folder.style.display = "block";
	}
	//updateRowColor();
}


function getObjectsByClassname(clsName) {
	var retVal = new Array();
	var elements = document.getElementsByTagName("*");
	
	for(var i = 0;i < elements.length;i++) {
		if(elements[i].className.indexOf(" ") >= 0) {
			classes = elements[i].className.split(" ");
			for(var j = 0;j < classes.length;j++){
				if(classes[j] == clsName) {
					retVal.push(elements[i]);
				}
			}
		}
		else if(elements[i].className == clsName) {
			retVal.push(elements[i]);
		}
	}
	return retVal;
}


function RemoveClassName(objElement, strClass) {
	// if there is a class
	if ( objElement.className ) {
	
	   // the classes are just a space separated list, so first get the list
	   var arrList = objElement.className.split(' ');
	
	   // get uppercase class for comparison purposes
	   var strClassUpper = strClass.toUpperCase();
	
	   // find all instances and remove them
	   for ( var i = 0; i < arrList.length; i++ )
	      {
	
	      // if class found
	      if ( arrList[i].toUpperCase() == strClassUpper )
	         {
	
	         // remove array item
	         arrList.splice(i, 1);
	
	         // decrement loop counter as we have adjusted the array's contents
	         i--;
	
	         }
	
	      }
	
	   // assign modified class name attribute
	   objElement.className = arrList.join(' ');
	
	   }
	// if there was no class
	// there is nothing to remove
}

function AddClassName(objElement, strClass, blnMayAlreadyExist) {
	
	// if there is a class
	if ( objElement.className )
	   {
	
	   // the classes are just a space separated list, so first get the list
	   var arrList = objElement.className.split(' ');
	
	   // if the new class name may already exist in list
	   if ( blnMayAlreadyExist )
	      {
	
	      // get uppercase class for comparison purposes
	      var strClassUpper = strClass.toUpperCase();
	
	      // find all instances and remove them
	      for ( var i = 0; i < arrList.length; i++ )
	         {
	
	         // if class found
	         if ( arrList[i].toUpperCase() == strClassUpper )
	            {
	
	            // remove array item
	            arrList.splice(i, 1);
	
	            // decrement loop counter as we have adjusted the array's contents
	            i--;
	
	            }
	
	         }
	
	      }
	
	   // add the new class to end of list
	   arrList[arrList.length] = strClass;
	
	   // add the new class to beginning of list
	   //arrList.splice(0, 0, strClass);
	   
	   // assign modified class name attribute
	   objElement.className = arrList.join(' ');
	
	   }
	// if there was no class
	else
	   {
	
	   // assign modified class name attribute      
	   objElement.className = strClass;
	
	   }
}

