//DD Tab Menu- Script rewritten April 27th, 07: http://www.dynamicdrive.com
//**Updated Feb 23rd, 08): Adds ability for menu to revert back to default selected tab when mouse moves out of menu

//Only 2 configuration variables below:

var ddtabmenu = {

   definemenu: function(tabid)
   {
	   this[tabid+"-menuitems"] = null;
	   this[tabid+"-dselected"] = -1;
	   this.addEvent(window, function(){ddtabmenu.init(tabid)}, "load");
   },

   showsubmenu:function(tabid, targetitem)
   {
	   var menuitems=this[tabid+"-menuitems"];
	   this.clearrevert2default(tabid);
	   
      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";
   },

clearrevert2default:function(tabid){
 if (typeof window["hidetimer_"+tabid]!="undefined")
		clearTimeout(window["hidetimer_"+tabid])
},

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)
   {
	   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;
		   }
		   else //for items without a submenu, add onMouseout effect
			   menuitems[x].onmouseout=function(e){this.className="";};
			   
		   menuitems[x].onmouseover=function(){ddtabmenu.showsubmenu(tabid, this)};
	   }
	   
	   ddtabmenu.showsubmenu(tabid, menuitems[0]);
	   this[tabid+"-dselected"] = menuitems[0];
   }
};