//DD Tab Menu- Last updated April 27th, 07: http://www.dynamicdrive.com
//Only 1 configuration variable below

var ddtabmenu={
	currentpageurl: window.location.href,
	end_y_position: 65,

definemenu:function(tabid, dselected){
	//console.log(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++)
		this.hidesubmenu(menuitems[i])
	targetitem.className="current"
	if (targetitem.has_sub_menu){
		targetitem.submenu.style.display="block"
		this.select_default_submenu_link(targetitem)
	}
},

hidesubmenu: function(menuitem){
	menuitem.className=""
	if (menuitem.has_sub_menu)
		menuitem.submenu.style.display="none"
},

select_default_submenu_link: function(targetitem){
	links =targetitem.submenu_links
	for(i=0; i<links.length; i++){
		if(this.isSelected(links[i])){
			this.select_submenu_link(targetitem, links[i])
			return
		}
	}
},

select_submenu_link: function(targetitem, link_to_select){
	submenu_links =targetitem.submenu_links
	for(i=0; i<submenu_links.length; i++)
		$(submenu_links[i]).removeClassName("current_submenu_link")
	$(link_to_select).addClassName("current_submenu_link")
},

isSelected:function(menuurl){
	//check if the url of the current page starts with this menu url
	return ddtabmenu.currentpageurl.indexOf(menuurl) == 0 
},

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)
},

restoresubmenu: function(tabid){
	var menuitems=this[tabid+"-menuitems"]
 	for (i=0; i<menuitems.length; i++){
		if (this.isSelected(menuitems[i].href)){
			ddtabmenu.showsubmenu(tabid, menuitems[i])
			return;
		}
	}
},

body_mouseover_handler: function(event, tabid) {
	var posy = 0;
	if (!event) 
		var event = window.event;
	if (event.pageY)
		posy = event.pageY;
	else if (event.clientY)
		posy = event.clientY + document.body.scrollTop + document.documentElement.scrollTop;
	if(posy > ddtabmenu.end_y_position )
		ddtabmenu.restoresubmenu(tabid); 
},

has_submenu_links: function(menuitem){
	submenu_id = menuitem.getAttribute("rel")
	if(!submenu_id) 
		return false
	submenu = document.getElementById(submenu_id)
	if(!submenu) 
		return false
	return submenu.getElementsByTagName("a").length > 0
},

init_submenu: function(menuitem){
	menuitem.has_sub_menu = true;
	menuitem.submenu = $(menuitem.getAttribute("rel"))
	menuitem.submenu_links = submenu.getElementsByTagName("a")
	for(i=0; i<menuitem.submenu_links.length; i++){
		menuitem.submenu_links[i].onmouseover = function(){ddtabmenu.select_submenu_link(menuitem, this)}
	}
},

init:function(tabid, dselected){
	var menuitems=$(tabid).getElementsByTagName("a")
	this[tabid+"-menuitems"]=menuitems
	for (var x=0; x<menuitems.length; x++){
		if(ddtabmenu.has_submenu_links(menuitems[x]))
			this.init_submenu(this[tabid+"-menuitems"][x])
		menuitems[x].onmouseover=function(){ddtabmenu.showsubmenu(tabid, this)}
		if ((dselected=="auto" && this.isSelected(menuitems[x].href)) || parseInt(dselected)==x)
			ddtabmenu.showsubmenu(tabid, menuitems[x])
	}
	var ddtabs1 = document.getElementById("ddtabs1");
	ddtabs1.onmouseover = function(event){ ddtabmenu.body_mouseover_handler(event, tabid) }
}
}