/*Works with required.js*/
/* msg should be declared on page*/

function validateZIP(field) {
	
	/*var objRegExp = /(^\d{5}$)|(^\d{5}-\d{4}$)|(^\d{9}$)/;

	if(!objRegExp.test(field.value)){
		msg = msg + '<li>Please enter your phone number in this format: xxx-xxxx or xxxxxxx.</li>';
		field.id = 'dontSubmit';
		return false;
	}*/
	
	var valid = "0123456789-";
	var hyphencount = 0;
	
	field.id = 'reqText';
	
	if (field.value.length!=5 && field.value.length!=10 && trimAll(field.value) != '') {
		msg = msg + '<li>Please enter your 5 digit or 5 digit+4 zip code.</li>';
		field.id = 'dontSubmit';
		return false;
	}
	
	for (var i=0; i < field.value.length; i++) {
		temp = "" + field.value.substring(i, i+1);
		if (temp == "-") hyphencount++;
		if (valid.indexOf(temp) == "-1") {
			msg = msg + '<li>The zip code you entered contains invalid characters.</li>';
			field.id = 'dontSubmit';
			return false;
		}
		if ((hyphencount > 1) || ((field.value.length==10) && ""+field.value.charAt(5)!="-")) {
			msg = msg + '<li>Please enter your zip code in this format: xxxxx-xxxx.</li>';
			field.id = 'dontSubmit';
			return false;
		}
	}
	if(field.value.match("-") != null){
	
		arrStr = field.value.split("-");
		
		if((arrStr[1] == 0000) || (arrStr[1] == 9999)){
			
			msg = msg + '<li>The last four digits of the zip code you entered are invalid.</li>';
			field.id = 'dontSubmit';
			return false;	
			
		}
	}
	
	return true;
}
function validateArea(field) {
	var valid = "0123456789";
	
	field.id = 'reqText';
	
	if (field.value.length!=3 && trimAll(field.value) != '') {
		msg = msg + '<li>Your area code must have 3 digits.</li>';
		field.id = 'dontSubmit';
		return false;
	}
	for (var i=0; i < field.value.length; i++) {
		temp = "" + field.value.substring(i, i+1);
		
		if (valid.indexOf(temp) == "-1") {
			msg = msg + '<li>The area code you entered contains invalid characters.</li>';
			field.id = 'dontSubmit';
			return false;
		}
	}
	
	return true;
}
				
function validatePhone(field) {
var objRegExp = /^(\d{3}-\d{4}$)|^(\d{7}$)/;
		
		if (field.value.length > 0 && field.value.value != ''){
			
			if(!objRegExp.test(field.value)){
				msg = msg + '<li>Please enter your phone number in this format: xxx-xxxx or xxxxxxx.</li>';
				field.id = 'dontSubmit';
				return false;
					
				//var objRegExp  = /(^\d{6}$)|(^\d{8}$)/;
				
				//if(!objRegExp.test(field.value)){
					//return false;
				//}
			}
			if (field.value == '555-1212') {
				msg = msg + '<li>555-1212 is not a valid phone number.</li>';
				field.id = 'dontSubmit';
				return false;
			}
			//changing the phone number format to xxx-xxxx
			var newNum;
			if (field.value.length == 8){
			}
			else {
				// for format xxx-xxxx
				newNum = field.value.substring(0,3) + '-' + field.value.substring(3,7);
				eval(field).value=newNum;
				 }
		}
		
			
	return true;
}

/*function validatePhone(field) {
	var valid = "0123456789-";
	var hyphencount = 0;
	
	field.id = 'reqText';
	if (field.value == '555-1212') {
		msg = msg + '<li>555-1212 is not a valid phone number.</li>';
		field.id = 'dontSubmit';
		return false;
	}
	
	if (field.value.length!=8 && trimAll(field.value) != '') {
		msg = msg + '<li>Please enter your phone number in this format: xxx-xxxx.</li>';
		field.id = 'dontSubmit';
		return false;
	}
	for (var i=0; i < field.value.length; i++) {
		temp = "" + field.value.substring(i, i+1);
		if (temp == "-") hyphencount++;
		if (valid.indexOf(temp) == "-1") {
			msg = msg + '<li>The phone number you entered contains invalid characters.</li>';
			field.id = 'dontSubmit';
			return false;
		}
		if ((hyphencount > 1) || ((field.value.length==8) && ""+field.value.charAt(3)!="-")) {
			msg = msg + '<li>Please enter your phone number in this format: xxx-xxxx.</li>';
			field.id = 'dontSubmit';
			return false;
		}
	}
	
	return true;
}*/

