﻿var isMouseOut = false;
var stopDynamicTimer = false;
var haveEnteredSubMenu = false;
var haveEnteredDynamic = false;
var staticTimer;
var dynamicTimer;
var previousSender;
document.getElementById('divHeaderContainer').onmouseover = divAboveMenuOnMouseOver;
function divAboveMenuOnMouseOver() {
    if (!!previousSender) {
        var _previousSender = document.getElementById(previousSender.id);
        if (_previousSender.parentNode == 'divStaticContainer') {
            var childrenArray = _previousSender.children;
            var child = document.getElementById(childrenArray[1].id);
            if (child.style.visibility == 'visible')
                setTimeout(function() { child.style.visibility = 'hidden'; }, 700);
        }
        else {
            if (_previousSender.style.visibility == 'visible')
                setTimeout(function() { _previousSender.style.visibility = 'hidden'; }, 700);
        }
    }
}
function staticOnMouseOver(sender) {
    if (!!previousSender) {
        var isChild = isChildOf(sender, previousSender);
        if (!isChild) {
            if (previousSender.id != sender.id) {
                clearInterval(dynamicTimer);
                document.getElementById(previousSender.id).style.visibility = 'hidden';
            }
        }
    }
    clearInterval(dynamicTimer);
    var _sender = document.getElementById(sender.id);
    var childrenArray = _sender.children;
    var child = document.getElementById(childrenArray[1].id);
    child.style.visibility = 'visible';
    previousSender = childrenArray[1];
}
function staticOnMouseOut(sender) {
    if (!haveEnteredDynamic)
        staticTimer = setTimeout(function() { removeVisibility(sender); }, 800);
}
function removeVisibility(sender) {
    if (!haveEnteredDynamic) {
        var _sender = document.getElementById(sender.id);
        var childrenArray = _sender.children;
        var child = document.getElementById(childrenArray[1].id);
        child.style.visibility = 'hidden';
        isMouseOut = false;
    }
}
function dynamicOnMouseOver(sender) {
    haveEnteredDynamic = true;
    clearInterval(dynamicTimer);
    clearInterval(staticTimer);
    var _sender = document.getElementById(sender.id);
    var childrenArray = _sender.children;
    if (childrenArray.length > 1) {
        var nodeName = document.getElementById(childrenArray[1].id).nodeName;
        var child;
        if (nodeName == 'DIV')
            child = document.getElementById(childrenArray[1].id);
        else
            child = document.getElementById(childrenArray[2].id);

        child.style.visibility = 'visible';
    }
    var parentClassName = _sender.parentNode.parentNode.className;
    if (parentClassName == 'LinkDiv') {
        haveEnteredSubMenu = true;
    }
    _sender.style.backgroundColor = '#577e40';
    _sender.style.color = 'White';
    stopDynamicTimer = true;
}
function dynamicOnMouseOut(sender) {
    var _sender = document.getElementById(sender.id);
    var childrenArray = sender.children;
    if (childrenArray.length > 1) {
        var nodeName = document.getElementById(childrenArray[1].id).nodeName;
        var child;
        if (nodeName == 'DIV')
            child = document.getElementById(childrenArray[1].id);
        else
            child = document.getElementById(childrenArray[2].id);

        child.style.visibility = 'hidden';
    }
    _sender.style.backgroundColor = '#a0d77f';
    _sender.style.color = 'Black';
    haveEnteredDynamic = false;
}
function dropDownOnMouseOut(sender) {
    stopDynamicTimer = false;
    var isChild = isChildOf(sender, previousSender);
    if (!isChild) {
        if (!haveEnteredSubMenu)
            dynamicTimer = setTimeout(function() { removeDropDownVisibility(sender); }, 800);
    }
}
function removeDropDownVisibility(sender) {
    var _sender = document.getElementById(sender.id);
    _sender.style.visibility = 'hidden';
    hasEnteredDynamic = false;
}
function subMenuOnMouseOut(sender) {
    var _sender = document.getElementById(sender.id);
    _sender.style.visibility = 'hidden';
    haveEnteredSubMenu = false;
}
function isChildOf(sender, previousSender) {
    var _sender = document.getElementById(sender.id);
    var _previousSender = document.getElementById(previousSender.id);
    if (_previousSender.id == _sender.id)
        return true;
    var parentId = _sender.parentNode.id;
    var isRelated;
    if (parentId == _previousSender.id) {
        isRelated = true;
        return isRelated;
    }
    parentId = _previousSender.parentNode.id;
    if (parentId == _sender.id) {
        isRelated = true;
        return isRelated;
    }
    isRelated = false;
    return isRelated;
}
