function win_open(href, width, height)
{
	if (width == '' && height == '')	{
		window.open(href, '_blank', 'toolbar=no,location=no,status=yes,menubar=no,personalbar=no,scrollbars=yes,resizable=yes,screenx=50,left=50,screenY=50,top=50');
	} 
	else	{
		window.open(href, '_blank', 'toolbar=no,location=no,status=yes,menubar=no,personalbar=no,scrollbars=yes,width=' + width + ',height=' + height + ',resizable=yes,screenx=50,left=50,screenY=50,top=50')
	}
}

function openPage(href) {
	if(href!=""){
		window.open(href, '_blank', 'width="800",height="600",toolbar=yes,location=yes,status=yes,menubar=yes,personalbar=yes,scrollbars=yes,resizable=yes,screenx=50,left=50,screenY=50,top=50');
	}
}

function openPageLarger(href) {
	if(href!=""){
		window.open(href, '_blank', 'toolbar=yes,location=yes,status=yes,menubar=yes,personalbar=yes,scrollbars=yes,resizable=yes,screenx=50,left=50,screenY=50,top=50');
	}
}

function openFullPage(href)	{
	if(href!=""){
		var wOptions = "toolbar=yes,location=yes,status=yes,menubar=yes,personalbar=yes," +
			"scrollbars=yes,resizable=yes,outerHeight=" + screen.availHeight + ",outerWidth=" +
			screen.availWidth + ",screenX=0,screenY=0,height=" + screen.availHeight + ",width=" +
			screen.availWidth + ",left=0,top=0";
		window.open(href, '_blank', wOptions);
	}
}

function checkDelete()	{
	if (confirm("Do you want to delete this entry?")) {
		return true;
	}
	else {
		return false;
	}
}

function showHide(id)	{
    obj = document.getElementById(id);
    if (obj.style.display == 'none'){
    	obj.style.display = 'block';
    }
    else {
    	obj.style.display = 'none';
    }
	
}

function showElement(sLayerName)	{
	var oLayer = document.getElementById(sLayerName);
	oLayer.style.display = 'block';
	setTimeout("hideElementLight('"+sLayerName+"')",4000); 
}

function hideElementLight(sLayerName)	{
	var oLayer = document.getElementById(sLayerName);
	oLayer.style.display = 'none';
}

function hideElement(sLayerName, event)	{

	var oLayer = document.getElementById(sLayerName);
	if(event.toElement)	{ // IE
		var target = event.target || event.srcElement;
		if(event.toElement.className != "divLayer")	{
			oLayer.style.display = 'none';
		}
	}
	else	{// Firefox
		var oChild = event.explicitOriginalTarget;
		var oParent = event.currentTarget;
		if((oChild.className != "divLayer") && (oChild.nodeName != "#text"))	{
			oLayer.style.display = 'none';
		}
	}
}

