

if ( !document.all ) {
	if (document.getElementById){
		var ns6 = true;
	}
}
var ie4 = (document.all);
var ns4 = (document.layers);
var onInvalidMessageText;
var onInvalidMessageTextStem;
var OKtoPost;


function tellafriend() {
	document.location.href='/tellafriend/index.html?pagename=' + document.title + '&amp;url=' + document.location.href;
}
		
function onSubmitForm(theform) {
		
		OKtoPost = true;
		
		onInvalidMessageText = eval('onInvalidMessageTextStem' + theform.name);
		ValidationArray = eval('arr' + theform.name + 'ValidationTests');
		for (var i=0 ; i < ValidationArray.length; i++) {
			
			DoValidation(ValidationArray[i],theform);
		}
		//alert(OKtoPost);

		if (OKtoPost == false) {
			alert(onInvalidMessageText);
			//MessageBlock.innerHTML = onInvalidMessageText;
			//showLayer('invalidform' + theform.name);
		}
		else {
			theform.submit();
			//alert('form submit');
		}								
}

function DoValidation(strTest,theform) {

	// strTest Format is as follows
	// [fieldname]:[test 1];[test 1 onInvalidText]|[test 2];[test 2 onInvalidText]|[test 3]:[test 3 onInvalidText]|...|[test n]:[test n onInvalidText]

	var arrTest = new Array(2);
	arrTest =  strTest.split(":")
	var fieldname = arrTest[0];
	var arrTests = arrTest[1].split("|");
	marklabelasOK(theform.name + fieldname);
	for (var j=0; j < arrTests.length; j++) {


		var arrThisTest = new Array(2);
		arrThisTest = arrTests[j].split(";");
		var onInvalidText = arrThisTest[1];
		var arrTestDetails = new Array(2);
		arrTestDetails = arrThisTest[0].split("=");
		var thisvalue;
		eval("thisvalue = theform." + fieldname + ".value");
		var testresult;

		switch(arrTestDetails[0]) {

			case "email":
				testresult = IsEmail(thisvalue);
				if (testresult == false) {
					marklabelasinvalid(theform.name + fieldname);
					onInvalidMessageText = onInvalidMessageText + "\n - " + onInvalidText;
				}
				break;


			case "exists":
				
				testresult = DoesExist(thisvalue);
				if (testresult == false) {
					marklabelasinvalid(theform.name + fieldname);
					onInvalidMessageText = onInvalidMessageText + "\n - " + onInvalidText;
				}
				break;


			case "radiochecked":
				
				testresult = HasEnoughChecked(eval('theform.' + fieldname), 1);
				if (testresult == false) {
					marklabelasinvalid(theform.name + fieldname);
					onInvalidMessageText = onInvalidMessageText + "\n - " + onInvalidText;
				}
				break;



			case "length":					

				testresult = IsLongEnough(thisvalue, arrTestDetails[1]);
				if (testresult == false) {
					marklabelasinvalid(theform.name + fieldname);
					onInvalidMessageText = onInvalidMessageText + "\n - " + onInvalidText;
				}
				break;



			case "numchecked":					
				
				testresult = HasEnoughChecked(eval('theform.' + fieldname), arrTestDetails[1]);
				if (testresult == false) {
					marklabelasinvalid(theform.name + fieldname);
					onInvalidMessageText = onInvalidMessageText + "\n - " + onInvalidText;
				}
				break;

			case "maxlength":
				
				testresult = IsShortEnough(thisvalue, arrTestDetails[1]);
				if (testresult == false) {
				   marklabelasinvalid(theform.name + fieldname);
				   onInvalidMessageText = onInvalidMessageText + "\n - " + onInvalidText;
				}
				break;

		}
		OKtoPost = OKtoPost && testresult;
	}
}

//function marklabelasOK(fieldname) {
//	if (blnUseDropDown) {
//		if(document.all) {
//			document.all['fieldlabel' + fieldname].style.color = 'black';							
//		}
//	}	
//}



