
var mRed = "#EF3C38";
var mGray =  "#DADADA";
var white = "#FFFFFF";
var MenuHighlightColor = mGray;
var MenuColor =  mRed;
var SubMenuHighlightColor = mGray;
var SubMenuColor =  white;
var gold = mGray;
var tan = mGray;
var maroon = mGray;
var browser = getBrowser();
var version = getversion();
var mac = isMac();
var CurrentMenu = "";
var CurrentMenuLink = "";
var CurrentSubmenu = "";
var CurrentSubmenuLink = "";
var timer = "";
var timeout = 0;
var isClicked = false;
var platform = window.navigator.platform;
TIMER = 550;
TIMEOUTS = 7;

/* Order of execution
	1. Determine browser type - getVersion (ieversion, nsversion)
	2. HighlightMenu
		a. GetMenu
		b. GetElement
		c. GetSubmenu
		d. ColorThis
		e. SetTextColor
		f. SetPosition
		g. SetVisibility
	3. UnhighlightMenu
		a. CloseMenu
			1. ColorThis
			2. SetTextColor
			3. SetVisibility

*/


function OpenLink(sURL, sTarget, sSecure){
//opens a link in either a new browser or in the content frame
	var isSecure = false;
	if(location.protocol == "https:"){
		isSecure = true;
	}
	if(sURL != "" & sURL != null){
		if(sTarget == "_blank" | sTarget == ""){
			window.open(sURL,"_blank","location=no,resizable=yes,scrollbars=yes,titlebar=yes,status=yes,menubar=yes,toolbar=yes");
		}else{
			isClicked = true;
			if(sSecure == isSecure){				
			parent.frames["Content"].location.href = sURL;
			}
			if(sSecure == true && isSecure == false){
				top.location.href = "https://www.educu.org?URL=" + sURL
			}
			if(sSecure == false && isSecure == true){
				top.location.href = "http://www.educu.org?URL=" + sURL
			}
		}
	}
	if(browser == "Netscape" & version < 5){	
		captureE(true);
	}
}


function HighlightMenuHref(sObjId, sColor, oHref){
//Highlights the menu and opens the submenu	
	if(CurrentMenu != "" & CurrentMenu != null){
		UnhighlightMenu(true);
	}	
	CurrentMenu = GetMenu(sObjId);
	ColorThis(CurrentMenu, sColor);
	CurrentMenuLink = oHref;
	SetTextColor(CurrentMenuLink, "#FFFFFF");	
	CurrentSubmenu = GetSubmenu(sObjId + "Container");	
	SetPosition(CurrentSubmenu, CurrentMenu);
	SetVisibility(CurrentSubmenu, true);	
	timer = setTimeout("UnhighlightMenu(false)", TIMER);
	
}

function HighlightMenu(sObjId, sColor){
//Highlights the menu and opens the submenu	
	if(CurrentMenu != "" & CurrentMenu != null){
		UnhighlightMenu(true);
	}
	CurrentMenu = GetMenu(sObjId);
	CurrentMenuLink = GetElement(sObjId + "Text");
	CurrentSubmenu = GetSubmenu(sObjId + "Container");
	//ColorThis(CurrentMenu, sColor);
	//SetTextColor(CurrentMenuLink, "#FFFFFF");
	SetPosition(CurrentSubmenu, CurrentMenu);
	SetVisibility(CurrentSubmenu, true);
	timer = setTimeout("UnhighlightMenu(false)", TIMER);
}

function GetMenu(sId){
//retrieves the category given its id
	if (browser == "Netscape" & version < 5){
		return document.layers[sId];
	}else if(browser == "Microsoft Internet Explorer" & version < 5){	
		return document.all[sId];
	}else{
		return document.getElementById(sId);
	}
}

