<!--

function formatCurrency(num) 
{
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num)) num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10) cents = "0" + cents;
	//for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	//	num = num.substring(0,num.length-(4*i+3))+','+ num.substring(num.length-(4*i+3));
	
	return (((sign)?'':'-') + num + '.' + cents);
}
/* 
	LTrim - Trims whitespace from left of a string
*/
function LTrim(str)
{
	var whitespace = new String(" \t\n\r");

	var s = new String(str);

	if (whitespace.indexOf(s.charAt(0)) != -1) 
	{
		var j=0, i = s.length;
		while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
		{
			j++;
		}
		s = s.substring(j, i);
	}

	return s;
}

/*
	RTrim - Trims whitespace from right of a string
*/
function RTrim(str)
{
	var whitespace = new String(" \t\n\r");

	var s = new String(str);

	if (whitespace.indexOf(s.charAt(s.length-1)) != -1) 
	{
		var i = s.length - 1;       // Get length of string
		while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
		i--;
		s = s.substring(0, i+1);
	}

	return s;
}

/*
	Trim - Trims whitespace from left and right of a string
*/  
function Trim(str)
{
	return RTrim(LTrim(str));
}

/*
	AlertFocusFalse -
		1. Alerts ErrorStr argument
		2. Sets focus to FormName.ElementName
		3. Returns false
*/
function AlertFocusFalse(ErrorStr, FormElement)
{
	try {
		alert(ErrorStr);
		eval(FormElement.focus());
		eval(FormElement.select());
		return false;
	} catch(passedVar) { return false;}
}

/*
	ValidZipCode - true for valid zip codes, false for invalid ones
*/
function ValidZipCode(ZipCode)
{
	//Your zip code must contain 5 or 9 digits.  9 digit zip codes should contain no spaces and a hyphen before the last 4 digits.
	
	var stringValue = new String(ZipCode);
	var stringLength = stringValue.length;
	
	if ((stringLength!=5)&&(stringLength!=9)&&(stringLength!=10))
	{
		return false;
	}

	if(stringLength==5)
	{
		
		for (var i = 0; i < stringLength; i++)
		{
			value = stringValue.charAt(i)
			if (!((value >= 0) && (value <=9)))
			{
				return false;
			}
		}
	}
	
	if(stringLength==9)
	{
		for (var i = 0; i < stringLength; i++)
		{
			value = stringValue.charAt(i)
			if (!((value >= 0) && (value <=9)))
			{
				return false;
			}
		}
	}

	if(stringLength==10)
	{
		var zip=stringValue.substring(0,5)
		var symbol=stringValue.substring(5,6)
		var plus4=stringValue.substring(6,10)
	
		if(symbol!="-")
		{
			return false;
			
		}
			
			
		for (var i = 0; i < zip.length; i++)
		{
			value = zip.charAt(i)
			if (!((value >= 0) && (value <=9)))
			{
				return false;
			}
		}
		for (var i = 0; i < plus4.length; i++)
		{
			value = plus4.charAt(i)
			if (!((value >= 0) && (value <=9)))
			{
				return false;
			}
		}
		
	}
	return true;
}

/*
	ValidEmail - true for valid email, false for invalid
*/
function ValidEmail(EmailAddr) {
	var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/;
	var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;
	
	var SpecChar="!#$%^&*()'+{}[]\|:;?/><,~`" + "\"";
	var frmValue = new String(EmailAddr);
	var len = frmValue.length;
	
	if( len < 1 ) { return false; }
	for (var i=0;i<len;i++)
	{
				temp=frmValue.substring(i,i+1)
				if (SpecChar.indexOf(temp)!=-1)
		 		{
					return false;
				}
	}	
	
	if(!reg1.test(frmValue) && reg2.test(frmValue)) 
	{ 
		return true;
	}
	
	return false;
}

/*
	IsNumeric - true for all numeric, false if not
*/
function IsNumeric(PossibleNumber)
{
	var PNum = new String(PossibleNumber);
	var regex = /[^0-9]/;
	return !regex.test(PNum);
}