function marklabelasOK(fieldname) {
	if (ie4){
		labeldiv = eval('fieldlabel' + fieldname +'.style')
	}
	else{
		if (ns4){
			return true;
			//alert('marklabelasOK - document.fieldlabel' + fieldname);
			//labeldiv = eval('document.fieldlabel' + fieldname);
			
		}
		else{			
			labeldiv = eval('document.getElementById("fieldlabel' + fieldname + '").style');
		}
	}
	labeldiv.color='black';
}


function marklabelasinvalid(fieldname) {
	if (ie4){
		labeldiv = eval('fieldlabel' + fieldname +'.style')
	}
	else{
		if (ns4){
			return true;
			//alert('marklabelasinvalid - document.fieldlabel' + fieldname);
			//labeldiv = eval('document.fieldlabel' + fieldname);
			
		}
		else{			
			labeldiv = eval('document.getElementById("fieldlabel' + fieldname + '").style');
		}
	}
	labeldiv.color='red';
}

function showLayer(layername){
	if (ie4){
		if(eval(layername +'.style.visibility=="visible"')){hideLayer(layername);}
		else{eval(layername +'.style.visibility="visible"');}
	}
	else{
		if (ns4){
			if(eval('document.' + layername + '.visibility=="show"')){hideLayer(layername)}
			else{eval('document.' + layername + '.visibility="show"');}
		}
		else{
			if(eval('document.getElementById("' + layername + '").style.visibility=="visible"')){
				hideLayer(layername)
			}
			else{eval('document.getElementById("' + layername + '").style.visibility="visible"');}
		}
	}
}


function hideLayer(layername){
	if (ie4){
		eval(layername + '.style.visibility="hidden"');
	}
	else{
		if (ns4){
			eval('document.' + layername + '.visibility="hide"');
		}
		else{
			eval('document.getElementById("' + layername + '").style.visibility="hidden"');
		}
	}
}				
function IsEmail(str) {
	if (str.indexOf("@")==-1 && str.indexOf(".")==-1) {	
		return false;
	}
	else{
	
		var atSplit;
		
		atSplit = str.split("@");
		
		if (atSplit[0].length < 1 || atSplit[1] < 4){
			return false;
		}
		else{
			var dotSplit;
			
			dotSplit = atSplit[1].split(".")
			
			if (dotSplit[0].length < 1 || dotSplit[dotSplit.length-1].length < 2 ){
				return false;
			}
			else{
				return true;
			}
			
		}
		
	}
}


function DoesExist(str) {
	if (str=='') {	
		return false;
	}
	return true;
}


function IsLongEnough(str,strlen) {
	if (str.length < strlen) {
		return false;
	}
	return true;
}

function IsShortEnough(str,strlen) {
	if (str.length > strlen) {
		return false;
	}
	return true;
}

function HasEnoughChecked(checkboxfield,strlen) {
	var NumChecked = 0;
	for (var i=1; i <= checkboxfield.length; i++) {
		if (checkboxfield[i-1].checked) {NumChecked++}
	}
	
	if (NumChecked < strlen) {return false}
	return true;
}


function launchforce( loginurl, url )
{	
	window.open( loginurl, 'launchforce','toolbar=no,height=680,width=600,resizable=yes');
	self.setTimeout("window.open( '"+url+"', 'launchforce','toolbar=no,height=680,width=600,resizable=yes')", 2000) 	
}

//////////////////////
// COOKIE FUNCTIONS //
//////////////////////

function getCookie(name) {
	var cookies=document.cookie.split("; ");
	for (var i=0; i<cookies.length; i++) {
		var cookie=cookies[i].split("=");
		if (cookie[0]==name) {
			return unescape(cookie[1]);
		}
	}
	return null;
}

function setCookie(name, value, expires, path, domain, secure) {
	var cookie=name+"="+escape(value);
	if (expires) {
		cookie+="; expires="+expires.toGMTString();
	}
	if (path) {
		cookie+="; path="+path;
	}
	if (domain) {
		cookie+="; domain="+domain;
	}
	if (secure) {
		cookie+="; secure";
	}
	document.cookie=cookie;
}

