//============================= 
//Scripts for Mainmenu-Popup 
//============================= 

//Variable for popup-timer 
var zu; 
var modindzu; 
//Variable for active highlight  
var activeImage; 
var activeModelImage;  
var activeBG; 
//Variables for active gallery-Pic 
var activeSmallPic;  
var activeSmallPicObj; 
zoomWin = null; 
     

//mainMenuConstructor 
function mainMenu(whichMenu,whichImg,offsrc,onsrc){ 
    //creating mouseover-Images 
    this.imgname = new Object(whichImg); 
    this.imgname.createHiliteImages = createImgObjs; 
    this.imgname.createHiliteImages(offsrc,onsrc,''); 
    //reading arrays, writing four menus 
    this.activeMenu = eval(whichMenu); 
    this.imgPosChecked = 0; 
    this.menuPos = 0; 
    this.menuTop = 0; 
    this.imgHeight = 0; 
    this.menuWidth = 0; 
    this.menuItemsListOne = ""; 
    this.menuItemsListTwo = ""; 
    this.menuItemsListThree = ""; 
    this.menuItemsListFour = ""; 
    this.completeMenuHTML = ""; 
    //alert(area); 
    if(area==0)   
    	document.getElementById("allmainnav").style.top = 82 +panel + "px";
    else    
    {   
    	document.getElementById("allmainnav").style.top = -20 + "px";
    	document.getElementById("allmainnav").style.left = -170 + "px";       
    }	  	
    
    for(var i = 0; i < this.activeMenu.length; i++) { 
        if(i <= 6){ 
        this.menuItemsListOne += this.activeMenu[i + 1] + this.activeMenu[i] + "</a><br>"; 
        i = i + 1; 
        } 
        else if(i >= 8 && i <= 15){ 
        this.menuItemsListTwo +=  this.activeMenu[i + 1] + this.activeMenu[i] + "</a><br>"; 
        i = i + 1; 
        } 
        else if(i >= 16 && i <= 23){ 
        this.menuItemsListThree += this.activeMenu[i + 1] + this.activeMenu[i] + "</a><br>"; 
        i = i + 1; 
        } 
        else if(i >= 24 && i <= 31){ 
        this.menuItemsListFour += this.activeMenu[i + 1] + this.activeMenu[i] + "</a><br>"; 
        i = i + 1; 
        } 
    } 
    if (this.menuItemsListOne) this.menuItemsListOne = "<td class='main_sub'>" + this.menuItemsListOne + "</td>"; 
    if (this.menuItemsListTwo) this.menuItemsListTwo = "<td class='main_sub'>" + this.menuItemsListTwo + "</td>"; 
    if (this.menuItemsListThree) this.menuItemsListThree = "<td class='main_sub'>" + this.menuItemsListThree + "</td>"; 
    if (this.menuItemsListFour) this.menuItemsListFour = "<td class='main_sub'>" + this.menuItemsListFour + "</td>"; 
    this.completeMenuHTML = "<table id='main_sub_list'><tr>" + this.menuItemsListOne + this.menuItemsListTwo + this.menuItemsListThree + this.menuItemsListFour + "</tr></table>"; 
    //alert(this.completeMenuHTML); 
} 


//hilite-image method 
function createHiliteObj(picsrc){ 
    this.offimg = new Image(); 
    this.offimg.src = picsrc; 
    var picsrc_end = picsrc.substr((picsrc.length - 4),picsrc.length); 
    var picsrc_highimg = picsrc.substr(0,(picsrc.length - 4)) + "_on" + picsrc_end; 
    this.onimg = new Image(); 
    this.onimg.src = picsrc_highimg; 
} 


//show-function for mainmenu 
//args = name of menuset,Hilite-Toggle (1 = Hilite on, 0 = hilite off)  

