/*********************************************************
* Dont-Panic Drop Down Menu - © (www.dont-panic.co.uk)
* This notice MUST stay intact for legal use
* Visit http://www.dont-panic.co.uk/ for full source code
**********************************************************/

var md = 250;
var ti = -1;
var xoff = -2;
var yoff = 1;
var oTd = new Object;
oTd = null;

function getposOffset(what, offsettype) {
	
	var totaloffset = (offsettype == "left") ? what.offsetLeft : what.offsetTop;
	var parentEl = what.offsetParent;
	
	while(parentEl != null) {
		totaloffset = (offsettype == "left") ? totaloffset + parentEl.offsetLeft : totaloffset + parentEl.offsetTop;
		parentEl = parentEl.offsetParent;
	}
	return totaloffset;
}

function doMenu(td) {

	clearTimeout(ti);
	var i;
	var sT = "";
	tda = new Array();
	tda = td.id.split("_");

   if(tda.length == 2) {
	   var tblObj = document.getElementById("mainmenu");
      var rows = tblObj.getElementsByTagName("tr");
      if(rows.length >= 1) {
         for(j = 0; j < rows.length; j++) {
            var cols = rows[j].getElementsByTagName("td");
            for(i = 0; i < cols.length; i++) {
               cols[i].style.color = tdColor;
               if(tdBgImage != "") {
                  cols[i].style.background = "url('" + tdBgImage + "')";
               } else {
                  cols[i].style.backgroundColor = tdBgColor;
               }
            }
         }
      }
   }

	if(tda.length > 2) {
		td.style.color = hlSubColor;
		if(hlSubBgImage != "") {
			td.style.background = "url('" + hlSubBgImage + "')";
		} else {
			td.style.backgroundColor = hlSubBgColor;
		}
	} else {
		td.style.color = hlColor;
		if(hlBgImage != "") {
			td.style.background = "url('" + hlBgImage + "')";
		} else {
			td.style.backgroundColor = hlBgColor;
		}
	}

	if(oTd != null) {
		
		var tdo = new Array();
		tdo = oTd.id.split("_");
		
		for(i = 1; i < tdo.length; i++) {
		
			sT += "_" + tdo[i];
		
			if(tdo[i] != tda[i]) { 
				if(sT.split("_").length > 2) {
					document.getElementById("td" + sT).style.color = tdSubColor;
					if(tdSubBgImage != "") {
						document.getElementById("td" + sT).style.background = "url('" + tdSubBgImage + "')";
					} else {
						document.getElementById("td" + sT).style.backgroundColor = tdSubBgColor;
					}
				} else {
					document.getElementById("td" + sT).style.color = tdColor;
					if(tdBgImage != "") {
						document.getElementById("td" + sT).style.background = "url('" + tdBgImage + "')";
					} else {
						document.getElementById("td" + sT).style.backgoundColor = tdBgColor;
					}
				}
				
				if(document.getElementById("tbl" + sT) != null) {
					document.getElementById("tbl" + sT).style.visibility = "hidden";
				}
			}
		}
	}

	oTd = td;
	sT = "tbl";

	for(i = 1; i < tda.length; i++)
		sT += "_" + tda[i];

	if(document.getElementById(sT) != null) {
		
		var xOff = getXOffset(sT.substr(3, 999));
		var yOff = getYOffset(sT.substr(3, 999));
		var thisObj = document.getElementById(sT);

		if(thisObj != null) {
			thisObj.style.left = xOff;
			thisObj.style.top = yOff;
			thisObj.style.visibility = "visible";
		}
	}
}

function clearMenu() {
	
	if(oTd != null) {
		
		var tdo = new Array();
		tdo = oTd.id.split("_");
		var sT = "";

		for(var i = 1; i < tdo.length; i++) {
			sT += "_" + tdo[i];
			if(document.getElementById("td" + sT) != null) {
				var tdObj = document.getElementById("td" + sT);
				
				if(sT.split("_").length > 2) {
					tdObj.style.color = tdSubColor;
					if(tdSubBgImage != "") {
						tdObj.style.background = "url('" + tdSubBgImage + "')";
					} else {
						tdObj.style.backgroundColor = tdSubBgColor;
					}
				} else {
					tdObj.style.color = tdColor;
					if(tdBgImage != "") {
						tdObj.style.background = "url('" + tdBgImage + "')";
					} else {
						tdObj.style.backgroundColor = tdBgColor;
					}
				}
			}
			
			if(document.getElementById("tbl" + sT) != null) {
				document.getElementById("tbl" + sT).style.visibility = "hidden";
			}
		}
		
		oTd = null;
	}
}

function runMenu(strURL, strTarget) {

	switch(strTarget) {
		case "_blank": window.open(strURL); break;
		case "_self": document.location = strURL; break;
		case "_top": top.location(strURL); break;
		case "_parent": parent.location(strURL); break;
		default: document.location = strURL; break;
	}

}

var tt = "";
var sT = "";
var pT = new Array();
var tA = new Array();

function getXOffset(st) {
	
	var xOffset = getposOffset(document.getElementById("mainmenu"), "left");
	tA = st.split("_");
	
	if(tA.length > 2) {
		tA = tA.slice(0, -1);
		tt = tA.join("_");
		return (document.getElementById("tbl" + tt).offsetLeft + xoff + 
			document.getElementById("td" + st).offsetWidth + 1); //  - 2
	}

	var curPos = (xOffset + document.getElementById("mainmenu").offsetLeft + 
		document.getElementById("td" + st).offsetLeft); //  + 5 
	
	if(!ve) {
		return curPos;
	} else {
		return curPos + (ve ? document.getElementById("mainmenu").offsetWidth + xoff : 
			document.getElementById("td" + st).offsetLeft + xoff);
	}

}

