/* browser identification */

NS4 = (document.layers);
NS6 =  ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 5));
IE4 = (document.all);
MAC45 = (navigator.appVersion.indexOf("MSIE 4.5") != -1);
ver4 = (NS4 || IE4);   
isMac = (navigator.appVersion.indexOf("Mac") != -1);

/* constants */

menuHeight=-60;

/* variables */
var overmenu = false;
var openmenu = null;

 
function FindLeftEdge(img)
{
	/* returns leftmost pixel location of an image */

	xPos = img.offsetLeft+img.offsetParent.offsetLeft;
	return xPos;
}

function FindTopEdge(img)
{
	/* returns topmost pixel location of an image */

	yPos = img.offsetTop+img.offsetParent.offsetLeft;
	return yPos;
}

function findloc (imgname)
{
	/* returns top left corner pixel location of an image */

	var holdingImage = document.images[imgname];
	var canvasLeft = (NS4 && !NS6) ? holdingImage.x : FindLeftEdge(holdingImage);
	var canvasTop = (NS4 && !NS6) ? holdingImage.y : FindTopEdge(holdingImage);
	var canvasWidth = holdingImage.width;
	var canvasHeight = holdingImage.height;
	return ([canvasLeft,canvasTop]);
	
}

function MM_preloadImages()
{
	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)
{
	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 setImage(name,src)
{
	if(image=MM_findObj(name))
		image.src=src;
}

function dropDown(num)
{
	/* drop down a rolled up menu */

	var d=document,name,image;

	if (openmenu!=num)
	{
		clearRollupTimer();
		rollUp();
		setImage("menu_"+num,d.menusDrop[num]);
	
		menu=MM_findObj("dropdown_"+num);
	
		if (NS4)
		{
			menu.top = findloc("menu_"+num)[1]-1-menuHeight;
			menu.left = findloc("menu_"+num)[0];
		}
		else if (NS6)
		{
  	      	menu.style.top = findloc("menu_"+num)[1]-1-menuHeight;
			menu.style.left = findloc("menu_"+num)[0];
		}
		else
		{
			menu.style.pixelTop = findloc("menu_"+num)[1]-1-menuHeight;
			menu.style.pixelLeft = findloc("menu_"+num)[0];
		}
	
		if (NS4) menu.visibility = "show"
			else menu.style.visibility = "visible";
		openmenu=num;
		overmenu=false;
	}
}


function rollUp ()
{
	/* roll up a dropped down menu */

	var d=document;
	if(openmenu)
	{
		window.clearTimeout(d.rollUpTimer);
		menu=MM_findObj("dropdown_"+openmenu);
		if (NS4)
			menu.visibility = "hide";
		else
			menu.style.visibility = "hidden";
		setImage("menu_"+openmenu,d.menusPlain[openmenu]);
		openmenu=null;
		overmenu=false;
	}
}
	
function overMenu()
{
	/* called by page when mouse enters dropped down menu */

	var d=document;
	clearRollupTimer();
	overmenu=true;
}

function offMenu()
{
	/* called by page when mouse leaves dropped down menu */
	if (openmenu)
	{
		var d=document;
		setRollupTimer();
		overmenu=false;
	}
}

function overButton(num)
{
	/* called by page when mouse enters a button */

	var d=document,name,image;
	if(!(openmenu==num))
	{
		if(openmenu)
			rollUp();
		setImage("menu_"+num,d.menusGlow[num])
		if(d.menusDrop[num]!="") d.dropDownTimer=window.setTimeout('dropDown('+num+')',200);
		clearRollupTimer();
		//alert("overbutton");
	}
	else
		clearRollupTimer();
}

function offButton(num)
{
	/* called by page when mouse leaves a button */	

	var d=document;
	if ((openmenu==num) && (!overmenu))
	{
		setRollupTimer();
	}
	else if(openmenu!=num)
	{
		setImage("menu_"+num,d.menusPlain[num]);
		clearRollupTimer();
	}
}

function setRollupTimer()
{	
	var d=document;
	d.rollUpTimer=window.setTimeout('rollUp()',400);
}

function clearRollupTimer()
{
	var d=document;
	if(!isNaN(d.rollUpTimer))
	{
		window.clearTimeout(d.rollUpTimer);
	}
}

function overPage()
{
	if(openmenu)
		offMenu();
}

function initMenu(filepath)
{
	/* called on page load */
	/* prepends all filenames with filepath */

	var d=document;
	
	d.dropDownTimer = new Object;
	d.rollUpTimer = new Object;

	MM_preloadImages('home-glow.jpg','hazel-glow.jpg','hazel-menu.jpg','portfolio-glow.jpg','portfolio-menu.jpg','sales-glow.jpg','sales-menu.jpg','links-glow.jpg');

	d.menusPlain = new Array();
	d.menusGlow = new Array();
	d.menusDrop = new Array();
	
	d.menusPlain[1]=filepath+"home-plain.jpg";
	d.menusPlain[2]=filepath+"hazel-plain.jpg";
	d.menusPlain[3]=filepath+"portfolio-plain.jpg";
	d.menusPlain[4]=filepath+"sales-plain.jpg";
	d.menusPlain[5]=filepath+"links-plain.jpg";
	
	d.menusGlow[1]=filepath+"home-glow.jpg";
	d.menusGlow[2]=filepath+"hazel-glow.jpg";
	d.menusGlow[3]=filepath+"portfolio-glow.jpg";
	d.menusGlow[4]=filepath+"sales-glow.jpg";
	d.menusGlow[5]=filepath+"links-glow.jpg";

	d.menusDrop[1]="";
	d.menusDrop[2]=filepath+"hazel-menu.jpg";
	d.menusDrop[3]=filepath+"portfolio-menu.jpg";
	d.menusDrop[4]=filepath+"sales-menu.jpg";
	d.menusDrop[5]="";
}