function showMenu(whichMenu,whichPic) { 
    //show new hilite 
    resetHighlight(); 
    if(whichPic == 0) showHighlight(whichMenu.imgname); 
    //workaround mozilla menuwidth bug 
    /*if(navigator.appVersion.indexOf("MSIE") != -1){ 
        document.getElementById("main_sub_container").style.width = 600 + "px"; 
        } 
    else{ 
        document.getElementById("main_sub_container").style.width = "auto"; 
    }*/ 
    document.getElementById("main_sub_container").style.width = 600 + "px"; 
    //writing HTML content 
    document.getElementById("main_sub_container").innerHTML = whichMenu.completeMenuHTML;     
    document.getElementById("main_sub_container").style.display = "block";
    //e6e6eb
    document.getElementById("main_sub_container").style.backgroundColor = "#e6e6eb";
    
    if(area==0) 
    	document.getElementById("main_sub_container").style.top=100 + panel + "px";
    else
    	document.getElementById("main_sub_container").style.top=0 + "px";
    //alert(document.getElementById("allmainnav").style.top);	 
         
    //check img-position to get menu position 
    if(whichMenu.imgPosChecked == 0) { 
        whichMenu.menuPos = eval("document." + whichMenu.imgname + ".offsetLeft"); 
        whichMenu.menuWidth = document.getElementById("main_sub_list").offsetWidth; 
        var currWidth = whichMenu.menuPos + whichMenu.menuWidth; 
        if(currWidth >= 780){ 
         whichMenu.menuPos = (780 - whichMenu.menuWidth + 10); 
        } 
        else{ 
            //left indent 
            whichMenu.menuPos = whichMenu.menuPos + 6; 
        } 
        whichMenu.imgPosChecked = 1; 
    } 
     
    //positioning of menu     
    document.getElementById("main_sub_container").style.width = whichMenu.menuWidth + "px"; 
    if(area==0) 
    	document.getElementById("main_sub_container").style.left = whichMenu.menuPos + "px"; 
    else    
    	document.getElementById("main_sub_container").style.left = (whichMenu.menuPos-170) + "px";     
    document.getElementById("main_sub_container").style.visibility = "visible"; 
    document.getElementById("dealername").style.visibility="hidden"; 
     
    //disable timeout 
    window.clearTimeout(zu); 
     
} 

function dropdown_mouseEnter() { 
    window.clearTimeout(zu); 
    if(modindzu) clearTimeout(modindzu); 
    } 

function dropdown_mouseLeave(whichMenu) { 
    switch (whichMenu) { 
            case 'main': 
            zu = window.setTimeout("menuCollaps()",50); 
            break; 
            case 'sub': 
            zu = window.setTimeout("submenuCollaps()",50); 
            break; 
            case 'modelSub': 
            modindzu = window.setTimeout("submenuModelCollaps()",50); 
            break; 
            }                
    } 

function showHighlight(menupic){ 
    document.images[menupic].src = menupic.onimg.src; 
    activeImage = menupic;     
} 

function resetHighlight(){ 
    if(activeImage) document.images[activeImage].src = activeImage.offimg.src; 
} 

function menuCollaps(){ 
        //reset highlight; 
        resetHighlight(); 
        //hide popup-menu 
        window.clearTimeout(zu); 
        document.getElementById("main_sub_container").style.visibility="hidden"; 
        document.getElementById("main_sub_container").style.display="none"; 
        document.getElementById("dealername").style.visibility = "visible";         
    } 

//================================================================ 
//Scripts for Subnav-Menu 
//=============================================================== 

//creating Subnav-Menu 
function subMenu(whichMenu,whichImg,picsrc,onsrc){ 
    //creating mouseover-Images 
    this.imgname = new Object(whichImg); 
   // this.imgname.createHiliteImages = createHiliteObj; 
  //  this.imgname.createHiliteImages(picsrc); 
    this.imgname.createHiliteImages = createImgObjs; 
    this.imgname.createHiliteImages(picsrc,onsrc,''); 
    //props for checking img-position 
    this.imgPosChecked = 0; 
    this.menuPos = 0; 
    this.menuTop = 0; 
    this.imgHeight = 0; 
    this.menuWidth = 0; 
    //reading Menu-Array, writing HTML-Codes 
    this.activeMenu = eval(whichMenu); 
    this.subMenuItemsList = ""; 
    if(this.activeMenu != 0) { 
    	this.subMenuItemsList +="<ul class='subul'>"
        for(var i = 0; i < this.activeMenu.length; i++) { 
            this.subMenuItemsList += '<li><a class="' + this.activeMenu[i+2] + '" href="' + this.activeMenu[i+1] + '" target="'+this.activeMenu[i+3]+'">' + this.activeMenu[i] + '</a></li>'; 
            i = i + 3; 
        } 
        this.subMenuItemsList +="</ul>" ;
        
  } 
} 

//function for subnav-popup 
//args = name of menuset,Hilite-Toggle (1 = Hilite on, 0 = hilite off)  

