/* image swaps */
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


/* NAV */
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();
var currentimageID = null;
var currentimageSRC = null;

function openMenu(drop, parent, imageID, imageSRC) {
	closeMenus();
	openMenuAndParentMenu(drop, parent, imageID, imageSRC);
}

function openMenuAndParentMenu(drop, parent, imageID, imageSRC) {
	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) - 0) + "px";
			dropdown.style.top  = (findPosTop(targetDD.obj) + 50) + "px";
			//alert('here');
		} else {
			dropdown.style.left = (findPosLeft(targetDD.obj)) + "px";
			dropdown.style.top  = (findPosTop(targetDD.obj) + 38) + "px";
		}
		
		
		 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);
		}
		
		if(imageID != null) {
			MM_swapImage(imageID,'',imageSRC,1);
			currentimageID = imageID;
			currentimageSRC = imageSRC;
		}
	}
}

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';		
	}
	MM_swapImgRestore();
}