var selectors = false;
var remember = new Array();
var checkIt;
var hideAllMenus = false; 

var DHTML = (document.getElementById || document.all || document.layers);

//finds the absolute X coords of the object on the screen in pixels
function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

//finds the absolute Y coords of the object on the screen in pixels
function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}	

//startnav is used for the 1st menu level - for all the other object the width is used from the object
function klapshow(name,lvl,obj, xposplus, yposplus, startnav)
{
	if (selectors) {
		//showhideSelectors("none");
	}
	
	resetHide();
	
	if (!DHTML) return;
	checkUserInput();
	
	if (remember[lvl] && remember[lvl] == name) return;
	if (remember[lvl])
	{
		closeAllnu(lvl);
	}
	if (name)
	{
		if (getObj(name)) {
			var x = getObj(name);
			x.style.display = "block";
			x.style.top = findPosY(obj) + (xposplus*1) + "px";
			var iLeft;
			if (startnav != "true") {
				iLeft = findPosX(obj) + obj.offsetWidth;
			} else {
				iLeft = findPosX(obj);
			}
			x.style.left = iLeft + (yposplus*1) + "px";
		}
	}
	remember[lvl] = name;
}


function closeAllnu(lvl)
{
	
	for (i = remember.length - 1; i >= lvl; i--)
	{
		if (remember[i]) //IE4 Mac
		{
			var x = getObj(remember[i]);
			if (x != null) {
				x.style.display = "none";
			}
		}
		remember[i] = null;
	}

}
function closeAll(lvl)
{
	if (checkIt) clearTimeout(checkIt);
	checkIt = setTimeout("closeAllnu(1)",15000);
}

function hideAll() 
{ 
	if (hideAllMenus) 
	{ 
		closeAllnu(1);
		//showhideSelectors("block");

		hideAllMenus = false; 
	} 
} 

function resetHide() 
{ 
	hideAllMenus = false;
} 

function waitforHideAll() 
{ 
	hideAllMenus = true; 
	setTimeout('hideAll()',500); 
} 

function checkUserInput()
{
	if (checkIt) clearTimeout(checkIt);
	checkIt = setTimeout('closeAllnu(1)',15000);
}

function getObj(name)
{
	if (document.getElementById)
	{
		return document.getElementById(name);
	}
	else if (document.all)
	{
		return document.all[name];
	}
	else if (document.layers)
	{
		return document.layers[name];
	}
	else return false;
}

//-----------------------------------------------------------------------------------
// Method name : hideSelectors
// Summary     : deze functie zorgt ervoor dat select elementen in het form niet door 
//               het menu worden overlapt. De array 'selectArr' bevat de elementen 
//               die overlapt worden.
// Author      : Mark de Raaf - tmlc
// Date        : 01-04-2003
// Parameters  : 
// Revisions   : 
//-----------------------------------------------------------------------------------		
var selectArr = new Array()
var elname;
var arrLen = selectArr.length

function showhideSelectors(val){
	if (selectors) {
		if (document.forms.searchform){
			var formlen = document.forms.searchform.elements.length
			for (i=0; i<formlen; i++) {
				Elname = document.forms.searchform.elements[i].name
				for (j=0; j<arrLen; j++) {
					if (elname == selectArr[j]) {
						searchform.elements[i].style.display = val;
					}        
				}
			}
    		}
    
		if (document.forms.frmProdCat){
			var formlen = document.forms.frmProdCat.elements.length
			for (i=0; i<formlen; i++) {
				elname = document.forms.frmProdCat.elements[i].name
				for (j=0; j<arrLen; j++) {
					if (elname == selectArr[j]) {
						frmProdCat.elements[i].style.display = val;
					}        
				}
			}
		}    
	}
}