function showSubMenu(whichMenu,whichPic) { 
     
    //reset old hilite and show new 
    resetHighlight(); 
    if(whichPic == 0) showHighlight(whichMenu.imgname);         
    //check img-position to get menu position 
    if(whichMenu.imgPosChecked == 0) { 
    whichMenu.menuPos = eval("document." + whichMenu.imgname + ".offsetLeft"); 
    //whichMenu.menuTop = document.getElementById("subnav").offsetTop;   
    //alert(document.getElementById("pictd").offsetHeight);
    whichMenu.menuTop = document.getElementById("pictd").offsetTop + document.getElementById("pictd").offsetHeight + 100 + panel; 
    //alert(document.getElementById("pictd").offsetTop);
    whichMenu.imgHeight = eval("document." + whichMenu.imgname + ".offsetHeight"); 
    whichMenu.menuTop = whichMenu.menuTop + whichMenu.imgHeight; 
    //whichMenu.menuWidth = eval("document." + whichMenu.imgname + ".offsetWidth"); 
    whichMenu.menuWidth = 200; 
    whichMenu.imgPosChecked = 1; 
    } 
    //writing html-strings, positioning menu-layers 
    if(whichMenu.activeMenu != 0) { 
        document.getElementById("subnav_submenu").innerHTML = whichMenu.subMenuItemsList;
        initBlinkLinksByClassName(); 
        document.getElementById("subnav_submenu").style.left= whichMenu.menuPos + "px"; 
        if(area==0)
        	document.getElementById("subnav_submenu").style.top = whichMenu.menuTop + "px"; 
        else
        	document.getElementById("subnav_submenu").style.top =whichMenu.imgHeight + "px"; 
        document.getElementById("subnav_submenu").style.width = whichMenu.menuWidth + "px"; 
        document.getElementById("subnav_submenu").style.visibility = "visible"; 
        document.getElementById("subnav_submenu").style.display = "block";         
    } 
    //if there is no submenu 
    else if(whichMenu.activeMenu == 0) { 
        document.getElementById("subnav_submenu").style.visibility = "hidden"; 
        document.getElementById("subnav_submenu").style.display = "none"; 
        } 
    //reset timeout 
    window.clearTimeout(zu);     
} 

function submenuCollaps(){ 
        //reset hilite 
        resetHighlight(); 
        //hide popup-menu 
        window.clearTimeout(zu); 
        document.getElementById("subnav_submenu").style.visibility="hidden"; 
        document.getElementById("subnav_submenu").style.display="none";         
} 
     
//=============================== 
//image hilite without submenu-popup 
//============================== 
function subButton(whichImg,offsrc,onsrc){ 
    this.imgname = new Object(whichImg); 
    this.imgname.createHiliteImages = createImgObjs; 
    this.imgname.createHiliteImages(offsrc,onsrc,''); 
         
} 

function showHigh(whichButton,whichPic){ 
    if(whichPic == 0) document.images[whichButton.imgname].src = whichButton.imgname.onimg.src;     
} 

function resetHigh(whichButton,whichPic){ 
    if(whichPic == 0 && activeSmallPic != whichButton.imgname ) document.images[whichButton.imgname].src = whichButton.imgname.offimg.src; 
} 


        



//hilite-image method 
function createImgObjs(offsrc,onsrc,hisrc,midsrc,big800,big1024,big1280){ 
    this.offimg = new Image(); 
    this.offimg.src = offsrc; 
    this.onimg = new Image(); 
    this.onimg.src = onsrc; 
    this.hiliteimg = new Image(); 
    this.hiliteimg.src = hisrc; 
    if(arguments.length > 3) { 
        this.midimg = midsrc; 
        this.big800 = big800; 
        if(big1024) this.big1024 = big1024; 
        if(big1280) this.big1280 = big1280; 
        } 
    } 
     
//=============================== 
//image object constructor submenu model index 
//============================== 
function createModelImgObjs(offsrc,onsrc){ 
    this.offimg = new Image(); 
    this.offimg.src = offsrc; 
    this.onimg = new Image(); 
    this.onimg.src = onsrc; 
    //if(hgoffsrc){ 
    //this.hgoffimg = new Image(); 
    //this.hgoffimg.src = hgoffsrc; 
    //} 
    //if(hgonsrc){ 
    //this.hgonimg = new Image(); 
    //this.hgonimg.src = hgonsrc; 
    //} 
    }     

//================================================================ 
//Scripts for Model Index Subnav-Menu 
//=============================================================== 

//creating Subnav-Menu 
function subModelMenu(whichMenu,whichImg,offsrc,onsrc,whichHGImg,hgoffsrc,hgonsrc){ 
    //creating mouseover-Images 
    this.imgname = new Object(whichImg); 
    this.imgname.createHiliteImages = createModelImgObjs; 
    this.imgname.createHiliteImages(offsrc,onsrc); 
    this.hgimgname = ''; 
    if(whichHGImg){ 
        this.hgimgname = new Object(whichHGImg); 
        this.hgimgname.createHiliteImages = createModelImgObjs; 
        this.hgimgname.createHiliteImages(hgoffsrc,hgonsrc); 
        } 
    //props for checking img-position 
    this.menuPos = 0; 
    this.menuBottom = 0; 
    this.menuTop = 0; 
    this.imgHeight = 0; 
    this.menuWidth = 0; 
    //reading Menu-Array, writing HTML-Codes 
    this.activeMenu = eval(whichMenu); 
    this.subMenuItemsList = ""; 
    if(this.activeMenu != 0) { 
        for(var i = 0; i < this.activeMenu.length; i++) { 
            this.subMenuItemsList += this.activeMenu[i+1] + this.activeMenu[i] + "</a>"; 
            i = i + 1; 
        }     
    }     
         
} 

