var timHide;
var mouseX;
var mouseY;

var req;

function Initialize()
{
        req = false;

        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            req = new XMLHttpRequest();
            if (req.overrideMimeType) {
                req.overrideMimeType('text/xml');
                // See note below about this line
            }
        } else if (window.ActiveXObject) { // IE
            try {
                req = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    req = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!req) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }

/*
    try
    {
        req=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e)
    {
        try
        {
            req=new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(oc)
        {
            req=null;
        }
    }

    if(!req&&typeof XMLHttpRequest!="undefined")
    {
        req=new XMLHttpRequest();
    }
*/
}



function ShowLink(linkstr, categoryID)
{
	Initialize();
	var url="../Home/GetRequest.aspx?Command=Link&Parameter=" + linkstr + "&CategoryID=" + categoryID;

	if(req)
	{
		req.onreadystatechange = Process;
		req.open('GET', url, true);
		req.send(null);
	}
}

function Process()
{
    if (req.readyState == 4)
    {
    // only if "OK"
        //if (req.status == 200)
        {
            if(req.responseText!="")
            {
                GoLink();
            }
        }
    }
}

function GoLink()
{
	var nodes;
	var menustr = "";
	if (window.XMLHttpRequest)
	{
		//Mozilla
		var xmldoc = req.responseXML;
		var root_node = xmldoc.getElementsByTagName('url').item(0);
		url = root_node.firstChild.data;	
			if (url.indexOf("javascript") >= 0)
				eval(url);
			else
				window.open (url, "_self", "", true);
			return;
	}
	else
	{
		//IE
		nodes = req.responseXML.selectNodes("/links/link");
	
		if (nodes.length == 0)
		{
			return;
		}
		if (nodes.length == 1)
		{
			var node = nodes(0);
			var url = node.selectSingleNode("./url").text;
			if (url.indexOf("javascript") >= 0)
				eval(url);
			else
				window.open (url, "_self", "", true);
			return;
		}
		for (var i=0; i<nodes.length; i++)
		{
			var node = nodes(i);
			var url, title;
			url = node.selectSingleNode("./url").text;
			title = node.selectSingleNode("./title").text
			menustr += title + "##" + url + "$$";
		}
	}
	ShowLinkMenu(menustr);
}

function nothing()
{

}

function ShowLinkMenu(menustr)
{

	var menuItems = menustr.split('$$');
	var menu = "";
	menu += startMenu();
	for (i=0; i<menuItems.length-1; i++)
	{
		menu += addMenuRow(menuItems[i]);
	}
	menu += endMenu();
	
	var linkMenu = window.document.all("linkMenu");
	linkMenu.innerHTML = menu;
	if (document.body.dir.toLowerCase() == "rtl")
		left = mouseX - linkMenu.scrollWidth - 20;
	else
		left = mouseX - 20;
	linkMenu.style.left = left + "px";
	linkMenu.style.top = mouseY + "px";
	showMenu();

}

function addMenuRow(menuItemStr)
{
	var menuItem = menuItemStr.split('##');
	title = menuItem[0];
	url = menuItem[1];
	var menuScript = "<a class='LinkMenuItem' href='" + url + "'>" + title + "</a><br>";
	return menuScript;
}

function startMenu()
{
	return "<div class='LinkMenu' onmouseout='startHideMenu();' onmouseover='stopHideMenu();'>";
}

function endMenu()
{
	return "</div>";
}

function startHideMenu()
{
	timHide = window.setTimeout(hideMenu, 1500);
}

function stopHideMenu()
{
	window.clearTimeout(timHide);
}

function hideMenu()
{
	var linkMenu = window.document.all("linkMenu");
	linkMenu.style.display = "none";
}

function showMenu()
{
	var linkMenu = window.document.all("linkMenu");
	linkMenu.style.display = "block";
}

function setBodyMouseMoveHandler()
{
	var body = window.document.getElementsByTagName("body");
	body.onmousemove = getMousePosition();
}

function getMousePosition()
{
	//mouseX = event.clientX;
	//	mouseY = event.clientY;
}

function writeMenu()
{
	var menudiv;
	menudiv = "<div id='linkMenu' style='position:absolute;' ></div>";
	window.document.write(menudiv);
}

writeMenu();