var ddtabmenu={
	disabletablinks: true,
	snap2original: [false, 300],
	
	currentpageurl: window.location.href.replace ("http://"+window.location.hostname, "").replace(/^\//, ""),

definemenu:function (tabid, dselected) {
	this[tabid+"-menuitems"]=null
	this[tabid+"-dselected"]=-1
	this.addEvent (window, function() {
		ddtabmenu.init (tabid, dselected)
	}, "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"
},

isSelected:function (menuurl) {
	var menuurl=menuurl.replace ("http://"+menuurl.hostname, "").replace(/^\//, "")
	return (ddtabmenu.currentpageurl==menuurl)
},

isContained:function(m, e) {
	var e=window.event || e
	var c=e.relatedTarget || ((e.type=="mouseover")? e.fromElement : e.toElement)
	while (c && c!=m)try {
		c=c.parentNode
	} catch (e) {
		c=m
	}
	if (c==m)
		return true
	else
		return false
},

revert2default:function (outobj, tabid, e) {
	if (!ddtabmenu.isContained (outobj, tabid, e)) {
		window["hidetimer_"+tabid]=setTimeout (function() {
			ddtabmenu.showsubmenu (tabid, ddtabmenu[tabid+"-dselected"])
		}, ddtabmenu.snap2original[1])
	}
},

clearrevert2default:function (tabid) {
	if (typeof window["hidetimer_"+tabid]!="undefined")
		clearTimeout (window["hidetimer_"+tabid])
},

addEvent:function (target, functionref, tasktype) {
	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
				}
			if (ddtabmenu.snap2original[0]==true) {
				var submenu=document.getElementById (menuitems[x].getAttribute ("rel"))
				menuitems[x].onmouseout=function (e) {
					ddtabmenu.revert2default (submenu, tabid, e)
				}
				submenu.onmouseover=function () {
					ddtabmenu.clearrevert2default (tabid)
				}
				submenu.onmouseout=function (e) {
					ddtabmenu.revert2default (this, tabid, e)
				}
			}
		}
		else
		menuitems[x].onmouseout=function (e) {
			this.className=""; if (ddtabmenu.snap2original[0]==true) ddtabmenu.revert2default (this, tabid, e)
		}
		menuitems[x].onmouseover=function () {
			ddtabmenu.showsubmenu (tabid, this)
		}
		if (dselected=="auto" && typeof setalready=="undefined" && this.isSelected (menuitems[x].href)) {
			ddtabmenu.showsubmenu (tabid, menuitems[x])
			this[tabid+"-dselected"]=menuitems[x]
			var setalready=true
		}
		else if (parseInt(dselected)==x) {
			ddtabmenu.showsubmenu (tabid, menuitems[x])
			this[tabid+"-dselected"]=menuitems[x]
		}
	}
}
}