//Global variable to count number of menus created
var menuNum=0;

//Global array to hold all the names menus created
var menuArray = new Array();


//create a menu
er = new menu("eresources", 150, 28);
ec = new menu("ecourses", 270, 28);
es = new menu("eseminars", 393, 28);
cu = new menu("columbia", 639, 28);

//add an item to the menu
//addItem(link, imageOn, imageOff, additional onFunction, additional offFunction)
ec.addItem("http://ci.columbia.edu/ci/ecourses/biz.html",""+baseDir+"images/dmenu/ci_ecourses_dh_business_on.gif",""+baseDir+"images/dmenu/ci_ecourses_dh_business_off.gif","","");
ec.addItem("http://ci.columbia.edu/ci/ecourses/education.html",""+baseDir+"images/dmenu/ci_ecourses_dh_educat_on.gif",""+baseDir+"images/dmenu/ci_ecourses_dh_educat_off.gif","","");
ec.addItem("http://ci.columbia.edu/ci/ecourses/engineering.html",""+baseDir+"images/dmenu/ci_ecourses_dh_engin_on.gif",""+baseDir+"images/dmenu/ci_ecourses_dh_engin_off.gif","","");
ec.addItem("http://ci.columbia.edu/ci/ecourses/esl.html",""+baseDir+"images/dmenu/ci_ecourses_dh_esl_on.gif",""+baseDir+"images/dmenu/ci_ecourses_dh_esl_off.gif","","");
ec.addItem("http://ci.columbia.edu/ci/ecourses/tech.html",""+baseDir+"images/dmenu/ci_ecourses_dh_tech_on.gif",""+baseDir+"images/dmenu/ci_ecourses_dh_tech_off.gif","","");
ec.addItem("http://ci.columbia.edu/ci/ecourses/philosophy.html",""+baseDir+"images/dmenu/ci_ecourses_dh_philoso_on.gif",""+baseDir+"images/dmenu/ci_ecourses_dh_philoso_off.gif","","");
ec.addItem("http://ci.columbia.edu/ci/ecourses/view_all_c.html",""+baseDir+"images/dmenu/ci_ecourses_dh_view_on.gif",""+baseDir+"images/dmenu/ci_ecourses_dh_view_off.gif","","");

es.addItem("http://ci.columbia.edu/ci/eseminars/arts.html",""+baseDir+"images/dmenu/ci_esem_dh_arts_on.gif",""+baseDir+"images/dmenu/ci_esem_dh_arts_off.gif","","");
es.addItem("http://ci.columbia.edu/ci/eseminars/biz.html",""+baseDir+"images/dmenu/ci_eseminar_dh_business_on.gif",""+baseDir+"images/dmenu/ci_eseminar_dh_business_off.gif","","");
es.addItem("http://ci.columbia.edu/ci/eseminars/culture.html",""+baseDir+"images/dmenu/ci_eseminar_dh_culture_on.gif",""+baseDir+"images/dmenu/ci_eseminar_dh_culture_off.gif","","");
es.addItem("http://ci.columbia.edu/ci/eseminars/education.html",""+baseDir+"images/dmenu/ci_eseminar_dh_educat_on.gif",""+baseDir+"images/dmenu/ci_eseminar_dh_educat_off.gif","","");
es.addItem("http://ci.columbia.edu/ci/eseminars/history.html",""+baseDir+"images/dmenu/ci_eseminar_dh_history_on.gif",""+baseDir+"images/dmenu/ci_eseminar_dh_history_off.gif","","");
es.addItem("http://ci.columbia.edu/ci/eseminars/journalism.html",""+baseDir+"images/dmenu/ci_eseminar_dh_journal_on.gif",""+baseDir+"images/dmenu/ci_eseminar_dh_journal_off.gif","","");
es.addItem("http://ci.columbia.edu/ci/eseminars/law.html",""+baseDir+"images/dmenu/ci_eseminar_dh_law_on.gif",""+baseDir+"images/dmenu/ci_eseminar_dh_law_off.gif","","");
es.addItem("http://ci.columbia.edu/ci/eseminars/literature.html",""+baseDir+"images/dmenu/ci_eseminar_dh_literat_on.gif",""+baseDir+"images/dmenu/ci_eseminar_dh_literat_off.gif","","");
es.addItem("http://ci.columbia.edu/ci/eseminars/medicine.html",""+baseDir+"images/dmenu/ci_eseminar_dh_med_on.gif",""+baseDir+"images/dmenu/ci_eseminar_dh_med_off.gif","","");
es.addItem("http://ci.columbia.edu/ci/eseminars/philosophy.html",""+baseDir+"images/dmenu/ci_eseminar_dh_philoso_on2.gif",""+baseDir+"images/dmenu/ci_eseminar_dh_philoso_off2.gif","","");
es.addItem("http://ci.columbia.edu/ci/eseminars/polit.html",""+baseDir+"images/dmenu/ci_eseminar_dh_polit_on.gif",""+baseDir+"images/dmenu/ci_eseminar_dh_polit_off.gif","","");
es.addItem("http://ci.columbia.edu/ci/eseminars/public.html",""+baseDir+"images/dmenu/ci_eseminar_dh_heal_on.gif",""+baseDir+"images/dmenu/ci_eseminar_dh_heal_off.gif","","");
es.addItem("http://ci.columbia.edu/ci/eseminars/science.html",""+baseDir+"images/dmenu/ci_eseminar_dh_science_on.gif",""+baseDir+"images/dmenu/ci_eseminar_dh_science_off.gif","","");
es.addItem("http://ci.columbia.edu/ci/eseminars/view_all.html",""+baseDir+"images/dmenu/ci_eseminar_dh_view_on.gif",""+baseDir+"images/dmenu/ci_eseminar_dh_view_off.gif","","");

