
startList = function(){
	// check current environment
	var isIE = (document.all)?true:false;
	var isIE5 = (navigator.appVersion.substr(22,3!="5.0"))?false:true;
	var supportsID = (document.getElementById)?true:false;
	var menuName = "dynamicMenu";
	var iframeCode = "";

	// document.all checks for IE. Al other browsers are OK
	if (isIE && supportsID)
	{
		// Add a shim to hide select items for drop down menus.
		if (!isIE5)
			window.dynamicMenu.innerHTML=(iframeCode + window.dynamicMenu.innerHTML);
		var sfEls = document.getElementById(menuName).lastChild.getElementsByTagName("li");
		for (var i=0; i<sfEls.length; i++)
		{
			sfEls[i].onmouseover=function()
			{
					this.className+=" over";
					hideDropdowns(this.getElementsByTagName("ul")[0],true);
			}
			sfEls[i].onmouseout=function()
			{
					this.className=this.className.replace(" over","");
					hideDropdowns(this.getElementsByTagName("ul")[0],false);
			}
		}
	}
}

function isInParent(el, parent){
	if (el == null)
		return true;
	var aEls=parent.getElementsByTagName(el.tagName);
	if(aEls && aEls.length==0)
		return false;
	for(var i=0;i<aEls.length;i++){
		if(el==aEls[i])
			return true;
	}
	return false;
}

function hideDropdowns(obj, bool){
	if (navigator.appVersion.substr(22,3)=="5.0"){
		if(bool)
			hideSelects();
		else
			showSelects();
		return;
	}
	var mnuShim=document.getElementById("menushim");
	if (mnuShim && obj && bool)
	{
			mnuShim.style.left		= findPosX(obj)+"px";
			mnuShim.style.top		= findPosY(obj)+"px";
			mnuShim.style.width		= obj.offsetWidth+"px";
			mnuShim.style.height	= obj.offsetHeight+"px";
			obj.style.zIndex		= "101";
			mnuShim.style.zIndex	= "1";
			mnuShim.style.display	= "block";
	} else
			mnuShim.style.display	= "none";
}

function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.tagName != "BODY" && obj.offsetParent)
		{
			if (!(obj.tagName=="DIV" && obj.currentStyle.position=="absolute"))
				curtop += obj.offsetTop;
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

function hideSelect(id){
	var el=document.getElementById(id);
	if (el!=null)
		el.className+=" hide";
}

function hideSelects(){
	var oSelects=document.getElementsByTagName("select");
	for(var i=0;i<oSelects.length;i++)
		oSelects[i].className+=" hide";
}

function showSelects(){
	var oSelects=document.getElementsByTagName("select");
	for(var i=0;i<oSelects.length;i++)
		oSelects[i].className=oSelects[i].className.replace(" hide","");
}

function addEvent(obj, evType, fn) {
	// adds an eventListener for browsers which support it
	// Written by Scott Andrew: nice one, Scott
	if (obj.addEventListener){
		obj.addEventListener(evType,fn,true);
		return true;
	} else if (obj.attachEvent){
		var r = obj.attachEvent("on"+evType,fn);
		return r;
	} else {
		return false;
	}
}

addEvent(window,"load", startList);
