<!--

function TrimLR(s)
{
	while (s.value.charAt(0)==' ') 
	{
		s.value=s.value.substring(1, s.value.length);
	}
	while (s.value.charAt(s.value.length-1)==' ')
	{
		s.value = s.value.substring(0, s.value.length-1);
	}
	return s;

}

function NoBlank(s) 
{
	var valid=true;
	var field =TrimLR(s).value;
	if (field.length < 1) {
		valid=false;
		alert("this field can't be blank!");	
		s.focus();							
	}
	return(valid);
}


function MaxLength(s,n) 
{
	var valid=true;
	var field =TrimLR(s).value;
	if (field.length > n ) {
		valid=false;
		alert("Maximum length for this field is: " + n + "\n you have " + field.length + " characters");	
		s.focus();							
	}
	return(valid);
}



function checkPhone(s) 
{
	var i=0;
	var valid=true;
	var counterNumber =0;
	var field =TrimLR(s).value;
	if (field!="")
	{
		while (i < field.length) 
		{ 
			if ((field.charAt(i)>='0') && (field.charAt(i)<='9'))	{counterNumber +=1;}
			else	
				if (field.charAt(i) !='-' && field.charAt(i) !='(' && field.charAt(i) !=')'  && field.charAt(i) !=' ' && counterNumber<10)
				{
					valid = false;
					break;
				}
			i++;
		}

		if ( (counterNumber>=20) || (!valid) )
		{
			valid=false;
        		alert ("Invalid Telephone Number.");
        		s.focus();
        		return(false); 
		}
	        return true;	
	}
        return true;
}


function toDigits(str) {
	var i=0, nString="", digit, DotNo=0;
	while (i<str.value.length) {
		digit=str.value.charAt(i);
		if (digit==".") DotNo=DotNo+1; 
		if(DotNo>1) {
			alert("You can't have two '.' in the currency.")
	        	str.focus();
        		return(0); 
		}
		if (parseFloat(digit) || digit == "." || digit == "0") { nString += digit}
		else 
	      		if (digit != " " && digit != "$" && digit != ","){ 
				alert("Please enter a non-zero numeric value.")
	        		str.focus();
        			return(0); 
			}
		i=i+1;
	}
	return(nString);	
}


function toCurrency(num) {
	var i, tCurrency, inx
	i=num.toString().indexOf(".");
	if (i==-1) i=num.toString().length;
	tCurrency='$' + String(num).substr(0,i%3);
	if (i%3!=0 && i>3) 	tCurrency +=',';
	for (inx=0; inx<parseInt(i/3); inx++) {
		tCurrency += String(num).substr(i%3+inx*3,3);
		if (inx+1<parseInt(i/3)) tCurrency += ',';
	}	
	
	tCurrency += String(num).substr(i,String(num).length-i);
	inx=tCurrency.indexOf(".");
	i=tCurrency.length;
	if ((i-inx) > 3 && inx>0) tCurrency=tCurrency.substr(0,inx+3);
	if (tCurrency.indexOf(".")==-1) tCurrency=tCurrency + ".00";
	return (tCurrency);
}


function checkEmail(s)
{
	var field=TrimLR(s).value;
	if (field != "")
	{
		var m = field.match(/^[\w\-][\w\-\.&]*@[\w\-\.]*\w$/);
		if(m==null)
		{
			alert("Wrong email format.");
			s.focus();
			return false;
		 }
	}	 
	return true;
}

	
function checkmultiEmail(s)
{
	var field=TrimLR(s).value;
	if (field != "")
	{
		var m = field.match(/^[\w\-][\w\-\.&]*@[\w\-\.]*\w(;[\w\-][\w\-\.&]*@[\w\-\.]*\w)*$/);
		if(m==null)
		{
			alert("Wrong email format.");
			s.focus();
			return false;
		 }
	}	 
	return true;
}

	



function checkEmail_Old(s)
{ 
var asPos, dotPos;
var valid=true;
var field =TrimLR(s).value;
if (field!="")
{
	asPos=field.indexOf("@");
	dotPos=field.indexOf(".");
	if (asPos<2 || dotPos<2)
	{valid= false;
	alert("Invalid Email Address");
        s.focus();
	return(false);
	}
}
return true
}


