// -- 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;
}
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
}
function CSURLPopupShow(formName, popupName, target) {
	var form  = (!IsIE()&&CSBVers>=5)?document.forms[formName]:CSFindElement(formName);
	var popup = form.elements[popupName];
	window.open(popup.options[popup.selectedIndex].value, target);
	popup.selectedIndex = 0;
}
CSAg = window.navigator.userAgent; CSBVers = parseInt(CSAg.charAt(CSAg.indexOf("/")+1),10);
CSIsW3CDOM = ((document.getElementById) && !(IsIE()&&CSBVers<6)) ? true : false;
function IsIE() { return CSAg.indexOf("MSIE") > 0;}
function CSIEStyl(s) { return document.all.tags("div")[s].style; }
function CSNSStyl(s) { if (CSIsW3CDOM) return document.getElementById(s).style; else return CSFindElement(s,0);  }
CSIImg=false;
function CSInitImgID() {if (!CSIImg && document.images) { for (var i=0; i<document.images.length; i++) { if (!document.images[i].id) document.images[i].id=document.images[i].name; } CSIImg = true;}}
function CSFindElement(n,ly) { if (CSBVers<4) return document[n];
	if (CSIsW3CDOM) {CSInitImgID();return(document.getElementById(n));}
	var curDoc = ly?ly.document:document; var elem = curDoc[n];
	if (!elem) {for (var i=0;i<curDoc.layers.length;i++) {elem=CSFindElement(n,curDoc.layers[i]); if (elem) return elem; }}
	return elem;
}
function CSGetImage(n) {if(document.images) {return ((!IsIE()&&CSBVers<5)?CSFindElement(n,0):document.images[n]);} else {return null;}}
CSDInit=false;
function CSIDOM() { if (CSDInit)return; CSDInit=true; if(document.getElementsByTagName) {var n = document.getElementsByTagName('DIV'); for (var i=0;i<n.length;i++) {CSICSS2Prop(n[i].id);}}}
function CSICSS2Prop(id) { var n = document.getElementsByTagName('STYLE');for (var i=0;i<n.length;i++) { var cn = n[i].childNodes; for (var j=0;j<cn.length;j++) { CSSetCSS2Props(CSFetchStyle(cn[j].data, id),id); }}}
function CSFetchStyle(sc, id) {
	var s=sc; while(s.indexOf("#")!=-1) { s=s.substring(s.indexOf("#")+1,sc.length); if (s.substring(0,s.indexOf("{")).toUpperCase().indexOf(id.toUpperCase())!=-1) return(s.substring(s.indexOf("{")+1,s.indexOf("}")));}
	return "";
}
function CSGetStyleAttrValue (si, id) {
	var s=si.toUpperCase();
	var myID=id.toUpperCase()+":";
	var id1=s.indexOf(myID);
	if (id1==-1) return "";
	s=s.substring(id1+myID.length+1,si.length);
	var id2=s.indexOf(";");
	return ((id2==-1)?s:s.substring(0,id2));
}
function CSSetCSS2Props(si, id) {
	var el=document.getElementById(id);
	if (el==null) return;
	var style=document.getElementById(id).style;
	if (style) {
		if (style.left=="") style.left=CSGetStyleAttrValue(si,"left");
		if (style.top=="") style.top=CSGetStyleAttrValue(si,"top");
		if (style.width=="") style.width=CSGetStyleAttrValue(si,"width");
		if (style.height=="") style.height=CSGetStyleAttrValue(si,"height");
		if (style.visibility=="") style.visibility=CSGetStyleAttrValue(si,"visibility");
		if (style.zIndex=="") style.zIndex=CSGetStyleAttrValue(si,"z-index");
	}
}
// -- Action Functions
function CSprintdocument(action){
if ((navigator.appName.indexOf("Microsoft") != -1 && navigator.platform.indexOf("Mac") != -1) || (navigator.appName.indexOf("Microsoft") != -1 && navigator.appVersion.indexOf("3.0") != -1)) {
alert("Please use your browser\'s print command to print this document.");
	} else {
	(action[1] != "") ? (parent.frames[action[1]].print()) : (parent.print());
	}
}
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;
	}
