//Version 3.1, 02.07.2002

//Copyright 2002 BBDO InterOne Hamburg


var nn4                  = document.layers;

var nn6                  = document.documentElement;if(document.all) {nn6 = false;}

var ie4                  = (document.all && !document.getElementById);

var ie5                  = (document.all && document.getElementById);

var mac                  = false; if(navigator.platform.indexOf("Mac") >= 0){mac = true;}



var lyr                  = new Array();

var pictures             = new Array();

var userAgent            = window.navigator.userAgent;

var preLoadIsComplete    = false;

var ToggleStatus		     = new Array ();

var oldImg               = "";

var oldCnt;



var loopCounter          = 0;

var CheckAnimationStatus = 0;

var loadImgList;

var loadImgCount;

var LoopAnimation;



var layerLoadingStatus   = new Array();

var query				         = new Object();

var parameterArray       = new Array();





function findElement(n,ly) {

	var curDoc = ly ? ly.document : document;

	var elem = curDoc[n];

	if (!elem) {

		for (var i=0;i<curDoc.layers.length;i++) {

			elem = findElement(n,curDoc.layers[i]);

			if (elem) {

				return elem;

			}

		}

	}

	return elem;

}





function NSStyle(s) {

	return findElement(s,0);

}





function IEStyle(s) {

	return document.all.tags("div")[s].style;

}





function activeImageConstructor(aName,aLowlightSrc,aHighlightSrc) {

	this.name          = aName;

	this.lowLight      = new Image();

	this.lowLight.src  = aLowlightSrc;

	this.highLight     = new Image();

	this.highLight.src = aHighlightSrc;

	this.storeLight     = new Image();

	this.storeLight.src = aLowlightSrc;

}





function preLoad(framesetURL) {

	// simplified version as only image that needs preloading is the little green arrow dude

	var preLoadedImgs = "";

	var arrowName = "littleGreenArrowDude";

	var arrowSrc="/images/arrow_green.gif";

	var arrowSrcActive="/images/arrow_green-a.gif";

	

	var IEFix = new activeImageConstructor(arrowName,arrowSrc,arrowSrcActive);

	var tmpData = new Array(IEFix);

	pictures = pictures.concat(tmpData);

	

	if (preLoad.arguments.length > 0) {

		if (top == self) self.location.href = framesetURL;

	}



	preLoadIsComplete = true;

	



}





function chgclass(tagname,css) {

  if (!nn4) {

		if (ie4){eval("document.all."+tagname+".className='"+css+"'");}

		else    {eval("document.getElementById('"+tagname+"')"+".className='"+css+"'");}

  }

}





function mouseOver(aPic,aLayer) {

	

	if (preLoadIsComplete) {

		//for (i=0; i<pictures.length; i++) {

		//	if (pictures[i].name == aPic) {

				if(nn4 && aLayer) {

					NSStyle(aLayer).document.images[aPic].src = pictures[0].highLight.src; // always using greenArrowDude on index [0] instead of index[i]

				}

				else {

					document.images[aPic].src = pictures[0].highLight.src; // always using greenArrowDude on index [0] instead of index[i]

				}

		//	}

		//}

	}

	else {

		preLoad();

	}

}





function mouseOut(aPic,aLayer) {

	oldImg = "";

		

	if (preLoadIsComplete) {

		//for (i=0; i<pictures.length; i++) {

		//	if (pictures[i].name == aPic) {

				if(nn4 && aLayer) {

					NSStyle(aLayer).document.images[aPic].src = pictures[0].lowLight.src; // always using greenArrowDude on index [0] instead of index[i]

				}

				else {

					document.images[aPic].src = pictures[0].lowLight.src; // always using greenArrowDude on index [0] instead of index[i]

				}

		//	}

		//}

	}

	else {

		preLoad();

	}

	

}





