// -- Adobe GoLive JavaScript Library
// -- Global Functions
CSStateArray = new Object;
CSCookieArray = new Object;
CSCookieValArray = new Object;
function CSWriteCookie(action) {
	var name   = "DFT" + action[1];
	var hrs    = action[2];
	var path   = action[3];
	var domain = action[4];
	var secure = action[5];	
	var exp    = new Date((new Date()).getTime() + hrs * 3600000);	
	var cookieVal = "";
	for(var prop in CSCookieArray) {
		if(("DFT" + CSCookieArray[prop]) == name) {
			if(cookieVal != "") cookieVal += "&";
			cookieVal += prop + ":" + escape(CSStateArray[prop]);
		}
	}
	if(hrs != 0)
		cookieVal += "; expires=" + exp.toGMTString();
	if(path != "")
		cookieVal += "; path=" + path;
	if(domain != "")
		cookieVal += "; domain=" + domain;
	if(secure == true)
		cookieVal += "; secure";
	document.cookie = name + '=' + cookieVal;
}
function CSReadCookie(action) {
	var name    = "DFT" + action[1];
	var cookies = document.cookie;
	if(cookies == "") return;
	var start = cookies.indexOf(name);
	if(start == -1) return;
	start += name.length + 1;
	var end = cookies.indexOf(";", start);
	if(end == -1) end = cookies.length;
	var cookieVal = cookies.substring(start, end);
	var arr = cookieVal.split('&');
	for(var i = 0; i < arr.length; i++) {
		var a = arr[i].split(':');
		CSStateArray[a[0]] = unescape(a[1]);
	}	
}
function CSDefineState(action) {
	CSCookieArray[action[1]] = action[3]; 
}
function CSSetState(action) {
	CSStateArray[action[1]] = action[2];
}
function CSInitState(action) {
	if(typeof(CSStateArray[action[1]]) == "undefined")
		CSStateArray[action[1]] = action[2];
}
function CSCheckState(action) {
	var obj1 = CSStateArray[action[1]];
	var obj2 = action[2];
	if(typeof(obj1) == "object") {
		for(var i=0;i<obj1.length;i++) {
			if(obj1[i] != obj2[i])
				return false;
			}
		return true;
		}
	var res;
	var op = action[3];
		     if(op == "==") res = (CSStateArray[action[1]] == action[2]);	
		else if(op == "!=") res = (CSStateArray[action[1]] != action[2]);	
		else if(op == ">" ) res = (CSStateArray[action[1]] >  action[2]);	
		else if(op == ">=") res = (CSStateArray[action[1]] >= action[2]);	
		else if(op == "<" ) res = (CSStateArray[action[1]] <  action[2]);	
		else if(op == "<=") res = (CSStateArray[action[1]] <= action[2]);	
	return res;
}
function CSScriptInit() {
if(typeof(skipPage) != "undefined") { if(skipPage) return; }
idxArray = new Array;
for(var i=0;i<CSInit.length;i++)
	idxArray[i] = i;
CSAction2(CSInit, idxArray);
}
CSInit = new Array;
CSExit = new Array;
CSStopExecution=false;
function CSAction(array) {return CSAction2(CSAct, array);}
function CSAction2(fct, array) { 
	var result;
	for (var i=0;i<array.length;i++) {
		if(CSStopExecution) return false; 
		var aa = fct[array[i]];
		if (aa == null) return false;
		var ta = new Array;
		for(var j=1;j<aa.length;j++) {
			if((aa[j]!=null)&&(typeof(aa[j])=="object")&&(aa[j].length==2)){
				if(aa[j][0]=="VAR"){ta[j]=CSStateArray[aa[j][1]];}
				else{if(aa[j][0]=="ACT"){ta[j]=CSAction(new Array(new String(aa[j][1])));}
				else ta[j]=aa[j];}
			} else ta[j]=aa[j];
		}			
		result=aa[0](ta);
	}
	return result;
}
CSAct = new Object;
function CSClickReturn () {
	var bAgent = window.navigator.userAgent; 
	var bAppName = window.navigator.appName;
	if ((bAppName.indexOf("Explorer") >= 0) && (bAgent.indexOf("Mozilla/3") >= 0) && (bAgent.indexOf("Mac") >= 0))
		return true; // dont follow link
	else return false; // dont follow link
}
// -- Action Functions
// OUT PNG library 1.0.7
// Script copyright 2004 OUT Media Design GmbH. All rights reserved.
function OUTpngBrowserCheck(){
// Code partially taken from:
// Browser Detect Lite  v2.1 <http://www.dithered.com/javascript/browser_detect/index.html>
// modified by Chris Nott (chris@NOSPAMdithered.com - remove NOSPAM)
// modified by Oliver Zahorka
	var ua=navigator.userAgent.toLowerCase(); 
	this.ua=ua;
	// browser name
	this.isGecko=(ua.indexOf('gecko')>=0);
	this.isMozilla=(this.isGecko && ua.indexOf("gecko/")+14 == ua.length);
	this.isNS=((this.isGecko)?(ua.indexOf('netscape')>=0):((ua.indexOf('mozilla')>=0) && (ua.indexOf('spoofer')<0) && (ua.indexOf('compatible')<0) && (ua.indexOf('opera')<0) && (ua.indexOf('webtv')<0) && (ua.indexOf('hotjava')<0)));
	this.isIE=((ua.indexOf("msie")>=0) && (ua.indexOf("opera")<0) && (ua.indexOf("webtv")<0)); 
	this.isOpera=(ua.indexOf("opera")>=0); 
	this.isAol=(ua.indexOf("aol")>=0); 
	// browser version
	this.vers=parseFloat(navigator.appVersion); 
	// correct version number for NS6+ 
	if (this.isNS && this.isGecko){this.vers=parseFloat(ua.substring(ua.lastIndexOf('/')+1));}
	// correct version number for IE4+ 
	else if (this.isIE && this.vers >= 4){this.vers=parseFloat(ua.substring(ua.indexOf('msie ')+5));}
	// correct version number for Opera 
	else if (this.isOpera){if (ua.indexOf('opera/')>=0){this.vers=parseFloat(ua.substring(ua.indexOf('opera/')+6));}else{this.vers=parseFloat(ua.substring(ua.indexOf('opera ')+6));}}
	// platform
	this.isWin  =(ua.indexOf('win')>=0);
	this.isMac  =(ua.indexOf('mac')>=0);
	this.isUnix =(ua.indexOf('unix')>=0 || ua.indexOf('linux')>=0 || ua.indexOf('sunos')>=0 || ua.indexOf('bsd')>=0 || ua.indexOf('x11')>=0)
}
function OUTcheckPNGSupport()
{
	var b=new OUTpngBrowserCheck();
	// support for PNG via AlphaImageLoader, if is IE5.5+ on windows; set flag to 1
	if (b.isIE && b.vers>=5.5) return 1;
	// no support for PNG; set flag to -1 for Opera < 6 on Win/Unix, Opera < 5 on Mac, Netscape < 5, AOL
	else if ((b.isIE && b.isWin) || (b.isIE && b.isMac && b.vers < 5) || (b.isOpera && (b.isWin || b.isUnix) && b.vers < 6) || (b.isOpera && b.isMac && b.vers < 5) || (b.isNS && b.vers < 5) || b.isAol) return -1;
	// support for PNG right away; set flag to 0 for all others
	else return 0;
}
var OUTpngSupport=OUTcheckPNGSupport();
function OUTisPNGsrc(s,n){s=s.toLowerCase();n="."+n.toLowerCase();return s.lastIndexOf(n)==(s.length-n.length);}
function OUTpngImgReplace(img,isrc,psrc,rsrc){
	if (OUTpngSupport>0 && psrc && psrc!="#" && isrc && isrc!="#"){
		img.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+isrc+"', sizingMethod='scale')";
		img.src=psrc;
	}
	if(OUTpngSupport<0 && rsrc && rsrc!="#"){img.src=rsrc;}
	if(OUTpngSupport==0 && isrc && isrc!="#" && img.src!=isrc){img.src=isrc;}
}
function OUTpngCSILoadTrans(s) {if(typeof(CSIm)!="undefined"){for(var n in CSIm){CSIm[n][4]=new Image();CSIm[n][4].src=s;}}}
function OUTpngCSIShow(n,i) {
	if (document.images) {
		if (CSIm[n]) {
			var img=CSGetImage(n);
			if (img&&typeof(CSIm[n][i].src)!="undefined") {
				if(!OUTisPNGsrc(CSIm[n][i].src,"png")) img.src=CSIm[n][i].src;
				else OUTpngImgReplace(img,CSIm[n][i].src,CSIm[n][4].src,"#")
			}
			if(i!=0) self.status=CSIm[n][3]; else self.status=" ";
			return true;
		}
	}
	return false;
}
function OUTpngRolloverInit(a) {OUTpngCSILoadTrans(a[1]); if(typeof(CSIShow)!="undefined" && OUTpngCSIShow)CSIShow=OUTpngCSIShow;}
//
// OUT PNG Transparency for IE 1.0.6
// Script copyright 2004 OUT Media Design GmbH. All rights reserved.
function OUTpngIEBgReplace(style,s,m){
	style.backgroundImage="";
	style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+s+"', sizingMethod='"+m+"')";
}
function OUTiePNGimgXparency(a) {
	/* check browser */
	if (OUTpngSupport>0){
		/* add Smart Rollover support */
		OUTpngRolloverInit(a);
		/* replace img */
		if(document.images){
			for (var i=0;i<document.images.length;i++) {
				var img=document.images[i];
				if(img&&OUTisPNGsrc(img.src,a[2]))OUTpngImgReplace(img,img.src,a[1],"#");
			}
		}
		/* replace style backgrounds */
		if (a[3] && document.all) {
			for(var i=0;i<document.all.length;i++){
			 	var e=document.all[i],s=null;
			 	if (e.background) s=e.background;
			 	else if (e.style && e.style.backgroundImage) {
			 		s=e.style.backgroundImage;
			 		s=s.substr(4,s.length-5);
			 	}
			 	if(s&&OUTisPNGsrc(s,a[2])){e.background="";OUTpngIEBgReplace(e.style,s,a[4]);}
			}
		}
		/* replace css backgrounds */
		if (a[5] && document.styleSheets) {
			for (var j=0; j<document.styleSheets.length; j++){
				for(var i=0;i<document.styleSheets[j].rules.length;i++){
				 	var e=document.styleSheets[j].rules[i],s=null;
				 	if (e.style && e.style.backgroundImage) {
				 		s=e.style.backgroundImage;
				 		s=s.substr(4,s.length-5);
				 	}
				 	if(s&&OUTisPNGsrc(s,a[2]))OUTpngIEBgReplace(e.style,s,a[6]);
				}
			}
		}
	}
}
//
//-->
// OUT Open Image Window Action v1.2.6
// Script copyright 1999, 2000 OUT Media Design GmbH. All rights reserved.
function OUTOpenImageWindow(action) {
	var imgWinW = action[3];
	var imgWinH = action[4];
	var bgImg = action[16] ? ' BACKGROUND="'+action[15]+'" ' : '';
	var bVers=window.navigator.appVersion.substring(0,1);
	var isMac = window.navigator.userAgent.indexOf("Mac") >= 0;
	var isNN = window.navigator.appName.indexOf("Netscape")>=0;
	var isIE = window.navigator.appName.indexOf("Explorer")>=0;
	var wOffset = (bVers<4 && isNN) ? 9 : action[14];
	imgWinW += 2*wOffset;
	imgWinH += 2*wOffset;
	var wf = "";	
	wf = wf + "width=" + imgWinW;
	wf = wf + ",height=" + imgWinH;
	wf = wf + ",resizable=" + (action[5] ? "no" : "yes");
	wf = wf + ",scrollbars=" + (action[6] ? "no" : "yes");
	wf = wf + ",menubar=" + (action[7] ? "no" : "yes");
	wf = wf + ",toolbar=" + (action[8] ? "no" : "yes");
	wf = wf + ",directories=" + (action[9] ? "no" : "yes");
	wf = wf + ",location=" + (action[10] ? "no" : "yes");
	wf = wf + ",status=" + (action[11] ? "no" : "yes");
	var newImgWin = window.open("",action[2],wf);
	newImgWin.saveResizable = !action[5];
	
	newImgWin.document.writeln('<HTML><HEAD><TITLE>'+action[13]+'</TITLE></HEAD>');
	newImgWin.document.writeln('<BODY BGCOLOR="'+action[12]+'"'+bgImg+' MARGINWIDTH="'+action[14]+'" MARGINHEIGHT="'+action[14]+'" LEFTMARGIN="'+action[14]+'" TOPMARGIN="'+action[14]+'">');
	newImgWin.document.write('<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%" HEIGHT="100%"><TR><TD VALIGN="middle" ALIGN="center"><IMG SRC="'+action[1]+'"');
	if (action[17] && bVers>=4) newImgWin.document.write(' ONLOAD="var imgWinW=this.width+'+2*wOffset+';var imgWinH=this.height+'+2*wOffset+';if(window.setResizable) window.setResizable(true);window.resizeTo(imgWinW, imgWinH);if (window.setResizable) window.setResizable(window.saveResizable);if(window.document.body && (window.document.body.clientWidth!=imgWinW || window.document.body.clientHeight!=imgWinH)) { window.resizeTo(2*imgWinW-window.document.body.clientWidth,2*imgWinH-window.document.body.clientHeight);}"');
	newImgWin.document.writeln('></TD></TR></TABLE>');
	newImgWin.document.writeln('</BODY></HTML>');
	newImgWin.document.close();
	if(bVers>=4 && !action[17]) { //do chrome compensation now
		if (isNN && newImgWin.setResizable) newImgWin.setResizable(true);
		if (!(isIE && isMac)) newImgWin.resizeTo(imgWinW,imgWinH);
		if (isNN && newImgWin.setResizable) newImgWin.setResizable(!action[5]);
		if(isIE && !isMac && (newImgWin.document.body.clientWidth!=imgWinW || newImgWin.document.body.clientHeight!=imgWinH)) newImgWin.resizeTo(2*imgWinW-newImgWin.document.body.clientWidth,2*imgWinH-newImgWin.document.body.clientHeight);
	}
	if(action[18] && bVers>=4 && !(isMac && isIE && bVers<5)) newImgWin.focus();
}
//NoSpam Action v1.1  AardActions by Jim Aardvark. Copyright 2003. seanclayton@tinkers-inc.co.uk
function JAnoSpam(action){
var user=action[1];
var domain=action[2];
var suffix=action[3];
var subject=action[4];
document.write('<a href="' + 'mailto:' + user + '@' + domain + suffix + '?subject=' + subject + '">' + user + '@' + domain + suffix + '</a>');
}
function WBConfirmLink(action) {
	 if (checkIt(action)) {
		 if (action[2] != "(Empty Reference!)" && action[2] != "(EmptyReference!)") {
		 	if (action[3].length < 1) {
				parent.location.href=action[2];
			}
			else if (action[3] == "_blank") {
				window.open(action[2],'newWin','toolbar=yes,location=yes,status=yes,scrollbars=yes,resizable=yes,menubar=yes')
			}
			else {
				parent.frames[action[3]].location.href=action[2];
			}
		}
	}
	return;
}
function checkIt(action) {
	var carryOn = window.confirm(action[1]);
	return carryOn;
	}