var thelongdate="";
var browser="";
var theref='';
var theOS="";
function browserchecker() {
var bName = navigator.appName;
var bVersion = parseInt(navigator.appVersion);
// check for Netscape
if (bName == "Netscape") {
browser = bName+' Navigator '+bVersion;
}
else {
// check for MSIE
if (bName == "Microsoft Internet Explorer") {
if (bVersion >= 4) {
browser = bName+' '+bVersion;
// check for IE5/6
	if (navigator.appVersion.indexOf("MSIE 5")!=-1) {
		browser = bName+' 5';
	}
	else if (navigator.appVersion.indexOf("MSIE 6")!=-1) {
		browser = bName+' 6';
	}
}
else {
browser = bName+' 3';
} // End of 'else' for browser = IEv3
} // End of 'if' for browser-name = MS IE
} // End of 'else' to check for MSIE
} // End of function browserchecker()
function getLongdate() {
var day="";
var month="";
var ampm="";
var ampmhour="";
var myweekday="";
var year="";
mydate = new Date();
myday = mydate.getDay();
mymonth = mydate.getMonth();
myweekday= mydate.getDate();
weekday= myweekday;
myyear= mydate.getFullYear();
year = myyear;
myhours = mydate.getHours();
ampmhour  =  (myhours > 12) ? myhours - 12 : myhours;
ampm =  (myhours >= 12) ? ' pm' : ' am';
mytime = mydate.getMinutes();
myminutes =  ((mytime < 10) ? ':0' : ':') + mytime;
if(myday == 0)
day = " Sunday, ";
else if(myday == 1)
day = " Monday, ";
else if(myday == 2)
day = " Tuesday, ";
else if(myday == 3)
day = " Wednesday, ";
else if(myday == 4)
day = " Thurday, ";
else if(myday == 5)
day = " Friday, ";
else if(myday == 6)
day = " Saturday, ";
if(mymonth == 0) {
month = "January ";}
else if(mymonth ==1)
month = "February ";
else if(mymonth ==2)
month = "March ";
else if(mymonth ==3)
month = "April ";
else if(mymonth ==4)
month = "May ";
else if(mymonth ==5)
month = "June ";
else if(mymonth ==6)
month = "July ";
else if(mymonth ==7)
month = "August ";
else if(mymonth ==8)
month = "September "
else if(mymonth ==9)
month = "October ";
else if(mymonth ==10)
month = "November ";
else if(mymonth ==11)
month = "December ";
thelongdate=ampmhour+""+myminutes+ampm+" on"+day+month+myweekday+", "+year;
} // End of function getLongdate()
// Beginning of OS code
function isWin95() {
if (navigator.appVersion.indexOf("95") !=-1)
return true;
else return false;
}
function isWin31() {
if (navigator.appVersion.indexOf("16") !=-1)
return true;
else return false;
}
function isMac() {
if ((navigator.appVersion.indexOf("PPC") !=-1 || navigator.userAgent.indexOf("PPC") !=-1) && (navigator.appVersion.indexOf("OS X") ==-1 && navigator.userAgent.indexOf("OS X") ==-1))
return true;
else return false;
}
function isOSX() {
if ((navigator.appVersion.indexOf("PPC") !=-1 || navigator.userAgent.indexOf("PPC") !=-1) && (navigator.appVersion.indexOf("OS X") !=-1 || navigator.userAgent.indexOf("OS X") !=-1))
return true;
else return false;
}
function is68k() {
if (navigator.appVersion.indexOf("68k") !=-1)
return true;
else return false;
}
function isSun() {
if (navigator.appVersion.indexOf("SunOS") !=-1)
return true;
else return false;
}
function isLinux() {
if (navigator.appVersion.indexOf("Linux") !=-1)
return true;
else return false;
}
function isHP() {
if (navigator.appVersion.indexOf("HP") !=-1)
return true;
else return false;
}
function isXP() {
if ((navigator.appVersion.indexOf("NT") !=-1) && (navigator.appVersion.indexOf("5.1") !=-1))
return true;
else return false;
}
function is2000() {
if ((navigator.appVersion.indexOf("NT") !=-1) && (navigator.appVersion.indexOf("5.0") !=-1))
return true;
else return false;
}
function isNT() {
if (navigator.appVersion.indexOf("NT") !=-1)
return true;
else return false;
}
function getOS() {
if (isWin95()) {
theOS="Windows 95"
}
else if (isWin31()) {
theOS="Windows 3.1"
}
else if (isMac()) {
theOS="Mac PPC"
}
else if (isOSX()) {
	theOS="Mac OS X"
	if (navigator.appVersion.indexOf("Safari") !=-1 || navigator.userAgent.indexOf("Safari") !=-1) {
		browser = "Safari";
	}
	else if (navigator.appVersion.indexOf("Firefox") !=-1 || navigator.userAgent.indexOf("Firefox") !=-1) {
		browser = "Firefox";
	}
}
else if (is68k()) {
theOS="MacOS 68k"
}
else if (isSun()) {
theOS="SunOS"
}
else if (isLinux()) {
theOS="Linux"
}
else if (isHP()) {
theOS="HP-UX"
}
else if (isXP()) {
theOS="Windows XP"
}
else if (is2000()) {
theOS="Windows 2000"
}
else if (isNT()) {
theOS="Windows NT"
}
else { theOS="(Unknown)"; }
} // End of function getOS()
// End of OS code
function getRefer() {
theref="(No referring page)";
if (document.referrer!=null || document.referrer!="" || document.referrer!=" ") {
theref=document.referrer;
if (theref=="") { theref = "(No referring page)"; }
} // End of if statement
else {
theref="(No referring page)";
} // End of else statement
} // End of function getRefer()
browserchecker();
getLongdate();
getOS();
getRefer();
var mybrowser = "You're viewing this page with " + browser;
var mydate = "\nat " + thelongdate;
var myOS = "\nunder the operating system " + theOS;
var myref = "\nand you came here from " + theref;
function getInfo(action) {
	if(action[1] == false) { mydate = ""; }
	if(action[2] == false) { myOS = ""; }
	if(action[3] == false) { myref = ""; }
	if (action[4] && action[5]) {
		if (window.confirm(mybrowser + mydate + myOS + myref + "." + "\n\nWould you like to email this information to the webmaster?")) {
			window.location="mailto:" + action[4] + "?subject=" + action[5] + "&body=" + "Browser = " + browser + " [" + navigator.userAgent + "]" + "; Operating System = " + theOS + "; Referring Page = " + theref;
		}
	}
	else {
		alert(mybrowser + mydate + myOS + myref + ".");
	}
}
// OpenPopUp 1.4.1 action by Nate Baldwin, www.mindpalette.com, copyright 2002
function MPOpenPopup(action) {
var posX = 0;
var posY = 0;
if (action[4] == true) {
	posX = Math.round((screen.availWidth/2)-(action[2]/2));
	posY = Math.round((screen.availHeight/2)-(action[3]/2));
	} else {
	posX = action[12];
	posY = action[13];
	}
if (action[16] == true) {
	posX = 0;
	posY = 0;
	action[2] = screen.availWidth;
	action[3] = screen.availHeight;
	}
for (i=5; i<12; i++) {
	action[i] == true ? action[i] = "yes" : action[i] = "no";
	}
var windowOptions = "";
windowOptions += "width=" + action[2];
windowOptions += ",height=" + action[3];
windowOptions += ",resizable=" + action[11];
windowOptions += ",scrollbars=" + action[5];
windowOptions += ",menubar=" + action[6];
windowOptions += ",toolbar=" + action[9];
windowOptions += ",directories=" + action[7];
windowOptions += ",location=" + action[10];
windowOptions += ",status=" + action[8];
windowOptions += ",left=" + posX;
windowOptions += ",top=" + posY;
window.open(action[15], action[1], windowOptions);
if (action[14] != "" && action[14] != "#" && action[14] != "(EmptyReference!)" && action[14] != "(Empty Reference!)")
	window.location = action[14];
}
//
//-->
function CSCallAction(action)
{
	CSAction(new Array(action[1]));
}
var textErrFlag=false // Copyright 2001 Michael Åhgren version: 011003 1313 
var radioErrFlag=false
var selectErrFlag=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 (textErrFlag || radioErrFlag || selectErrFlag){
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{2,3}\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			
		}
	} 
} // Copyright 2001 Michael Åhgren
// OUT Execute JavaScript Action
// Script copyright 1999, OUT Media Design GmbH. All rights reserved.
function OUTexecuteJS(action) {
	return eval(action[1]);
}
// EOF
