var activeHeader = null;
var activeMenu = null;

function setMenu(menuHeaderID,menuID,align)
{
	var top = 0;
	var left = 0;
	var currentEle;
	if(document.all)
	{
		if(activeHeader != null && activeMenu != null)
		{
			if(activeMenu.style.visibility != 'hidden')
			{
				if(document.all)
					activeMenu.style.visibility = 'hidden';
				showSelect();
			}
		}
		activeHeader = document.getElementById(menuHeaderID);
		activeMenu = document.getElementById(menuID);
		currentEle = activeHeader;
		while(currentEle.tagName.toLowerCase() != 'body')
		{
			top += currentEle.offsetTop;
			left += currentEle.offsetLeft;
			currentEle = currentEle.offsetParent;
		}
		top += (activeHeader.offsetHeight);
		switch (align)
		{
			case "right":
				activeMenu.style.left = left + activeHeader.offsetWidth - activeMenu.offsetWidth;			
			break;
			case "middle":
				activeMenu.style.left = left + (activeHeader.offsetWidth/2);
			break;
			default:
				activeMenu.style.left = left;	
			break;
		}
		activeMenu.style.top = top;
		hideSelect();
		if(document.all)
			activeMenu.style.visibility = 'visible';
		event.cancelBubble = true;
	}
}
function hideMenu()
{
	if(document.all)
	{
		if(activeHeader != null && activeMenu != null)
		{
			if(!activeMenu.contains(event.toElement)) 
			{
				activeMenu.style.visibility = 'hidden';
				activeHeader = null;
				activeMenu = null;
				showSelect();
			}
		}
	}
}
function showSelect()
{
	var obj;
	for(var i = 0; i < document.all.tags("select").length; i++)
	{
		obj = document.all.tags("select")[i];
		if(!obj || !obj.offsetParent)
			continue;
		obj.style.visibility = 'visible';
	}
}
function hideSelect()
{
	var obj;
	var currentEle;
	var top = 0;
	var left = 0;
	var menuHeight;
	var timeout;
	for(var i = 0; i < document.all.tags("select").length; i++)
	{
		obj = document.all.tags("select")[i];
		currentEle = obj;
		while(currentEle.tagName.toLowerCase() != 'body')
		{
			top += currentEle.offsetTop;
			left += currentEle.offsetLeft;
			currentEle = currentEle.offsetParent;
		}
		if(activeMenu != null)
		{
			menuHeight = (activeMenu.offsetTop + activeMenu.offsetHeight);
			
			if(top < menuHeight)
			{			
				if((left < (activeMenu.offsetLeft + activeMenu.offsetWidth)) && (left + obj.offsetWidth > activeMenu.offsetLeft)) 
					obj.style.visibility = 'hidden';
			}
		}
		top = 0;
		left = 0;
	}
}

function funBack()
{
	if(document.getElementById("OneStepBack"))
	{
		location.replace(document.getElementById("OneStepBack").value);
	}	
	else
	{
		history.back();		
	}
	return;
}

function funTrace(ip, mode) 
{
	var href = 'http://www.geoiptool.com/?IP=' + ip;
	switch(mode)
	{
		case "symantec":
			href = 'http://visualtracking.symantec.com/vt_main.asp?go=' + ip;
		break;
		case "arul":
			href = 'http://arul.telenet-systems.com/cgi-bin/track.cgi?host=' + ip;
		break;
		case "ripe":
			href = 'http://www.db.ripe.net/whois?form_type=advanced&full_query_string=&searchtext=' + ip + '&do_search=Search&inverse_attributes=None&ip_search_lvl=Default%28nearest+match%29&alt_database=ALL&object_type=All';
		break;
	}
	
	window.open(href, '', 'left=0, top=0, fullscreen=no, resizable=yes, scrollbars=auto, status=yes, titlebar=yes');
	return true;
}

function funShowHint(sender, value)
{
	var objHint = document.getElementById("divHint");
	var xPos=0;
	var yPos=0;
	var xWidth;
	var yHeight;
	var obj = sender;
	xWidth = obj.offsetWidth;
	yHeight = obj.offsetHeight;
	if(value && objHint)
	{
		if (obj.offsetParent)
		{
			while (obj.offsetParent)
			{
				xPos += obj.offsetLeft;
				yPos += obj.offsetTop;
				obj = obj.offsetParent;
			}
		}
		else
		{
			if (obj.x)
				xPos += obj.x;
		
			if (obj.y)
				yPos += obj.y;
		}
	}

	if(objHint)
	{
		if(yPos && xPos)
		{
			var offsetX = 200;
			var doX = xPos + (xWidth/2) + 10; 
			if(document.body.offsetWidth - doX < offsetX)
				doX = xPos - (xWidth/2) - 10;
			
			var offsetY = 100;
			var doY = yPos + yHeight + 5; 
			if(document.body.offsetHeight - doY < offsetY)
				doY = yPos - yHeight - 5;
			
			objHint.style.left = doX;
			objHint.style.top  = doY;
			objHint.style.display = "inline";
			
			objHint.innerHTML = value;
		}
		else
		{
			objHint.style.display="none";
			objHint.innerHTML = "";
		}
	}
}

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.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}
