//DD Tab Menu- Last updated April 27th, 07: http://www.dynamicdrive.com
//Only 1 configuration variable below

/*
 *  08-Feb-28: Change isSelected to ignore # so onclicks don't screw things up
 */

var ddtabmenu={
	disabletablinks: false, ////Disable hyperlinks in 1st level tabs with sub contents (true or false)?
	currentpageurl: window.location.href.replace("http://"+window.location.hostname, "").replace(/^\//, ""), //get current page url (minus hostname, ie: http://www.dynamicdrive.com/)
	currentTabIndex: 0,

definemenu:function(tabid, dselected){
	this[tabid+"-menuitems"]=null
	this.addEvent(window, function(){ddtabmenu.init(tabid, dselected)}, "load")
},

showsubmenu:function(tabid, targetitem){
	var menuitems=this[tabid+"-menuitems"]
    for (i=0; i<menuitems.length; i++){
		menuitems[i].className=""
		if (typeof menuitems[i].hasSubContent!="undefined")
			document.getElementById(menuitems[i].getAttribute("rel")).style.display="none"
	}
	targetitem.className="current"
	if (typeof targetitem.hasSubContent!="undefined")
		document.getElementById(targetitem.getAttribute("rel")).style.display="block"
},

isSelected:function(menuurl){
	var menuurl=menuurl.replace("http://"+menuurl.hostname, "").replace(/^\//, "");
	var currenturl = ddtabmenu.currentpageurl.replace("http://"+ddtabmenu.currentpageurl.hostname, "").replace(/^\//, "");
	// GSE modified to remove # which can show up at end for onclick links
	currenturl = currenturl.replace("#", "");
	menuurl=menuurl.replace("#", "");
	// GSE modified to only test using endsWith (need prototype.js)
	return menuurl.endsWith(currenturl);
},

addEvent:function(target, functionref, tasktype){ //assign a function to execute to an event handler (ie: onunload)
	var tasktype=(window.addEventListener)? tasktype : "on"+tasktype
	if (target.addEventListener)
		target.addEventListener(tasktype, functionref, false)
	else if (target.attachEvent)
		target.attachEvent(tasktype, functionref)
},

init:function(tabid, dselected){
	var menuitems=document.getElementById(tabid).getElementsByTagName("a")
	this[tabid+"-menuitems"]=menuitems
	for (var x=0; x<menuitems.length; x++){
		if (menuitems[x].getAttribute("rel")){
			this[tabid+"-menuitems"][x].hasSubContent=true
			if (ddtabmenu.disabletablinks)
				menuitems[x].onclick=function(){return false}
		}
		else //for items without a submenu, add onMouseout effect
			// GSE modified to ensure active tab remains selected
			menuitems[x].onmouseout=function(){ddtabmenu.selectActiveTab(tabid)}
		menuitems[x].onmouseover=function(){ddtabmenu.showsubmenu(tabid, this)}
		if (dselected=="auto" && typeof setalready=="undefined" && this.isSelected(menuitems[x].href)){
			ddtabmenu.showsubmenu(tabid, menuitems[x])
			var setalready=true
		}
		else if (parseInt(dselected)==x)
			ddtabmenu.showsubmenu(tabid, menuitems[x])
	}
},

// GSE function
selectActiveTab:function(tabid) {
	var menuitems=document.getElementById(tabid).getElementsByTagName("a");
	if(menuitems[0].onclick) {
		for (var x=0; x<menuitems.length; x++){
			if(x == ddtabmenu.currentTabIndex) {
				ddtabmenu.showsubmenu(tabid, menuitems[x]);
			} else {
				menuitems[x].className = "";
			}
		}
	} else {
		for (var x=0; x<menuitems.length; x++){
			if(! ddtabmenu.isSelected(menuitems[x].href)) {
				menuitems[x].className="";
			} else {
				ddtabmenu.showsubmenu(tabid, menuitems[x]);
			}
		}
	}
},

selectTabAtIndex:function(tabid, tabIndex) {
	var menuitems=document.getElementById(tabid).getElementsByTagName("a");
	ddtabmenu.showsubmenu(tabid, menuitems[tabIndex]);
	ddtabmenu.currentTabIndex = tabIndex;
}

}