/* 
Deepak Kothari       
Sep 06, 2008
*/
var menuAlignment = 'left'; // Align menu to the left or right?		
var topMenuSpacer = 0; // Horizontal space(pixels) between the main menu items	
var activateSubOnClick = true; // if true-> Show sub menu items on click, if false, show submenu items onmouseover
var leftAlignSubItems = true; 	// left align sub items t

var activeMenuItem = false; // Don't change this option. It should initially be false
var activeTabIndex = -1; // Index of initial active tab	(0 = first tab) - If the value below is set to true, it will override this one.
var rememberActiveTabByCookie = true; // = true;	// Set it to true if you want to be able to save active tab as cookie

var MSIE = navigator.userAgent.indexOf('MSIE') >= 0 ? true : false;
var Opera = navigator.userAgent.indexOf('Opera') >= 0 ? true : false;
var navigatorVersion = navigator.appVersion.replace(/.*?MSIE ([0-9]\.[0-9]).*/g, '$1') / 1;
var sMenuId;
var sId;
var tempActiveItemId;
var webPath;
var menuIndex;
/*
These cookie functions are downloaded from 
http://www.mach5.com/support/analyzer/manual/html/General/CookiesJavaScript.htm
*/
function Get_Cookie(name) {
    var start = document.cookie.indexOf(name + "=");
    var len = start + name.length + 1;
    if ((!start) && (name != document.cookie.substring(0, name.length))) return null;
    if (start == -1) return null;
    var end = document.cookie.indexOf(";", len);
    if (end == -1) end = document.cookie.length;
    return unescape(document.cookie.substring(len, end));
}
// This function has been slightly modified
function Set_Cookie(name, value, expires, path, domain, secure) {
    //alert(path);
    if (!path)
        path = webPath;
    //alert(path);
    expires = expires * 60 * 60 * 24 * 1000;
    var today = new Date();
    var expires_date = new Date(today.getTime() + (expires));
    var cookieString = name + "=" + escape(value) +
	       ((expires) ? ";expires=" + expires_date.toGMTString() : "") +
	       ((path) ? ";path=" + path : "") +
	       ((domain) ? ";domain=" + domain : "") +
	       ((secure) ? ";secure" : "");
    document.cookie = cookieString;
}

function showHide() {

    if (activeMenuItem != null && activeMenuItem.id != undefined && activeMenuItem) {
        activeMenuItem.className = 'inactiveMenuItem';
        var theId = activeMenuItem.id.replace(/[^0-9]/g, '');

        document.getElementById('submenu_' + theId).style.display = 'none';
        var img = activeMenuItem.getElementsByTagName('IMG');
        if (img.length > 0) img[0].style.display = 'none';
    }

    //		var img = this.getElementsByTagName('IMG');
    //		if(img.length>0)img[0].style.display='inline';

    activeMenuItem = this;

    if (this.id != 'undefined' && this.id != null && this.id) {
        var theId = this.id.replace(/[^0-9]/g, '');
        document.getElementById('submenu_' + theId).style.display = 'block';


        var thisIndex = parseInt(theId) - 1;
        //alert(thisIndex);
        if (rememberActiveTabByCookie) {
            Set_Cookie('dhtmldee_tab_menu_tabIndex', 'index: ' + thisIndex, 100, '/');
        }

        this.className = 'activeMenuItem';
        //Set_Cookie('dhtmldee_tab_menu_tabIndex','' ,100);
    }
}