function CSCallAction(action)
{
	CSAction(new Array(action[1]));
}
// OUT Execute JavaScript Action
// Script copyright 1999, OUT Media Design GmbH. All rights reserved.
function OUTexecuteJS(action) {
	return eval(action[1]);
}
var textErrFlag=false // Copyright 2004 Michael Åhgren version: 1.3 
var radioErrFlag=false
var selectErrFlag=false
var matchErrFlag=false
var errMsg=null
var color=""
var radioArray=new Array()
var selectArray=new Array()
var radioCount=0
var selectCount=0
var colorTest=false
var errColor=null
var colorEnabled=false
function CSinitCheck(action){
colorEnabled=action[10]
textErrFlag=false
radioErrFlag=false
selectErrFlag=false
errColor=action[8]
var testForm=eval("document."+action[9])
errFlag=false
action[4]!="" ? errMsg=action[4]+"\n" : errMsg='The following problems have been detected:\n'
for(var i=0; i< testForm.length;i++){
var target=testForm.elements[i]
	if (!document.layers){
	!colorTest ? target.orgcol=target.style.backgroundColor : target.style.backgroundColor= target.orgcol
	}
	if(target.type=="select-one"|| target.type=="select-multiple"){
	CSbuildSelectArray (testForm.elements[i])	
	target.size>1 ? target.unChecked=-1 : target.unChecked=-0
	}
	if(target.type=="radio") CSbuildRadioArray(target)		
	if(target.type=="text"|| target.type=="textarea"){
	target.empty=false
	}
}
colorTest=true
if(action[1]!=""){
	var emptCheck=CSsplitFieldNames(action[1])
	var times1=emptCheck.length
	CSrunCheck(1,emptCheck,times1,testForm,action[10],action[7])
}
if(action[2]!=""){
	var emailCheck=CSsplitFieldNames(action[2])
	var times2=emailCheck.length
	CSrunCheck(2,emailCheck,times2,testForm,action[10],action[5])
}
if(action[3]!=""){
	var phoneCheck=CSsplitFieldNames(action[3])
	var times3=phoneCheck.length
	CSrunCheck(3,phoneCheck,times3,testForm,action[10],action[6])
}
if(action[11]!=""){
	var radioCheck=CSsplitFieldNames(action[11])
	for( i=0;i< radioCheck.length;i++){
	CSradioTest(radioCheck[i],action[10],action[13])
}
}
if (action[12]!=""){
var selectCheck=CSsplitFieldNames(action[12])
for( i=0;i< selectCheck.length;i++){
CSselectTest(selectCheck[i],action[10],action[14])
}
selectCount=0
}
if (action[15]!=""){
CSmatchField(action)
}
if (textErrFlag || radioErrFlag || selectErrFlag || matchErrFlag){
alert(errMsg)
}else{
testForm.submit()
}
}
function CSrunCheck(type,data,times,formName,bColor,msgAction){
	for(var i=0; i< formName.length;i++){
	var target=formName.elements[i]
		if(target.type=="text"|| target.type=="textarea"||target.type=="password"){
			var target=formName.elements[i]
				for(var j=0; j< times; j++){	
					if(type==1){					
						if(target.name	==data[j]&&target.value==""){
						msgAction!="" ? errMsg+=(msgAction+' "'+target.name+'"\n') : errMsg+=('The field "'+target.name+'" is empty.\n');
						target.empty=true
						CSsetColor(target)
						textErrFlag=true
						}
					}
					if(type==2){
						var reE=/^[\w\S?]+@(\w|\w\S?\w|\w[\w+\S+]+\w)\.\w+\b/
						var reTest=reE.test(target.value)
						if (navigator.userAgent.indexOf("Opera")!=-1) reTest=true
						var reE2at=/@/
						reE2at.test(target.value)
						var test2at=RegExp.rightContext
						if(target.name==data[j] && !target.empty&& ( target.value.indexOf("@",1)==-1 || 	target.value.indexOf(".",1)==-1 || !reTest || target.value.indexOf(".")==0 || reE2at.test(test2at))){
						msgAction !="" ? errMsg+=(msgAction+' "'+target.name+'"\n') : errMsg+=('The field "'+target.name+'" contains an incorrect E-mail address.\n');
						CSsetColor(target) 
						target.empty=true
						textErrFlag=true
						}
					}
					if(type==3){
						var reP=/[!"@£¤$%#&=?\\^'*åäöÅÄÖ;:,><§µ½*\|]|[a-z]|[A-Z]/ 
						if(target.name	==data[j] &&  reP.test(target.value)&& !target.empty){
					msgAction!="" ? errMsg+=(msgAction+' "'+target.name+'"\n') :errMsg+=('The field "'+target.name+'" contains illegal charater(s).\n');
						CSsetColor(target)
						textErrFlag=true;				
					}
				}		
			}
		}
	}
}
function CSsplitFieldNames(fieldNames){
afterSplit=fieldNames.split(",")
return afterSplit
}
function CSsetColor(target){
	if (!document.layers && colorEnabled){
	target.style.backgroundColor=errColor
}	
} 
function CSbuildRadioArray(target){
radioArray[radioCount]=target
radioCount++
}
function CSradioTest(groupName,bColor,msgAction){
var testResult=false
for (i=0;i< radioCount;i++){
	if(radioArray[i].name==groupName&&radioArray[i].checked){
		testResult=true
		break
	}
}
	if(!testResult){
		msgAction!="" ? errMsg+=(msgAction+' "'+groupName+'"\n') : errMsg+=('No radio button has been selected for: "'+groupName+'".\n');						
		radioErrFlag=true
			for (i=0;i< radioArray.length;i++){
				if(radioArray[i].name==groupName)
					CSsetColor(radioArray[i])			
		}
	}
radionCount=0
}
function CSbuildSelectArray(target){
selectArray[selectCount]=target
selectCount++
}
function CSselectTest(listName,bColor,msgAction){
for (var i=0;i < selectCount;i++){
	if (selectArray[i].name==listName && selectArray[i].selectedIndex==0 && 		selectArray[i].unChecked==0)  {
		msgAction!="" ? errMsg+=(msgAction+' "'+selectArray[i].name+'"\n') : errMsg+=('No selection has been made from the list: "'+ selectArray[i].name+'"\n')	;				
		CSsetColor(selectArray[i])
		selectErrFlag=true			
		}
	} 
} 
function CSmatchField(action){
newData=CSsplitFieldNames(action[15])
var target1=eval("document."+action[9]+"."+newData[0])
var target2=eval("document."+action[9]+"."+newData[1])
	if(target1.value==target2.value){
		matchErrFlag=false
	}else{
		matchErrFlag=true;
		CSsetColor(target1);
		CSsetColor(target2);
			if (action[16]==""){
				
				errMsg+='Your entry in the field "'+newData[0]+'" doesn\'t match your entry in the field "'+newData[1]+'".'
				}else{
				errMsg+=action[16];
				
				}
		}
	
}
// Copyright 2004 Michael Åhgren
//
//-->
// EOF
