﻿YAHOO.util.Event.onAvailable('subModuleList', IKEADEBUG);
function IKEADEBUG() {
    var moduleLinks = document.getElementById('moduleList').getElementsByTagName("a");
    var moduleTabs = document.getElementById('subModuleList').getElementsByTagName("a");
    var moduleLinkItemOld = 'grouptab_1';
    moduleLinkClick = function() {

        moduleLinkItemOld = this.id;

        var matches = /grouptab_([0-9]+)/i.exec(this.id);
        var tabNum = matches[1];
        var moduleGroups = document.getElementById('subModuleList').getElementsByTagName("span");
        for (var i = 0; i < moduleGroups.length; i++) {
            if (i == tabNum) {
                moduleGroups[i].className = 'selected';
                //moduleLinkItemOld = moduleGroups[i];
            }
            else {
                moduleGroups[i].className = '';
            }
        }
        var groupList = document.getElementById('moduleList').getElementsByTagName("li");
        var currentGroupItem = tabNum;
        for (var i = 0; i < groupList.length; i++) {
            var aElem = groupList[i].getElementsByTagName("a")[0];
            if (aElem == null) { continue; }
            var classStarter = 'notC';
            if (aElem.id == "grouptab_" + tabNum)
            { classStarter = 'c'; currentGroupItem = i; }
            var spanTags = groupList[i].getElementsByTagName("span");
            for (var ii = 0; ii < spanTags.length; ii++) {
                if (spanTags[ii].className == null)
                { continue; }
                var oldClass = spanTags[ii].className.match(/urrentTab.*/);
                spanTags[ii].className = classStarter + oldClass;
                // alert(classStarter + oldClass);
            }
        }

        var menuHandle = moduleGroups[tabNum];
        var parentMenu = groupList[currentGroupItem];
        if (menuHandle && parentMenu)
        { updateSubmenuPosition(menuHandle, parentMenu); }

       
    };

    var moduleLinkItemOverOld = '';
    moduleLinkMouseOver = function() {

        if (moduleLinkItemOverOld == '') {

            var groupList = document.getElementById('moduleList').getElementsByTagName("li");
            var currentGroupItem = tabNum;
            for (var i = 0; i < groupList.length; i++) {
                var spanTags = groupList[i].getElementsByTagName("span");
                for (var ii = 0; ii < spanTags.length; ii++) {
                    if (spanTags[ii].className == 'currentTab') {

                        var aTags = spanTags[ii].getElementsByTagName("a");
                        {
                            for (var iii = 0; iii < aTags.length; iii++) {
                                moduleLinkItemOld = aTags[iii].id;
                            }
                        }
                    }
                }
            }

        }
        else {
            moduleLinkItemOverOld = this.id;
         }

        var matches = /grouptab_([0-9]+)/i.exec(this.id);
        var tabNum = matches[1];
        var moduleGroups = document.getElementById('subModuleList').getElementsByTagName("span");
        for (var i = 0; i < moduleGroups.length; i++) {
            if (i == tabNum) {
                moduleGroups[i].className = 'selected';
                //moduleLinkItemOld = moduleGroups[i];
            }
            else {
                moduleGroups[i].className = '';
            }
        }
    };

    function pause(milliseconds) {
        var dt = new Date();
        while ((new Date()) - dt <= milliseconds) { /* Do nothing */ }
    };


    moduleLinkMouseOut = function() {
       
         //pause(100);
        // alert(moduleLinkItemOld);
        // alert(moduleLinkItemOverOld + '=' + moduleLinkItemOld+ '+'+this.id);
        var matches = /grouptab_([0-9]+)/i.exec(moduleLinkItemOld);
        var tabNum = matches[1];
        var moduleGroups = document.getElementById('subModuleList').getElementsByTagName("span");
        for (var i = 0; i < moduleGroups.length; i++) {
            if (i == tabNum) {
                moduleGroups[i].className = 'selected';
                //moduleLinkItemOld = moduleGroups[i];
            }
            else {
                moduleGroups[i].className = '';
            }
        }
    };

    var oldmoduleTab = '';
    moduleTabMouseOver = function() {
        moduleTabSelectedFunction(this.id);
    };

    moduleTabSelectedFunction = function(argid) {

        if (argid != '') {

            var item = document.getElementById(argid);
            item.className = "moduleTabSelected";

            if (oldmoduleTab != '' && oldmoduleTab != argid) {

                var oldItem = document.getElementById(oldmoduleTab);
                oldItem.className = "moduleTabUnSelected";
            }
            if (oldmoduleTab != argid) {
                oldmoduleTab = argid;
            }
        }
    };

    function updateSubmenuPosition(menuHandle, parentMenu) {
        var left = '';
        if (left == "") {
            p = parentMenu;
            var left = 0;
            while (p && p.tagName.toUpperCase() != 'BODY') {
                left += p.offsetLeft; p = p.offsetParent;
            }
        }
        var bw = screen.width;
        if (!parentMenu) {
            return;
        }
        var groupTabLeft = left + (parentMenu.offsetWidth / 2); var subTabHalfLength = 0; var children = menuHandle.getElementsByTagName('li'); for (var i = 0; i < children.length; i++) {
            if (children[i].className == 'subTabMore' || children[i].parentNode.className == 'cssmenu') { continue; }
            subTabHalfLength += parseInt(children[i].offsetWidth);
        }
        if (subTabHalfLength != 0) { subTabHalfLength = subTabHalfLength / 2; }
        var totalLengthInTheory = subTabHalfLength + groupTabLeft; if (subTabHalfLength > 0 && groupTabLeft > 0) { if (subTabHalfLength >= groupTabLeft) { left = 1; } else { left = groupTabLeft - subTabHalfLength; } }
        if (totalLengthInTheory > bw) { var differ = totalLengthInTheory - bw; left = groupTabLeft - subTabHalfLength - differ - 2; }
        if (left >= 0) { menuHandle.style.marginLeft = '0px'; }
    }

    var isOver = false;
    var timerval =setInterval("restoreMenu();", 800);/*500*/
    moduleLinkMouseOver2 = function() {
    isOver = true;
  
        
        var matches = /grouptab_([0-9]+)/i.exec(this.id);
        var tabNum = matches[1];
        var moduleGroups = document.getElementById('subModuleList').getElementsByTagName("span");
        for (var i = 0; i < moduleGroups.length; i++) {
            if (i == tabNum) {
                moduleGroups[i].className = 'selected';
                //moduleLinkItemOld = moduleGroups[i];
            }
            else {
                moduleGroups[i].className = '';
            }
        }
        var groupList = document.getElementById('moduleList').getElementsByTagName("li");
        var currentGroupItem = tabNum;
        for (var i = 0; i < groupList.length; i++) {
            var aElem = groupList[i].getElementsByTagName("a")[0];
            if (aElem == null) { continue; }
            var classStarter = 'notC';
            if (aElem.id == "grouptab_" + tabNum)
            { classStarter = 'c'; currentGroupItem = i; }
            var spanTags = groupList[i].getElementsByTagName("span");
            for (var ii = 0; ii < spanTags.length; ii++) {
                if (spanTags[ii].className == null)
                { continue; }
                var oldClass = spanTags[ii].className.match(/urrentTab.*/);
                // spanTags[ii].className = classStarter + oldClass;
                // alert(classStarter + oldClass);
            }
        }

        var menuHandle = moduleGroups[tabNum];
        var parentMenu = groupList[currentGroupItem];
        if (menuHandle && parentMenu)
        { updateSubmenuPosition(menuHandle, parentMenu); }

    };

    moduleLinkMouseOut2 = function() {
    isOver = false;
};

restoreMenu = function() {

if (isOver) return;
    
    var groupList = document.getElementById('moduleList').getElementsByTagName("li");
    var currentGroupItem = tabNum;
    for (var i = 0; i < groupList.length; i++) {
        var spanTags = groupList[i].getElementsByTagName("span");
        for (var ii = 0; ii < spanTags.length; ii++) {
            if (spanTags[ii].className == 'currentTab') {

                var aTags = spanTags[ii].getElementsByTagName("a");
                {
                    for (var iii = 0; iii < aTags.length; iii++) {
                        moduleLinkItemOld = aTags[iii].id;
                    }
                }
            }
        }
    }
    // alert(moduleLinkItemOld);

    var matches = /grouptab_([0-9]+)/i.exec(moduleLinkItemOld);
    var tabNum = matches[1];
    var moduleGroups = document.getElementById('subModuleList').getElementsByTagName("span");
    for (var i = 0; i < moduleGroups.length; i++) {
        if (i == tabNum) {
            moduleGroups[i].className = 'selected';
            //moduleLinkItemOld = moduleGroups[i];
        }
        else {
            moduleGroups[i].className = '';
        }
    }
    var groupList = document.getElementById('moduleList').getElementsByTagName("li");
    var currentGroupItem = tabNum;
    for (var i = 0; i < groupList.length; i++) {
        var aElem = groupList[i].getElementsByTagName("a")[0];
        if (aElem == null) { continue; }
        var classStarter = 'notC';
        if (aElem.id == "grouptab_" + tabNum)
        { classStarter = 'c'; currentGroupItem = i; }
        var spanTags = groupList[i].getElementsByTagName("span");
        for (var ii = 0; ii < spanTags.length; ii++) {
            if (spanTags[ii].className == null)
            { continue; }
            var oldClass = spanTags[ii].className.match(/urrentTab.*/);
            spanTags[ii].className = classStarter + oldClass;
            // alert(classStarter + oldClass);
        }
    }

    var menuHandle = moduleGroups[tabNum];
    var parentMenu = groupList[currentGroupItem];
    if (menuHandle && parentMenu)
    { updateSubmenuPosition(menuHandle, parentMenu); }
};
    
    for (var i = 0; i < moduleLinks.length; i++) { moduleLinks[i].onclick = moduleLinkClick; }
    for (var i = 0; i < moduleLinks.length; i++) { moduleLinks[i].onmouseover = moduleLinkMouseOver2; }
    for (var i = 0; i < moduleLinks.length; i++) { moduleLinks[i].onmouseout = moduleLinkMouseOut2; }


    for (var i = 0; i < moduleTabs.length; i++) { moduleTabs[i].onmouseover = moduleLinkMouseOver2; }
    for (var i = 0; i < moduleTabs.length; i++) { moduleTabs[i].onmouseout = moduleLinkMouseOut2; }


};
