﻿function startMenu(){
    //add close buttons
    $('ul.level2 > li.deptName').append('<a class="closeLevelTwo"><img src="leftNav/close-btn.png" alt="close"/></a>');
    $('ul.level3 > li.deptName').append('<a class="closeLevelThree"><img src="leftNav/close-btn.png" alt="close"/></a>');
    $('ul.level4 > li.deptName').append('<a class="closeLevelFour"><img src="leftNav/close-btn.png" alt="close"/></a>');
    //swap in gifs for pngs in ie6
    if($.browser.msie && parseInt($.browser.version) == 6){
        $('.closeLevelTwo > img').each(function(){
            $(this).attr('src', 'leftNav/close-btn.gif');
        });
        $('.closeLevelThree > img').each(function(){
            $(this).attr('src', 'leftNav/close-btn.gif'); 
        });
        $('.closeLevelFour > img').each(function(){
            $(this).attr('src', 'leftNav/close-btn.gif'); 
        });
    }
        
    //assign an id to each link in main menu and assign id to each level2 menu
    $('.level2').each(function(i){
        var sib = $(this).siblings();
        if((i+1)<10){
            $(this).attr('id', 'submenu0' + (i+1));
            $(sib).attr('id', 'link0' + (i+1));
        }else{
            $(this).attr('id', 'submenu' + (i+1));
            $(sib).attr('id', 'link' + (i+1));
        }
    });
    
    //assign an id to each level3 menu and an id to each link in level2 menu
    $('.level3').each(function(index){
        var sib = $(this).siblings();
        if((index+1) < 10){
            $(this).attr('id', 'levelThreeMenu0' + (index+1));
            $(sib).attr('id', 'levelTwoLink0' + (index+1));
        }else{
            $(this).attr('id', 'levelThreeMenu' + (index+1));
            $(sib).attr('id', 'levelTwoLink' + (index+1));
        }
    });
                
    //assign an id to each level4 menu and an id to each level3 link
    $('.level4').each(function(index){
        var sib = $(this).siblings();
        if((index+1) < 10){
            $(this).attr('id', 'levelFourMenu0' + (index+1));
            $(sib).attr('id', 'levelThreeLink0' + (index+1));
        }else{
            $(this).attr('id', 'levelFourMenu' + (index+1));
            $(sib).attr('id', 'levelThreeLink' + (index+1));
        }
    });
          
    //hide level2 menus
    var openMenus = new Array();
    for(var i=0; i<$('#leftNav > ul > li').length; i++){
        if(i<10){
            $('#submenu0' + (i+1)).hide();
        }else{
            $('#submenu' + (i+1)).hide();
        }
        openMenus[i] = 0;
    }
    $('.level2').hide();
            
    //hide level3 menus
    var openLevelThreeMenus = new Array();
    for(var i=0; i<$('.level3').length; i++){
        if((i+1)<10){
            $('#levelThreeMenu0' + (i+1)).hide();
        }else{
            $('#levelThreeMenu' + (i+1)).hide();
        }
        openLevelThreeMenus[i] = 0;
    }
    $('.level3').hide();
                
    //hide leve4 menus
    var openLevelFourMenus = new Array();
    for(var i=0; i<$('.level4').length; i++){
        if((i+1) < 10){
            $('#levelFourMenu0' + (i+1)).hide();
        }else{
            $('#levelFourMenu' + (i+1)).hide();
        }
        openLevelFourMenus[i] = 0;
    }
    $('.level4').hide();
    
    //add next arrows to items that have submenus
    $('.level2 > li > a').each(function(i){
        var sibling = $(this).siblings().length;
        if(sibling == 1){
            if($.browser.msie && parseInt($.browser.version) == 6){
                $(this).css({'background-image' : 'url(leftNav/next-btn.gif)', 'background-repeat' : 'no-repeat', 'background-position' : '138px'});
            }else{
                $(this).css({'background-image' : 'url(leftNav/next-btn.png)', 'background-repeat' : 'no-repeat', 'background-position' : '138px'});
            }
        }
    });
                
    $('.level3 > li > a').not('.deptName').each(function(i){
        var sibling = $(this).siblings().length;
        if(sibling == 1){
            if($.browser.msie && parseInt($.browser.version) == 6){
                $(this).css({'background-image' : 'url(leftNav/next-btn.gif)', 'background-repeat' : 'no-repeat', 'background-position' : '138px'});
            }else{
                $(this).css({'background-image' : 'url(leftNav/next-btn.png)', 'background-repeat' : 'no-repeat', 'background-position' : '138px'});
            }
        }
    });
    
    //start process of opening submenus
    //open level2  
    var clickedLink;
    $('#leftNav > ul > li > a').click(function(event){
        var href = $(this).attr('href');
        if(href == '#'){
            event.preventDefault();
        }
        clickedLink = $(this).attr('id');
        openMenu(clickedLink, openMenus, openLevelThreeMenus);    
    });
                    
    //open level3 menus
    var clickedLevelTwoLink;
    $('.level2 > li > a').click(function(event){
        var href = $(this).attr('href');
        if(href == '#'){
            event.preventDefault();
        }
        clickedLevelTwoLink = $(this).attr('id');
        openLevelThree(clickedLevelTwoLink, openLevelThreeMenus, openLevelFourMenus);
    });
                
    //open level4 menus
    var clickedLevelThreeLink;
    $('.level3 > li > a').click(function(event){
        var href = $(this).attr('href');
        if(href=='#'){
            event.preventDefault();
        }
        clickedLevelThreeLink = $(this).attr('id');
        openLevelFour(clickedLevelThreeLink, openLevelFourMenus);
    });    
}
            