function setPermanentHigh(picName,layerName) {

	if (preLoadIsComplete) {

		for (i=0; i<pictures.length; i++) {

			if (pictures[i].name == picName) {

				pictures[i].lowLight.src = pictures[i].highLight.src;

				if(nn4 && layerName) {

					NSStyle(layerName).document.images[picName].src = pictures[i].highLight.src;

				}

				else {

					document.images[picName].src = pictures[i].highLight.src;

				}

			}

		}

	}

	else {

		preLoad();

	}

}





function dropPermanentHigh(picName,layerName) {

	if (preLoadIsComplete) {

		for (i=0; i<pictures.length; i++) {

			if (pictures[i].name == picName) {

				pictures[i].lowLight.src = pictures[i].storeLight.src;

				if(nn4 && layerName) {

					NSStyle(layerName).document.images[picName].src = pictures[i].lowLight.src;

				}

				else {

					document.images[picName].src = pictures[i].lowLight.src;

				}

			}

		}

	}

	else {

		preLoad();

	}

}





function vSwitch(aLayer,aBool) {

	if (preLoadIsComplete) {

		if (document.all) {

			IEStyle(aLayer).visibility = (aBool == 0) ? "hidden" : "visible";

		}

		else {

			if (nn4) {

				NSStyle(aLayer).visibility = (aBool == 0) ? 'hide' : 'show';

			}

			else if (nn6) {

				document.getElementById(aLayer).style.visibility= (aBool == 0) ? "hidden" : "visible";

			}

		}

	}

	else {

		preLoad();

	}

}





function toggleLayer(Layer) {

	if (ToggleStatus[Layer]) {

		vSwitch(Layer,0);

		ToggleStatus[Layer] = 0;

	}

	else {

		vSwitch(Layer,1);

		ToggleStatus[Layer] = 1;

	}

}





function centerPopup(popup_name,popup_url,popup_with,popup_height,myWidth,myHeight,myScrollbar) {
	
	if(!myWidth) {myWidth = 10;}

	if(!myHeight){myHeight = 50;}

	if(!myScrollbar){myScrollbar = 0;}

	var popup_left = (window.screen.width/2)  - (popup_with/2 + myWidth);

	var popup_top  = (window.screen.height/2) - (popup_height/2 + myHeight);

	window.open(popup_url ,popup_name,"toolbar=no,location=no,status=no,menubar=no,scrollbars=" + myScrollbar + ",resizable=no,width=" + popup_with + ",height=" + popup_height + ",left=" + popup_left + ",top=" + popup_top + ",screenX=" + popup_left + ",screenY=" + popup_top);

}



function centerPopupWithMenu(popup_name,popup_url,popup_with,popup_height,myWidth,myHeight,myScrollbar) {

	if(!myWidth) {myWidth = 10;}

	if(!myHeight){myHeight = 50;}

	if(!myScrollbar){myScrollbar = 0;}

	var popup_left = (window.screen.width/2)  - (popup_with/2 + myWidth);

	var popup_top  = (window.screen.height/2) - (popup_height/2 + myHeight);

	window.open(popup_url ,popup_name,"toolbar=yes,location=no,status=no,menubar=no,scrollbars=" + myScrollbar + ",resizable=no,width=" + popup_with + ",height=" + popup_height + ",left=" + popup_left + ",top=" + popup_top + ",screenX=" + popup_left + ",screenY=" + popup_top);

}







function loadPage(layerName,sourcePath,layerWidth) {

	if(!layerWidth) {layerWidth = 0;}

	iFrameName = layerName + "I";

	if (nn4) {

		NSStyle(layerName).load(sourcePath,layerWidth);

	}

	else if (ie4) {

		parent[iFrameName].location = sourcePath;

	}

	else {

		document.getElementById(iFrameName).src = sourcePath;

	}

}





function loadAllLayers(layerName,layerURL,thisLayerNumber) {

	loadPage(layerName,layerURL);

	thisLayerNumber++;

	checkLoading(layerName,thisLayerNumber);

}





