// Copyright 2001-2003 JohnV

function TableOut(){
	clearTimeout(TimerID);
    TimerID = setTimeout("ShowLayers('None')", TimeLayerOut);
	showElement("SELECT");
}

function TableOver(ActiveLayer){
	clearTimeout(TimerID);
	if(ActiveLayer == LinkLayer){
		clearTimeout(TimerIDLink);
		WaitLink = 0;
	}
	ShowLayers(ActiveLayer);
	hideElement("SELECT",ActiveLayer);

}

function ResetWaitLink(ActiveLayer){
	WaitLink = 0;
	clearTimeout(TimerIDLink);
	ShowLayers(ActiveLayer);
	//hideElement("SELECT",ActiveLayer);	//tidak perlu ini. 28 Jul 2004
}

function LinkOut(ActiveLayer){
	IsLink = "NO";
	WaitLink = 1;
    TimerIDLink = setTimeout("ResetWaitLink('" + ActiveLayer + "')", TimeLinkOut);
	TableOut();
	showElement("SELECT");
}

function LinkOver(ActiveLayer){
	clearTimeout(TimerID);
	clearTimeout(TimerIDLink);
	WaitLink = 0;
	LinkLayer = ActiveLayer;
	IsLink = ActiveLayer;
	ShowLayers(ActiveLayer);
	hideElement("SELECT",ActiveLayer);
}

function ShowLayers(ActiveLayer){
	
	if (IsLink != "NO") ActiveLayer = IsLink;

	if (ActiveLayer == "None"){
		var imgCount = 1;
		do {
			imageId = ("I" + imgCount);
			imageOff = (imageId + "off");
			imgCount++;	 
			changeImages(imageId, imageOff);
		} while (imgCount <= numOfImages); 
	}

	if (PrevLayer != ActiveLayer && WaitLink == 0){
	
		for(i=0; i<layerCount;i++){
			if (is_nav4) {
				document.layers[layersList[i]].visibility='hide';
			} else if (is_ie4) {
				document.all[layersList[i]].style.visibility='hidden';
			} else if (is_domcom) {
				document.getElementById(layersList[i]).style.visibility='hidden';
			}

			if (ActiveLayer.search(layersList[i]) > -1){
				if (is_nav4) {
					document.layers[layersList[i]].visibility='show';
				} else if (is_ie4) {
					document.all[layersList[i]].style.visibility='visible';
				} else if (is_domcom) {
					document.getElementById(layersList[i]).style.visibility='visible';
				}

			}

			
			
		}
		PrevLayer = ActiveLayer;

	}

}

function showMenu(ActiveLayer, image){
	
	var imgCount = 1

	do {
		var imageId = ("I" + imgCount);
		var imageOn = (imageId + "on");
		var imageOff = (imageId + "off");
		imgCount++;	 
		if (image == imageId) {
			changeImages(image, imageOn);
		} else {
			changeImages(imageId, imageOff);
		}
	} while (imgCount <= numOfImages); 
	LinkOver(ActiveLayer);

}

function hideMenu(){
	LinkOut('');
}

function hideElement(elmID,ActiveLayer)
{

	if (document.getElementsByTagName)
	{
	for (i = 0; i < document.getElementsByTagName(elmID).length; i++)
	{
		obj = document.getElementsByTagName(elmID)[i];
		if (! obj || ! obj.offsetParent)
			continue;

		// Find the element's offsetTop and offsetLeft relative to the BODY tag.
		objLeft   = obj.offsetLeft;
		objTop    = obj.offsetTop;
		objParent = obj.offsetParent;
		while (objParent.tagName.toUpperCase() != "BODY")
		{
			objLeft  += objParent.offsetLeft;
			objTop   += objParent.offsetTop;
			objParent = objParent.offsetParent;
		}
		// Adjust the element's offsetTop relative to the dropdown menu

		//x  = window.event.srcElement.offsetLeft +
	 	// window.event.srcElement.offsetParent.offsetLeft;
		//x += (window.event.srcElement.offsetWidth - ActiveLayer.offsetWidth);

		x = obj.offsetLeft + obj.offsetWidth;

		//x=window.event.srcElement.offsetLeft;
		//x += (window.event.srcElement.offsetWidth);

		//var targ;
		//if (!e) var e = window.event;
		//if (e.srcElement) targ = e.srcElement;
		//else if (e.target) targ = e.target;
		//x=targ.offsetLeft;
		//x += (targ.offsetWidth);

		y = (y - ActiveLayer.offsetHeight);
		if (y < 0) y = 0;

		objTop = objTop - y;

		if (x > (objLeft + obj.offsetWidth) || objLeft > (x + ActiveLayer.offsetWidth))
			;
		else if (objTop > ActiveLayer.offsetHeight)
			;
		else if (is_domcom && (y + ActiveLayer.offsetHeight) <= 80)
			;
		else
			obj.style.visibility = "hidden";

	}
	}
	else if (document.all)
	{
	for (i = 0; i < document.all.tags(elmID).length; i++)
	{
		obj = document.all.tags(elmID)[i];
		if (! obj || ! obj.offsetParent)
			continue;

		// Find the element's offsetTop and offsetLeft relative to the BODY tag.
		objLeft   = obj.offsetLeft;
		objTop    = obj.offsetTop;
		objParent = obj.offsetParent;
		while (objParent.tagName.toUpperCase() != "BODY")
		{
			objLeft  += objParent.offsetLeft;
			objTop   += objParent.offsetTop;
			objParent = objParent.offsetParent;
		}
		// Adjust the element's offsetTop relative to the dropdown menu

		//x  = window.event.srcElement.offsetLeft +
	 	// window.event.srcElement.offsetParent.offsetLeft;
		//x += (window.event.srcElement.offsetWidth - ActiveLayer.offsetWidth);

		x=window.event.srcElement.offsetLeft;
		x += (window.event.srcElement.offsetWidth);

		y = (y - ActiveLayer.offsetHeight);
		if (y < 0) y = 0;

		objTop = objTop - y;

		if (x > (objLeft + obj.offsetWidth) || objLeft > (x + ActiveLayer.offsetWidth))
			;
		else if (objTop > ActiveLayer.offsetHeight)
			;
		else if (is_domcom && (y + ActiveLayer.offsetHeight) <= 80)
			;
		else
			obj.style.visibility = "hidden";

	}
	}
}

function showElement(elmID)
{
	if (document.getElementsByTagName)
	{
	for (i = 0; i < document.getElementsByTagName(elmID).length; i++)
	{
		obj = document.getElementsByTagName(elmID)[i];
		if (! obj || ! obj.offsetParent)
			continue;
		obj.style.visibility = "";
	}
	}
	else if (document.all)
	{
	for (i = 0; i < document.all.tags(elmID).length; i++)
	{
		obj = document.all.tags(elmID)[i];
		if (! obj || ! obj.offsetParent)
			continue;
		obj.style.visibility = "";
	}
	}
}
