﻿window.addEvent('domready', function() {
    $$('a.nav-item').addEvents({
        mouseenter: function() {
            this.set('tween', {
                duration: 300
            }).tween('color', '#DAA520');
        },
        mouseleave: function() {
            this.set('tween', {
                duration: 300
            }).tween('color', '#FFF');
        }
    });
});

function toggleNav(id) { var el = gE(id); el.className = el.className.indexOf('coll') > -1 ? el.className.replace('coll', 'expd') : el.className.replace('expd', 'coll'); }

var SPEED = 300;
var FORGIVENESS = 250;
var POS_X = -2;
var POS_Y = -2;

function initMenus() {
    $$('li.tml-menu').each(function(item) {
        setupMenu(item);
    });

    $$('li.tml-menu').addEvents({
        mouseenter: function() {
            var ul = this.childNodes[0].childNodes[0];
            expandMenu(ul);
        },
        mouseleave: function() {
            var ul = this.childNodes[0].childNodes[0];
            setTimeout(function() { collapseMenu(ul); }, FORGIVENESS);
        }
    });

    $$('a.tml-sub-menu-item').addEvents({
        mouseenter: function() {
            this.set('tween', {
                duration: 300
            }).tween('color', '#000');
        },
        mouseleave: function() {
            this.set('tween', {
                duration: 300
            }).tween('color', '#09367A');
        }
    });
}

function Menu(div, ul, width) {
    ul.width = width;
    ul.div = div;
    ul.busy = false;
}

function setupMenu(li) {
    var div = li.childNodes[0];
    var ul = div.childNodes[0];
    var width = gW(ul);
    var menu = new Menu(div, ul, width, true);

    div.style.width = "0px";
    //ul.style.marginLeft = (0 - width) + "px";

    if (div.style.top == '')
        setTimeout(function() { positionMenu(li, div); }, 100);
        

    //expandMenu(ul);
}

function positionMenu(li, div) {
    var y = gT(li);
    var h = gH(li);
    var oY = POS_Y;
    var host = $('links');
    var pnY = gT(host);

    if (isIE()) {
        //y = 0;
    }
    else {
        y = gT(li) - pnY;
        y += oY;
    }

    y = gT(li);
    y += h;
    y += oY;
    
    sT(div, y-204);
    sL(div, 2);
}

function expandMenu(ul) {
    var width = ul.width;
    var div = ul.div;

    //if (!ul.busy && (gW(div) == 0)) {
    if (!ul.busy) {
        ul.busy = true;

        div.style.zIndex = "2";
        var e1 = new Fx.Morph(div, { duration: SPEED, transition: Fx.Transitions.Sine.easeOut }).start({ 'margin-left': [0, 0 - width] });
        var e2 = new Fx.Morph(div, { duration: SPEED, transition: Fx.Transitions.Sine.easeOut }).start({ 'width': [0, width] }).chain(function() { ul.busy = false });
    }
}

function collapseMenu(ul) {
    var width = ul.width;
    var div = ul.div;

    //if (!ul.busy && (gW(div) == width)) {
    if (!ul.busy) {
        ul.busy = true;

        div.style.zIndex = "1";
        var e1 = new Fx.Morph(div, { duration: SPEED, transition: Fx.Transitions.Sine.easeOut }).start({ 'margin-left': [0 - width, 0] });
        var e2 = new Fx.Morph(div, { duration: SPEED, transition: Fx.Transitions.Sine.easeOut }).start({ 'width': [width, 0] }).chain(function() { ul.busy = false });
    }
}