function checkLoading(layerName,thisLayerNumber) {

	if(layerLoadingStatus[thisLayerNumber]) {

		initLayerLoad(thisLayerNumber);

	}

	else {

		setTimeout("checkLoading('"+layerName+"',"+thisLayerNumber+")",10);

	}

}





function initLayerLoad(thisLayerNumber) {

	numberOfLayers = layerNames.length;

	if(thisLayerNumber <= (numberOfLayers-1)) {

		loadAllLayers(layerNames[thisLayerNumber],layerURLs[thisLayerNumber],thisLayerNumber);

	}

}





function setLayerPosition(thisLayer,positionLeft,positionTop) {

	var unit = "";

	thisLayer = document.all ? document.all[thisLayer] : document.getElementById ? document.getElementById(thisLayer) : NSStyle(thisLayer);

	thisLayer = document.layers ? thisLayer : thisLayer.style;

	if(document.getElementById) {unit = "px";}

	thisLayer.left = positionLeft + unit;

	thisLayer.top  = positionTop + unit;

	return;

}





function getLayerInformation(thisLayer) {

	thisLayerPosition = new Array();

	thisLayer = document.all ? document.all[thisLayer] : document.getElementById ? document.getElementById(thisLayer) : NSStyle(thisLayer);

	thisLayerPosition[0] = document.layers ? thisLayer.top : thisLayer.offsetTop;

	thisLayerPosition[1] = document.layers ? thisLayer.left : thisLayer.offsetLeft;

	thisLayerPosition[2] = document.layers ? thisLayer.document.width : thisLayer.offsetWidth;

	thisLayerPosition[3] = document.layers ? thisLayer.document.height : thisLayer.offsetHeight;

	return(thisLayerPosition);

}





function getScreenInformation() {

	thisScreenInformation = new Array();

	thisScreenInformation[0] = screen.width;

	thisScreenInformation[1] = screen.height;

	thisScreenInformation[2] = screen.colorDepth;

	thisScreenInformation[3] = document.all ? document.body.offsetWidth  : window.innerWidth; //Innerer Anzeigebereich

	thisScreenInformation[4] = document.all ? document.body.offsetHeight : window.innerHeight; //Innerer Anzeigebereich

	return(thisScreenInformation);

}





function getMouseInformation(myEvent) {

	thisMousePosition = new Array();

	if(nn4 || nn6) {

		thisMousePosition[0] = myEvent.pageX;

		thisMousePosition[1] = myEvent.pageY;

	}

	else {

		thisMousePosition[0] = window.event.clientX;

		thisMousePosition[1] = window.event.clientY;

	}

	return(thisMousePosition);

}



function disableEventHandlers() {
	document.releaseEvents(Event.MOUSEMOVE);
}

function enableEventHandlers() {
	document.captureEvents(Event.MOUSEMOVE);
	document.onmousemove = getMouseInformation;
}





function loadStart(srcList) {

	loadImgCount = 0;

	loadImgList = new Array();

	for (i = 0; i < srcList.length; i++) {

		loadImgList[i]					= new Image();

		loadImgList[i].onabort	= loadUpdate;

		loadImgList[i].onerror	= loadUpdate;

		loadImgList[i].onload 	= loadUpdate;

		loadImgList[i].src			= ImagePath + srcList[i];

	}

}



function loadUpdate() {

  loadImgCount++;

  if (loadImgCount == loadImgList.length) {

		loadImgCount = 0;

		startAnimation();

	}

}



function startAnimation() {

	ImageAmount = animationImages.length;

	if (animationImages[loopCounter] == "") {loopCounter++;}

	if (loopCounter >= ImageAmount) {loopCounter = 0;}

 	if(aniLayerName && nn4) {

 		NSStyle(aniLayerName).document.images[imageName].src = loadImgList[loopCounter].src;

 	}

 	else {

		document.images[imageName].src = loadImgList[loopCounter].src;

	}

	loopCounter++;

	LoopAnimation = setTimeout("startAnimation()",loopTime[loopCounter-1]);

}



