//dynamic navigation
initNav = function() {
		var navRoot = document.getElementById("index-boxes");
		if (!navRoot)
		{
			navRoot = document.getElementById("main-navigation");
		}
		if (navRoot)
		{
			//add more/less handlers
			var p = document.getElementById("products");
			var pe = document.getElementById("products-expanded");
			if (p && pe)
			{
				var alist = p.getElementsByTagName("a");
				var more = alist.item(alist.length - 1);
				more.onclick = function (){
						pe.style.display = "block";
					}
				alist = pe.getElementsByTagName("a");
				var less = alist.item(alist.length - 1);
				less.onclick = function (){
						pe.style.display = "";
					}
			}
			//add hover handlers
			if (document.all)
			{
				var lis = navRoot.getElementsByTagName((navRoot.id == "index-boxes") ? "ul" : "li");
				for (var i=0; i<lis.length; i++)
				{
					lis[i].onmouseover = function()
					{
						this.className += " hover";
						hideSelectBoxes(this.getElementsByTagName("div").item(0));
						var conts = document.getElementById("content");
						if (conts)
							conts.style.zIndex = " -2000";
					}
					lis[i].onmouseout = function()
					{
						this.className = this.className.replace(" hover", "");
						showSelectBoxes(this.getElementsByTagName("div").item(0));
						var conts = document.getElementById("content");
						if (conts)
							conts.style.zIndex = " 0";
					}
				}
			}
		}
		var location = document.getElementById("location");
		var locUSA = document.getElementById("locUSA");
		var locEurope = document.getElementById("locEurope");
		var locAsia = document.getElementById("locAsia");
		if (location && locUSA && locEurope && locAsia)
		{
			locUSA.onclick = function () {
					location.value = "USA";
				}
			locEurope.onclick = function () {
					location.value = "Europe";
				}
			locAsia.onclick = function () {
					location.value = "Asia";
				}
		}
}
if (document.all && window.attachEvent)
	attachEvent("onload", initNav);
else
	window.addEventListener("load", initNav, false);
	
function hideSelectBoxes(object)
{
        if (!object) return;
        if (!object.sboxes)
                object.sboxes = [];
        var ol = getElementX(object);
        var ot = getElementY(object);
        var ow = object.offsetWidth;
        var oh = object.offsetHeight;
        var sboxes = document.all.tags("select");
        for (var i=0; i<sboxes.length; i++)
        {
                var node = sboxes[i].parentNode;
                while (node != object && node.tagName != "BODY")
                        node = node.parentNode;
                var skip = (node == object);
                if (skip) continue;
                var t = getElementY(sboxes[i]);
                var l = getElementX(sboxes[i]);
                var w = sboxes[i].offsetWidth;
                var h = sboxes[i].offsetHeight;
                var ver = false;
                if (t > ot && t < (ot + oh))
                        ver = true;
                else if ((t + h) > ot && (t + h) < (ot + oh))
                        ver = true;
                var hor = false;
                if (l > ol && l < (ol + ow))
                        hor = true;
                else if ((l + w) > ol && (l + w) < (ol + ow))
                        hor = true;
                else if (l < ol && (l + w) > ol)
                        hor = true;
                if (ver && hor && sboxes[i].style.visibility != "hidden")
                        object.sboxes[object.sboxes.length] = sboxes[i];
        }
        for (var i=0; i<object.sboxes.length; i++)
                object.sboxes[i].style.visibility = "hidden";
}

function showSelectBoxes(object)
{
        if (!object) return;
        if (!object.sboxes) return;
        for (var i=0; i<object.sboxes.length; i++)
                object.sboxes[i].style.visibility = "";
        object.sboxes = [];
}

function getElementX(object) {return getElementC(object, true)}
function getElementY(object) {return getElementC(object, false)}

function getElementC(element, xAxis)
{
        var initialElement = element;
        var c = 0;

        while (element != null)
        {
                c += (xAxis) ? element.offsetLeft : element.offsetTop;
                if (element.style.position == "absolute")
                        break;
                else
                        element = element.offsetParent;
        }

        var elementWnd = document.window;
        if (!elementWnd) return c;

        if (!elementWnd.frameElement) return c;

        return c + getElementC(elementWnd.frameElement, xAxis);
}