function checkDate(s)
{
	var valid=true;
	var field =TrimLR(s).value;

	if (field.length >=5)
	{
		if (chkdate(s) == false) 
		{
			valid= false;
			alert("Invalid date!");
			s.focus();
			return false;
		}
		else	valid= true;
	}
	else
		{  
			valid=false;
			alert("Date is mandatory!");
			s.focus();	
			return false;						
		}								
}
function checkDateAllowNull(s)
{
	var valid=true;
	var field =TrimLR(s).value;
	
	if(field.length ==0)
		return true;
	if (field.length >=5)
	{
		if (chkdate(s) == false) 
		{
			valid= false;
			alert("Invalid date!");
			s.focus();
			return false;
		}
		else
			return true;
	}
	else
	{
		valid= false;
		alert("Invalid date!");
		s.focus();
		return false;
	}
}


function chkMoney(s) {
	var i, tCurrency, inx, num
	num='';

	for (i=0; i<=s.value.length-1; i++) {
		if (((s.value.charAt(i) >= 0) && (s.value.charAt(i) <= 9)) || s.value.charAt(i)=='.')
		num=num + s.value.charAt(i);
	}

	while (num.toString().charAt(0)=='0'&& num.toString().charAt(1)!='.') 
	{
		num=num.toString().substring(1, num.toString().length);
	}

	i=num.toString().indexOf(".");
	if (i==-1) {
		i=num.toString().length;
	}
	if (i==0) {
		num="0" + num;
	}
	tCurrency='$' + String(num).substr(0,i%3);
	if (i%3!=0 && i>3) 	tCurrency +=',';
	for (inx=0; inx<parseInt(i/3); inx++) {
		tCurrency += String(num).substr(i%3+inx*3,3);
		if (inx+1<parseInt(i/3)) tCurrency += ',';
	}	
	
	tCurrency += String(num).substr(i,String(num).length-i);
	inx=tCurrency.indexOf(".");
	i=tCurrency.length;
	if ((i-inx) > 3 && inx>0) tCurrency=tCurrency.substr(0,inx+3);
	if (tCurrency.indexOf(".")==-1) tCurrency=tCurrency + ".00";
	else if (i-tCurrency.indexOf(".")==1) tCurrency=tCurrency + "00";
	else if (i-tCurrency.indexOf(".")==2) tCurrency=tCurrency + "0";
	s.value=tCurrency;	
}


function chkdate(objName) 
{

	var strDatestyle = "US";  
	var strDate;
	var strDateArray;
	var strDay;
	var strMonth;
	var strYear;
	var intday;
	var intMonth;
	var intYear;
	var booFound = false;
	var datefield = objName;
	var strSeparatorArray = new Array("-"," ","/",".");
	var intElementNr;
	var err = 0;
	var strMonthArray = new Array(12);
	strMonthArray[0] = "Jan";
	strMonthArray[1] = "Feb";
	strMonthArray[2] = "Mar";
	strMonthArray[3] = "Apr";
	strMonthArray[4] = "May";
	strMonthArray[5] = "Jun";
	strMonthArray[6] = "Jul";
	strMonthArray[7] = "Aug";
	strMonthArray[8] = "Sep";
	strMonthArray[9] = "Oct";
	strMonthArray[10] = "Nov";
	strMonthArray[11] = "Dec";
	strDate = datefield.value;
	if (strDate.length < 1)	{return true;}
	for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++)
	{
		if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) 
		{
			strDateArray = strDate.split(strSeparatorArray[intElementNr]);
			if (strDateArray.length != 3) 
			{
				err = 1;
				return false;
			}
			else 
			{
				strDay = strDateArray[0];
                        	strMonth = strDateArray[1];
                        	strYear = strDateArray[2];
			}
			booFound = true;
		}
	}
	if (booFound == false) 
	{
		if (strDate.length>5) 
		{
			strDay = strDate.substr(0, 2);
			strMonth = strDate.substr(2, 2);
			strYear = strDate.substr(4);
		}
	}

	if (strYear.length == 2) 	strYear = '20' + strYear;
	if (strYear.length == 1) 	strYear = '200' + strYear;
	if (strYear.length == 3 || strYear.length > 4) 	return false; 


	if (strDatestyle == "US") 
	{
		strTemp = strDay;
		strDay = strMonth;
		strMonth = strTemp;
	}

	intday = parseInt(strDay,10);
	if(isNaN(intday))
	{
		err = 2;
		return false;
	}
	intMonth = parseInt(strMonth, 10);
	if (isNaN(intMonth)) 
	{
		for (i = 0;i<12;i++) 
		{
			if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()) 
			{
				intMonth = i+1;
				strMonth = strMonthArray[i];
				i = 12;
			}
		}
		if (isNaN(intMonth)) 
		{
			err = 3;
			return false;
		}
	}
	intYear = parseInt(strYear, 10);
	if (isNaN(intYear)) 
	{
		err = 4;
		return false;
	}
	if (intMonth>12 || intMonth<1) 
	{
		err = 5;
		return false;
	}
	if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) 
	{
		err = 6;
		return false;
	}
	if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) 
	{
		err = 7;
		return false;
	}
	if (intMonth == 2) 
	{
		if (intday < 1) 
		{
			err = 8;
			return false;
		}
		if (LeapYear(intYear) == true) 
		{
			if (intday > 29) 
			{
				err = 9;
				return false;
			}
		}
		else 
		{
			if (intday > 28) 
			{
				err = 10;
				return false;
			}
		}
	}
	if (strDatestyle == "US") 
	{
		datefield.value = strMonthArray[intMonth-1] + " " + intday+" " + strYear;
	}
	else 
	{
		datefield.value = intday + " " + strMonthArray[intMonth-1] + " " + strYear;
	}
	return true;
}