function initMenu(id, sMenuItemId, MenuIndex, Seq_No) {
    //webPath = webpath;
    //alert(webPath); 
    //alert(MenuIndex);
    menuIndex = MenuIndex;


    //	    if(rememberActiveTabByCookie){
    //		    Set_Cookie('dhtmldee_tab_menu_tabIndex','index: ' + MenuIndex ,100,'/');
    //			//Set_Cookie('dhtmldee_tab_menu_tabIndex','' ,100);
    //		}
    sMenuId = sMenuItemId;
    if (id)
        sId = id;

    var mainMenuObj = document.getElementById(id);    //'ctl00_MainMenu_mainMenu');
    var menuItems = mainMenuObj.getElementsByTagName('A');
    if (document.all) {
        mainMenuObj.style.visibility = 'hidden';
        document.getElementById(sMenuId).style.visibility = 'hidden';
    }
    if (rememberActiveTabByCookie) {
        var cookieValue = Get_Cookie('dhtmldee_tab_menu_tabIndex');
        if (cookieValue) {
            cookieValue = cookieValue.replace(/[^0-9]/g, '');
            if (cookieValue.length > 0 && cookieValue < menuItems.length) {
                activeTabIndex = cookieValue; // /1;
            }
        }
    }
    activeTabIndex = MenuIndex;
    if (activeTabIndex == -1) {
        // document.getElementById(sMenuId).innerHTML = '<br>' + document.getElementById(sMenuId).innerHTML;
        document.getElementById(sMenuId).innerHTML = document.getElementById(sMenuId).innerHTML;
        //alert(document.getElementById(sMenuId).innerHTML);
    }
    else
        document.getElementById(sMenuId).innerHTML = document.getElementById(sMenuId).innerHTML.replace('<br>', '')

    var currentLeftPos = 0;  //left padding of mainmenus 
    for (var no = 0; no < menuItems.length; no++) {
        if (activateSubOnClick) menuItems[no].onclick = showHide; else menuItems[no].onmouseover = showHide;

        menuItems[no].onmouseover = ShowCurrentSubMenus;
        //menuItems[no].onmouseout = ShowActive;

        menuItems[no].id = 'mainMenuItem' + (no + 1);
        if (menuAlignment == 'left')
            menuItems[no].style.left = currentLeftPos + 'px';
        else
            menuItems[no].style.right = currentLeftPos + 'px';
        //alert(menuItems[no].offsetWidth);
        currentLeftPos = currentLeftPos + menuItems[no].offsetWidth + topMenuSpacer;
        //alert(currentLeftPos);
        var img = menuItems[no].getElementsByTagName('IMG');
        if (img.length > 0) {
            img[0].style.display = 'none';
            if (MSIE && !Opera && navigatorVersion < 7) {
                img[0].style.bottom = '-1px';
                img[0].style.right = '-1px';
            }
        }

        if (no == activeTabIndex) {
            menuItems[no].className = 'activeMenuItem';
            activeMenuItem = menuItems[no];
            var img = activeMenuItem.getElementsByTagName('IMG');
            if (img.length > 0) img[0].style.display = 'inline';

        } else menuItems[no].className = 'inactiveMenuItem';
        if (!document.all) menuItems[no].style.bottom = '-1px';
        if (MSIE && navigatorVersion < 6) menuItems[no].style.bottom = '-2px';
    }

    var mainMenuLinks = mainMenuObj.getElementsByTagName('A');

    var subCounter = 1;
    var parentWidth = mainMenuObj.offsetWidth;
    //alert(sMenuId);
    while (document.getElementById(sMenuId + '_' + subCounter)) {

        var subItem = document.getElementById(sMenuId + '_' + subCounter);

        if (leftAlignSubItems) {
            // No action


        } else {
            var leftPos = mainMenuLinks[subCounter - 1].offsetLeft;
            document.getElementById(sMenuId + '_' + subCounter).style.paddingLeft = leftPos + 'px';
            subItem.style.position = 'absolute';
            if (subItem.offsetWidth > parentWidth) {
                leftPos = leftPos - Math.max(0, subItem.offsetWidth - parentWidth);
            }
            subItem.style.paddingLeft = leftPos + 'px';
            subItem.style.position = 'static';


        }
        if (subCounter == (activeTabIndex + 1)) {
            subItem.style.display = 'block';
        } else {
            subItem.style.display = 'none';
        }

        subCounter++;

    }

    if (document.all) {
        mainMenuObj.style.visibility = 'visible';
        document.getElementById(sMenuId).style.visibility = 'visible';
    }
    document.getElementById(sMenuId).style.display = 'block';
    if (activeMenuItem != null && activeMenuItem.id != undefined && activeMenuItem) {
        var theIdActive = activeMenuItem.id.replace(/[^0-9]/g, '');

        document.getElementById('submenu_' + theIdActive).style.display = 'block';
    }

}


function fnShowHideTab(TabId) {

    var tab = document.getElementById(TabId);
    if (tab.style.display == "none") {
        tab.style.display = "block";
    } else {
        tab.style.display = "none";
    }
}

function ShowAllInactive() {
    Delete_Cookie('dhtmldee_tab_menu_tabIndex', '/');
}

