//Variable Parameters
var firstlvlitems = 10; //Number of First level menu items
var disappeardelay=250  //menu disappear speed onMouseout (in miliseconds)
var hidemenu_onclick="yes" //hide menu when user clicks within menu?


//Menu Information - 
//Menu[Num] is First level Items

//Menu with expansion: Menu[Num] = new Array("name", Sub level items, "'(submenu width)px'")
//menu without expansion: Menu[Num] = new Array("name",'',0,'"link"')
//Menu[Num][5+] are Second Level Items
//Menu[Num][5+] = new Array("name", '"link"')
Menu = new Array();

Menu[1] = new Array("Home",2,"'100px'",'"http://www.chem.ucdavis.edu/index.php"');
Menu[1][5] = new Array("UC Davis", '"http://www.ucdavis.edu"');
Menu[1][6] = new Array("My UC Davis", '"http://my.ucdavis.edu"');

Menu[2] = new Array("Graduate",0,"''",'"http://chemgroups.ucdavis.edu/~graduate/"');
Menu[2][5] = new Array("Apply", '"http://chemgroups.ucdavis.edu/~graduate/gradapply.html"');
Menu[2][6] = new Array("Contact", '"http://chemgroups.ucdavis.edu/~graduate/gradcontact.html"');
Menu[2][7] = new Array("Fees", '"http://chemgroups.ucdavis.edu/~graduate/gradfees.html"');
Menu[2][8] = new Array("Faculty and Research", '"http://www.chem.ucdavis.edu/cfmx/facultyalph.cfm"');
Menu[2][9] = new Array("Degree Requirements", '"http://chemgroups.ucdavis.edu/~graduate/gradrequirements.html"');
Menu[2][10] = new Array("Resource Guide", '"http://chemgroups.ucdavis.edu/~graduate/gradresources.html"');

Menu[3] = new Array("Undergrad",14,"'200px'",'"http://www.chem.ucdavis.edu/undergraduate/undergraduategi.html"');
Menu[3][5] = new Array("General Info", '"http://www.chem.ucdavis.edu/undergraduate/undergraduategi.html"');
Menu[3][6] = new Array("FAQ", '"http://www.chem.ucdavis.edu/undergraduate/undergraduatefaq.html"');
Menu[3][7] = new Array("News", '"http://www.chem.ucdavis.edu/undergraduate/undergraduatenews.html"');
Menu[3][8] = new Array("A.B. Program", '"http://www.chem.ucdavis.edu/undergraduate/abmajor.html"');
Menu[3][9] = new Array("B.S. Program", '"http://www.chem.ucdavis.edu/undergraduate/bsmajor.html"');
Menu[3][10] = new Array("Chemical Physics", '"http://www.chem.ucdavis.edu/undergraduate/bsmajor_cp.html"');
Menu[3][11] = new Array("Enviromental Chemistry", '"http://www.chem.ucdavis.edu/undergraduate/bsmajor_ec.html"');
Menu[3][12] = new Array("Pharmaceutical Chemistry", '"http://www.chem.ucdavis.edu/undergraduate/bsmajor_pc.html"');
Menu[3][13] = new Array("Forensic Chemistry", '"http://www.chem.ucdavis.edu/undergraduate/bsmajor_fc.html"');
Menu[3][14] = new Array("Minor", '"http://www.chem.ucdavis.edu/undergraduate/minor.html"');
Menu[3][15] = new Array("Advisers", '"http://www.chem.ucdavis.edu/faculty/cf-adviser.php"');
Menu[3][16] = new Array("Petitions", '"http://www.chem.ucdavis.edu/?page_id=69"');
Menu[3][17] = new Array("Chem 2 Labs", '"http://www.chem.ucdavis.edu/undergraduate/chem2labs.html"');
Menu[3][18] = new Array("Chemistry Club", '"http://chemgroups.ucdavis.edu/~osterloh/chemclub/home.htm"');


Menu[4] = new Array("Faculty",3,"'115px'",'"#"');
Menu[4][5] = new Array("Alphabetically", '"http://www.chem.ucdavis.edu/faculty/cf-alphabetical.php"');
Menu[4][6] = new Array("Discipline", '"http://www.chem.ucdavis.edu/faculty/cf-discipline.php"');
Menu[4][7] = new Array("In Memoriam", '"http://www.chem.ucdavis.edu/inmemoriam"');


Menu[5] = new Array("Staff",2,"'115px'",'"#"');
Menu[5][5] = new Array("Staff Directory", '"http://www.chem.ucdavis.edu/faculty/cf-staff-long.php"');
Menu[5][6] = new Array("Calendar", '"http://www.chem.ucdavis.edu/cfmx/staffcalendar.php"');

Menu[6] = new Array("Facility",6,"'135px'",'"#"');
Menu[6][5] = new Array("NMR Information", '"http://www.chem.ucdavis.edu/nmr/"');
Menu[6][6] = new Array("NMR 300 Reservation", '"http://www.nmr.ucdavis.edu/merc300/"');
Menu[6][7] = new Array("NMR 400 Reservation", '"http://www.nmr.ucdavis.edu/inova400/"');
Menu[6][8] = new Array("NMR 600 Reservation", '"http://www.nmr.ucdavis.edu/chem600/"');
Menu[6][9] = new Array("X-ray Lab", '"http://www.chem.ucdavis.edu/groups/olmstead/index.htm"');
Menu[6][10] = new Array("CalEPR", '"http://brittepr.ucdavis.edu/index.php?option=com_content&task=blogcategory&id=15&Itemid=30"');