function LeapYear(intYear) 
{
	if (intYear % 100 == 0) 
	{
		if (intYear % 400 == 0) { return true; }
	}
	else 
	{
		if ((intYear % 4) == 0) { return true; }
	}
	return false;
}

function swap(combo,index1, index2)
{
	var savedValue=combo.options[index1].value;
	var savedText=combo.options[index1].text;

	combo.options[index1].value=combo.options[index2].value;
	combo.options[index1].text=combo.options[index2].text;

	combo.options[index2].value=savedValue;
	combo.options[index2].text=savedText;
}

function MoveElements(FromCombo,ToCombo)
{
	var to_remove_counter=0; //number of options that were removed (num selected options)

	//move selected options to right select box (to)
	for (var i=0;i<FromCombo.options.length;i++)
	{
		if (FromCombo.options[i].selected==true)
		{
			var addtext=FromCombo.options[i].text;
			var addvalue=FromCombo.options[i].value;
			ToCombo.options[ToCombo.options.length]=new Option(addtext,addvalue);
			FromCombo.options[i].selected=false;
			++to_remove_counter;
		}
		else
		{
			FromCombo.options[i-to_remove_counter].selected=false;
			FromCombo.options[i-to_remove_counter].text=FromCombo.options[i].text;
			FromCombo.options[i-to_remove_counter].value=FromCombo.options[i].value;
		}
	}

	//now cleanup the last remaining options 
	var numToLeave=FromCombo.options.length-to_remove_counter;
	for (i=FromCombo.options.length-1;i>=numToLeave;i--) 
	{ 
		FromCombo.options[i]=null;
	}
}

function SelectAll(form,combo)
{
	for (var i=0;i<combo.options.length;i++)
	{
		combo.options[i].selected=true;
		form.submit();
	}
}

function checkNumeric(s)
{
var valid=true;
var field =TrimLR(s).value;
if (field !="")
	{ 
	var sv=0;
		sv=parseFloat(field);
		if (sv != field) 
		{
			valid=false;
			alert("Invalid Number. Use numeric values.");
			s.focus();							
		}
		else
		{
			valid=true;		
		}
	}	
}

function displayHTMLOld(cntrl) {
	var inf = cntrl.value;
	var cls = "<br><br><center><input type=button value=Close onClick=javascript:window.close();></center>"

	win = window.open( "", 'popup', 'toolbar = no, status = no');
	win.document.write("" + inf + "" + cls);
}

function displayHTML(cntrl) {
	var Hpage;
 	Hpage= '<HTML><HEAD><TITLE>Content Preview</TITLE>';
 	Hpage += '<link rel="stylesheet" href="/CPrg/includes/styles3.css"></head>';
 	Hpage += '<BODY bgcolor="#FFFFFF">';
 	Hpage += '<P>' + replaceChars(cntrl.value) + '</P>';
 	Hpage += '<br><br><center><input type=button value=Close onClick=javascript:window.close();></center>'
 	Hpage += '</BODY></HTML>';
	popUpwin = window.open( "", 'popup', 'scrollbars=yes, toolbar = no, status = no, location=yes, width=600, height=450, left=100, top=100');
	window.popUpwin.document.close();
	window.popUpwin.document.write(Hpage);
}


function CheckScript(cntrl) {
	cmp="<SCRIPT";
	txt=cntrl.value;
	txt=txt.toUpperCase();
//alert(txt);
	for (var i=0;i<1;i++){
		pos=cmp.indexOf(" ");
		//wrd=cmp.substring(0,pos);
		wrd="<SCRIPT";
		cmp=cmp.substring(pos+1,cmp.length);
		if (txt.indexOf(wrd)>-1){
			alert("SCRIPT Tag not allowed.");
			cntrl.focus();
			return false;
        }        
				
	}
return true;	
}

