
var ns6 = false; // modern firefox
var ns4 = false;
var ie5 = false;
var ie4 = false;
var op5 = false;

var isOnlyIe6 = false;

cmsmenu_init();

var menuDelay = 500;
var longMenuDelay = 3000;
var cmsMenuOpenMenuId = "";
var cmsMenuOpenMenuTitleId = "";
var cmsMenuOpenMenuTitleClass = "";
var cmsMenuTimerId;


function cmsmenu_init() {
    ns6 = (document.getElementById && !document.all) ? true : false;
    ns4 = (!document.getElementById && !document.all) ? true : false;
    ie5 = (document.all && document.getElementById) ? true : false;
    ie4 = (document.all && !document.getElementById) ? true : false;
    op5 = ((typeof window.opera != "undefined") && (/opera[\/ ][5]/.test(navigator.userAgent.toLowerCase()))) ? true : false;

    var agt = navigator.userAgent.toLowerCase();
    var appVer = navigator.appVersion.toLowerCase();
    var is_minor = parseFloat(appVer);
    var is_major = parseInt(is_minor);
    var iePos = appVer.indexOf('msie');
    if (iePos != -1) {
        is_minor = parseFloat(appVer.substring(iePos + 5, appVer.indexOf(';', iePos)))
        is_major = parseInt(is_minor);
    }
    var is_getElementById = (document.getElementById) ? "true" : "false";
    var is_getElementsByTagName = (document.getElementsByTagName) ? "true" : "false";
    var is_documentElement = (document.documentElement) ? "true" : "false";
    var is_ie = ((iePos != -1));
    var is_ie3 = (is_ie && (is_major < 4));
    var is_ie4 = (is_ie && is_major == 4);
    var is_ie4up = (is_ie && is_minor >= 4);
    var is_ie5 = (is_ie && is_major == 5);
    var is_ie5up = (is_ie && is_minor >= 5);
    var is_ie5_5 = (is_ie && (agt.indexOf("msie 5.5") != -1));
    var is_ie5_5up = (is_ie && is_minor >= 5.5);
    isOnlyIe6 = (is_ie && is_major == 6);
    var is_ie6up = (is_ie && is_minor >= 6);
}

function cms_hideMenus() {
    if (cmsMenuOpenMenuId != "") {
        cms_hideMenu(cmsMenuOpenMenuId, cmsMenuOpenMenuTitleId, cmsMenuOpenMenuTitleClass);
    }
}

function cms_doMenu(titleControl, menuNumber, xPosition, yPosition, menuIdPrefix, titleClass, titleOpenClass) {

    if (cmsMenuOpenMenuId != "") {
        cms_hideMenu(cmsMenuOpenMenuId, cmsMenuOpenMenuTitleId, cmsMenuOpenMenuTitleClass);
    }

    cmsMenuOpenMenuId = menuIdPrefix + menuNumber;
    cmsMenuOpenMenuTitleClass = titleClass;
    var eMenu = document.getElementById(cmsMenuOpenMenuId);
    eMenu.style.display = "block";

    var titleControlId = '';
    if (titleControl) {
        var titleControlId = titleControl.id;
        if (titleOpenClass) {
            titleControl.className = titleOpenClass;
        }
    }
    cmsMenuOpenMenuTitleId = titleControlId;
    
    //if (document.getBoxObjectFor) {
    eMenu.style.left = xPosition + "px";
    eMenu.style.top = yPosition + "px";
    //} else {
    //eMenu.style.pixelLeft = xPosition;
    //eMenu.style.pixelTop = yPosition;
    //}

    startMenuTimeout(longMenuDelay, titleControlId, titleClass);
    eMenu.onmousemove = cmsMenuMouseMove;
    //eMenu.onmouseout = new function() { cmsMenuMouseOut(titleControlId, titleClass); };
    eMenu.onmouseout = cmsMenuMouseOut;
}

function cmsMenuMouseMove() {
    clearMenuTimeout();
}

function cmsMenuMouseOut(titleControlId, titleClass) {
    var menu = document.getElementById(cmsMenuOpenMenuId);
    startMenuTimeout(menuDelay, cmsMenuOpenMenuTitleId, cmsMenuOpenMenuTitleClass);
}

function startMenuTimeout(delay, titleControlId, titleClass) {
    clearMenuTimeout();
    cmsMenuTimerId = window.setTimeout("cms_hideMenu('" + cmsMenuOpenMenuId + "','" + titleControlId + "','" + titleClass + "')", delay);
}

function clearMenuTimeout() {
    if (cmsMenuTimerId) {
        clearTimeout(cmsMenuTimerId);
        cmsMenuTimerId = "";
    }
}

function cms_hideMenu(eMenuId, titleControlId, titleClass) {
    var eMenu = document.getElementById(eMenuId);
    eMenu.style.display = "none";

    if (titleControlId != '') {
        var titleControl = document.getElementById(titleControlId);
        titleControl.className = titleClass;
    }
    clearTimeout(cmsMenuTimerId);
}

function cms_getPosition(oElement) {
    if (typeof (oElement.offsetParent) != 'undefined') {
        for (var posX = 0, posY = 0; oElement; oElement = oElement.offsetParent) {
            if (isOnlyIe6) {
                if ((oElement.currentStyle.borderTopWidth != "") && (oElement.currentStyle.borderTopStyle != "none")) {
                    var borderWidth = parseInt(oElement.currentStyle.borderTopWidth);
                    if (!isNaN(borderWidth)) {
                        posY += borderWidth;
                    }
                }
                if ((oElement.currentStyle.borderLeftWidth != "") && (oElement.currentStyle.borderLeftStyle != "none")) {
                    var borderWidth = parseInt(oElement.currentStyle.borderLeftWidth);
                    if (!isNaN(borderWidth)) {
                        posX += borderWidth;
                    }
                }
            }
            posX += oElement.offsetLeft;
            posY += oElement.offsetTop;
        }

        return [posX, posY];
    } else {
        return [oElement.x, oElement.y];
    }
}
