﻿var timeouttime = 0;
var closetimertime = 0;
var ddmenuitem = 0;
var topmenuitem = 0;

var TimeToFade = 400;

// open hidden layer
function mopen(menu, id) {
    // cancel close timer
    mcancelclosetime();
    
    // close old layer
    if (ddmenuitem) {
        ddmenuitem.style.visibility = 'hidden';
//        ddmenuitem.style.opacity = ddmenuitem.FadeState == 1 ? '1' : '0';
//        ddmenuitem.style.filter = 'alpha(opacity = '
//        + (ddmenuitem.FadeState == 1 ? '100' : '0') + ')';
//        ddmenuitem.FadeState = ddmenuitem.FadeState == 1 ? 2 : -2;
    }
    if (topmenuitem) normal();

    // get new layer and show it
    ddmenuitem = document.getElementById(id);
    //ddmenuitem.style.opacity = 2;
    //ddmenuitem.style.filter = 'alpha(opacity = .5)';
    ddmenuitem.style.visibility = 'visible';
//    if (ddmenuitem.FadeState == null) {
//        if (ddmenuitem.style.opacity == null
//        || ddmenuitem.style.opacity == ''
//        || ddmenuitem.style.opacity == '1') {
//            ddmenuitem.FadeState = 2;
//        }
//        else {
//            ddmenuitem.FadeState = -2;
//        }
//    }

//    if (ddmenuitem.FadeState == 1 || ddmenuitem.FadeState == -1) {
//        ddmenuitem.FadeState = ddmenuitem.FadeState == 1 ? -1 : 1;
//        ddmenuitem.FadeTimeLeft = TimeToFade - ddmenuitem.FadeTimeLeft;
//    }
//    else {
//        ddmenuitem.FadeState = ddmenuitem.FadeState == 2 ? -1 : 1;
//        ddmenuitem.FadeTimeLeft = TimeToFade;
//        setTimeout("animateFade(" + new Date().getTime() + ",'" + id + "')", 33);
//    }  
    
    topmenuitem = document.getElementById(menu);
    selected();
}
// close showed layer
function mclose() {
    if (ddmenuitem) {
//        ddmenuitem.style.opacity = ddmenuitem.FadeState == 1 ? '1' : '0';
//        ddmenuitem.style.filter = 'alpha(opacity = '
//        + (ddmenuitem.FadeState == 1 ? '100' : '0') + ')';
//        ddmenuitem.FadeState = ddmenuitem.FadeState == 1 ? 2 : -2;
        ddmenuitem.style.visibility = 'hidden';
    }
    if (topmenuitem) normal();
}

// go close timer
function mclosetime() {
    closetimertime = window.setTimeout(mclose, timeouttime);
}

// cancel close timer
function mcancelclosetime() {
    if (closetimertime) {
        window.clearTimeout(closetimertime);
        closetimertime = null;
    }
}

function normal() {
    //topmenuitem.className = "menuNormal";
    topmenuitem.setAttribute('className', "menuNormal") || topmenuitem.setAttribute('class', "menuNormal");
    topmenuitem.style.background = "";
    topmenuitem.style.backgroundPosition = "";
    topmenuitem.style.color = "#1e1e1e";
}
function selected() {
    //if (topmenuitem.className != "menuHover") {
    //topmenuitem.className = "menuHover";

    topmenuitem.setAttribute('className', "menuHover") || topmenuitem.setAttribute('class', "menuHover");
    topmenuitem.style.background = "url(../App_Themes/white-1grid-topmenu/images/bg_navi_over.jpg) #156f97 repeat-x";
    topmenuitem.style.backgroundPosition = '0px 14px';
    topmenuitem.style.color = "#ffffff";
   // alert(topmenuitem.className);
    //}
//    else if(top.class != "menuHover")
//    {
//        topmenuitem.setAttribute('className', "menuNormal") || topmenuitem.setAttribute('class', "menuNormal")
//        topmenuitem.style.color = "#ffffff";
//    }
    //else {
    //    normal()
    //}
}

function animateFade(lastTick, eid) {
    var curTick = new Date().getTime();
    var elapsedTicks = curTick - lastTick;

    var element = document.getElementById(eid);

    if (element.FadeTimeLeft <= elapsedTicks) {
        element.style.opacity = element.FadeState == 1 ? '1' : '0';
        element.style.filter = 'alpha(opacity = '
        + (element.FadeState == 1 ? '100' : '0') + ')';
        element.FadeState = element.FadeState == 1 ? 2 : -2;
        return;
    }

    element.FadeTimeLeft -= elapsedTicks;
    var newOpVal = element.FadeTimeLeft / TimeToFade;
    if (element.FadeState == 1)
        newOpVal = 1 - newOpVal;

    element.style.opacity = newOpVal;
    element.style.filter = 'alpha(opacity = ' + (newOpVal * 100) + ')';

    setTimeout("animateFade(" + curTick + ",'" + eid + "')", 33);
}

function mopensub(id) {
    // cancel close timer
    mcancelclosetimesub();

    // close old layer
    if (ddmenuitem) {
        ddmenuitem.style.visibility = 'hidden';
    }

    // get new layer and show it
    ddmenuitem = document.getElementById(id);
    ddmenuitem.style.visibility = 'visible';
}
function mclosesub() {
    if (ddmenuitem) {
        ddmenuitem.style.visibility = 'hidden';
    }
}
function mclosetimesub() {
    closetimertime = window.setTimeout(mclosesub, timeouttime);
}

function mcancelclosetimesub() {
    if (closetimertime) {
        window.clearTimeout(closetimertime);
        closetimertime = null;
    }
}
