//=============================

//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;

var 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 <= 39){

		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);

}








//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 = 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 + 6;

		}

		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;

		}

		this.subMenuItemsList = "<div id='subnav_sub_list'>" + this.subMenuItemsList + "</div>";	



	}

}



//function for subnav-popup

//args = name of menuset,Hilite-Toggle (1 = Hilite on, 0 = hilite off) 



function showSubMenu(whichMenu,whichPic) {

	

	     // Hide mainnavx if still visible

		try {

			document.getElementById("main_sub_container").style.visibility="hidden";

			document.getElementById("main_sub_container").style.display="none";

		}

		catch (ex) {

		  // ignore

		}

	

		//reset old hilite and show new

		resetHighlight();

		if(whichPic == 0) showHighlight(whichMenu.imgname);	

		

		//workaround mozilla menuwidth bug

		if(navigator.appVersion.indexOf("MSIE") != -1){

			document.getElementById("subnav_submenu").style.width = 20 + "px";

			}

		else{

			document.getElementById("subnav_submenu").style.width = "auto";

		}

		document.getElementById("subnav_submenu").style.visibility = "hidden";

		document.getElementById("subnav_submenu").style.display = "none";

		//writing html-strings

		if(whichMenu.activeMenu != 0) {

			document.getElementById("subnav_submenu").innerHTML = whichMenu.subMenuItemsList;

			document.getElementById("subnav_submenu").style.display = "block";

		}

	

	

		//check img-position to get menu position

		if(whichMenu.activeMenu != 0 && 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.imgWidth = eval("document." + whichMenu.imgname + ".offsetWidth");

			whichMenu.menuWidth = document.getElementById("subnav_sub_list").offsetWidth;

			if(whichMenu.menuWidth < whichMenu.imgWidth) whichMenu.menuWidth = whichMenu.imgWidth;

			var currWidth = whichMenu.menuPos + whichMenu.menuWidth;

			if(currWidth >= 780){

		 		whichMenu.menuPos = (780 - whichMenu.menuWidth);			

			}

			

			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;

	//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 == 1) 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");

	

	//whichMenu.menuWidth = 600;



	//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);

  }

}



/*--------------------------------------------

showBigImage



Cette fonction affiche dans une popup le fichier

dont le chemin (relatif �  la racine) est passé.

--------------------------------------------*/

function showBigImage(imagepath, path_to_root)

{

	var winProperties = "toolbar=no,location=no,directories=no,status=no,copyhistory=no,width=200,height=100,resizable=no";

	var url = path_to_root+"popup_show_big_image.html?imageurl=" + imagepath;



	window.open(url,'big',winProperties);

}



function SetCookie (name, value) {
	var argv=SetCookie.arguments;
	var argc=SetCookie.arguments.length;
	var expires=(argc > 2) ? argv[2] : null;
	var path=(argc > 3) ? argv[3] : null;
	var domain=(argc > 4) ? argv[4] : null;
	var secure=(argc > 5) ? argv[5] : false;
	document.cookie=name+"="+escape(value)+
		((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
		((path==null) ? "" : ("; path="+path))+
		((domain==null) ? "" : ("; domain="+domain))+
		((secure==true) ? "; secure" : "");
}

function getCookieVal(offset) {
	var endstr=document.cookie.indexOf (";", offset);
	if (endstr==-1)
      		endstr=document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie (name) {
	var arg=name+"=";
	var alen=arg.length;
	var clen=document.cookie.length;
	var i=0;
	while (i<clen) {
		var j=i+alen;
		if (document.cookie.substring(i, j)==arg)
                        return getCookieVal(j);
                i=document.cookie.indexOf(" ",i)+1;
                        if (i==0) break;
    }
	return null;
}
