
	function validateUSZip( strValue ) {
	/************************************************
	DESCRIPTION: Validates that a string a United
	  States zip code in 5 digit format or zip+4
	  format. 99999 or 99999-9999
	PARAMETERS:
	   strValue - String to be tested for validity

	RETURNS:
	   True if valid, otherwise false.
	  
	SOURCE: http://www.rgagnon.com/jsdetails/js-0063.html

	*************************************************/
		var objRegExp  = /(^\d{5}$)|(^\d{5}-\d{4}$)/;

		//check for valid US Zipcode
		return objRegExp.test(strValue);
	}

	function validateCanadianZip( strValue ) {
	/************************************************
	DESCRIPTION: Validates that a string a Canadian 
		zip code in 6 digit format. X9X9X9
	PARAMETERS:
	   strValue - String to be tested for validity

	RETURNS:
	   True if valid, otherwise false.
	  
	SOURCE: http://www.rgagnon.com/jsdetails/js-0063.html, 
			http://obelix.dawsoncollege.qc.ca/~dhackett/javascript/regexp/testpostal.html

	*************************************************/
		var objRegExp  = /^([a-z]{1}\d[a-z]{1})(\d[a-z]{1}\d)$/i;

		//check for valid Canadian Zipcode
		return objRegExp.test(strValue);
	}

	// The following functions for checking international phone numbers are from 
	// http://www.experts-exchange.com/Web/Web_Languages/JavaScript/Q_20430175.html
	function IntlisInteger(intNum) {   
		var intCtr;
		for (intCtr = 0; intCtr < intNum.length; intCtr++) {   
		   // Check that current character is number.
	       var c = intNum.charAt(intCtr);
	       if ( (c < '0') || (c > '9') ) return false;
	   }
	   // All characters are numbers.
	   return true;
	}
	
	function StripChars(strOriginal, strCharsToStrip) {   
		var intCtr;
		var strReturn = '';
		// Search through string's characters one by one.
		// If character is not in strCharsToStrip, append to strReturn.
		for (intCtr = 0; intCtr < strOriginal.length; intCtr++) {   
			// Check that current character isn't whitespace.
			var c = strOriginal.charAt(intCtr);
			if (strCharsToStrip.indexOf(c) == -1) strReturn += c;
		}
		return strReturn;
	}

	function ValidateIntPhoneNumber( frmField, strFieldName ) {
		var strPhoneNumberDelimiters = '()- +';
		var intMinDigitsInIPhoneNumber = 10;
		intStrippedPhone = StripChars(frmField.value, strPhoneNumberDelimiters);
		if ( !( IntlisInteger(intStrippedPhone) && intStrippedPhone.length >= intMinDigitsInIPhoneNumber ) ) {
			alert( strFieldName + ' is not in a valid format.' );
			frmField.focus();
			return true;
		}
	}

	function ValidatePhoneNumber( target, cmt )	{
		//if( target.value.match(/\S/) != null && target.value.match(/\d\d+\-\d\d+\-\d\d\d\d/g) != target.value ) 
		if( target.value.match(/\S/) != null && target.value.match(/\d{3}-\d{3}-\d{4}/g) != target.value ) 
		{
			alert( cmt + " is not valid format.\nThe number must be in the 123-456-7890 format." );
			target.focus();
			return true;
		}

		return false;
	}