function deleteCookie(name) {
	setCookie(name,'null',new Date(0),null,null,true);
}


//////////////////////////
// END COOKIE FUNCTIONS //
//////////////////////////

function createLocationSpecificCookie(locationvalue){

	//var expireDate = new Date;
	//expireDate.setYear(expireDate.getYear() + 1);


	//if( getCookie('linkupeurope2004') ){
	//	deleteCookie('linkupeurope2004');
	//}
	
	//setCookie('linkupeurope2004',locationvalue,expireDate,'/',null,false);	

}


function splashPageRedirect(){


		//if( getCookie('linkupeurope2004') ){
			//var cookievalue = getCookie('linkupeurope2004');
			
			//if (cookievalue == "munich-english"){
				//window.location = "/munich"
			//}
			//else{
				//if(cookievalue == "munich-german"){
				//	window.location = "/munich/indexde.html"
				//}
				//else{
				//	if(cookievalue == "paris-english"){
				//		window.location = "/paris"
				//	}
				//	else{
				//		if(cookievalue == "paris-french"){
				//			window.location = "/paris/indexfr.html"
				//		}
				//		else{
				//			window.location = "/london"
				//		}
				//	}
				//}
			//}
		//}
		//else{
			//var browserlanguage;
			//var systemlanguage;
			//var userlanguage;
			
			//var browserlanguagearray;
			//var systemlanguagearray;
			//var userlanguagearray;			
			
			/*** Gets the default values ***/
			
			//if (typeof(navigator.language) != "undefined"){
			//	browserlanguage = navigator.language;
			//}
			//else {
			//	if (typeof(navigator.browserLanguage) != "undefined"){
			//		browserlanguage = navigator.browserLanguage;
			//	}
			//}
				
			//systemlanguage = navigator.systemLanguage;
			//userlanguage = navigator.userLanguage;
			
			/*** Split the values to get the language by itself ***/
			
			//browserlanguagearray = browserlanguage.split("-");
			//systemlanguagearray = systemlanguage.split("-");
			//userlanguagearray = userlanguage.split("-");
			
			/*** Redirects to lanuage specific page if need be. ***/
			
			//if (browserlanguagearray[0] == "fr" || systemlanguagearray[0] == "fr" || userlanguagearray[0] == "fr"){
			//	if (window.location != "indexfr.html" && window.location != "http://gwsdev:245/indexfr.html" && window.location != "https://gwsdev:246/indexfr.html" && window.location != "http://linkup-europe.opentext.com/indexfr.html"){
			//		window.location="indexfr.html"
			//	}
			//}
			//else{
			//	if (browserlanguagearray[0] == "de" || systemlanguagearray[0] == "de" || userlanguagearray[0] == "de"){
			//		if (window.location != "indexde.html" && window.location != "http://gwsdev:245/indexde.html" && window.location != "https://gwsdev:246/indexde.html" && window.location != "http://linkup-europe.opentext.com/indexde.html"){
			//			window.location="indexde.html"
			//		}
			//	}
			//	else{
			//		if (window.location != "index.html" && window.location != "http://gwsdev:245/" && window.location != "https://gwsdev:246/" && window.location != "http://linkup-europe.opentext.com/" && window.location != "http://gwsdev:245/index.html" && window.location != "https://gwsdev:246/index.html" && window.location != "http://linkup-europe.opentext.com/index.html"){
			//			window.location="index.html"
			//		}				
			//	}
			//}
		//}

}



	function setActiveStyleSheet(title) {
	  var i, a, main;
		for (i=0; (a = document.getElementsByTagName("link")[i]); i++) {
			if (a.getAttribute("rel") && a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
	      a.disabled = true;
	      if(a.getAttribute("title") == title) a.disabled = false;
	    }
	  }
	}