//function for subnav-popup 
//args = name of menuset,Hilite-Toggle (1 = Hilite on, 0 = hilite off)  

function showModelSubMenu(whichMenu,whichPic,whichMouseover,whichHeight) { 
    //reset main nav 
    if(zu) zu = window.setTimeout("menuCollaps()",0); 
    //reset old hilite and show new 
    resetModelHighlight(); 
    if(whichPic == 0) showModelHighlight(whichMenu.imgname,whichMenu.hgimgname);         
    //check img-position to get menu position 
    whichMenu.menuPos = findPosX(whichMouseover); 
    whichMenu.menuBottom = findPosY(whichMouseover); 
    whichMenu.imgHeight = eval(whichHeight); 
    switch (whichMenu.imgHeight) { 
            case 20: 
            whichMenu.menuBottom = 450 - whichMenu.menuBottom; 
            break; 
            case 70: 
            whichMenu.menuBottom = 450 - (whichMenu.menuBottom + whichMenu.imgHeight); 
            break; 
            case 80: 
            whichMenu.menuBottom = 450 - (whichMenu.menuBottom + whichMenu.imgHeight); 
            break; 
            }     
    whichMenu.menuWidth = eval("document." + whichMenu.imgname + ".offsetWidth"); 
     
    //writing html-strings, positioning menu-layers 
    if(whichMenu.activeMenu != 0) { 
        document.getElementById("modelSubnav_list").innerHTML = whichMenu.subMenuItemsList; 
        document.getElementById("modelSubnav_list").style.bottom = 1; 
        document.getElementById("modelSubnav_submenu").style.left= whichMenu.menuPos + "px"; 
        document.getElementById("modelSubnav_submenu").style.bottom = whichMenu.menuBottom + "px"; 
        document.getElementById("modelSubnav_submenu").style.width = whichMenu.menuWidth + "px"; 
        document.getElementById("modelSubnav_submenu").style.visibility = "visible"; 
        document.getElementById("modelSubnav_submenu").style.display = "block";         
    } 
    //if there is no submenu 
    else if(whichMenu.activeMenu == 0) { 
        document.getElementById("modelSubnav_submenu").style.visibility = "hidden"; 
        document.getElementById("modelSubnav_submenu").style.display = "none"; 
        } 
    //reset timeout 
    window.clearTimeout(modindzu);     
} 

function submenuModelCollaps(){ 
        //reset hilite 
        resetModelHighlight(); 
        //hide popup-menu 
        window.clearTimeout(modindzu); 
        document.getElementById("modelSubnav_submenu").style.visibility="hidden"; 
        document.getElementById("modelSubnav_submenu").style.display="none";         
}        

function showModelHighlight(menupic,bgpic){ 
    document.images[menupic].src = menupic.onimg.src; 
    if(bgpic) document.images[bgpic].src = bgpic.onimg.src; 
    activeModelImage = menupic;     
    activeBG = bgpic; 
} 

function resetModelHighlight(){ 
    if(activeModelImage) document.images[activeModelImage].src = activeModelImage.offimg.src; 
    if(activeBG) document.images[activeBG].src = activeBG.offimg.src; 
} 

//detect mouse-over image position for correct layer positioning 

function findPosX(obj) 
{ 
    var curleft = 0; 
    if (obj.offsetParent) 
    { 
        while (obj.offsetParent) 
        { 
            curleft += obj.offsetLeft 
            obj = obj.offsetParent; 
        } 
    } 
    else if (obj.x) 
        curleft += obj.x; 
    return curleft; 
} 

function findPosY(obj) 
{ 
    var curtop = 0; 
    if (obj.offsetParent) 
    { 
        while (obj.offsetParent) 
        { 
            curtop += obj.offsetTop 
            obj = obj.offsetParent; 
        } 
    } 
    else if (obj.y) 
        curtop += obj.y; 
    return curtop; 
} 


//================================================================ 
//Konfigurator box 
//=============================================================== 

function konfigurator_execute() { 
  var link = document.frmKonfigurator.cboKonfigurator.options[document.frmKonfigurator.cboKonfigurator.selectedIndex].value; 
  if (link!=null && link.length!='') { 
    window.setTimeout(link,1); 
  } 
} 