function openMenu(clickedLink, openMenus, openLevelThreeMenus){
    $('ul.level2 > li.deptName > a').each(function(){
        $(this).attr('style', '');    
    });
    //reset close button positions
    if($.browser.msie && parseInt($.browser.version) == 6){
        $('.closeLevelTwo').each(function(){
            $(this).css('top', '0px'); 
        });
    }

    //first check if a levelThree menu is open and close it
    for(var i=0; i<$('.level3').length; i++){
        if(openLevelThreeMenus[i] == 1){
            if((i+1) < 10){
                $('#levelThreeMenu0' + (i+1)).hide('slide', 600);
            }else{
                $('#levelThreeMenu' + (i+1)).hide('slide', 600);
            }
            openLevelThreeMenus[i] = 0;
        }
    }
               
    //then if a level2 menu is open, close it
    var menuToOpen = 'submenu' + clickedLink.substr(4,2);
    for(var i=0; i<$('#leftNav > ul > li').length; i++){
        if(openMenus[i] == 1){
            if((i+1)<10){
                $('#submenu0' + (i+1)).hide('slide', 600);
            }else{
                $('#submenu' + (i+1)).hide('slide', 600);
            }
            openMenus[i] = 0;
            //if a link for a menu that is open is clicked, close the menu            
            if((i+1)<10){
                if(menuToOpen == 'submenu0'+(i+1)){
                    return;
                }
            }else{
                if(menuToOpen == 'submenu'+(i+1)){
                    return;
                } 
            }
        }
    }                
    
    //if the close button is clicked
    $('.closeLevelTwo').click(function(){
        for(var i=0; i<$('.level2').length; i++){
            if(openMenus[i] == 1){
                if((i+1)<10){
                    $('#submenu0' + (i+1)).hide('slide', 600);
                }else{
                    $('#submenu' + (i+1)).hide('slide', 600);
                }
                openMenus[i] = 0;
            }
        } 
        return openMenus;
    });
    //position the level2 menus 
	//to center level2 in level1
    /*var level1height = $('#leftNav > ul').outerHeight();
    var level2height = $('#'+menuToOpen).outerHeight();
    var levelTwoMenuTop = (level1height - level2height)/2;
    $('#'+menuToOpen).css('top', levelTwoMenuTop+'px');*/
    
	//to put level2 next to parent in level1
	$('#'+menuToOpen).css('top', '0px');
	
    //let the closing animation finish before opening the new menu
    $('#'+menuToOpen).delay(600);
    //open the menu
    $('#'+menuToOpen).show('slide', 600);
    
    //get the menu id so it can be marked as open in the array
    var lastTwo = menuToOpen.substr(7,2);
    if(lastTwo < 10){
        lastTwo = lastTwo.substr(1,1);
    }else{
        lastTwo = lastTwo;
    }
    openMenus[lastTwo-1] = 1;
    
    return openMenus, openLevelThreeMenus;
}
            
