var intmoveLeft = 0;
var intmoveTop = 0;

//detect browser and set menu offset if needed
var browserName=navigator.userAgent.toLowerCase();

//Browser specific fixes if needed
if (browserName.indexOf('safari') !=-1) {
	intmoveLeft = 0;
	intmoveTop = -80;
} else if (browserName=="Netscape") {
	intmoveLeft = 0;
	intmoveTop = -33;
} else {
	intmoveLeft = 0;
	intmoveTop = -33;
}


function DivSetVisible(state,target)
  {
   var DivRef = document.getElementById(target);
   var IfrRef = document.getElementById('DivShim');
   if(state)
   {
    DivRef.style.display = "block";
    IfrRef.style.width = DivRef.offsetWidth;
    IfrRef.style.height = DivRef.offsetHeight;
    IfrRef.style.top = DivRef.style.top;
    IfrRef.style.left = DivRef.style.left;
    IfrRef.style.zIndex = DivRef.style.zIndex - 1;
    IfrRef.style.display = "block";
   }
   else
   {
    DivRef.style.display = "none";
    IfrRef.style.display = "none";
   }
  }

function findPosLeft(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;
}

function findPosTop(obj)
{
	var curtop = 0;
	var printstring = '';
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	} else if (obj.y) {
		curtop += obj.y;
	}
	return curtop;
}

function getObj(name)
{
	if (document.getElementById)
	{
		//alert(document.getElementById(name));
	   this.obj = document.getElementById(name);
	   if (this.obj)
		   this.style = document.getElementById(name).style;
	}
	else if (document.all)
	{
	   this.obj = document.all[name];
	   if (this.obj)
		   this.style = document.all[name].style;
	}
	else if (document.layers)
	{
	   if (document.layers[name])
	   {
			this.obj = document.layers[name];
			if (this.obj)
				this.style = document.layers[name];
	   }
	   else
	   {
			this.obj = eval("document.layers." + name + ".layers[name]");
			if (this.obj)
			   this.style = eval("document.layers." + name + ".layers[name]");
	   }
	}
}

var timerID = null;
var menuArray = new Array();
function openMenu(drop, parent)
{
	closeMenus();
	openMenuAndParentMenu(drop, parent);
}

function openMenuAndParentMenu(drop, parent)
{
	dropdown = new getObj('dropdown' + drop)
if (dropdown.obj)
{
	dropdown.style.visibility = 'visible';
	targetDD = new getObj('target' + drop);
	//alert(findPosLeft(targetDD.obj));
	if (parent !== false) {
		dropdown.style.left = (findPosLeft(targetDD.obj) - intmoveLeft) + "px";
		dropdown.style.top  = (findPosTop(targetDD.obj) - intmoveTop) + "px";
	} else {
		dropdown.style.left = (findPosLeft(targetDD.obj) - intmoveLeft) + "px";
		dropdown.style.top  = (findPosTop(targetDD.obj) - intmoveTop) + "px";
	}
	dropdown.style.zIndex = 100;
	
	var IfrRef = new getObj('DivShim');
    IfrRef.style.width = dropdown.obj.offsetWidth;
    IfrRef.style.height = dropdown.obj.offsetHeight;
    IfrRef.style.top = dropdown.style.top;
    IfrRef.style.left = dropdown.style.left;
    IfrRef.style.zIndex = dropdown.style.zIndex - 1;
    IfrRef.style.visibility = dropdown.style.visibility;
//	alert(IfrRef.style.width + " " + IfrRef.style.height + " " + IfrRef.style.left + " " + IfrRef.style.top + " " + IfrRef.style.zIndex);

	if (menuArray[drop] == undefined) {
		menuArray[drop] = parent; //store the parent menu
	}

	if (menuArray[drop] !== false) {
		//parent already set before, if not do not enter here again
		openMenuAndParentMenu(menuArray[drop], false);
	}
}
}

function closeMenus()
{
   var IfrRef = new getObj('DivShim');
    IfrRef.style.visibility = "hidden";
	clearTimeout(timerID);
	for (x in menuArray) {
		dropdown = new getObj('dropdown' + x)
		dropdown.style.visibility = 'hidden'
	}
}

//document.write('<iframe id="DivShim" name="DivShim" src="javascript:false;" scrolling="no" frameborder="0" style="position:absolute; top:0px; left:0px; width: 100px; height: 130px;visibility:hidden;background:red;"></iframe>');