function validateEmail(field) {
	
	idName = String(field.name);
	stringId= String('td' + idName);
	document.getElementById(stringId).className = '';
	
	//field.id = 'reqText';
	field.id = 'elmail';
	
	//removed the email required on July 11, 2006 per instruction on task CMGW 000A 03 -- Joe Raymond
	if(trimAll(field.value) != ''){
		if ((/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(field.value))){
			return true;
		} else {
			msg = msg + '<li>Please enter a valid e-mail address.</li>';
			field.id = 'dontSubmit';
			return false;
		}
	}
	else{
		return true;
	}
}
function validateSSN(field) {
	
	field.id = 'reqText';
	
	var matchArr = field.value.match(/^(\d{3})-?\d{2}-?\d{4}$/);
	var numDashes = field.value.split('-').length - 1;
	if (trimAll(field.value) != ''){
		if (matchArr == null || numDashes == 1) {
			msg = msg + '<li>Please enter your SSN using 9 digits or in the format: xxx-xx-xxxx.</li>';
			field.id = 'dontSubmit';
			return false;
		}
		else 
		if (parseInt(matchArr[1],10)==0) {
			msg = msg + '<li>It appears the SSN you entered is invalid.</li>';
			field.id = 'dontSubmit';
			return false;
		}
	}

	idName = String(field.name);
	stringId= String('td' + idName);
	document.getElementById(stringId).className = '';
	
	return true;
	
}

function validateUserID(field) {
	var notvalid = "\\/ ";
		
	field.id = 'reqText';
	
	if (field.value.length<6 && trimAll(field.value) != '') {
		msg = msg + '<li>Your User ID should be between 6 and 50 characters.</li>';
		field.id = 'dontSubmit';
		return false;
	}
	for (var i=0; i < field.value.length; i++) {
		temp = "" + field.value.substring(i, i+1);
		
		if (notvalid.indexOf(temp) != "-1") {
			msg = msg + '<li>Your User ID should not contain spaces, forward, or backward slashes.</li>';
			field.id = 'dontSubmit';
			return false;
		}
		
	}
	
	return true;
}

function validatePass(field1, field2) {
	var notvalid = "\\/ ";
		
	field1.id = 'reqText';
	field2.id = 'reqText';
	
	if (field1.value != field2.value) {
		msg = msg + '<li>The new password you entered does not match the confirm password.</li>';
		field1.id = 'dontSubmit';
		field2.id = 'dontSubmit';
		return false;
	} else {
		
		if (field1.value.length<6 && trimAll(field1.value) != '' || field2.value.length<6 && trimAll(field2.value) != '') {
			msg = msg + '<li>Your password should be between 6 and 10 characters.</li>';
			field1.id = 'dontSubmit';
			field2.id = 'dontSubmit';
			return false;
		}
		for (var i=0; i < field1.value.length; i++) {
			temp = "" + field1.value.substring(i, i+1);
			
			if (notvalid.indexOf(temp) != "-1") {
				msg = msg + '<li>Your password should not contain spaces, forward, or backward slashes.</li>';
				field1.id = 'dontSubmit';
				field2.id = 'dontSubmit';
				return false;
			}
			
		}
		
	}
	return true;
}

function trimAll( strValue ) {

 var objRegExp = /^(\s*)$/;

    //check for all spaces
    if(objRegExp.test(strValue)) {
       strValue = strValue.replace(objRegExp, '');
       if( strValue.length == 0)
          return strValue;
    }

   //check for leading & trailing spaces
   objRegExp = /^(\s*)([\W\w]*)(\b\s*$)/;
   if(objRegExp.test(strValue)) {
       //remove leading and trailing whitespace characters
       strValue = strValue.replace(objRegExp, '$2');
    }
  return strValue;
}



