// Procédures globales du projet
function initMenu()
{
	createDebugPanel();
	createSearchDiv();
	createMenu();
	createAddressDiv();
	setTimeout("transferHTML()", 1000)//transferHTML();
	//document.getElementById("A4").style.width = "100%";
}
function createDebugPanel()
{
	var debugPanel = document.createElement("div");
	debugPanel.id = "debug";
	document.body.appendChild(debugPanel);
	//Onderstaande regel commenten voor js debugging
	document.getElementById("debug").style.display = "none";
}
function createMenu()
{
	var menu = document.createElement("div");
	menu.id = "menu";
	menu.className = "menu";
	document.body.appendChild(menu);
	debug("Het menu is succesvol gegenereerd...<br />");
}
function createCategories(sCategories)
{
	debug("createCat: " + sCategories);
	var catVars = sCategories.split("||");
	for(var i=0;i<catVars.length-1;i++)
	{
		var rowVars = catVars[i].split("|");
		var level = rowVars[0];
		var id    = rowVars[1];
		var domID = level+"_"+id;
		var name  = rowVars[2];
		var link  = rowVars[3];
		//link = "location.href='"+link+"'";
		//debug("level: "+level+" id: "+id+" name: "+name+" link: "+link+"<br/>");
		var cat = document.createElement("div");
		cat.id = level + "_" + id;
		if(link.indexOf("sub")!=-1)
		cat.className = "hassub";
		
		// FF & andere browsers
		if ((!document.all)&&(document.getElementById))
		{
			if(link.indexOf("sub")!=-1)
			{
				//cat.setAttribute("onClick","hideSub(this.id);createSub(this.id)");
				cat.setAttribute("onClick","hideSub(this.id,true);setSubVars(this.id);setLinkVars(this.id,1,0);");
			}
			else
			{
				if(link.indexOf("_new")!=-1)
				{
					var clickurl = link.slice(link.indexOf("_new")+5);
					if(clickurl.substr(0,4).toUpperCase() != "HTTP")						
						cat.setAttribute("onClick", "window.open('http://" + link.slice(link.indexOf("_new")+5)+"');" );
					else
					//cat.setAttribute("onClick", "setLinkVars(this.id,0,1);");				
						cat.setAttribute("onClick", "window.open('" + link.slice(link.indexOf("_new")+5)+"');" );
					//    setLinkVars(this.id,0,1);");				
				}
				else				
					cat.setAttribute("onClick", "setLinkVars(this.id,0,0);");
			}
			cat.setAttribute("onMouseOver", "this.style.backgroundColor=document.getElementById('" + gColorHoverName + "').value;");
			cat.setAttribute("onMouseOut", "this.style.backgroundColor=document.getElementById('" + gColorName + "').value;");
		}
		// IE    
		else
		{
			if(link.indexOf("sub")!=-1)
			{
				//cat["onclick"] = new Function("hideSub(this.id);createSub(this.id);");
				cat["onclick"] = new Function("hideSub(this.id,true);setSubVars(this.id);setLinkVars(this.id,1,0);");
				}
			else
			{
				if(link.indexOf("_new")!=-1)
				{
					var clickurl = link.slice(link.indexOf("_new")+5);
					if(clickurl.substr(0,4).toUpperCase() != "HTTP")
						cat["onclick"] = new Function("window.open('http://" + link.slice(link.indexOf("_new")+5)+"');");
					else
						cat["onclick"] = new Function("window.open('" + link.slice(link.indexOf("_new")+5)+"');" );
					//cat["onclick"] = new Function("setLinkVars(this.id,0,1);");				
					}
				else
					cat["onclick"] = new Function("setLinkVars(this.id,0,0);");				
			}
			
			cat["onmouseover"] = new Function("this.style.backgroundColor=document.getElementById('" + gColorHoverName + "').value;");
			cat["onmouseout"] = new Function("this.style.backgroundColor=document.getElementById('" + gColorName + "').value;");
			
					
			//gMouseoverText
			//gMouseoutText		
		}
//		cat.setAttribute("onMouseOver", "this.classname='MenuHasSubHover';");			
//		cat.setAttribute("onMouseOut", "this.classname='MenuHasSub';");
		cat.innerHTML = name;
		if(document.getElementById("menu").appendChild(cat))
		{
			//alert(document.body.innerHTML);
			//debug("<br />" + "Categorie " + name + " is succesvol aangemaakt...");
			}
		}
}
function createSub(sCategories)
{
	debug("createSub: " + sCategories);
	var domID = document.getElementById(gParentIDName).value; //DD: 23/10/2007 A3 omgezet naar parentid
	var parent = document.getElementById(domID);
	var levelX = (parseInt(domID.split("_")[0]));
	var levelY = domID.split("_")[1];
	var popoutType = document.getElementById(gPopoutTypeName).value; //DD: 23/10/2007 A9 omgezet naar POPOUTTYPE
	debug("x " + levelX + "y " + levelY);
	
	//alert(domID + "heeft top van: " + parent.offsetTop);
	if(popoutType == "level")
	{
		var parentHolder = "sub" + levelX;
	 	if(parentHolder != "sub1")
	 	{
	 		var parentHolderTop = document.getElementById(parentHolder).offsetTop;
	 		var topstart = parentHolderTop + parent.offsetTop;
	 	}
	 	else
	 	{
	 		var topstart = parent.offsetTop + document.getElementById("menu").offsetTop;
	 	
	 	if(checkObj("outDiv") == false)
	 	{
	 		createOutDiv();
	 	}
	 	else
	 	{
	 		document.getElementById("outDiv").style.display = "inline";
	 	}
		}
	}
	else if(popoutType == "top")
	{		
		var topstart = document.getElementById("menu").offsetTop;
	}
	
	if(checkObj("outDiv") == false)
	{
		createOutDiv();
		}
	else
	{
		document.getElementById("outDiv").style.display = "inline";
		}

	// FF & andere browsers
	if ((!document.all)&&(document.getElementById))
	{
		var leftstart = (170 * parseInt(levelX));
	}
	else
	{
		var leftstart = (170 * parseInt(levelX));	
	}	
	//debug("sub verwijderen: " + (parseInt(levelX)+3));
	//hideSub(((parseInt(levelX))+3),false);
	var subToHide = "sub" + ((parseInt(levelX))+2);
	hideSub(subToHide,false);
	var subToHide = "sub" + ((parseInt(levelX))+3);
	hideSub(subToHide,false);	
	sSubID = "sub" + ((parseInt(levelX))+1);
	if(checkObj(sSubID)==false)
	{
		var subMenu = document.createElement("div");
		subMenu.id = sSubID;
		//debug(subMenu.id);
		//alert("subHolderid: " + subMenu.id);
		subMenu.className = "menu";
		subMenu.style.position = "absolute";
		subMenu.style.top = topstart + "px";
		subMenu.style.left = leftstart + "px";	
		document.body.appendChild(subMenu);		
		}
	else
	{
		var subMenu = document.getElementById(sSubID);
		subMenu.style.top = topstart + "px";
		subMenu.style.left = leftstart + "px";
		}
	
	var catVars = sCategories.split("||");
	for(var i=0;i<catVars.length-1;i++)
	{
		var rowVars = catVars[i].split("|");
		var level = (parseInt(rowVars[0])+1);
		var id    = rowVars[1];		
		var name  = rowVars[2];
		var link  = rowVars[3];
		//link = "location.href='"+link+"'";
		//debug("level: "+level+" id: "+id+" name: "+name+" link: "+link+"<br/>");
		var cat = document.createElement("div");
		cat.id = level + "_" + id;
		if(link.indexOf("sub")!=-1)
		cat.className = "hassub";
		
		// FF & andere browsers
		if ((!document.all)&&(document.getElementById))
		{
			if(link.indexOf("sub")!=-1)
			{
				//cat.setAttribute("onClick","hideSub(this.id);createSub(this.id)");
				cat.setAttribute("onClick","hideSub(this.id,true);setSubVars(this.id);setLinkVars(this.id,1,0);");
				}
			else
			{
				if(link.indexOf("_new")!=-1)
				{
					var clickurl = link.slice(link.indexOf("_new")+5);
					if(clickurl.substr(0,4).toUpperCase() != "HTTP")						
						cat.setAttribute("onClick", "hideAll();window.open('http://" + link.slice(link.indexOf("_new")+5)+"');" );
					else
						cat.setAttribute("onClick", "hideAll();window.open('" + link.slice(link.indexOf("_new")+5)+"');" );
					}
				else
					cat.setAttribute("onClick", "setLinkVars(this.id,0,0);");
			}
			cat.setAttribute("onMouseOver", "this.style.backgroundColor=document.getElementById('" + gColorHoverName + "').value;");			
			cat.setAttribute("onMouseOut", "this.style.backgroundColor=document.getElementById('" + gColorName + "').value;");
		}
		// IE    
		else
		{
			if(link.indexOf("sub")!=-1)
			{
				cat["onclick"] = new Function("hideSub(this.id,true);setSubVars(this.id);setLinkVars(this.id,1,0);");
			}
			else
			{
				if(link.indexOf("_new")!=-1)
				{
					//alert("l: " + link);
					//alert("cl: " + "window.open('" + link.slice(link.indexOf("_new")+5)); //+"');" );
					var clickurl = link.slice(link.indexOf("_new")+5);
					if(clickurl.substr(0,4).toUpperCase() != "HTTP")
				    	cat["onclick"] = new Function("hideAll();window.open('http://" + link.slice(link.indexOf("_new")+5)+"');");
				    else
				    	cat["onclick"] = new Function("hideAll();window.open('" + link.slice(link.indexOf("_new")+5)+"');");
				    	
					//cat["onclick"] = new Function("setLinkVars(this.id,0,1);");				
				}
				else
					cat["onclick"] = new Function("setLinkVars(this.id,0,0);");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
			}
			cat["onmouseover"] = new Function("this.style.backgroundColor=document.getElementById('" + gColorHoverName + "').value;");
			cat["onmouseout"] = new Function("this.style.backgroundColor=document.getElementById('" + gColorName + "').value;");	
		}
		
//		cat.setAttribute("onMouseOver", "this.classname='MenuHasSubHover';");			
		//cat.setAttribute("onMouseOut", "this.classname='MenuHasSub';");
		
		cat.innerHTML = name;
		if(subMenu.appendChild(cat))
		{
			//debug("<br />" + "Categorie " + name + " is succesvol aangemaakt...");
			var activeCat = document.getElementById(domID);
			activeCat.innerHTML = activeCat.innerHTML.split("&nbsp;")[0];
			}
		}
}
function setSubVars(id)
{
	var saveField = document.getElementById(gParentIDName).value = id; //DD: 23/10/2007 A3 omgezet naar parentID
//	debug(saveField);
	var activeCat = document.getElementById(id);
	if(activeCat.innerHTML.indexOf("loading")==-1)
		activeCat.innerHTML += '&nbsp;<img src="/PP_WEBSITE_WEB/MenuComponent/loading.gif"></img>';	
	activeCat.style.backgroundColor=document.getElementById(gColorHoverName).value;
	//activeCat.style.backgroundColor = "#fff";
	
	//activeCat.style.color = "#FFF";
	activeCat.style.backgroundImage = "url('/PP_WEBSITE_WEB/MenuComponent/encl.gif')";
	emptyBgImg(activeCat.id);
	//activeCat["onclick"] = new Function("");
	_T1();
}
function debug(sDebugText)
{
	var d = document.getElementById("debug");
	if(d)
		d.innerHTML += sDebugText + "<br />";
}
function checkObj(id)
{
	if (document.getElementById(id) != null)
	{
		return true;
	}
	else
	{
		return false;
	}
}
function hideAll()
{
	if(checkObj("sub2"))
	{
		for(var i=2;i<10;i++)
		{
			var subToHide = "sub" + i;
			hideSub(subToHide,false);
			document.getElementById("outDiv").style.display = "none";
		}
	}
}
function createOutDiv()
{
	var outDiv = document.createElement("div");
	outDiv.id = "outDiv";
	
	// FF & andere browsers
	if ((!document.all)&&(document.getElementById))
	{
		outDiv.setAttribute("onClick","hideAll();");
		//outDiv.setAttribute("onclick","hideAll();");
		}
	//IE
	else
	{
		outDiv["onclick"] = new Function("hideAll();");
		//outDiv["onclick"] = new Function("hideAll();");
		}
	document.body.appendChild(outDiv);
}
function hideSub(id, conCat)
{
	if(conCat)
	{
		var hideLevel = (parseInt(id.split("_")[0])+1);
		var divToHide = "sub" + hideLevel;
		}
	else
	{
		divToHide = id;
		}
	if(checkObj(divToHide))
	{
		obj = document.getElementById(divToHide);
		nodelist = obj.childNodes;
		c = nodelist.length;
		while(obj.hasChildNodes() == true)
		{
			obj.removeChild(obj.childNodes[0]);
			}
		}
}
function emptyBgImg(id)
{
	var domID = document.getElementById(gParentIDName).value; //DD: 23/10/2007 A3 omgezet naar PARENTID
	var levelX = (parseInt(domID.split("_")[0]));
	var levelY = domID.split("_")[1];
	var divs = document.getElementsByTagName("div");
	for(var i=0;i<divs.length;i++)
	{
		if((divs[i].id.indexOf(levelX+"_")!=-1)&&divs[i].id!=id&&(divs[i].className=="hassub"||divs[i].className=="inactive"))
		{
			divs[i].className = "inactive";
			divs[i].style.backgroundColor = "";
			divs[i].style.color = "";
			divs[i].style.backgroundImage = "";
			}
		}
}
function setLinkVars(id,hide,newframe)
{
	var saveField = document.getElementById(gParentIDName).value = id; //DD: 23/10/2007 A3 omgezet naar PARENTID
	if(0==hide)
		hideAll();
	if(1==newframe)
	  _JSL(_PAGE_,gSubmitterName,'_new','','');   //DD: 23/10/2007 A5 omgezet naar submitter, A4 omgezet naar BASISFRAME
	else
	  _JSL(_PAGE_,gSubmitterName,'BASISFRAME','','');   //DD: 23/10/2007 A5 omgezet naar submitter, A4 omgezet naar BASISFRAME
}
function createAddressDiv()
{
	var testLocation = "/PP_WEBSITE_WEB/userpages/";
	loadOuter(testLocation+"addresstext.html");
}
function loadOuter(doc)
{
	var outerDisplay = document.createElement("div");
	outerDisplay.id = "outerDisplay";
	outerDisplay.style.backgroundColor=document.getElementById(gColorName).value; //DD: A7 omgezet naar COLOR
	document.body.appendChild(outerDisplay);

	var hiddenIframe = document.createElement("iframe");
	hiddenIframe.id = "hiddenContent";
	hiddenIframe.style.position = "absolute";
	hiddenIframe.src = doc;
	hiddenIframe.style.visibility = "hidden";
	document.body.appendChild(hiddenIframe);
}
function transferHTML()
{
	var srcContent = "";
	var srcFrame = document.getElementById("hiddenContent");
	
	if (srcFrame.contentDocument)
	{
		srcContent = srcFrame.contentDocument.getElementsByTagName("BODY")[0].innerHTML;
		srcContent = srcContent.replace(/&lt;/g, "<");
		srcContent = srcContent.replace(/&gt;/g, ">");
		srcContent = srcContent.replace("<pre>","");
		srcContent = srcContent.replace("</pre>","");
	}
	else if (srcFrame.contentWindow)
	{
		srcContent = srcFrame.contentWindow.document.body.innerHTML;		
	}
	document.getElementById("outerDisplay").innerHTML = srcContent;
}
function createSearchDiv()
{
	var searchDiv = document.createElement("div");
	searchDiv.id = "searchDiv";
	//searchDiv.style.backgroundColor=document.getElementById(gColorName).value;	//DD: 24/10/2007 A7 veranderd naar de naam	
	searchDiv.classname = "searchDiv"; //TK: 23-10-2008 afhankelijk gemaakt van CSS ipv instel.ini
	//searchDiv.style.Color=document.getElementById(gTextColorName).value;
	
	searchDiv.innerHTML = 'Zoeken in de webshop:<br /><input type="text" id="searchField" ontextchanged="executeSearch();"onkeypress="checkEnterPressed(event);">&nbsp;<input type="button" id="searchButton" value="&raquo;" onclick="executeSearch();">';
	document.body.appendChild(searchDiv);
}
function executeSearch()
{
	var sSearchQuery = document.getElementById('searchField').value;
	if(sSearchQuery != "")
	{
		document.getElementById(gSearchFieldName).value = sSearchQuery; //DD: 23/10/2007 A6 omgezet naar SEARCHFIELD
		_JSL(_PAGE_,gSearchButtonName,'BASISFRAME','','');  //DD: 23/10/2007 A1 omgezet naar BTN_BUTTON1, A4 omgezet naar
	}
}
function unblock()
{
	alert("unblock");
}
function checkEnterPressed()
{
	
	if(window.event && window.event.keyCode == 13)
	{
		
		executeSearch();
	}
}