function getYOffset(st) {

	var yOffset = getposOffset(document.getElementById("mainmenu"), "top");
	tA = st.split("_");

	if(tA.length > 2) {
		tA = tA.slice(0, -1);
		tt = tA.join("_");
		return (document.getElementById("tbl" + tt).offsetTop + yoff + 
			document.getElementById("td" + st).offsetTop); //  + 4
	}
	
	var curPos = (yOffset + document.getElementById("mainmenu").offsetTop + 
		document.getElementById("td" + st).offsetHeight - 2);
	
	if(!ve) {
		return (yOffset + document.getElementById("mainmenu").offsetTop + 
			document.getElementById("td" + st).offsetHeight); //  - 2
	} else {
		return (yOffset + document.getElementById("mainmenu").offsetTop) + (p1 = ve ? 
			document.getElementById("td" + st).offsetTop + yoff : 
			document.getElementById("td" + st).offsetHeight +yoff);
	}

}

function getCoord(st) {
		
	var xOffset = getposOffset(document.getElementById("mainmenu"), "left");
	var yOffset = getposOffset(document.getElementById("mainmenu"), "top");
	tA = st.split("_");

	if(tA.length > 2) {
		tA = tA.slice(0, -1);
		tt = tA.join("_");
		return (document.getElementById("tbl" + tt).offsetTop + document.getElementById("td" + st).offsetTop + 4)+"px; left:" +
			(document.getElementById("tbl" + tt).offsetLeft + document.getElementById("td" + st).offsetWidth - 2) + "px'>";
	}

	var p1 = ve ? document.getElementById("td" + st).offsetTop + 4 : document.getElementById("td" + st).offsetHeight - 2;
	var p2 = ve ? document.getElementById("mainmenu").offsetWidth - 4 : document.getElementById("td" + st).offsetLeft + 5;
	return (yOffset + document.getElementById("mainmenu").offsetTop + p1) + "px; left:" + (xOffset + document.getElementById("mainmenu").offsetLeft + p2) + "px'>";

}

function createMenu() {

	if(document.getElementById) {
		
		var g1 = ve ? "" : "<tr>";
		var g2 = ve ? "" : "</tr>";
		var v1 = ve ? "<tr>" : "";
		var v2 = ve ? "</tr>" : "";
		var v3 = ve ? " style='float:left'>" : ">";
		var sH = "<table class='menu' id='mainmenu' style='z-index:100' cellspacing='0'" + v3 + g1;
		var p = 0;
		var j = 0;
		var curTarget = "";

		while(eval("typeof(td_" + (++j) + ") != 'undefined'")) {
			if(eval("typeof(target_" + j + ") != 'undefined'")) { curTarget = eval("target_" + j); } else { curTarget = ""; }
			sH += v1 + "<td id='td_" + j + "' onmouseover='doMenu(this)' onmouseout=\"ti=setTimeout('clearMenu()', md)\"";
			sH += (eval("typeof(url_" + j + ")!='undefined'")) ? " onclick=\"runMenu('" + eval("url_" + j) + "', '" + curTarget + "')\">" : " class=daddy>";
           sH += (eval("typeof(img_" + j + ")!='undefined'")) ? "<img src=\"" + eval("img_" + j) + "\" height=12 border=0>&nbsp;" : "";
			sH += eval("td_" + j) + "</td>" + v2;
			if(eval("typeof(td_" + j + "_1) != 'undefined'"))
				pT[p++] = "_" + j;
		}
		sH += g2 + "</table>";
		document.write(sH);

		for(var q = 0; typeof(pT[q]) != "undefined"; q++) {
			sT = pT[q];
			sH = "";
			j = 0;
			sH += "<table class='submenu' id='tbl" + sT + "' cellspacing='0' " +
				"style='z-index:100; top:" + getCoord(sT);

			while(eval("typeof(td" + sT + "_" + (++j) + ") != 'undefined'")) {
				if(eval("typeof(target" + sT + "_" + j + ") != 'undefined'")) { 
					curTarget = eval("target" + sT + "_" + j); 
				} else { 
					curTarget = ""; 
				}
				
				sH += "<tr><td id='td" + sT + "_" + j + "' " +
					"onmouseover='doMenu(this)' " +
					"onmouseout=\"ti=setTimeout('clearMenu()', md)\"";

				sH += (eval("typeof(url" + sT + "_" + j + ") != 'undefined'")) ? 
					" onclick=\"runMenu('" + eval("url" + sT + "_" + j) + "', '" + 
					curTarget + "')\">" : " class=kiddy>";

               sH += (eval("typeof(img" + sT + "_" + j + ")!='undefined'")) ? "<img src=\"" + eval("img" + sT + "_" + j) + "\" height=12 border=0>&nbsp;" : "";

				sH += eval("td" + sT + "_" + j) + "</td></tr>";
				if(eval("typeof(td" + sT + "_" + j + "_1) != 'undefined'"))
					pT[p++] = sT + "_" + j;
			}
			sH += "</table>";
			document.write(sH);
		}

		document.getElementById("mainmenu").style.visibility = "visible";
	} else {
		document.write("<p>Your browser does not support DHTML and DOM.</p>");
	}
}
