// ## globalNav.js

//         Contains the dynamic functionality for the drop down navigation found at the top of most templates.



// FUNCTION LIST:

//         init();

//         menuOn();

//         menuOff();

//        menuLinkOn();

//         menuLinkOff();

//         linkSwap();

//         arrowSwap();
//  submenuOn();
//        submenuOff();
//        submenuLinkOn();
//        submenuLinkOff();

// TEMPLATE(S) USED:

//         brochure_request.html

//         coming_veh.html

//         contact.html

//         corporate.html

//         dealer_results.html

//         gallery.html

//         line_up.html

//         main.html

//         performance.html

//         specs.html

//         vehicles_home.html



var menuTimeout;
var submenuTimeout;
var currentMenu;
var currentsubMenu;
var imgPathNav = "../images/menu/";        // Image path location for Global Nav menu images.
var imgPath = "../images/";                        // Image path location for all other images.
var navIsLoaded = false;
var PathName;



// Initializing the global navigation



// change init() to globalNavInit()

function init() {
        DynLayerInit()
        navIsLoaded = true;        // boolean to true when initialization is complete
}



// Display the dropdown menu.
// inputs: menuName  - name of the menu DIV layer without the Div.  ie. vehicles
// output: none

function menuOn(menuName) {
        var theMenu
        if (!navIsLoaded) return;        // check if initialization is complete
        if (menuTimeout) clearTimeout(menuTimeout);        // clear the timeout

        if (currentMenu) {                        // hide the current menu
                theMenu = eval(currentMenu);
                theMenu.hide();
        }

        currentMenu = menuName;
        theMenu = eval(currentMenu);
        theMenu.show();                                // display menuName
        menuTimeout = setTimeout(currentMenu + '.hide()', 3000);                // set the timeout
}

function submenuOn(submenuName) {
        var thesubMenu
        if (!navIsLoaded) return;        // check if initialization is complete
        if (submenuTimeout) clearTimeout(submenuTimeout);        // clear the timeout

        if (currentsubMenu) {                        // hide the current menu
                thesubMenu = eval(currentsubMenu);
                thesubMenu.hide();
        }
        currentsubMenu = submenuName;
        thesubMenu = eval(currentsubMenu);theMenu = eval(currentMenu);
        thesubMenu.show(); //theMenu.show();                                // commented out to fix Netscape bug
        submenuTimeout = setTimeout(currentsubMenu + '.hide()', 2000);
}



// Hides the dropdown menus
// inputs: menuName - name of the menu DIV layer without the Div.  ie. vehicles
// outputs: none

function menuOff(menuName) {

        if (!navIsLoaded) return        // check if initialization is complete

        if (menuTimeout) clearTimeout(menuTimeout)        // clear the current timeout
        menuTimeout = setTimeout(menuName + '.hide()', 330)                // set the new timeout
}

function submenuOff(submenuName) {
        if (!navIsLoaded) return        // check if initialization is complete
        if (submenuTimeout) clearTimeout(submenuTimeout);        // clear the current timeout
        submenuTimeout = setTimeout(submenuName + '.hide()', 330);                // set the new timeout
}



// Swaps the menu image to the ON state.
// input: imgName - name of the image to turn on
// output: swaps the image to the ON state

function menuLinkOn(imgName) {
        var theImage;

        if (menuTimeout) clearTimeout(menuTimeout);
        theImage = (is.ns4) ? eval("document.layers['" + currentMenu + "Div'].document.images['" + imgName + "']") : eval("document." + imgName);
        theImage.src = imgPathNav + "tnav_lnk_" + imgName + "_on.gif";
}


// Swaps the menu image to the OFF state.
function menuLinkOff(imgName) {
        var theImage;
        theImage = (is.ns4) ? eval("document.layers['" + currentMenu + "Div'].document.images['" + imgName + "']") : eval("document." + imgName);
        theImage.src = imgPathNav + "tnav_lnk_" + imgName + ".gif";
        menuOff(currentMenu);
}

// Swaps the submenu image to the ON state.
// input: imgName - name of the image to turn on
// output: swaps the image to the ON state
function submenuLinkOn(imgName) {
        var theImage;

        if (menuTimeout) clearTimeout(menuTimeout);
        if (submenuTimeout) clearTimeout(submenuTimeout);
        theImage = (is.ns4) ? eval("document.layers['" + currentsubMenu + "Div'].document.images['" + imgName + "']") : eval("document." + imgName);
        theImage.src = imgPathNav + "tnav_lnk_" + imgName + "_on.gif";
}

// Swaps the submenu image to the OFF state.
function submenuLinkOff(imgName) {
        var theImage;
        theImage = (is.ns4) ? eval("document.layers['" + currentsubMenu + "Div'].document.images['" + imgName + "']") : eval("document." + imgName);
        theImage.src = imgPathNav + "tnav_lnk_" + imgName + ".gif";
        submenuOff(currentsubMenu);
        menuOff(currentMenu);
}


// Swaps the link image.

// input:         imgName - name of the image

//                        ON - on or off state

function linkSwap(imgName, ON) {

        var theImage = eval("document." + imgName);

        theImage.src = imgPath + imgName + "_lnk" + ((ON) ? "_on":"") + ".gif"

}


// Swaps the arrow image.

// input:         imgName - name of the image

//                        ON - on or off state

function arrowSwap_g(linkName, ON, obj, obj2) {

        var theImage = 'document.'



        if (obj && is.ie) {

                theImage += 'all.'

        } else if (obj && is.ns) {

                 theImage += obj + '.document.'

        }



        if (obj2 && is.ns) {

                theImage += obj2 + '.document.'

        }



        theImage += linkName

        theImageObj = eval(theImage);



        theImageObj.src = imgPath + "g_arrow" + ((ON) ? "_on":"") + ".gif";

}


// Swaps the arrow image.

// input:         imgName - name of the image

//                        ON - on or off state

function arrowSwap(linkName, ON, obj, obj2) {

        var theImage = 'document.'



        if (obj && is.ie) {

                theImage += 'all.'

        } else if (obj && is.ns) {

                 theImage += obj + '.document.'

        }



        if (obj2 && is.ns) {

                theImage += obj2 + '.document.'

        }



        theImage += linkName

        theImageObj = eval(theImage);



        theImageObj.src = imgPath + "gl_arrow" + ((ON) ? "_on":"") + ".gif";

}


// Swaps the arrow image.

// input:         imgName - name of the image

//                        ON - on or off state

function arrowSwapDown(linkName, ON, obj, obj2) {

        var theImage = 'document.'



        if (obj && is.ie) {

                theImage += 'all.'

        } else if (obj && is.ns) {

                 theImage += obj + '.document.'

        }



        if (obj2 && is.ns) {

                theImage += obj2 + '.document.'

        }



        theImage += linkName

        theImageObj = eval(theImage);



        theImageObj.src = imgPath + "page_down" + ((ON) ? "_on":"") + ".gif";

}


// Swaps the arrow image.

// input:         imgName - name of the image

//                        ON - on or off state

function arrowSwapUp(linkName, ON, obj, obj2) {

        var theImage = 'document.'



        if (obj && is.ie) {

                theImage += 'all.'

        } else if (obj && is.ns) {

                 theImage += obj + '.document.'

        }



        if (obj2 && is.ns) {

                theImage += obj2 + '.document.'

        }



        theImage += linkName

        theImageObj = eval(theImage);



        theImageObj.src = imgPath + "page_up" + ((ON) ? "_on":"") + ".gif";

}