er.addItem("http://ci.columbia.edu/ci/eresources/classweb.html",""+baseDir+"images/dmenu/ci_eres_classwebsites_on.gif",""+baseDir+"images/dmenu/ci_eres_classwebsites_off.gif","","");
er.addItem("http://ci.columbia.edu/ci/eresources/wtc.html",""+baseDir+"images/dmenu/ci_eres_dh_wtc_on.gif",""+baseDir+"images/dmenu/ci_eres_dh_wtc_off.gif","","");
er.addItem("http://ci.columbia.edu/ci/eresources/columbiaon.html",""+baseDir+"images/dmenu/ci_ereso_dh_columbiaon_on.gif",""+baseDir+"images/dmenu/ci_ereso_dh_columbiaon_off.gif","","");
er.addItem("http://ci.columbia.edu/ci/eresources/knowledge.html",""+baseDir+"images/dmenu/ci_eres_knowledge_off.gif",""+baseDir+"images/dmenu/ci_eres_knowledge_on.gif","","");
er.addItem("http://ci.columbia.edu/ci/eresources/institute.html",""+baseDir+"images/dmenu/ci_eres_dh_institute_on.gif",""+baseDir+"images/dmenu/ci_eres_dh_institute_off.gif","","");
er.addItem("http://ci.columbia.edu/ci/eresources/schools.html",""+baseDir+"images/dmenu/ci_eres_dh_school_on.gif",""+baseDir+"images/dmenu/ci_eres_dh_school_off.gif","","");
er.addItem("http://ci.columbia.edu/ci/eresources/events.html",""+baseDir+"images/dmenu/ci_eres_eventsconf_on.gif",""+baseDir+"images/dmenu/ci_eres_eventsconf_off.gif","","");
er.addItem("http://ci.columbia.edu/ci/eresources/faculty.html",""+baseDir+"images/dmenu/ci_eres_faculty_off.gif",""+baseDir+"images/dmenu/ci_eres_faculty_on.gif","","");
er.addItem("http://ci.columbia.edu/ci/eresources/dissert.html",""+baseDir+"images/dmenu/ci_eres_dissert_on.gif",""+baseDir+"images/dmenu/ci_eres_dissert_off.gif","","");
er.addItem("http://ci.columbia.edu/ci/eresources/epublic.html",""+baseDir+"images/dmenu/ci_eres_dh_newsletter_on.gif",""+baseDir+"images/dmenu/ci_eres_dh_newsletter_off.gif","","");
er.addItem("http://ci.columbia.edu/ci/eresources/learning.html",""+baseDir+"images/dmenu/ci_eres_learning_on.gif",""+baseDir+"images/dmenu/ci_eres_learning_off.gif","","");
er.addItem("http://ci.columbia.edu/ci/eresources/library.html",""+baseDir+"images/dmenu/ci_eresources_libweb_on.gif",""+baseDir+"images/dmenu/ci_eresources_libweb_off.gif","","");
er.addItem("http://ci.columbia.edu/ci/eresources/news.html",""+baseDir+"images/dmenu/ci_eresources_col_news_on.gif",""+baseDir+"images/dmenu/ci_eresources_col_news_off.gif","","");


