		//
		// FIELD TYPE VALIDATION
		//
		
		var failedFields = '';
		
		function addFailure(name) {
			if ( failedFields != '' ) failedFields = failedFields + ', ';
			failedFields = failedFields + name;
		}
		function isEmail(name) {
			val = document.getElementById(name).value;
			reg = /\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/;
			OK = reg.test(val);
			if ( !OK ) { addFailure(name); }
			return OK;
		}
		
		function isPhone(name) {
			val = document.getElementById(name).value;
			reg = /^[\(]*[0-9]{3}[\) -]*[0-9]{3}[ -]*[0-9]{4}$/;
			OK = reg.test(val);
			if ( !OK ) { addFailure(name); }
			return OK;
		}
		
		function isZip(name) {
			val = document.getElementById(name).value;
			val = val.toUpperCase();
			//reg = /^(\d{5}-[0-9]{4}|\d{5})$/;
			//OK = reg.test(val);
			 if(val.match(/^(\d{5}-[0-9]{4}|\d{5})$/)){ 
			     return true; 
			 }else if(val.match(/^[A-Z][0-9][A-Z].[0-9][A-Z][0-9]$/)){ 
			 return true; 
			 } else {
			     addFailure(name);
			     return false;
			 }

			//if ( !OK ) { addFailure(name); }
			//return OK;
		}
		
		function isSSN(name) {
			val = document.getElementById(name).value;
			reg = /^([0-9]{3})[ -]*([0-9]{2})[ -]*([0-9]{4})$/;
			OK = reg.test(val);
			if ( !OK ) { addFailure(name); }
			return OK;
		}
		
		function isDate(name) {
			val = document.getElementById(name).value;
			reg = /^([0-9]{1,2})[/-]([0-9]{1,2})[/-]([0-9]{2,4})$|^([0-9]{2,4})[/-]([0-9]{1,2})[/-]([0-9]{1,2})$/;
			OK = reg.test(val);
			if ( !OK ) { addFailure(name); }
			return OK;
		}
		
		function isNotEmpty(name) {
			val = document.getElementById(name).value;
			if ( val != '' ) return true;
			addFailure(name);
			return false;
		}