/*
	ValidPhoneNumber - true for valid phone number, false for invalid
*/
function ValidPhoneNumber(PhoneNumber)
{
	var PNum = new String(PhoneNumber);
	
	//	555-555-5555
	//	(555)555-5555
	//	(555) 555-5555
	//	555-5555
	var regex = /^[0-9]{3,3}\-[0-9]{3,3}\-[0-9]{4,4}$|^\([0-9]{3,3}\) [0-9]{3,3}\-[0-9]{4,4}$|^\([0-9]{3,3}\)[0-9]{3,3}\-[0-9]{4,4}$|^[0-9]{3,3}\-[0-9]{4,4}$/;
	
	return regex.test(PNum);
}

/*
	ValidSSN - true for valid SSN, false for invalid
*/
function ValidSSN(SSN)
{
	var SSNum = new String(SSN);
	
	var regex = /^[0-9]{3,3}\-[0-9]{2,2}\-[0-9]{4,4}$/;
	
	return regex.test(SSNum);
}

/*
	ValidDate - true for valid date, false for invalid
*/
function ValidDate(PossibleDate)
{
	var PDate = new String(PossibleDate);
	
	var regex = /(^\d{1,2})\/(\d{1,2})\/(\d{4,4})|(^\d{1,2})\/(\d{1,2})\/(\d{2,2})/;
	
	if( regex.test(PDate) )
	{
		var month = new String(RegExp.$1);
		var day = new String(RegExp.$2);
		var year = new String(RegExp.$3);
		if( month.length == 0 )
		{
			month = new String(RegExp.$4);
			day = new String(RegExp.$5);
			year = new String(RegExp.$6);
		}
		
		var today = new Date();
		var thisYear = new String(today.getFullYear());
		
		if( year.length == 2 )
		{					
			if( year > 50 )
			{
				year = String(Number(thisYear.substring(0,2))-1) + year;
			}
			else
			{
				year = thisYear.substring(0,2) + year;
			}
		}
		
		if( month < 1 || month > 12 ) { return false; }

		if( day < 1 || day > 31 ) { return false; }

		if ((month==4 || month==6 || month==9 || month==11) && day>30) { return false; }

		if (month == 2) // check for february 29th
		{ 
			var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
			if (day>29 || (day==29 && !isleap)) 
			{
				return false;
			}
		}		
		
		if( (Number(year) < Number(thisYear) - 250) ||
			(Number(year) > Number(thisYear) + 250) )
			{ return false; }
			
		return true;
	}
	return false;
}


/*
	FncJIsEmpty - 
		if inputStr is empty, the focus is set to FormName.ElementName and
		an alert message is given
*/
function FncJIsEmpty(inputStr, FormName, ElementName, Label)
{
	if (Trim(inputStr) == "")
	{ 
		alert(Label + " is required to complete this form!");
		eval("self.parent.document." + FormName+ "." + ElementName + ".focus();")
		eval("self.parent.document." + FormName+ "." + ElementName + ".select();")
		return true;
	}
	          
	return false;
}