cu.addItem("http://ci.columbia.edu/ci/newmedia/index.html#edu",""+baseDir+"images/dmenu/ci_col_u_drpdn_col_hp_on.gif",""+baseDir+"images/dmenu/ci_col_u_drpdn_col_hp_off.gif","","");
cu.addItem("http://ci.columbia.edu/ci/newmedia/index.html#dkv",""+baseDir+"images/dmenu/ci_col_u_drpdn_dkv_on.gif",""+baseDir+"images/dmenu/ci_col_u_drpdn_dkv_off.gif","","");
cu.addItem("http://ci.columbia.edu/ci/newmedia/index.html#fathom",""+baseDir+"images/dmenu/ci_col_u_drpdn_fathom_on.gif",""+baseDir+"images/dmenu/ci_col_u_drpdn_fathom_off.gif","","");
cu.addItem("http://ci.columbia.edu/ci/newmedia/index.html#epic",""+baseDir+"images/dmenu/ci_col_u_drpdn_epic_on.gif",""+baseDir+"images/dmenu/ci_col_u_drpdn_epic_off.gif","","");
cu.addItem("http://ci.columbia.edu/ci/newmedia/index.html#ccnmtl",""+baseDir+"images/dmenu/ci_col_u_drpdn_ccnmtl_on.gif",""+baseDir+"images/dmenu/ci_col_u_drpdn_ccnmtl_off.gif","","");
cu.addItem("http://ci.columbia.edu/ci/newmedia/index.html#mcah",""+baseDir+"images/dmenu/ci_cu_dh_mcah_on.gif",""+baseDir+"images/dmenu/ci_cu_dh_mcah_off.gif","","");
cu.addItem("http://ci.columbia.edu/ci/newmedia/index.html#tc",""+baseDir+"images/dmenu/ci_cu_dh_tci_on.gif",""+baseDir+"images/dmenu/ci_cu_dh_tci_off.gif","","");
cu.addItem("http://ci.columbia.edu/ci/newmedia/index.html#cds",""+baseDir+"images/dmenu/ci_cu_dh_cds_on.gif",""+baseDir+"images/dmenu/ci_cu_dh_cds_off.gif","","");

//main function that writes the menus
function main(){
	er.writeMenu();
	es.writeMenu();
	ec.writeMenu();
	cu.writeMenu();
}











//Menu Constructor	
function menu(name,x,y){
	//clears item string
	this.itemStr = "";
	//clears html string
	this.topStr = "";
	//initializes itemNumber to 0
	this.itemNumber = 0;
	this.name = name;
	this.x = x;
	this.y = y;
	//increments the number of menus
	menuNum++
	this.topStr = "<DIV id="+this.name+">";
	this.topStr += "<TABLE border=\"0\" cellPadding=\"0\" cellSpacing=\"0\">";
	
	this.addItem = addItem;
	this.writeMenu = writeMenu;
	
	menuArray[menuNum] = this.name

	this.styleStr = "#" +this.name+ " {position: absolute; left:"+this.x+"; top:"+this.y+"; visibility: hidden;  z-index:100;}"

	document.write('<style type="text/css">')
	document.write(this.styleStr)
	document.write('</style>')
}

