// // // // // // // //
// Dynamic navigation in menu on the left navigation bar
//
// Author: Alex Fauland
//
// Dependencies:
// browser.js must be loaded before
// to detect browser and set global variables (is_ie4up, ...)
//
// // // // // // // //

//Event handler
function onButtonMouseOver(subNavIndex, subNavId)
{	clearTimeout(gTimerId);
    if(is_ie4up || is_nav6up)
    {
        if(subNavIndex > 0 && subNavId != "" && gSubNavBreak == false)
        {
            gTimerId = setTimeout("writeSubNav(" + subNavIndex + ", '" + subNavId + "')", gPreDelay);
	}
    }

    return true;
}

function onButtonMouseOut()
{   
     	
    if(is_ie4up || is_nav6up)
    {
        if(gTimerId != 0)
        {
            clearTimeout(gTimerId);
            gTimerId = setTimeout("writeSubNav()", gPostDelay2);
        }

    }

    return true;
}

//Functions
function writeSubNav(subNavIndex, subNavId)
{
        var myObj = 0;

        if(gOpenSubNavId != subNavId)
        {
            if(is_ie4up)
            {
                if(gOpenSubNavId != "")
                {
                    ie_removeSubNav(gOpenSubNavId, "");
                }

                ie_writeSubNav(subNavId, createSubNavHTML(subNavIndex));
            }
            else if(is_nav6up)
            {
                if(gOpenSubNavId != "")
                {
                    dom_removeSubNav(gOpenSubNavId, "");
                }

                dom_writeSubNav(subNavId, createSubNavHTML(subNavIndex));
            }

            gOpenSubNavId = subNavId;
            gSubNavBreak = true;
            setTimeout("cancelSubNavBreak()", gPostDelay);
        }
}

function createSubNavHTML(subNavIndex)
{
    var i;
    var mySubNavHTML = "";

    subNavIndex--;   //In HTML we start with 1, in JavaScript with 0

    if(subNavIndex < gSubNav.length)
    {
        for(i = 0; i < gSubNav[subNavIndex].length; i++)
        {
            mySubNavHTML = mySubNavHTML + "<div class='mainnav2'>";
            mySubNavHTML = mySubNavHTML + "<a class='meta2' href=\"" + gSubNav[subNavIndex][i].url + "\">";
            mySubNavHTML = mySubNavHTML + gSubNav[subNavIndex][i].label;
            mySubNavHTML = mySubNavHTML + "</a>";
            mySubNavHTML = mySubNavHTML + "</div>";
        }
    }

    return mySubNavHTML;
}

function ie_writeSubNav(subNavId, subNavHTML)
{
    subNavObject = eval("document.all." + subNavId);

    if(subNavObject)
    {
        subNavObject.innerHTML = subNavHTML;
    }
}

function dom_writeSubNav(subNavId, subNavHTML)
{
    subNavObject = document.getElementById(subNavId);

    if(subNavObject)
    {
        if(typeof(subNavObject.innerHTML) == "string")
        {
            subNavObject.innerHTML = subNavHTML;
        }
    }
}

function ie_removeSubNav(subNavId, subNavHTML)
{
    subNavObject = eval("document.all." + subNavId);

    if(subNavObject)
    {
        subNavObject.innerHTML = subNavHTML;
    }
}

function dom_removeSubNav(subNavId, subNavHTML)
{
    subNavObject = document.getElementById(subNavId);

    if(subNavObject)
    {
        if(typeof(subNavObject.innerHTML) == "string")
        {
            subNavObject.innerHTML = subNavHTML;
        }
    }
}

function cancelSubNavBreak()
{
    gSubNavBreak = false;
}

function setOpenSubNavId(subNavId)
{
    gOpenSubNavId = subNavId;
}


function ie_openSubNavComplete()
{
    gOpenSubNavId = ""; 
    writeSubNav(1, "id_subnav1");
    gOpenSubNavId = ""; 
    writeSubNav(2, "id_subnav2");
    gOpenSubNavId = ""; 
    writeSubNav(3, "id_subnav3");
    gOpenSubNavId = ""; 
    writeSubNav(4, "id_subnav4");
    gOpenSubNavId = ""; 
    writeSubNav(5, "id_subnav5");
    gOpenSubNavId = ""; 
    writeSubNav(6, "id_subnav6");
    gOpenSubNavId = ""; 
    writeSubNav(7, "id_subnav7");
    gOpenSubNavId = ""; 
    writeSubNav(8, "id_subnav8");
    gOpenSubNavId = ""; 
    writeSubNav(9, "id_subnav9");
    gOpenSubNavId = ""; 
    writeSubNav(10, "id_subnav10");
    gOpenSubNavId = ""; 
    writeSubNav(11, "id_subnav11");
}

function ie_showInnerHTML()
{
    document.write(document.all.tags("body")[0].innerHTML);
}


//Global


//... dynamic navigation
var gTimerId = 0;
var gOpenSubNavId = "";
var gSubNavBreak = false;
var gPreDelay = 350;
var gPostDelay = 350;
var gPostDelay2 = 10000;


//end of script
