var defaultIndex = 0;
var menuLength = 7;
function setNav(e, o, over){
    if(typeof(menuLength) == "undefined")
        return;
	var vID = defaultIndex;
        
	if (over)
	{
        var target = getEventElement(e);
       
        if(e.type == "mouseout"){
            var menubox = document.getElementById('menubox');
            if(checkIfCursorInElementBound(e.clientX,e.clientY,menubox))
                return;
            else{
                setNav2(0,document.getElementById("menuli"+defaultIndex));
                return;
            }
        }
        if(target.parentNode.id.indexOf('menuli') != -1){
            o = target.parentNode;
        }else{
            return;
        }
		vID = o.menuIndex;
	}
	else
	{
		var target = GetEventTargetObject(e);
		var relateObject = document.getElementById("nav");
		if (CheckObjectIsChild(target, relateObject))
		{
			vID = o.menuIndex;
		}
		else
		{
			vID = defaultIndex;
		}
	}
	for(var i = 0; i < menuLength; i ++)
	{
		document.getElementById("menuli"+i).className = i == vID ? "hover" : "";
		document.getElementById("navli"+i).style.display = i == vID ? "block" : "none";
	}
}
function setNav2(e, o){
    if(typeof(menuLength) == "undefined")
        return;
	var vID = defaultIndex;
	var target = GetEventTargetObject(e);
	if (CheckObjectIsChild(target, o))
	{
		vID = o.menuIndex;
	}
	else
	{
		vID = defaultIndex;
	}
	for(var i = 0; i < menuLength; i ++)
	{
		document.getElementById("menuli"+i).className = i == vID ? "hover" : "";
		document.getElementById("navli"+i).style.display = i == vID ? "block" : "none";
	}
}

function getEventElement(e){
    var targ;
    if (!e){
        var e=window.event;
    }
    if (e.target){
        targ=e.target;
    }
    else if (e.srcElement){
        targ=e.srcElement;
    }
    return targ;
}
function checkIfCursorInElementBound(x,y,element){
    var orginalElement = element;
    var offsetTop = element.offsetTop;  
    var offsetLeft = element.offsetLeft;  
    while(element=element.offsetParent){  
        offsetTop+=element.offsetTop;  
        offsetLeft+=element.offsetLeft;  
    }
    var adjust = 0;
    if(navigator.appName.indexOf("Microsoft") != -1){
        adjust = 5;
    }
    //adjust to scroll
    if(window.scrollY){
         offsetTop -= window.scrollY;
    }else if(window.pageYOffset){
        offsetTop -= window.pageYOffset;
    }else if(document.documentElement.scrollTop){
        offsetTop -= document.documentElement.scrollTop;
    }
    
    if(x>offsetLeft && x< offsetLeft+orginalElement.offsetWidth
        && y>offsetTop+adjust && y < offsetTop+orginalElement.offsetHeight)
    return true;
    
    return false;
}

function GetEventTargetObject(e)
{
   if (e == null)
   {
        e = window.event;
   }
	var toobj = null;
	if (e.toElement)
	{
		toobj = e.toElement;
	}
	else if (e.currentTarget)
	{
		toobj = e.currentTarget;
	}
	else if(e.relateTarget)
	{
		toobj = e.relateTarget;
	}
    return toobj;
}

function CheckObjectIsChild(o, p)
{
    var isc = false;
    var o1 = o;
    while(o1 != null)
    {
        if (o1 == p)
        {
            isc = true;
            break;
        }
        o1= o1.parentNode;
    }
    return isc;
}
