﻿
var mytimeout;

function explodeNav(div, rowIndex){
    try
    {
        //document.getElementById("magicImage").className='hello';
        //document.getElementById("magicImage").setAttribute("class", "hello");
        //document.getElementById("magicImage").style.zIndex='-1';
        document.getElementById("magicImage").style.display='none';
        //document.getElementById("magicImage").disabled = true;
    }
    catch(err)
    {
        //alert(err);
    }

    clearTimeout(mytimeout);
    var browser=navigator.appName;

    var divNav = $get(div);
    divNav.style.display='';

    //first rowindex is 0 so add 1 to it. i.e. 0 * rowHeight is 0 so your not going to get an accurate total row height
    rowIndex = rowIndex + 1;
    var rowIndexPreStr = '0';
    if (rowIndex > 9){
        rowIndexPreStr = '';
    }
    
    var headHeight = 270; //the space between the top of the page and the top of divNav
    var titleRowHeight = 3; 
    var rowHeight = 26;
    
    if (browser!="Microsoft Internet Explorer"){
        rowHeight = 27;
    }
    
    var innerRowPos = titleRowHeight + (rowHeight * rowIndex);
    
    
    if (browser=="Microsoft Internet Explorer"){
        divNav.style.posTop = innerRowPos;
    }else{
        divNav.style.top = innerRowPos + "px";
    }
    
    var scrollval = document.documentElement.scrollTop;
    
    if (scrollval <= headHeight){
        headHeight = headHeight - scrollval;
    }else {
        headHeight = 0;
    }
    
    var rowPos = headHeight + titleRowHeight + (rowHeight * rowIndex);
    try{
        if ($get('ctl00_rptLeftNav_ctl' + rowIndexPreStr + rowIndex + '_rptTier3_ctl01_tdTier3Nav').className == 'tier3Header2'){
            //nav is displayed in up direction, account for difference in height
            if (browser=="Microsoft Internet Explorer"){
                rowPos += 18;
            }else{
                rowPos += 20;
            }
        }
    }
    catch(err){
    
    }
       
    var selectedClass = 'tier3Nav';
    var selectedFooterClass = 'tier3Footer';
       
    //determine if exploding div will exceed height of window    
    var divNavPosTop = 0;
    
    var v1 = rowPos + divNav.clientHeight + scrollval;
    var v2 = document.documentElement.clientHeight + 50 + document.documentElement.scrollTop;
    if (browser=="Microsoft Internet Explorer"){
        v2 = document.documentElement.clientHeight + 50 + document.documentElement.scrollTop;
    }
    
    if (v1 > v2){
        //exceeded page height
        divNavPosTop = (innerRowPos - divNav.clientHeight) + rowHeight + 12;      
        
        selectedClass = 'tier3FooterSelected';
        selectedFooterClass = '';
    }
    
    var preStr = '0';
    var count = 1;
    
    //get the last row and change the images around by changing the class
    while ($get('ctl00_rptLeftNav_ctl' + rowIndexPreStr + rowIndex + '_rptTier3_ctl' + preStr + count.toString() + '_tdTier3Nav') != undefined){
        $get('ctl00_rptLeftNav_ctl' + rowIndexPreStr + rowIndex + '_rptTier3_ctl' + preStr + count.toString() + '_tdTier3Nav').className = 'tier3Nav';
        count += 1;
        if (count>9){
            preStr = '';
        }
    }
    
    count = count - 1;
    if (count>9){
        preStr = '';
    }
    
    //update the images of all necessary controls by changing each class.
    var footer;
    var footer2;
    if ($get('ctl00_rptLeftNav_ctl' + rowIndexPreStr + rowIndex + '_rptTier3_ctl' + preStr + count.toString() + '_tdTier3Nav') != undefined){
        try{
            footer =$get('ctl00_rptLeftNav_ctl' + rowIndexPreStr + rowIndex + '_rptTier3_ctl' + preStr + count.toString() + '_tdTier3Nav');
            footer.className = selectedClass;
            if (selectedFooterClass==''){
                $get('ctl00_rptLeftNav_ctl' + rowIndexPreStr + rowIndex + '_rptTier3_ctl01_tdTier3Nav').className = 'tier3Header2';
            }else{
                $get('ctl00_rptLeftNav_ctl' + rowIndexPreStr + rowIndex + '_rptTier3_ctl01_tdTier3Nav').className = 'tier3Header';
            }
        }
        catch(err){
        
        }
        //footer2 = $get('ctl00_rptLeftNav_ctl' + rowIndexPreStr + rowIndex + '_rptTier3_ctl' + preStr + (count + 1).toString() + '_tdTier3Footer');
        //footer2.className = selectedFooterClass;
       
    }else {
        preStr = '0';
        if (count>9){
            preStr = '';
        }
        try{
            if ($get('ctl00_rptLeftNav_ctl' + rowIndexPreStr + rowIndex + '_rptTier3_ctl' + preStr + count.toString() + '_tdTier3Nav') != undefined){
                footer = $get('ctl00_rptLeftNav_ctl' + rowIndexPreStr + rowIndex + '_rptTier3_ctl' + preStr + count.toString() + '_tdTier3Nav');
                footer.className = selectedClass;
                if (selectedFooterClass==''){
                    $get('ctl00_rptLeftNav_ctl' + rowIndexPreStr + rowIndex + '_rptTier3_ctl01_tdTier3Nav').className = 'tier3Header2';
                }else{
                    $get('ctl00_rptLeftNav_ctl' + rowIndexPreStr + rowIndex + '_rptTier3_ctl01_tdTier3Nav').className = 'tier3Header';
                }
                
            }
        }
        catch(err){
        
        }
    }
       
    divNav.style.display='';
    if (divNavPosTop  != 0){
        var actualTopOfDiv = 236 + divNavPosTop;
    
        if (actualTopOfDiv > scrollval){
            if (browser=="Microsoft Internet Explorer"){
                divNav.style.posTop = (innerRowPos - divNav.clientHeight) + rowHeight + rowHeight + 10 ;
            }else{
                divNav.style.top = ((innerRowPos - divNav.clientHeight) + rowHeight) + "px";
            }
        }else{
            //the nav is trying to display up but will go over the top of the page
            if (browser=="Microsoft Internet Explorer"){
                actualTopOfDiv = 250 + (innerRowPos - divNav.clientHeight) + rowHeight + 12;
                divNavPosTop = actualTopOfDiv - 180 + (scrollval - actualTopOfDiv) - $get('floatdiv').style.posTop;
                divNav.style.posTop = divNavPosTop;
                
                //get the row closes to the parent row and make it appear as if its extending from it
            var childRowIndex = 1;
            var childRowPos = 0;
            preStr = '0';
            var foundChild=false;
            while (foundChild==false && $get('ctl00_rptLeftNav_ctl' + rowIndexPreStr + rowIndex + '_rptTier3_ctl' + preStr + childRowIndex.toString() + '_tdTier3Nav') != undefined){
                
                childRowPos = (titleRowHeight + (rowHeight * (childRowIndex - 2)) - (240 - scrollval)) - $get('floatdiv').style.posTop;
                if (childRowPos >= innerRowPos - 12 && childRowPos <= innerRowPos + 12){
                    if($get('ctl00_rptLeftNav_ctl' + rowIndexPreStr + rowIndex + '_rptTier3_ctl' + preStr + childRowIndex.toString() + '_tdTier3Nav')!=undefined){
                        if (childRowIndex == 1){
                            $get('ctl00_rptLeftNav_ctl' + rowIndexPreStr + rowIndex + '_rptTier3_ctl' + preStr + childRowIndex.toString() + '_tdTier3Nav').className = 'tier3Header';
                        }else{
                            $get('ctl00_rptLeftNav_ctl' + rowIndexPreStr + rowIndex + '_rptTier3_ctl' + preStr + childRowIndex.toString() + '_tdTier3Nav').className = 'tier3SelectedNav';
                        }
                        
                        footer.className = 'tier3Nav';
                        if(footer2!=undefined){
                            footer2.className = 'tier3Footer';
                        }
                        
                        foundChild=true;
                        
                        divNav.style.posTop = divNavPosTop + (innerRowPos - childRowPos) + 10;
                    }
                }
                childRowIndex += 1;
                if (childRowIndex>9){
                    preStr = '';
                }else{
                    preStr = '0';
                }
            }
                
            }else{
                divNav.style.top = (((innerRowPos - divNav.clientHeight) + rowHeight) - (scrollval + 220 + ((innerRowPos - divNav.clientHeight) + rowHeight))) + "px";
            }
            
            
        }
    }
}

//    var implodeDiv;

//function implodeNav(div){
//    var divNav = $get(div);
//    divNav.style.display='none';
//    //timeout = setTimeout("waiting(divnav);", 1000);
//}

//function waiting(mydiv){
//    var divNav = $get(mydiv);
//    implodeDiv = divNav;
//    clearTimeout(mytimeout);
//    mytimeout = setTimeout("justwait()", 750);
//}

//function justwait(){

//    try
//    {
//       document.getElementById("magicImage").style.display='';
//     }
//    catch(err)
//    {
//        //alert(err);
//    }
//    
//   implodeDiv.style.display='none';
//   clearTimeout(mytimeout);
//}