/*
	ZipCheck - Validates ZipCode
*/
function ZipCheck(formName, field)
{
	var stringValue = eval("document." + formName + "." + field + ".value")
	var stringLength = stringValue.length
	
	if ((stringLength!=5)&&(stringLength!=9)&&(stringLength!=10))
	{
		if(stringLength==0)
		{
			alert("Zip code is a required field")
			if (top != self){		
				eval("self.parent." + plFrameName + ".document." + formName + "." + field + ".focus();")
				eval("self.parent." + plFrameName + ".document." + formName + "." + field + ".select();")
			}
			else{		
				eval("self.parent.document." + formName + "." + field + ".focus();")
				eval("self.parent.document." + formName + "." + field + ".select();")
			}	
			return true;
		}
		else
		{
			alert("Your zip code must contain 5 or 9 digits.  9 digit zip codes should contain no spaces and a hyphen before the last 4 digits.")
			if (top != self){		
				eval("self.parent." + plFrameName + ".document." + formName + "." + field + ".focus();")
				eval("self.parent." + plFrameName + ".document." + formName + "." + field + ".select();")
			}
			else{		
				eval("self.parent.document." + formName + "." + field + ".focus();")
				eval("self.parent.document." + formName + "." + field + ".select();")
			}	
			return true;
		}
	}

	if(stringLength==5)
	{
		for (var i = 0; i < stringLength; i++)
		{
			value = stringValue.charAt(i)
			if (!((value >= 0) && (value <=9)))
			{
				alert("Your zip code must contain 5 or 9 digits.  9 digit zip codes should contain no spaces and a hyphen before the last 4 digits.")
				eval("document." + formName + "." + field + ".focus();")
				eval("document." + formName + "." + field + ".select();")
				return true;
			}
		}
	}
	
	if(stringLength==9)
	{
		for (var i = 0; i < stringLength; i++)
		{
			value = stringValue.charAt(i)
			if (!((value >= 0) && (value <=9)))
			{
				alert("Your zip code must contain 5 or 9 digits.  9 digit zip codes should contain no spaces and a hyphen before the last 4 digits.")
				eval("document." + formName + "." + field + ".focus();")
				eval("document." + formName + "." + field + ".select();")
				return true;
			}
		}
	}

	if(stringLength==10)
	{
		var zip=stringValue.substring(0,5)
		var symbol=stringValue.substring(5,6)
		var plus4=stringValue.substring(6,10)
	
		if(symbol!="-")
		{
			alert("Your zip code must contain 5 or 9 digits.  9 digit zip codes should contain no spaces and a hyphen before the last 4 digits.")
			if (top != self){		
				eval("self.parent." + plFrameName + ".document." + formName + "." + field + ".focus();")
				eval("self.parent." + plFrameName + ".document." + formName + "." + field + ".select();")
			}
			else{		
				eval("self.parent.document." + formName + "." + field + ".focus();")
				eval("self.parent.document." + formName + "." + field + ".select();")
			}	
			return true;
			
		}
			
			
		for (var i = 0; i < zip.length; i++)
		{
			value = zip.charAt(i)
			if (!((value >= 0) && (value <=9)))
			{
			
				alert("Your zip code must contain 5 or 9 digits.  9 digit zip codes should contain no spaces and a hyphen before the last 4 digits.")
				if (top != self){		
					eval("self.parent." + plFrameName + ".document." + formName + "." + field + ".focus();")
					eval("self.parent." + plFrameName + ".document." + formName + "." + field + ".select();")
				}
				else{		
					eval("self.parent.document." + formName + "." + field + ".focus();")
					eval("self.parent.document." + formName + "." + field + ".select();")
				}	
				return true;
			}
		}
		for (var i = 0; i < plus4.length; i++)
		{
			value = plus4.charAt(i)
			if (!((value >= 0) && (value <=9)))
			{
			
				alert("Your zip code must contain 5 or 9 digits.  9 digit zip codes should contain no spaces and a hyphen before the last 4 digits.")
				if (top != self){		
					eval("self.parent." + plFrameName + ".document." + formName + "." + field + ".focus();")
					eval("self.parent." + plFrameName + ".document." + formName + "." + field + ".select();")
				}
				else{		
					eval("self.parent.document." + formName + "." + field + ".focus();")
					eval("self.parent.document." + formName + "." + field + ".select();")
				}	
				return true;
			}
		}
		
	}
	return false;
}

/*
	FncJIsEmail - validates email
*/
function FncJIsEmail(str, FormName, ElementName, label) {
	var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/;
	var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;
	
	var SpecChar="!#$%^&*()'+{}[]\|:;?/><,~`" + "\""
	var frmValue = eval("document." + FormName + "." + ElementName + ".value")
	var len = frmValue.length
	for (var i=0;i<len;i++)
	{
				temp=frmValue.substring(i,i+1)
				if (SpecChar.indexOf(temp)!=-1)
		 		{
					alert(frmValue +" is an invalid email address.");
					if (top != self){		
						eval("self.parent." + plFrameName + ".document." + FormName + "." + ElementName + ".focus();")
						eval("self.parent." + plFrameName + ".document." + FormName + "." + ElementName + ".select();")
					}
					else{		
						eval("self.parent.document." + FormName + "." + ElementName + ".focus();")
						eval("self.parent.document." + FormName + "." + ElementName + ".select();")
					}	
					return false;
				}
	}	
	
	if (!reg1.test(str) && reg2.test(str)) { 
	   return true;
	}
    alert("\"" + str + "\" is an invalid " + label + "."); 
    if (top != self){		
		eval("self.parent." + plFrameName + ".document." + FormName + "." + ElementName + ".focus();")
		eval("self.parent." + plFrameName + ".document." + FormName + "." + ElementName + ".select();")
	}
	else{		
		eval("self.parent.document." + FormName + "." + ElementName + ".focus();")
		eval("self.parent.document." + FormName + "." + ElementName + ".select();")
	}	
	return false;
}


//-->

