
/* Receieve input from popup calendar*/
function setDateOfListener(newDate){
	document.forms[0].date.value=newDate;
}		

/* Open a child window.*/	
function popUp(sLocArg,iHeight,iWidth,bScrolling,bMenubar,windowName) {

    if (iHeight==null) {iHeight=550}
    if (iWidth==null) {iWidth=550}	
    if (bScrolling=='true' || bScrolling==true) {sScroll="yes"}	
	else{sScroll="no"}
	if (bMenubar=='true' || bMenubar==true) {sMenu="yes"}	
    else{sMenu="no"}
	if (windowName==null){windowName='action'}
    sProps = "height="+iHeight+",width="+iWidth+",scrollbars="+sScroll+",menubar="+sMenu;
			
	window.open(sLocArg,windowName,sProps);
}

function limitLength(field,maxlen){
	if (field.value.length>=maxlen){
		field.value = field.value.substr(0,maxlen-1);
	}		
}

// Group of functions to defend with JScript Attacks per PT 8280 and 8336

//Validate integer only entries
	function validateInteger(NumIn)
	{
		var validExpression = /^[0-9]/;
		if (NumIn.indexOf(".") > 0)
		{
			return false;
		}
		return validExpression.test(NumIn);
	}
	
//Validate no scripting tags were attempted
	function CheckScript(ValIn)
	{
		ValIn = TrimValue(ValIn);
		ValIn = ValIn.replace(/\</g,"");
		ValIn = ValIn.replace(/\>/g,"");
		ValIn = ValIn.replace(/\"/g,"");
		ValIn = ValIn.replace(/\'/g,"");
		ValIn = ValIn.replace(/\%/g,"");
		ValIn = ValIn.replace(/\;/g,"");
		ValIn = ValIn.replace(/\(/g,"");
		ValIn = ValIn.replace(/\)/g,"");
		ValIn = ValIn.replace(/\&/g,"");
		ValIn = ValIn.replace(/\+/g,"");
		ValIn = ValIn.replace(/\//g,"");
		return ValIn;
	}

//remove white spaces
	function TrimValue(ValueIn)
	{
		return ValueIn.replace(/[\s]/g, "");
	}

	function ValidEmail(InEmail) 
	{
		var chkMail = InEmail;
		var InvalidExp = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
		var ValidExp = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid
		if (!InvalidExp.test(chkMail) && ValidExp.test(chkMail)) 
		{
			//Valid Email Response
			return true;
		}
		return false;
	}
			