function openLevelThree(clickedLevelTwoLink, openLevelThreeMenus, openLevelFourMenus){
    $('a.closeLevelThree').each(function(){
        $(this).attr('style', '');    
    });
    //reset close button positions
    if($.browser.msie && parseInt($.browser.version) == 6){
        $('.closeLevelThree').each(function(){
            $(this).css('top', '0px'); 
        });
    }
    
    //first check if a levelFour menu is open and close it
    for(var i=0; i<$('.level4').length; i++){
        if(openLevelFourMenus[i] == 1){
            if((i+1) < 10){
                $('#levelFourMenu0' + (i+1)).hide('slide', 600);
            }else{
                $('#levelFourMenu' + (i+1)).hide('slide', 600);
            }
            openLevelFourMenus[i] = 0;
        }
    }
    
    var levelThreeMenuToOpen = 'levelThreeMenu' + clickedLevelTwoLink.substr(12,2);
    
    for(var i=0; i<$('.level3').length; i++){
        //if a menu is open, close it
        if(openLevelThreeMenus[i] == 1){
            if((i+1) < 10){
                $('#levelThreeMenu0' + (i+1)).hide('slide', 600);  
            }else{
                $('#levelThreeMenu' + (i+1)).hide('slide', 600);
            }
            openLevelThreeMenus[i] = 0;
            //if the link for an open menu is clicked, close the menu            
            if((i+1)<10){
                if(levelThreeMenuToOpen == 'levelThreeMenu0' + (i+1)){
                    return;
                }
            }else{
                if(levelThreeMenutoOpen == 'levelThreeMenu' + (i+1)){
                    return;
                }
            }
        }
    }
    
    //if the close button is clicked
    $('a.closeLevelThree').click(function(){
        for(var i=0; i<$('.level3').length; i++){
            if(openLevelThreeMenus[i] == 1){
                if((i+1)<10){
                    $('#levelThreeMenu0' + (i+1)).hide('slide', 600);
                }else{
                    $('#levelThreeMenu' + (i+1)).hide('slide', 600);
                }
                openLevelThreeMenus[i] = 0;
            }
        }
        return openLevelThreeMenus;
    });                
    
    //position the menu
    $('#' + levelThreeMenuToOpen).css({'position' : 'absolute', 'top': '25px', 'left' : '-1px'});
    //let closing animation finish
    $('#' + levelThreeMenuToOpen).delay(600);
    //open the menu           
    $('#' + levelThreeMenuToOpen).show('slide', 600);
    //get the menu id so it can be set as open in the array            
    var lastTwo = levelThreeMenuToOpen.substr(14,2);
    if(lastTwo < 10){
        lastTwo = lastTwo.substr(1,1);
    }else{
        lastTwo = lastTwo;
    }
    openLevelThreeMenus[lastTwo-1] = 1;
    return openLevelThreeMenus, openLevelFourMenus;
}
            
function openLevelFour(clickedLevelThreeLink, openLevelFourMenus){
    $('a.closeLevelFour').each(function(){
        $(this).attr('style', '');
    });
    //reset close button positions
    if($.browser.msie && parseInt($.browser.version) == 6){
        $('.closeLevelFour').each(function(){
            $(this).css('top', '0px'); 
        });
    }

    
    var levelFourMenuToOpen = 'levelFourMenu' + clickedLevelThreeLink.substr(14,2);
    //if there is a menu open, close it
    for(var i=0; i<$('.level4').length; i++){
        if(openLevelFourMenus[i] == 1){
            if((i+1)<10){
                $('#levelFourMenu0' + (i+1)).hide('slide', 600);
            }else{
                $('#levelFourMenu' + (i+1)).hide('slide', 600);
            }
            openLevelFourMenus[i] = 0;
            if((i+1)<10){
                if(levelFourMenuToOpen == 'levelFourMenu0' + (i+1)){
                    return;
                }
            }else{
                if(levelFourMenuToOpen == 'levelFourMenu' + (i+1)){
                    return;
                }
            }
        }
    }
        
    //if the close button is clicked
    $('.closeLevelFour').click(function(){
        for(var i=0; i<$('.level4').length; i++){
            if(openLevelFourMenus[i] == 1){
                if((i+1)<10){
                    $('#levelFourMenu0' + (i+1)).hide('slide', 600);
                }else{
                    $('#levelFourMenu' + (i+1)).hide('slide', 600);
                }
                openLevelFourMenus[i] = 0;
            }
        }
        return openLevelFourMenus;
    }); 
              
    //set the menu's position
    $('#'+levelFourMenuToOpen).css({'position':'absolute', 'top':'25px', 'left':'-1px'});
    //let the closing animation finish before the opening starts
    $('#'+levelFourMenuToOpen).delay(600);
    //open the menu
    $('#'+levelFourMenuToOpen).show('slide', 600);
    var lastTwo = levelFourMenuToOpen.substr(13,2);
    if(lastTwo < 10){
        lastTwo = lastTwo.substr(1,1);
    }else{
        lastTwo = lastTwo;
    }
    openLevelFourMenus[lastTwo-1] = 1;
    return openLevelFourMenus;
}
