﻿jQuery(document).ready(function () {
    $('.sub-nav ul.nav ul li:last').addClass('last');
    $('div.siteMap li ul li:last-child').addClass('mapLast');
    $('div.siteMap > ul > li:last-child').addClass('mLast');
});


function checkForm(form) {
    var textVal = $('#' + form + ' ' + 'input:text').val();
    $('#' + form + ' ' + 'input:text').focus();
    if (textVal == "") return false;
    else return true;
}

function menu() {
    var delay = 500;
    var chosenClass = 'chosen';
    var normalClass = 'sub';
    var activeClass = 'active';
    var unvisibleFrame = 'boxFrame';
    var visibleFrame = 'visibleFrame';

    var m = document.getElementById('mainMenu');
    m.lastOpen = m;

    var hideBranch = function (from) {
        for (var ob = m.lastOpen; ob != from; ob = ob.parentNode.parentNode) {
            ob.style.left = 0;
            ob.style.visibility = 'hidden';
            ob.parentNode.getElementsByTagName('a')[0].className = normalClass;
            if (ob.parentNode.getElementsByTagName('iframe')[0] != null)
                ob.parentNode.getElementsByTagName('iframe')[0].className = unvisibleFrame;
            if (ob.parentNode.getElementsByTagName('iframe')[1] != null)
                ob.parentNode.getElementsByTagName('iframe')[1].className = unvisibleFrame;
        }
        m.lastOpen = from;
    }

    var setPosition = function (ob) {
        var p = ob.parentNode;
        if (p.parentNode == m) {
            ob.style.top = p.offsetHeight + 'px';
            ob.style.left = 0;
            ob.rightEdge = p.offsetLeft + ob.offsetWidth;

            if (ob.parentNode.getElementsByTagName('iframe')[1] != null) {
                ob.parentNode.getElementsByTagName('iframe')[1].style.top = p.offsetHeight + 'px';
                ob.parentNode.getElementsByTagName('iframe')[1].style.left = 0;
            }
            else if (ob.parentNode.getElementsByTagName('iframe')[0] != null) {
                ob.parentNode.getElementsByTagName('iframe')[0].style.top = p.offsetHeight + 'px';
                ob.parentNode.getElementsByTagName('iframe')[0].style.left = 0;
            }
        }
        else {
            ob.style.top = '1px';
            var r0 = p.parentNode.rightEdge;
            if ((document.documentElement.clientWidth || document.body.clientWidth) / 2 - r0 + 381 > ob.offsetWidth) {
                ob.style.left = p.offsetWidth + 'px';
                ob.rightEdge = r0 + ob.offsetWidth;
                if (ob.parentNode.getElementsByTagName('iframe')[1] != null) {
                    ob.parentNode.getElementsByTagName('iframe')[1].style.left = p.offsetWidth + 'px';
                    ob.parentNode.getElementsByTagName('iframe')[1].style.top = '1px';
                }
                else if (ob.parentNode.getElementsByTagName('iframe')[0] != null) {
                    ob.parentNode.getElementsByTagName('iframe')[0].style.left = p.offsetWidth + 'px';
                    ob.parentNode.getElementsByTagName('iframe')[0].style.top = '1px';
                }
            }
            else {
                ob.style.left = '';
                ob.rightEdge = r0 - p.parentNode.offsetWidth;
            }
        }
    }

    var setWidth = function (ob) {
        var width = 0;
        var children = ob.childNodes;
        for (var i = 0; children[i]; i++) {
            if (!children[i].tagName) continue;
            if (children[i].getElementsByTagName('ul').length) {
                children[i].getElementsByTagName('a')[0].className = normalClass;
            }
            if (children[i].scrollWidth > width) {
                width = children[i].offsetWidth;
            }
        }
        if (ob.parentNode.parentNode == m && width < ob.parentNode.clientWidth) {
            width = ob.parentNode.offsetWidth + 1;
        }

        ob.style.width = width + 'px';
        if (ob.parentNode.getElementsByTagName('iframe')[1] != null)
            ob.parentNode.getElementsByTagName('iframe')[1].style.width = width + 7 + 'px';
            else if (ob.parentNode.getElementsByTagName('iframe')[0] != null)
                ob.parentNode.getElementsByTagName('iframe')[0].style.width = width + 7 + 'px';
    }

    var show = function (ob) {
        /*if ('\v' != 'v') setWidth(ob);*/
        setPosition(ob);
        /*if ('\v' == 'v') */setWidth(ob); // IE6-7 needs to do this after positioning, FF1/Opera8 - before it

        m.lastOpen = ob;


        if (ob.parentNode.parentNode == m && !ob.hasShadow) {
            var s = ob.parentNode.getElementsByTagName('span')[0];
            s.appendChild(s.cloneNode(true));
            ob.hasShadow = true;
        }

        ob.style.visibility = 'visible';
        ob.parentNode.getElementsByTagName('a')[0].className = chosenClass;
        if (ob.parentNode.getElementsByTagName('iframe')[1] != null)
            ob.parentNode.getElementsByTagName('iframe')[1].className = visibleFrame;
            else if (ob.parentNode.getElementsByTagName('iframe')[0] != null)
                ob.parentNode.getElementsByTagName('iframe')[0].className = visibleFrame;
    }

    m.onmouseover = function () {
        clearTimeout(m.hideTimer);
        var tgt = (arguments[0] && arguments[0].target) || window.event.srcElement;
        if (tgt.tagName.toLowerCase() == 'span') tgt = tgt.parentNode;
        if (tgt.tagName.toLowerCase() != 'a') return;
        var ul = tgt.parentNode.getElementsByTagName('ul')[0];
        if (m.lastOpen != ul) hideBranch(tgt.parentNode.parentNode);
        if (ul) show(ul);
    }

    m.onmouseout = function () {
        m.hideTimer = setTimeout(function () { hideBranch(m) }, delay);
    }
}



