
// ----------------------------------------
//
// navigation.js
// controlls botnavi mouseovers and
// state setting for sixt frameless
//
// author:      joachim.wendenburg@sixt.de
// created:     15.06.2005
// copyright:   sixt.ag
//
// ----------------------------------------



// preload botnavi background images
// ---------------------------------
// ++++ modify image path here ++++
// ---------------------------------
//
var img_path        =  "../gfx/";

var bot_bg_nam  =  new Array("ride_left","ride_left_o","botnavi_rh","botnavi_rh_l","botnavi_rho","botnavi_rhs","botnavi_rn","botnavi_rno");
    bot_bg_img  =  new Array();
for (i in bot_bg_nam) {
    bot_bg_img[bot_bg_nam[i]]       =  new Image();
    bot_bg_img[bot_bg_nam[i]].src   =  img_path + bot_bg_nam[i] + ".gif";
}
    
// because of botnavi's round corners we work with background images
// mouseover background changes mean also to regard the neighbours
//    
function swap_bot(el,stat) {

    // do not change current state
    //
    if (bot_state == el) return;
    
    // change botnavi background
    // get array of all botnavi links
    //
    var link_array      =  document.getElementById("botnavi").getElementsByTagName("a");
    var past_element    =  false;
    var curr_element    =  false;
    var next_element    =  false;
    
    // loop all bot links
    // find out left neighbour
    // find out right neighbour
    //
    for (i = 0; i < link_array.length; i++) {
    
        if (curr_element) {
            next_element =   link_array[i];
            break;
        } 
        if (link_array[i] ==  el)   curr_element =  link_array[i];       
        if (!curr_element)          past_element =  link_array[i];         
    }    
    
    // change background of an element who's right neighbour eq bot_state
    // else normal background change
    //
    if (bot_state && bot_state == next_element) {
    
        el.style.backgroundImage =  stat? "url(" + bot_bg_img["botnavi_rhs"].src + ")" : "url(" + bot_bg_img["botnavi_rh_l"].src + ")";
        
    } else {    
        // special case last element (no right neighbour)
        //
        if (el.className == "outside")  el.style.backgroundImage =  stat? "url(" + bot_bg_img["botnavi_rho"].src + ")" : "";
        else                            el.style.backgroundImage =  stat? "url(" + bot_bg_img["botnavi_rh"].src + ")"  : "";    
    }
    
    // change left neighbours background
    // change left rim image if no left neighbour available
    //
    if (past_element) {
        past_element.style.backgroundImage          =  stat? "url(" + bot_bg_img["botnavi_rh_l"].src + ")" : "";
    } else {
        document.getElementById("img_bot_left").src =  stat? bot_bg_img["ride_left_o"].src : bot_bg_img["ride_left"].src;
    }
}


var bot_state   =  false;
var main_state  =  false;
var sub_state   =  false;
function set_state(botstate,mainstate,substate) {

    // set botnavi status
    //
    var el;
    
    // reset past botnavi state
    //
    if (bot_state) {
        var past_bot    =  bot_state;
        bot_state       =  false;
        swap_bot(past_bot,0);
    }
    
    // set current bornavi state
    //  
    if (botstate) {
        el          =  document.getElementById(botstate);        
        swap_bot(el,1);
        bot_state   =  el;
    }
    
    // reset past mainnavi state
    //
    if (main_state) {                    
        main_state.className    = (main_state.className == "home_selected")? "home" : "";
        main_state              =  false   
    }    
    
    // set current mainnavi state
    //      
    if (mainstate) {
        el                      =  document.getElementById(mainstate);        
        el.className            =  (el.className == "home")? "home_selected" : "main_selected";
        main_state              =  el;
    }
    
    // reset past subnavi state
    //
    if (sub_state) {                    
        sub_state.className     =  (sub_state.className == "norm_selected")? "norm" : "minor";
        sub_state               =  false;      
    }    

    // set current subnavi state
    //      
    if (substate) {
        el                      =  document.getElementById(substate);        
        el.className            =  (el.className == "norm")? "norm_selected" : "minor_selected";
        sub_state               =  el;
    }    
}