function ToggleAnimation () {

	if (CheckAnimationStatus == 0) {

		clearTimeout(LoopAnimation);

		CheckAnimationStatus = 1;

	}

	else {

		startAnimation();

		CheckAnimationStatus = 0;

	}

}





function setZIndex(thisLayer,thisIndex) {

	if(nn4) {

			NSStyle(thisLayer).zIndex=thisIndex;

	}

	else if (ie4) {

		document.all[thisLayer].style.zIndex=thisIndex;

	}

	else {

		document.getElementById(thisLayer).style.zIndex=thisIndex;

	}

	return;

}





function writeIntoLayer(thisLayer,layerContent) {

	if(ie4) {

		document.all.tags("div")[thisLayer].innerHTML = layerContent;

	}

	else if(nn4) {

		NSStyle(thisLayer).document.open("text/html");

		NSStyle(thisLayer).document.write(layerContent);

		NSStyle(thisLayer).document.close();

	}

	else {

		document.getElementById(thisLayer).innerHTML = layerContent;

	}

}



var isScrolling;

var baseScrollSpeed = 1;



if(!nn6) {

  var baseScrollStep = 1;

 }

else {

  var baseScrollStep = 3;

 }



function initScroller() {

 for (var i=0; i<initScroller.arguments.length; ++i) {

	parentLayerName = initScroller.arguments[i] + "ScrollParent";

	parentLayerData = new Array();

	parentLayerData = getLayerInformation(parentLayerName);

	childLayerName  = initScroller.arguments[i] + "ScrollChild";

	childLayerData  = new Array();

	childLayerData  = getLayerInformation(childLayerName);

	if(nn4) {

     clipHeight = document.layers[parentLayerName].clip.height;

	 }

	else {

     clipHeight = parentLayerData[3];

    }

	if(childLayerData[3] > clipHeight) {

	  vSwitch(initScroller.arguments[i]+"ScrollControl",1);

	 }

  }

}



function stopScroll() {

 isScrolling = false;

}



function startScroll(scrollStep, layerName) {

 this.scrollStep = scrollStep;

 this.layerName  = layerName;

 isScrolling     = true;

 parentLayerName = layerName + "ScrollParent";

 childLayerName  = layerName + "ScrollChild";

 doScroll(scrollStep);

}



function doScroll(scrollStep) {

 this.scrollStep = scrollStep;



 parentLayerData = new Array();

 parentLayerData = getLayerInformation(parentLayerName);



 childLayerData  = new Array();

 childLayerData  = getLayerInformation(childLayerName);



 if(scrollStep>0) {

   if(nn4) {

     clipHeight = document.layers[parentLayerName].clip.height;

    }

   else {

     clipHeight = parentLayerData[3];

    }



   if(childLayerData[0] > -(childLayerData[3] - clipHeight)) {

     setLayerPosition(childLayerName,0,(childLayerData[0]-scrollStep));

    }

  }

 else {

   if(childLayerData[0] < 0) {

     setLayerPosition(childLayerName,0,(childLayerData[0]-scrollStep));

    }

  }

 if(isScrolling) {

 	setTimeout("doScroll(scrollStep)",baseScrollSpeed);

  }

}



function splitSearchstring() {

	parameterArray = unescape(self.location.search).substring(1).split("&");

	if (self.location.search.indexOf("=") == -1) {return;}

	for (var i=0;i<parameterArray.length;i++) {

		parameterArray[i] = parameterArray[i].split("=");

		eval("query." + parameterArray[i][0] + " = \"" + parameterArray[i][1] + "\"");

	}

}