sfHover = function() {
	if(document.getElementById("nav")){
		var sfEls = document.getElementById("nav").getElementsByTagName("LI");
		for (var i=0; i<sfEls.length; i++) {
			sfEls[i].onmouseover=function() {
				this.className+=" sfhover";
			}
			sfEls[i].onmouseout=function() {
				this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
			}
		}
	}
	
	//added for newsletter sign up popup
	if (document.getElementById("rightTeaserNewsletterContent")) {
		var sfEls = document.getElementById("rightTeaserNewsletterContent");
			
		sfEls.onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls.onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}

if (window.attachEvent) window.attachEvent("onload", sfHover);

function SelectAll(id)
{
    document.getElementById(id).focus();
    document.getElementById(id).select();
}

function CheckMandatoryFieldsSF(oForm, oAlert1, oAlert2, oAlert3, oAlert4) {
		var i=0;
		var bError = 0;
		var vName = "";
     
		for (i = 0; i < oForm.elements.length && bError == 0; i++) {	
			oElement = oForm.elements[i];
//			if(oElement.type!="hidden") alert("intro "+oElement.type + " / name: " + oElement.name + " / RQ=" +oElement.getAttribute("mandatory"));
			if((oElement.type=="checkbox" || oElement.type=="radio") && (oElement.getAttribute("mandatory")==1)){
				var xn=i;		//follow i value to increment
				var xOk=0;		//if 1, madatory is satisfied
				var xElement = oForm.elements[xn];	//the Form items on hold
				var xWhile=0;	//loop variable. 1 exits loop
				while(xWhile==0){		//check if there are other boxes under the same group
					if(xn < oForm.elements.length){ //validate if variable is still in range of Form elements count
						if(oElement.name==xElement.name && oElement.type==xElement.type){ //validate if still comparing same item
							if (xElement.checked==true) xOk=1; // mandatory checkbox(es) has one checked entry
							xn++; // increment till checkboxes are completed
							xElement = oForm.elements[xn]; //move to next form element
						} else{
							xWhile=1; //end while loop
						}
					} else {
						xWhile=1; //end while loop
					}
				}
				if(xOk==0) bError=1; // error found trigger
				i = xn-1; //
				oElement = oForm.elements[i];
//				alert("ERROR=" + bError +" i=" +i + " max=" + oForm.elements.length);
			} else if(oElement.type=="text"){ // Text validation
				if(oElement.getAttribute("mandatory")==1 || oElement.getAttribute("mandatory")=="emailr"){ // mandatory
					if(oElement.value == "") { // if empty
						bError =1;
					} else if(oElement.value.length < oElement.getAttribute("minlength")) { //if minlength present and > text.length
						bError =5;
					} else if ((oElement.getAttribute("mandatory")=="emailr" || oElement.getAttribute("isemail")=="1") && (oElement.value.lastIndexOf(".") <= 2 || oElement.value.indexOf("@") < 1)){ // required field email validation
							bError = 3;
					}
				} else if(((oElement.getAttribute("mandatory")=="emailv" || oElement.getAttribute("isemail")=="1") && oElement.value.length > 0) && (oElement.value.lastIndexOf(".") <= 2 || oElement.value.indexOf("@") < 1)) { // email validation
					bError = 3;
				}
			} else if(oElement.type=="select-one" && oElement.getAttribute("mandatory")==1){ // select validation
				if(oElement.selectedIndex==0) { // if empty
					bError =1;
				}
			} else if (oElement.type=="file"){ //attachment validation
				if (oElement.value != "" && oElement.value.substr(oElement.value.length-3,3) != "doc" && oElement.value.substr(oElement.value.length-3,3) != "pdf") {
					bError = 2;
				} else if (oElement.value == "") {
					bError = 1;
				}
			}
		}

		if (bError == 0) {
			return true;
		} else if (bError == 3){ //email error
					alert((oAlert1=="default")?"Please enter a valid email address":oAlert1);
					document.getElementById(oElement.id).focus();
					return false;
		} else if (bError == 2){ //attachment error
					alert((oAlert2=="default")?"Only .doc and .pdf attachments are allowed":oAlert2);
					document.getElementById(oElement.id).focus();
					return false;
		} else if (bError == 5){
		            var myAlert;
					myAlert=((oAlert4=="default")?"Please enter at least #minlength# character(s)":oAlert4);
		            myAlert = myAlert.replace("#minlength#",document.getElementById(oElement.id).attributes["minlength"].value);
		            alert(myAlert);
					document.getElementById(oElement.id).focus();
		            return false;					
		}
		else { //standard error
					alert((oAlert3=="default")?"Please fill in all mandatory fields":oAlert3);
					//alert((oAlert3=="default")?"Please fill in " + document.getElementById(oElement.id).label :oAlert3);
					document.getElementById(oElement.id).focus();
					return false;
		} 
}

function limitText(limitField, limitNum) {//default watches keyup on supplied limit
    if (limitField.value.length > limitNum) {
        limitField.value = limitField.value.substring(0, limitNum);
    } 
}

function gupF( name ){ // monitors URL Prameters
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS = "[\\?&]"+name+"=([^&#]*)";
	var regex = new RegExp( regexS );
	var results = regex.exec( window.location.href );
	return (results == null)?"":results[1];
}

function oFormDetails(oForm){ //enters values for referrer URL and parameterized email recipient
	var ref = oForm.referrer_url; // obtain referrer URL value
	var finURL = oForm.in_url; // obtain current in_url
	var foutURL = oForm.out_url; // obtain current out_url
	var recipient = oForm.to_email; // obtain current email recipient
	var varDre;
	
	ref.value = ((document.referrer=="")?ref.value:document.referrer); //updates referrer URL value
	
	if(finURL.value == "get" || finURL.value == ""){ //updates in_url from document.location if defined as "get" or ""
		finURL.value = ((document.location=="")?"NOT SUPPLIED":document.location);
	}
	if(foutURL.value.substring(0,7)!= "http://" & foutURL.value.substring(0,7)!= "https:/"){ //updates out_url if defined as "inpage,outpage", not http://
		varDre = finURL.value.substring(finURL.value.lastIndexOf('/') + 1); //obtain page name
		varDre = finURL.value.substring(0,finURL.value.indexOf(varDre)); //remove page name from URL
		foutURL.value = ((foutURL.value=="")?varDre + "confirmation.htm":varDre + foutURL.value); // adds out_url page name to URL
	}
	recipient.value = (gupF('rcpnt')=="")?recipient.value:gupF('rcpnt'); //updates to_email if supplied under URL Parameter
}