function SetPosition(oSubmenu, oMenu){
	var top;
	if(oSubmenu != null){
		if (browser == "Microsoft Internet Explorer" & version > 5.1 & platform.toLowerCase().indexOf("win") > -1){
			top = oMenu.offsetTop;
			if(top > 230){
				oSubmenu.style.top = top - oSubmenu.offsetHeight + 20 ;
			}else{
				oSubmenu.style.top = top;
			}
			oSubmenu.style.left = oMenu.offsetLeft + 134;
		}else if(browser == "Netscape" & version < 5.1){	
			if (parent.frames["Content"].frames["SubContent"]){
				top = oMenu.pageY + parent.frames["Content"].frames["SubContent"].pageYOffset;
				if(top > 230){
					osubmenu.top = top - oSubmenu.offsetHeight + 20 ;
				}else{
					oSubmenu.top = top;
				}
			} else {
				top =  oMenu.pageY + parent.frames["Content"].pageYOffset;
				if(top > 230){
					osubmenu.top = top - oSubmenu.offsetHeight + 20 ;
				}else{
					oSubmenu.top = top;
				}
			}
			oSubmenu.left = 0;
		}else if(browser == "Netscape" & version >= 5 & version < 7) {			
			if (parent.frames["Content"].frames["SubContent"]){
				top = oMenu.offsetTop - 124 + parent.frames["Content"].frames["SubContent"].pageYOffset;
				if(top > 230){
					osubmenu.top = top - oSubmenu.offsetHeight + 20 ;
				}else{
					oSubmenu.style.top = top
				}
			} else {
				top = oMenu.offsetTop - 100 + parent.frames["Content"].pageYOffset;
				if(top > 230){
					osubmenu.top = top - oSubmenu.offsetHeight + 20 ;
				}else{
					oSubmenu.style.top = top
				}
			}
			oSubmenu.left = 0;
		}else{
			//if (parent.frames["SubContent"]) { alert('Sub Content'); }
			//if (parent.frames["Content"]) { alert('Content'); }
			if (parent.frames["Content"].frames["SubContent"]){
				top =  oMenu.offsetTop - 123 + parent.frames["Content"].frames["SubContent"].document.body.scrollTop;
				if(top > 230){
					oSubmenu.style.top = top - oSubmenu.offsetHeight + 20 ;
				}else{
					oSubmenu.style.top = top
				}
			} else {
				top = oMenu.offsetTop - 89 + parent.frames["Content"].document.body.scrollTop;
				if(top > 130){
					/*var ht = new Number(oSubmenu.offsetHeight/16);				
					ht = ht.toFixed(0);
					var height = ht.valueOf() * 16;
					window.status = top.toString() + ", "  +  height.toString();*/
					oSubmenu.style.top = top - oSubmenu.offsetHeight + 15;
				}else{
					oSubmenu.style.top = top
				}
			}
			oSubmenu.style.left = 0;
		}	
	}
}

function UnhighlightMenu(bforce){
	clearTimeout(timer);
	if(timeout == TIMEOUTS | bforce == true){
		timeout = 0;
		CloseMenu();
	}else{
		timer = setTimeout("UnhighlightMenu(false)", TIMER);
		timeout = timeout + 1;
	}	
}

function CloseMenu(){
	if(CurrentMenu != ""){
		ColorThis(CurrentMenu, "#FFFFFF");
		SetTextColor(CurrentMenuLink, MenuColor);
		SetVisibility(CurrentSubmenu, false);
	}
}

function ResetTimeout(){
	timeout = 0;
}

function SetVisibility(ObjDiv, bShow){
//sets the visibility property to either hide or show a div
	if (ObjDiv == null){
		return false;
	}
	if(browser == "Netscape" & version < 5){
		if(bShow == true){
			ObjDiv.visibility = "show";
			ObjDiv.bgColor = "#DADADA";
			ObjDiv.clip.width = "180";
			ObjDiv.zIndex = 10;
		}else{
			ObjDiv.visibility = "hidden";
			ObjDiv.zIndex = 0;
		}
	}else{
		if(bShow == true){
			ObjDiv.style.visibility = "visible";
		}else{
			ObjDiv.style.visibility = "hidden";
		}
	}
}