function emailCheck(emailStr) {

	var emailPat=/^(.+)@(.+)$/;

	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";

	var validChars="\[^\\s" + specialChars + "\]";

	var quotedUser="(\"[^\"]*\")";

	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;

	var atom=validChars + '+';

	var word="(" + atom + "|" + quotedUser + ")";

	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");

	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

	var matchArray=emailStr.match(emailPat)

	if (matchArray==null) {

		return false;

	}

	var user=matchArray[1]

	var domain=matchArray[2]

	if (user.match(userPat)==null) {

		return false;

	}

	var IPArray=domain.match(ipDomainPat);

	if (IPArray!=null) {

		for (var i=1;i<=4;i++) {

			if (IPArray[i]>255) {

				return false;

			}

		}

		return true;

	}

	var domainArray=domain.match(domainPat);

	if (domainArray==null) {

		return false;

	}

	var atomPat=new RegExp(atom,"g");

	var domArr=domain.match(atomPat);

	var len=domArr.length;

	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) {

		return false;

	}

	if (len<2) {

		return false;

	}

	return true;

}



function MM_findObj(n, d) { //v4.0

  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {

    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}

  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];

  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);

  if(!x && document.getElementById) x=document.getElementById(n); return x;

}



function MM_controlShockwave(objStr,x,cmdName,frameNum) { //v3.0

  var obj=MM_findObj(objStr);

  if (obj) {eval('obj.'+cmdName+'('+((cmdName=='GotoFrame')?frameNum:'')+')')};

}



function resetTitles(formname,errorLyr) {

	for (var i=0; i < field.length; i++) {

		if (document.all) {

			eval("document.all.tags('span')['title"+ field[i] +"'].className='bodyFormDescNorm'");

		} else if (document.getElementsByTagName) {

			eval("document.getElementsByTagName('span')['title"+ field[i] +"'].className='bodyFormDescNorm'");

		}

	}

	if (document.layers) {

		document.layers[errorLyr].visibility = "hide";

	} else if (document.all) {

		document.all.tags('div')[errorLyr].style.visibility = "hidden";

	} else {

		document.getElementsByName(errorLyr).style.visibility = "hidden";

	}

	return true;

}



