var vertical_offset=0; //vertical offset of tooltip from anchor link
var horizontal_offset=0; //horizontal offset of tooltip from anchor link
var visibleMenu, visibleTime, menuobj, obj;
var currentLayer = 0; //Current Layer
var bottomMargin = 99; //If page has margin

function clickMenu(menuid,objwin){
	menuobj = (document.getElementById(menuid))? document.getElementById(menuid): menuid;
	obj = objwin;
	visibleMenu = true;
	enableMenu(1);
}

function showMenu(showcase,menuid,objwin){
	menuobj = (document.getElementById(menuid))? document.getElementById(menuid): menuid;
	obj = objwin;
	if (visibleTime) clearTimeout(visibleTime);
	var delayShowTime = 300; //Delay time to show
	if (showcase=="on") {
		visibleMenu = true;
		if (!currentLayer) {
			visibleTime=setTimeout("enableMenu(0)",delayShowTime);
			//alert("no current layer");
		} else if (currentLayer!=menuobj) {
			$(currentLayer).hide("slow");
			currentLayer = 0;
			visibleMenu = true;
			visibleTime=setTimeout("enableMenu(0)",delayShowTime);
			//alert("not equal current layer");
		}
	} else if (showcase=="off") {
		visibleMenu = false;
		visibleTime=setTimeout("disableMenu()",delayShowTime);
	}
}

function enableMenu(oclick){
	if (visibleMenu){
		currentLayer = menuobj;
		if (!oclick) {
			$(menuobj).mouseover(function(){
				showMenu("on",menuobj,"");
			})
			$(menuobj).mouseout(function(){
				showMenu("off",menuobj,obj);
			})
		}
		avoidOverlap("visible");
		positioning();
		$(menuobj).css({visibility:"visible"}, function(){$(this).slideDown("slow")});
	}
}

function positioning(){
	if (obj) {
		menuobj.style.visibility = "hidden";
		menuobj.style.display = "";
		coors = findPos(obj);
		menuobj.style.left=coors[2]-clearbrowseredge(obj, "rightedge")+"px";
		menuobj.style.top=coors[3]-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px";
		if (parseFloat(jQuery.browser.version)<7 && document.all && newframe) {
			newframe.style.width = menuobj.offsetWidth+"px";
			newframe.style.height = menuobj.offsetHeight+"px";
			newframe.style.left = menuobj.offsetLeft+"px";
			newframe.style.top = menuobj.offsetTop+"px";
			newframe.style.zIndex = "50";
			newframe.style.display = "";
		}
	}
}

function disableMenu(){
	if (!visibleMenu) {
		//alert("delete current layer");
		$(menuobj).hide("slow");
		avoidOverlap("hidden");
		currentLayer=0;
		clearTimeout(visibleTime);
	}
}

function findPos(obj){
	if (obj.offsetParent) {
		var containerleft = 0;
		var containertop = 0;
		if (menuobj.offsetParent) {
			containerleft = menuobj.offsetParent.offsetLeft;
			containertop = menuobj.offsetParent.offsetTop;
		}
		var curleft = obj.offsetLeft;
		var curtop = obj.offsetTop;
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		}
		var relativeleft = curleft - containerleft;
		var relativetop = curtop - containertop;

	}
	return [curleft,curtop,relativeleft,relativetop];
}

function clearbrowseredge(obj, whichedge){
	var edgeoffset=(whichedge=="rightedge")? parseInt(horizontal_offset)*-1 : parseInt(vertical_offset)*-1;
	if (whichedge=="rightedge"){
		var windowedge=(document.all && !window.opera)? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15;
		if (windowedge-coors[0] < menuobj.offsetWidth) {
			edgeoffset=menuobj.offsetWidth+obj.offsetWidth+parseInt(horizontal_offset);
		}
	}
	else{
		var windowedge=(document.all && !window.opera)? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18;
		if (windowedge-coors[1]-bottomMargin+parseInt(vertical_offset) < menuobj.offsetHeight) {
			edgeoffset=menuobj.offsetHeight+obj.offsetHeight+parseInt(vertical_offset);
		}
	}
	return edgeoffset;
}

function avoidOverlap(e) {
	if (parseFloat(jQuery.browser.version)<7 && document.all && e=="hidden" && !newframe) {
  		var iframeEl = document.createElement("IFRAME");
  		iframeEl.frameBorder = 0;
  		iframeEl.src = "javascript:false;";
  		iframeEl.style.display = "none";
  		iframeEl.style.position = "absolute";
  		iframeEl.style.filter = "progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)";
  		newframe = menuobj.parentNode.insertBefore(iframeEl, menuobj);
  	} else if (parseFloat(jQuery.browser.version)<7 && document.all && e=="visible" && newframe) {
  		newframe.style.display = "none";
		} else if (parseFloat(jQuery.browser.version)<5.5 && document.all) {
			$("select").not($("menuobj select")).each(function(){
			this.style.visibility = e;
		})
	}
}