//function to add item
function addItem(linkLocation,imgOnLocation,imgOffLocation,addOnFunc,addOffFunc){
	//increments number of items
	this.itemNumber++;	
	this.itemStr += "<TR><TD><A href=\""+linkLocation+"\" onmouseout=\"offMenuItem(\'"+imgOffLocation+"\',\'"+this.name+this.itemNumber+"\',\'"+this.name+"\');"+addOffFunc+"\" onmouseover=\"onMenuItem(\'"+imgOnLocation+"\',\'"+this.name+this.itemNumber+"\',\'"+this.name+"\');"+addOnFunc+"\"><img name="+this.name+this.itemNumber+" src="+imgOffLocation+" alt=\"\" border=\"0\"></A></TD></TR>";
}

var bottom = "</TABLE></DIV>";
//function to show menu
function writeMenu(){
	document.write(this.topStr);
	document.write(this.itemStr);
	document.write(bottom);
}






/*
	DHTML menu system using images.
*/

//Detect if NS4 or IE
var ns = (document.layers) ? true : false;
var ie = (document.all) ? true : false;

//Detect if Mac
var isMac = (navigator.platform.indexOf('Mac') != -1)  ? true : false;

//Detect if NS6
var ns6 = (navigator.userAgent.indexOf('Mozilla/5.0') != -1) ? true : false;


//Variables for IE DOM
var coll;
var styleObj;

//Create objects for NS DOM & IE DOM
if(document.layers){     
  	 coll = "";
	 styleObj = "";
}else{
     coll = "all.";
     styleObj = ".style";
}

//Timer to show & hide in seconds
var timer = .5;

//Timer ID to clear timed hide of main menus
var timerID = null;

/*
Function for link onmouseover
Onmouseover link - hide all menus, Clear timer for hiding main menus, Clear timer for showing content, if applicable - show menu(from parameter) & hide content else - show content.
*/
function onLink(menu){
			hideAll();
			if(timerID){
				clearTimeout(timerID);
			}
			if(menu){ 
				show(menu);
			}
}

/*
Function for link onmouseout
Onmouseout - set timer to show content,  set timer to hide all menus.
*/
function offLink(){
		timedHide();
}

/*
Function for menu item onmouseover
Onmouseover a menu item of main menu - clear timer for showing content, clear timer for hiding main menus, clear timer for hiding secondary menus, hide all secondary menus, is applicable - show secondary menu(from parameter)
*/
function onMenuItem(iLocation,iName,mName){
	rollMenuOn(iLocation,iName,mName);
	clearTimeout(timerID);
}

/*
Function for menu item onmouseout
Onmouseout a menu item set timer to hide all secondary menus, set timer to hide all main menus, set timer to show content.
*/
function offMenuItem(iLocation,iName,mName){
	rollMenuOff(iLocation,iName,mName);
	timerID = setTimeout("hideAll()",timer*1000);
}


//Function that hides all main & secondary menus
function hideAll(){
	var mainObj;
		for(var i = 1; i<=menuNum; i++){
			mainObj = menuArray[i];
			hide(mainObj);
		}
}

//Function timed hide for all menus
function timedHide(){
		timerID = setTimeout("hideAll()",timer*1000);
}


//Function that makes an object visible
function show(obj){
	   if(ns6){
	   		document.getElementById(obj).style.visibility = "visible";
			document.getElementById(obj).style.display = "";
	   }
	   else{
	   		var theObj = getObject(obj);
	   		theObj.visibility = "visible";
	   }

}

//Function that hides an object
function hide(obj){
		if(ns6){
	   		document.getElementById(obj).style.display = "none";
			document.getElementById(obj).style.visibility = "hidden";
	   	}
		else{
	   		var theObj = getObject(obj);
	   		theObj.visibility = "hidden";
	  	}
}

//Function that takes an object name as an argument and creates the appropriate DOM reference.
function getObject(obj){
     var theObj;
     if(typeof obj == "string"){
          theObj = eval("document." + coll + obj + styleObj);
     }
     else{
          theObj = obj;
     }
     return theObj;
}  


function rollMenuOn(imgOnLoc,imgName,menuName){
	if(ns){
		eval("document."+menuName+".document.images[imgName].src = imgOnLoc");
	}
	else{
		document.images[imgName].src = imgOnLoc;
	}
}

function rollMenuOff(imgOffLoc,imgName,menuName){
	if(ns){
		eval("document."+menuName+".document.images[imgName].src = imgOffLoc");

	}
	else{
		document.images[imgName].src = imgOffLoc;
	}
}