function ShowActive() {

    try {
        if (activeMenuItem != null && activeMenuItem.id != undefined && activeMenuItem.id) {
            var theId = activeMenuItem.id.replace(/[^0-9]/g, '');
            //alert(theId);
            document.getElementById('submenu_' + theId).style.display = 'none';
            var img = activeMenuItem.getElementsByTagName('IMG');
            if (img.length > 0) img[0].style.display = 'none';
            activeMenuItem.className = 'inactiveMenuItem';
        }

        var cookieValue = Get_Cookie('dhtmldee_tab_menu_tabIndex');
        if (cookieValue)
            cookieValue = cookieValue.replace(/[^0-9]/g, '');
        var objMainMenu = document.getElementById(sId);    //'ctl00_MainMenu_mainMenu');
        var menuItems = objMainMenu.getElementsByTagName('A');

        if (cookieValue) {
            activeTabIndex = cookieValue; // /1;
        }
        else {
            if (((document.getElementById(sMenuId).innerHTML).indexOf('<br>') == -1) && ((document.getElementById(sMenuId).innerHTML).indexOf('<BR>') == -1) && (menuIndex == -1)) {
                document.getElementById(sMenuId).innerHTML = '<br>' + document.getElementById(sMenuId).innerHTML;
            }
        }

        activeMenuItem = menuItems[activeTabIndex];


        if (activeMenuItem != null && activeMenuItem.id != undefined && activeMenuItem) {
            activeMenuItem.className = 'activeMenuItem';
            var theId = activeMenuItem.id.replace(/[^0-9]/g, '');
            document.getElementById('submenu_' + theId).style.display = 'block';

        }
    }
    catch (ex) {

    }
}

function TestClick() {
    alert('Click');
}

function ShowCurrentSubMenus(val) {

    //alert(activeTabIndex + '-' + menuIndex);
    // alert(sMenuId);
    //alert(val);
    if ((activeTabIndex == -1) && (menuIndex == -1)) {
        document.getElementById(sMenuId).innerHTML = document.getElementById(sMenuId).innerHTML.replace('<br>', '');
        document.getElementById(sMenuId).innerHTML = document.getElementById(sMenuId).innerHTML.replace('<BR>', '');
    }


    if (activeMenuItem != null && activeMenuItem.id != undefined && activeMenuItem) {
        activeMenuItem.className = 'inactiveMenuItem';
        var theId = activeMenuItem.id.replace(/[^0-9]/g, '');
        //alert(theId);
        document.getElementById('submenu_' + theId).style.display = 'none';
        var img = activeMenuItem.getElementsByTagName('IMG');
        if (img.length > 0) img[0].style.display = 'none';
    }

    var img = this.getElementsByTagName('IMG');
    if (img.length > 0) img[0].style.display = 'inline';

    activeMenuItem = this;
    var TotalWidth = 940;

    this.className = 'activeMenuItem';
    var theId = this.id.replace(/[^0-9]/g, '');
    document.getElementById('submenu_' + theId).style.display = 'block';


    var menulength = document.getElementById('ctl00_MainMenu_submenu').getElementsByTagName('div').length;
    var CurrentWidth = 94 * menulength;
    //alert(menulength);
    // Below code to find Total Number of Submenu items in a menu.(Ajay B. 28-09-2011)
    var anchors = document.getElementById('submenu_' + theId).getElementsByTagName('a').length;

    var theDivobj = document.getElementById('submenu_' + theId);
    document.getElementById('submenu_' + theId).style.display = 'block';
    var leftoffset = getPosition(theDivobj).split(',')[0];
    // alert(leftoffset);

    // Taking the average of 130 pix calculate total width of submenu items displayed (Ajay B. 28-09-2011)
    var submenuwidth = anchors * 130;
    var leftPos = activeMenuItem.offsetLeft - leftoffset;
    // below code adjust the submenu postion dynamically. (Ajay B. 28-09-2011)
    //alert('leftPos => ' + leftPos + ' submenuwidth=> ' + submenuwidth);

    if (menulength <= 3) {
        document.getElementById('submenu_' + theId).style.paddingLeft = leftPos + 'px';
        return;
    }


    if (leftPos + submenuwidth > CurrentWidth) {

        if (theId >= (menulength / 2 + 1)) {
            document.getElementById('submenu_' + theId).style.textAlign = "right";
            if (submenuwidth < TotalWidth / 2) {

                document.getElementById('submenu_' + theId).style.paddingRight = (TotalWidth - CurrentWidth) + 'px';
            }
            else {
                document.getElementById('submenu_' + theId).style.paddingLeft = 0 + 'px';
            }
        }
        else {
            document.getElementById('submenu_' + theId).style.paddingLeft = leftPos + 'px';
        }
    }
    else {

        document.getElementById('submenu_' + theId).style.paddingLeft = leftPos + 'px';
    }
    //	document.getElementById('submenu_' + theId).style.left = 0;
}

function getPosition(obj) {
    var topValue = 0, leftValue = 0;
    while (obj) {
        leftValue += obj.offsetLeft;
        topValue += obj.offsetTop;
        obj = obj.offsetParent;
    }
    finalvalue = leftValue + "," + topValue;
    return finalvalue;
}


// this deletes the cookie when called
function Delete_Cookie(name, path, domain) {
    if (Get_Cookie(name)) document.cookie = name + "=" +
((path) ? ";path=" + path : "") +
((domain) ? ";domain=" + domain : "") +
";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}


