//=============================
//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.menuItemsListFive = "";
   this.completeMenuHTML = "";
   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;
      }
      else if(i >= 32 && i <= 40){
      this.menuItemsListFive += 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>";
   if (this.menuItemsListFive) this.menuItemsListFive = "<td class='main_sub'>" + this.menuItemsListFive + "</td>";
   this.completeMenuHTML = "<table id='main_sub_list'><tr>" + this.menuItemsListOne + this.menuItemsListTwo + this.menuItemsListThree + this.menuItemsListFour + this.menuItemsListFive + "</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) {
   //show new hilite
   resetHighlight(); 
   //workaround mozilla menuwidth bug
   if(navigator.appVersion.indexOf("MSIE") != -1){
      document.getElementById("main_sub_container").style.width = 500 + "px";
      }
   else{
      document.getElementById("main_sub_container").style.width = "auto";
   }
   
   //writing HTML content
   document.getElementById("main_sub_container").innerHTML = whichMenu.completeMenuHTML;  
   document.getElementById("main_sub_container").style.display = "block";  
   
   //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 + 10;
      }
      whichMenu.imgPosChecked = 1;
   }
   
   //positioning of menu   
   document.getElementById("main_sub_container").style.width = whichMenu.menuWidth + "px";
   document.getElementById("main_sub_container").style.left = whichMenu.menuPos + "px";      
   document.getElementById("main_sub_container").style.visibility = "visible";
   
   //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";     
   }

//================================================================
//Scripts for Subnav-Menu
//===============================================================

//creating Subnav-Menu
function subMenu(whichMenu,whichImg,picsrc){
   //creating mouseover-Images
   this.imgname = new Object(whichImg);
   this.imgname.createHiliteImages = createHiliteObj;
   this.imgname.createHiliteImages(picsrc);
   //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) {
      for(var i = 0; i < this.activeMenu.length; i++) {
         this.subMenuItemsList += "<a class='subnav_sub_link' href='" + 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 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;
   whichMenu.imgHeight = eval("document." + whichMenu.imgname + ".offsetHeight");
   whichMenu.menuTop = whichMenu.menuTop + whichMenu.imgHeight;
   whichMenu.menuWidth = eval("document." + whichMenu.imgname + ".offsetWidth");
   whichMenu.imgPosChecked = 1;
   }
   //writing html-strings, positioning menu-layers
   if(whichMenu.activeMenu != 0) {
      document.getElementById("subnav_submenu").innerHTML = whichMenu.subMenuItemsList;
      document.getElementById("subnav_submenu").style.left= whichMenu.menuPos + "px";
      document.getElementById("subnav_submenu").style.top = whichMenu.menuTop + "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;
}  

//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;
}