Menu[7]=new Array("Seminar",5,"'160px'", '"http://www.chem.ucdavis.edu/cfmx/seminarcalendar.php"');
Menu[7][5]= new Array("Seminar Calendar", '"http://www.chem.ucdavis.edu/cfmx/seminarcalendar.php"');
Menu[7][6]= new Array("Student Seminars", '"http://www.chem.ucdavis.edu/cfmx/seminarcalendar.php"');
Menu[7][7]= new Array("Student Invited Speaker", '"http://www.its.caltech.edu/~jkbgrp/TheBoss.htm"');
Menu[7][8]= new Array("R. Bryan Miller Symposium", '"http://www.chem.ucdavis.edu/miller/"');
Menu[7][9]= new Array("Larock Undergraduate Conference", '"http://chemgroups.ucdavis.edu/~osterloh/Larock/Index.htm"');

Menu[8] = new Array("Services",1,"''",'"#"')
Menu[8][5] = new Array("Room Reservations", '"http://www.chem.ucdavis.edu/cfmx/conferenceroomcalendar.php"');

Menu[9] = new Array("Links",3,"'100px'",'"#"');1
Menu[9][5] = new Array("UC Davis", '"http://www.ucdavis.edu"');
Menu[9][6] = new Array("My UC Davis", '"http://my.ucdavis.edu"');
Menu[9][7] = new Array("Chemistry Club", '"http://chemgroups.ucdavis.edu/~osterloh/chemclub/home.htm"');

Menu[10] = new Array("Contact",0,"''",'"http://www.chem.ucdavis.edu/?page_id=66"');

//Browser tests
var ie4=document.all
var ns6=document.getElementById&&!document.all

//Operational Code ----Do not alter.-----

//Base First level Menu
document.write('<div background="images/menu.jpg"  id="menutable" style="width: 800px; height: 30px;">');
var tableelements;
var cwidth = 800 / firstlvlitems;
//Populating first level table
for(tableelements=1; tableelements < (firstlvlitems)+1; tableelements++){
	document.write('<div align="center" valign="middle" id="menutablecells" onMouseover="dropdownmenu(this, event, ' + tableelements + ', ' + Menu[tableelements][2] + ');" style="position:relative; width: ' + cwidth +  'px; height: 30px;">');
	document.write('<a href=' + Menu[tableelements][3] + '>' + Menu[tableelements][0] + '</a>');
	document.write('</div>');
}
document.write('</div>');
if (ie4||ns6)
document.write('<div id="dropmenudiv" style="visibility:hidden;width:150px; onMouseover="clearhidemenu()" onMouseout="dynamichide(event)"></div>');


function getposOffset(what, offsettype){
	var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
	var parentEl=what.offsetParent;
	while (parentEl!=null){
		totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
		parentEl=parentEl.offsetParent;
    }
	return totaloffset;
}

function showhide(obj, e, visible, hidden, menuwidth){
if (ie4||ns6)
dropmenuobj.style.left=dropmenuobj.style.top="-500px"
if (menuwidth!=""){
dropmenuobj.widthobj=dropmenuobj.style
dropmenuobj.widthobj.width=menuwidth
}
if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
obj.visibility=visible
else if (e.type=="click")
obj.visibility=hidden
}

function iecompattest(){
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge){
var edgeoffset=0
if (whichedge=="rightedge"){
var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth
}
else{
var topedge=ie4 && !window.opera? iecompattest().scrollTop : window.pageYOffset
var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure){ //move up?
edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight
if ((dropmenuobj.y-topedge)<dropmenuobj.contentmeasure) //up no good either?
edgeoffset=dropmenuobj.y+obj.offsetHeight-topedge
}
}
return edgeoffset
}

function populatemenu(what){
	if (ie4||ns6){
		var menustring =" ";
		var count;
		for(count = 1; count <= Menu[what][1]; count++){
			menustring = menustring + ("<a href=" + Menu[what][count+4][1] + ">" + Menu[what][count+4][0] + "</a>");
		}  
		dropmenuobj.innerHTML = menustring;
	}
}

function dropdownmenu(obj, e, menucontents, menuwidth){
if (window.event) event.cancelBubble=true
else if (e.stopPropagation) e.stopPropagation()
clearhidemenu()
dropmenuobj=document.getElementById? document.getElementById("dropmenudiv") : dropmenudiv
populatemenu(menucontents)
if (ie4||ns6){
if(Menu[menucontents][1] != 0){
	showhide(dropmenuobj.style, e, "visible", "hidden", menuwidth);
} else {
	hidemenu(e);
}
dropmenuobj.x=getposOffset(obj, "left");
dropmenuobj.y=getposOffset(obj, "top");
dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px"
dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px"
}

return clickreturnvalue()
}

function clickreturnvalue(){
if (ie4||ns6) return false
else return true
}

function contains_ns6(a, b) {
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
}

function dynamichide(e){
if (ie4&&!dropmenuobj.contains(e.toElement))
delayhidemenu()
else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
delayhidemenu()
}

function hidemenu(e){
if (typeof dropmenuobj!="undefined"){
if (ie4||ns6)
dropmenuobj.style.visibility="hidden"
}
}

function delayhidemenu(){
if (ie4||ns6)
delayhide=setTimeout("hidemenu()",disappeardelay)
}

function clearhidemenu(){
if (typeof delayhide!="undefined")
clearTimeout(delayhide)
}

if (hidemenu_onclick=="yes")
document.onclick=hidemenu