function check(formname,errorLyr) {

	//

	fixErrorLayerPositions(errorLyr); // new line @ 2002-10-04 by pseliger - function at end of "standard.js"

	//

	var formOk = 0;

	if (!document.layers) {

		for (var i=0; i < field.length; i++) {

		  if (document.forms[formname].elements[field[i]].type == "checkbox") {

		  	if (!document.forms[formname].elements[field[i]].checked) {

				if (document.all){eval("document.all.title"+ field[i] +".className='bodyFormDescNormError'");}

				else {eval("document.getElementById('title"+ field[i] +"').className='bodyFormDescNormError'");}

				vSwitch(errorLyr,1);

		  	} else {

				if (document.all){eval("document.all.title"+ field[i] +".className='bodyFormDescNorm'");}

				else {eval("document.getElementById('title"+ field[i] +"').className='bodyFormDescNorm'");}

				formOk += 1;

		  	}

		  } else {

	   		if (document.forms[formname].elements[field[i]].value == "") {

				if (document.all){eval("document.all.title"+ field[i] +".className='bodyFormDescNormError'");}

				else {eval("document.getElementById('title"+ field[i] +"').className='bodyFormDescNormError'");}

			}

			else if ((document.forms[formname].elements[field[i]].value != "") && (!document.forms[formname].elements[field[i]].value.match(fieldregexp[i]))) {

				if (document.all){eval("document.all.title"+ field[i] +".className='bodyFormDescNormError'");}

				else {eval("document.getElementById('title"+ field[i] +"').className='bodyFormDescNormError'");}

			} else {

				if (document.all){eval("document.all.title"+ field[i] +".className='bodyFormDescNorm'");}

				else {eval("document.getElementById('title"+ field[i] +"').className='bodyFormDescNorm'");}

				formOk += 1;

			}

		  }

		}

		if (formOk == field.length) {

			vSwitch(errorLyr,0);

			return true;

		} else {

			window.scrollTo(0,0);

			vSwitch(errorLyr,1);

			return false;

		}

	} else {

		for (var i=0; i < field.length; i++) {

		  if (document.forms[formname].elements[field[i]].type == "checkbox") {

		  	if (!document.forms[formname].elements[field[i]].checked) {

				msg += fieldmsg[i] + "\n";

				if (errorLyr != null) {

					document.layers[errorLyr].visibility = 'show';

				}

		  	} else {

				formOk += 1;

		  	}

		  } else {

	   		if (document.forms[formname].elements[field[i]].value == "") {

				msg += fieldmsg[i] + "\n";

				if (errorLyr != null) {

					document.layers[errorLyr].visibility = 'show';

				}

			}

			if ((document.forms[formname].elements[field[i]].value != "")&&(!document.forms[formname].elements[field[i]].value.match(fieldregexp[i]))) {

				regmsg += fieldmsg[i] + "\n";

				if (errorLyr != null) {

					document.layers[errorLyr].visibility = 'show';

				}

			}

			if ((document.forms[formname].elements[field[i]].value != "")&&(document.forms[formname].elements[field[i]].value.match(fieldregexp[i]))){

				msg += "";

				regmsg += "";

				formOk += 1;

			}

		  }

		}

		if (msg != "") {msg = start + msg + end;}

		if (regmsg != "") {regmsg = regstart + regmsg + regend;}

		if ((msg != "") || (regmsg !="")) {

			alert(msg+regmsg);

			msg = "";

			regmsg = "";

	 	}

		if (formOk == field.length) {

			document.layers[errorLyr].visibility = 'hide';

			return true;

		} else {

			window.scrollTo(0,0);

			document.layers[errorLyr].visibility = 'show';

			return false;

		}

	}

}



//	begin new block @ 2002-10-04 by pseliger

	var getObjectAbsoluteLeft = null;

	var getObjectAbsoluteTop = null;

	var moveErrorLayerTo = null;

	if (document.layers) {

		getObjectAbsoluteLeft = function(obj) {return obj.x;}

		getObjectAbsoluteTop = function(obj) {return obj.y;}

		moveErrorLayerTo = function(layName,x,y) {document.layers[layName].moveTo(x,y);}

	} else {

		getObjectAbsoluteLeft = function(obj) {

			var x = 0;

			while (obj.offsetParent != null) {

				x += obj.offsetLeft;

				obj = obj.offsetParent;

			}

			x += obj.offsetLeft;

			return x;

		}

		getObjectAbsoluteTop = function(obj) {

			var y = 0;

			while (obj.offsetParent != null) {

				y += obj.offsetTop;

				obj = obj.offsetParent;

			}

			y += obj.offsetTop;

			return y;

		}

		if (document.getElementsByTagName) {

			moveErrorLayerTo = function(layName,x,y) {

				document.getElementsByTagName("div")[layName].style.left = x;

				document.getElementsByTagName("div")[layName].style.top = y;

			}

		} else if (document.all) {

			moveErrorLayerTo = function(layName,x,y) {

				document.all.tags("div")[layName].style.left = x;

				document.all.tags("div")[layName].style.top = y;

			}

		}

	}



function fixErrorLayerPositions(layerName) {

	if (!document.images[layerName+"Pin"]) {

		return;

	}

	var imgObj = document.images[layerName+"Pin"];

//	alert("left = "+getObjectAbsoluteLeft(imgObj)+"\ntop = "+getObjectAbsoluteTop(imgObj));

	moveErrorLayerTo(layerName,getObjectAbsoluteLeft(imgObj),(getObjectAbsoluteTop(imgObj)-2)); // y-position needs a bit of correction in order to match with the borders of the form

}

// end new block @ 2002-10-04 by pseliger