function GetSubmenu(sObjId){
//gets the container div of the submenu. 
	
	if (browser == "Microsoft Internet Explorer" & version > 5.1 & platform.toLowerCase().indexOf("win") > -1){
		return document.getElementById(sObjId);
	}else if(browser == "Netscape" & version < 5){
		if (parent.frames["Content"].frames["SubContent"]){
			return parent.frames["Content"].frames["SubContent"].document.layers[sObjId];
		} else {
			return parent.frames["Content"].document.layers[sObjId];
		}
	}else{
		if (parent.frames["Content"].frames["SubContent"]){
			return GetElementOf(parent.frames["Content"].frames["SubContent"].document, sObjId);
		} else {
			return GetElementOf(parent.frames["Content"].document, sObjId);
		}
	}		
}

function ColorThis(oThis, sColor){
//changes the background color of any object
	if (browser == "Netscape" & version < 5){
		oThis.bgColor = sColor;
	}else{
		oThis.style.background = sColor;
	}
}

function SetTextColor(oThis, sColor){
//changes teh text color of any object
	if (browser == "Netscape" & version < 5){
		oThis.Color = sColor;
	}else{
		oThis.style.color = sColor;
	}
}

function GetElement(sObj){
//retrieves any element given its id
	if (browser == "Netscape" & version < 5){
		return eval(sObj);
	}else if(browser == "Microsoft Internet Explorer" & version < 5){	
		return document.all[sObj];
	}else{
		return document.getElementById(sObj);
	}	 
}

function GetElementOf(oParent, sObj){
//retrieves any element given its id and parent frame (as an object)
	if (browser == "Netscape" & version < 5){
		return oParent.eval(sObj);
	}else if(browser == "Microsoft Internet Explorer" & version < 5){	
		return oParent.all[sObj];
	}else{
		return oParent.getElementById(sObj);
	}	 
}


function getBrowser(){
	h = window.navigator.userAgent;
	if(h.indexOf("MSIE") != -1){
		return "Microsoft Internet Explorer"
	}
	if(h.indexOf("Firefox") != -1){
 		return "Firefox";
	}
	if(h.indexOf("Netscape") != -1){
		return "Netscape";
	}
	if(h.indexOf("Mozilla") != -1){
		return "Mozilla";
	}
	return  window.navigator.appName;
}

function isMac(){
//determines if this browser is running on a mac
	var platform = navigator.platform.toLowerCase();
	if( platform.indexOf("mac") > -1){
		return true;
	}else{
		return false;
	}
}

function isNS4(){
	if (browser == "Netscape" & version < 5){
		return true;
	}else{
		return false;
	}
}

function getversion(){
//returns the version number of the browser
	if (browser == "Netscape"){
		return nsversion();
	}else{
		return msieversion();
	}
}

function msieversion() {
//for ie browsers returns the version number
      var ua = window.navigator.userAgent;
      var msie = ua.indexOf ( "MSIE " );
      if ( msie > 0 ){
         return parseFloat(ua.substring (msie+5, ua.indexOf (";", msie )))
       }
      else{
         return 0;
      }
}

function nsversion() {
//for ns browsers returns the version number
      var ua = window.navigator.userAgent;
      var ns = ua.indexOf ( "Netscape" ) + 8;
      var ub = ua.substring(ns, ua.length);
      ub = ub.substring(ub.indexOf("/") + 1, ub.length);
      if ( ns > -1 ){
         return parseFloat(ub);
       }
      else{
         return 4;
      }
   
}
function NS6IframeHandler(){
	var nsv = nsversion();
	if (nsv > 4 & nsv < 7 ){
		var iframe = document.getElementById("Content");
		iframe.height = document.height - 150;
	}			
}