function CheckScriptforFreeTextBox(cntrl) {
	cmp="<SCRIPT";
	txt=cntrl.value;
	txt=txt.toUpperCase();
//alert(txt);
	for (var i=0;i<1;i++){
		pos=cmp.indexOf(" ");
		//wrd=cmp.substring(0,pos);
		wrd="<SCRIPT";
		cmp=cmp.substring(pos+1,cmp.length);
		if (txt.indexOf(wrd)>-1){
			alert("Due to security reasons,\n the system cannot save your message because it contains the word script.\nPlease remove all instances and try to save again");
			//cntrl.focus();
			return false;
        }
        
		pos=cmp.indexOf(" ");
		wrd="&LT;SCRIPT";
		cmp=cmp.substring(pos+1,cmp.length);
		if (txt.indexOf(wrd)>-1){
			alert("Due to security reasons, \nthe system cannot save your message because it contains the word script.\nPlease remove all instances and try to save again");
			//cntrl.focus();
			return false;
		}
	}
return true;	
}

function CheckHTMLTag(cntrl) {
	cmp="< > ";
	txt=cntrl.value;
	txt=txt.toUpperCase();
	for (var i=0;i<2;i++){
		pos=cmp.indexOf(" ");
		wrd=cmp.substring(0,pos);
		cmp=cmp.substring(pos+1,cmp.length);
		if (txt.indexOf(wrd)>-1){
			alert("HTML Tag '<' or '>' not allowed.");
			cntrl.focus();
			return false;
		}
	}

return true;	
}

function NoBlankGen(s, txt) 
{
	var valid=true;
	var field =TrimLR(s).value;
	if (field.length < 1) {
		valid=false;
		alert(txt);	
		s.focus();							
	}
	return(valid);
}

function checkNumericGen(s, min, max, txt)
{
var valid=true;
var field =TrimLR(s).value;
if (field !="")
	{ 
	var sv=0;
		sv=parseFloat(field);
		if (sv != field) 
		{
			valid=false;
			alert("Invalid Number. Use numeric values.");
			s.focus();							
		}
		else
		{
			if (sv >= min && sv <= max){
				valid=true;
				return(valid);
			}
			else{
				valid=false;
				alert(txt);
				s.focus();
				return(valid);							
			}	
		}
	}	
}

function MaxLengthGen(s,n,txt) 
{
	var valid=true;
	var field =TrimLR(s).value;
	if (field.length > n ) {
		valid=false;
		alert("Maximum length for " + txt + " field is " + n + ".\n You have entered " + field.length + " characters.");	
		s.focus();							
	}
	return(valid);
}

function checkDateGen(s)
{
	var valid=true;
	var field =TrimLR(s).value;

	if (field.length >=5)
	{
		if (chkdate(s) == false) 
		{
			valid= false;
			alert("Invalid date!");
			s.focus();
			return(valid);
		}
		else{
			valid= true;
			return(valid);
		}	
	}
	else
		{  
			valid=false;
			alert("Date is mandatory!");
			s.focus();	
			return(valid);						
		}								
}

function checkDateGenAllowNull(s)
{
	var valid=true;
	var field =TrimLR(s).value;
	
	if(field.length ==0)
		return true;
	if (field.length >=5)
	{
		if (chkdate(s) == false) 
		{
			valid= false;
			alert("Invalid date!");
			s.focus();
			return false;
		}
		else
			return true;
	}
	else
	{
		valid= false;
		alert("Invalid date!");
		s.focus();
		return false;
	}
}

function replaceChars(s) 
{
	out = "\n"; // replace this
	add = "<br>"; // with this
	temp = s; // temporary holder

	while (temp.indexOf(out)>-1) 
	{
		pos= temp.indexOf(out);
		temp = (temp.substring(0, pos) + add + 
		temp.substring((pos + out.length), temp.length));
	}
	return temp;
}

function IsValidTime(s) {
	// Checks if time is in HH:MM
	var timeStr = s.value;
	if (timeStr==""){
		return true;
	}	
	//var timePat = /^(\d{1,2}):(\d{2})?$/;
	var timePat = /^([1-9]|([1][0-2])):([0-5][0-9])$/;
	var matchArray = timeStr.match(timePat);
	if (matchArray == null) {
		alert("Time is not in a valid format.");
		s.focus();
		return false;
	}
	hour = matchArray[1];
	minute = matchArray[2];

	if (hour < 1  || hour > 12) {
		alert("Hour must be between 1 and 12.");
		s.focus();
		return false;
	}
	if (minute<0 || minute > 59) {
		alert ("Minute must be between 0 and 59.");
		s.focus();
		return false;
	}
	return true;
}
-->