//overall error object
var errormsg = '';

//Error Messages
var _101 = '_101 :Please select a state.';
var _102 = '_102 :Please select a county.';
var _102a= '_102a:Please reenter your county name without any numbers or special characters.';
var _103 = '_103 :Please reenter your First Name without any numbers or special characters.';
var _103a= '_103a:Please reenter your First Name without any numbers or special characters.';
var _103b= '_103b:Please reenter your First Name with maximum single occurrence each of apostrophe, hyphen, period, and space.';
var _104 = '_104 :Please enter a single letter as the Middle Initial.';
var _104a = '_104a:Please reenter your Middle Name without any numbers or special characters.';
var _104b= '_104b:Please reenter your Middle Name without any numbers or special characters.';
var _104c= '_104c:Please reenter your Middle Name with maximum single occurrence each of apostrophe, hyphen, period, and space.';
var _105 = '_105 :Please reenter your Last Name without any numbers or special characters.';
var _105a= '_105a:Please reenter your Last Name without any numbers or special characters.';
var _105b= '_105b:Please reenter your Last Name without a leading period.';
var _105c= '_105c:Please reenter your Last Name with a leading alpha character.';
var _105d= '_105d:Please reenter your Last Name with maximum single occurrence each of apostrophe, hyphen, period, and space.';
var _105e= '_105e:Please reenter your Last Name without any periods.';
var _106 = '_106 :Please reenter your Date of Birth in the following format: mm/dd/yyyy.';
var _106a= '_106a:Please enter your Date of Birth after 1900.';
var _106b= '_106b:We\'re sorry, you must be 18 years of age or older to apply for an account.';
var _107 = '_107 :Please reenter your SSN using numbers in the format: ###-##-####.';
var _107a = '_107a:Please reenter your TIN using numbers in the format: ##-#######.';
var _108 = '_108 :Please reenter your address1 without any numbers or special characters.';
var _108a= '_108a:Please check the Address Line 1 field.  Special characters are not allowed.';
var _108b= '_108b:Please check the Address Line 1 field.  PO Boxes are not allowed.';
var _108c= '_108c:Please check the Address Line 1 field.  Rural Routes or Route Designation are not allowed.';
var _108x= '_108x:Please check the Previous Address Line 1 field.  Special characters are not allowed.';
var _108y= '_108y:Please check the Previous Address Line 1 field.  PO Boxes are not allowed.';
var _108z= '_108z:Please check the Previous Address Line 1 field.  Rural Routes or Route Designation are not allowed.';
var _109 = '_109 :Please reenter your address2 without any numbers or special characters';
var _109a= '_109a:Please check the Address Line 2 field.  Special characters are not allowed.';
var _109b= '_109b:Please check the Address Line 2 field.  PO Boxes are not allowed.';
var _109c= '_109c:Please check the Address Line 2 field.  Rural Routes or Route Designation are not allowed.';
var _109x= '_109x:Please check the Previous Address Line 2 field.  Special characters are not allowed.';
var _109y= '_109y:Please check the Previous Address Line 2 field.  PO Boxes are not allowed.';
var _109z= '_109z:Please check the Previous Address Line 2 field.  Rural Routes or Route Designation are not allowed.';
var _110 = '_110 :Please reenter a valid city.';
var _110x= '_110x:Please reenter a valid City.';
var _110y= '_110y:Please reenter a valid Previous City.';
var _111 = '_111 :Please reenter your zip code in the following format: ##### or #####-####.';
var _111x= '_111x:Please reenter the ZIP Code field using numbers in the following format: ##### or #####-####.';
var _111y= '_111y:Please reenter your Previous ZIP Code field using numbers in the following format: ##### or #####-####.';
var _112 = '_112 :Please reenter your Email address in the following format: alias@domain.extension.';
var _112a= '_112a:Please reenter your Email address in the confirmation field.';
var _112b= '_112b:Please reenter your Email address in the confirmation field.';
var _113 = '_113 :Please reenter your Phone Number field in the format: ###-###-####.  Phone numbers cannot start with 000';
var _113h= '_113h:Please reenter your Home Phone Number field in the format: ###-###-####.  Phone numbers cannot start with 000';
var _113m= '_113m:Please reenter your Mobile Phone Number field in the format: ###-###-####.  Phone numbers cannot start with 000';
var _113w= '_113w:Please reenter your Work Phone Number field in the format: ###-###-####.  Phone numbers cannot start with 000';
var _113o= '_113o:Please reenter your Other Phone Number field in the format: ###-###-####.  Phone numbers cannot start with 000';
var _114 = '_114 :Please reenter the years at residence as a valid whole number.';
var _115 = '_115 :Please enter your current residence.';
var _116 = '_116 :Please enter the monthly payment.';
var _116a= '_116a:Please reenter the monthly payment in the following format: $00.00.';
var _117 = '_117 :Please enter the estimated market value.';
var _117a= '_117a:Please reenter the estimated market value in the following format: $00.00.';
var _118 = '_118 :Please enter the total mortgage lien.';
var _118a= '_118a:Please reenter the total mortgage lien in the following format: $00.00.';
var _119 = '_119 :Please select an employment status.';
var _120 = '_120 :Please enter your employer\'s name.';
var _120a= '_120a:Please reenter your employer\'s name without any numbers or special characters.';
var _121 = '_121 :Please enter the number of years employed.';
var _121a= '_121a:Please reenter the years employed in valid whole numbers.';
var _122 = '_122 :Please enter your position.';
var _122a= '_122a:Please reenter your position without any numbers or special characters.';
var _123 = '_123 :Please enter your annual income.';
var _123a= '_123a:Please reenter your annual income in the following format: $00.00.';
var _124 = '_124 :Please enter your employer\'s telephone number.';
var _124a= '_124a:Please reenter your employer\'s telephone number in the following format: ###-###-####.';
var _125 = '_125 :Please reenter your other annual income in the following format: $00.00.';
var _126 = '_126 :Please reenter the source of your other annual income.';
var _127 = '_127 :Please select your ethnicity.';
var _128 = '_128 :Please select your race.';
var _129 = '_129 :Please select your gender.';
var _130 = '_130 :Please select the type of loan.';
var _131 = '_131 :Please select new or increase line of credit.';
var _132 = '_132 :Please select if the vehicle is new or used.';
var _133 = '_133 :Please select if the RV is new or used.';
var _134 = '_134 :Please select if the boat is new or used.';
var _135 = '_135 :Please select new or increase line of credit.';
var _136 = '_136 :Please select the type of auto/truck/motorcycle loan.';
var _137 = '_137 :Please select the type of credit card.';
var _138 = '_138 :Please enter a loan amount in the following format: $00.00.';
var _138a= '_138a:Please enter an amount between $500 and $999,999.';
var _138b= '_138b:Please enter an amount between $2,500 and $999,999.';
var _138c= '_138c:Please enter an amount between $5,000 and $999,999.';
var _138d= '_138d:Please enter an amount between $10,000 and $999,999.';
var _139 = '_139 :Please reenter your promotion code.';
var _140 = '_140 :Please indicate if this loan will pay off an existing loan secured by a residence.';
var _141 = '_141 :Please select the purpose of the loan.';
var _142 = '_142 :Please select the term of the loan.';
var _143 = '_143 :Please enter the make of the vehicle.';
var _143a= '_143a:Please reenter the make of the vehicle.';
var _144 = '_144 :Please enter the model of the vehicle.';
var _144a= '_144a:Please reenter the model of the vehicle.';
var _145 = '_145 :Please enter the year of the vehicle.';
var _145a= '_145a:Please reenter the year of the vehicle.';
var _146 = '_146 :Please select the body style of the vehicle.';
var _147 = '_147 :Please select the type of vehicle.';
var _147a= '_147a:Please select the type of vehicle.';
var _148 = '_148 :Please enter the size of the vehicle.';
var _148a= '_148a:Please reenter the size of the vehicle.';
var _149 = '_149 :Please enter the make of the motor.';
var _149a= '_149a:Please reenter the make of the motor.';
var _150 = '_150 :Please enter the model of the motor.';
var _150a= '_150a:Please reenter the model of the motor.';
var _151 = '_151 :Please enter the year of the motor.';
var _151a= '_151a:Please reenter the year of the motor.';
var _152 = '_152 :Please select the motor type of the vehicle.';
var _153 = '_153 :Please enter the make of the trailer.';
var _153a= '_153a:Please reenter the make of the trailer.';
var _154 = '_154 :Please enter the model of the trailer.';
var _154a= '_154a:Please reenter the model of the trailer.';
var _155 = '_155 :Please enter the year of the trailer.';
var _155a= '_155a:Please reenter the year of the trailer.';
var _156 = '_156 :Please review the disclosure(s) by clicking on the link(s).';
var _156a= '_156a:Please click the checkbox indicating that you have reviewed the above disclosure(s).';
var _161 = '_161 :Please enter a valid Identification Number.';
var _162 = '_162 :Please reenter your Suffix without any numbers or special characters.';
var _162a= '_162a:Please reenter your Suffix with any of the following values: (blank), JR, SR, II, III, IV.';
var _163 = '_163 :Please reenter the Id Expiration Date in the following format: mm/dd/yyyy.';
var _163a= '_163a:Your Identification has expired, please check the Expiration Date you\'ve entered, or select another form of Identification.';
var _164 = '_164 :Please reenter beneficiary First Name without any numbers or special characters.';
var _164a= '_164a:Please reenter beneficiary First Name without any numbers or special characters.';
var _164b= '_164b:Please reenter beneficiary First Name with maximum single occurrence each of apostrophe, hyphen, period, and space.';
var _165 = '_165 :Please enter a single letter as the beneficiary Middle Initial.';
var _166 = '_166 :Please reenter beneficiary Last Name without any numbers or special characters.';
var _166a= '_166a:Please reenter beneficiary Last Name without any numbers or special characters.';
var _166b= '_166b:Please reenter beneficiary Last Name without a leading period.';
var _166c= '_166c:Please reenter beneficiary Last Name with a leading alpha character.';
var _166d= '_166d:Please reenter beneficiary Last Name with maximum single occurrence each of apostrophe, hyphen, period, and space.';
var _166e= '_166e:Please reenter beneficiary Last Name without any periods.';
var _167 = '_167 :Please reenter beneficiary Date of Birth in the following format: mm/dd/yyyy.';
var _167a= '_167a:Please enter beneficiary Date of Birth after 1900.';
var _167b= '_167b:We\'re sorry, you must be 18 years of age or older to apply for an account.';
var _168 = '_168 :Please reenter beneficiary SSN using numbers in the format: ###-##-####.';
var _169 = '_169 :Please enter the Membership Number.';
var _170 = '_170 :Please select the Application type.'; 
var _171 = '_171 :Please specify whether you are an existing Wilmington Trust client or not.'; 
var _172 = '_172 :Please certify that you are a U.S. citizen or Resident Alien.'; 
var _173 = '_173 :Please specify whether you have lived in current address for more than two years.'; 
var _174 = '_174 :Please specify whether your previous address is in US or not.';
var _175 = '_175 :Please specify whether you have a valid US Driver\'s License.';
var _176 = '_176 :Please reenter the Effective Date in the following format: mm/dd/yyyy.';
var _176a= '_176a:Effective dates are valid today and up to one year from today. Please enter a valid effective date.';
var _177 = '_177 :Please specify your preferred phone number.'; 
var _178 = '_178 :Please specify your Company Name without any specical character.'; 
var _179 = '_178 :Please specify your Account Number without any specical character.'; 
var _180 = '_180 :Please select your Security Image by clicking on the image.';
var _181 = '_181 :Please reenter your Security Caption field without any special characters.';
var nochars = '';
var dash = '-';
var space = ' ';
var apos = '\\';
var period = '.';
var at = '@';

var ROW_SELECTED = "#cccccc";
var COLOR_WHITE = "#ffffff";
var TEXT_DISABLED = "#eeeeee";
var LABEL_ENABLED = "#000000";
var LABEL_DISABLED = "#999999";

var DebugMode = false;

var TheForm = null;

/*
 * This is a generic methhod call to process all text form
 * fields through.
 */
function processLoanAlphaText(object, blankallowed, allowedchars) {
  return validateAlphaText(object, blankallowed, allowedchars);
}

/*
 * This is a generic methhod call to process all text form
 * fields through.
 */
function processLoanNumericText(object, blankallowed, allowedchars) {
  return validateNumericText(object, blankallowed, allowedchars);
}

/*
 * This is a generic methhod call to process all text form
 * fields through.
 */
function processLoanAlphaNumericText(object, blankallowed, allowedchars) {
  return validateAlphaNumericText(object, blankallowed, allowedchars);
}

/*
 * This is a generic methhod call to process all select form
 * fields through.
 */
function processLoanRadio(object, required) {
  return validateRadio(object, required);
}

/*
 * This is a generic methhod call to process all select form
 * fields through.
 */
function processLoanSelect(object, zeroallowed) {
  return validateSelect(object, zeroallowed);
}

/*
 * This will validate the State Dropdown select form element
 */
function validateState(object, required) {
  if (!processLoanSelect(object, !required)) { return _101; }
  return '';
}

/*
 * This will validate the County Dropdown select form element
 */
function validateCountySelect(object, required) {
  if (object.length == 1) { required = false; }
  if (!processLoanSelect(object, !required)) { return _102; }
  return '';
}

/*
 * This will validate all first name form elements
 */
function validateFirstName(object, required) {
  object.value = trim(object.value);
  var value=object.value;
  if (value == '') {
    if (required) { return _103; } else { return ''; }
  }
  var space = ' '; var spc=0;
  var hyphen = '-'; var hpn=0;
  var apostrophe = '\''; var aphe=0;
  var period = '.'; var prd=0; var words;
  for (i=0; i<value.length; i++){
  	if(value.charAt(i) == space) spc++;
  	if(value.charAt(i) == hyphen) hpn++;
  	if(value.charAt(i) == apostrophe) aphe++;
  	if(value.charAt(i) == period) prd++;	
	
  } 
//  alert("object.value = "+value);
//  alert("value.length = "+value.length+" space = "+spc+" hyphen = "+hpn+" apostrophe = "+aphe+" period = "+prd);

  if (spc>1 || hpn>1 || aphe>1 || prd>1){
  	return _103b;
  }

  if (value.search(/^[a-zA-Z]+[a-zA-Z\- '.]*$/) != 0 ) {
    return _103a;
  }

  //if (!processLoanAlphaText(object, !required, dash+space+apos)) { return _103; }
  return '';
}

function validateMiddleName(object, required) {
  object.value = trim(object.value);
  var value=object.value;
  if (value == '') {
    if (required) { return _104a; } else { return ''; }
  }
  var space = ' '; var spc=0;
  var hyphen = '-'; var hpn=0;
  var apostrophe = '\''; var aphe=0;
  var period = '.'; var prd=0; var words;
  for (i=0; i<value.length; i++){
  	if(value.charAt(i) == space) spc++;
  	if(value.charAt(i) == hyphen) hpn++;
  	if(value.charAt(i) == apostrophe) aphe++;
  	if(value.charAt(i) == period) prd++;	
	
  } 
//  alert("object.value = "+value);
//  alert("value.length = "+value.length+" space = "+spc+" hyphen = "+hpn+" apostrophe = "+aphe+" period = "+prd);

  if (spc>1 || hpn>1 || aphe>1 || prd>1){
  	return _104c;
  }

  if (value.search(/^[a-zA-Z]+[a-zA-Z\- '.]*$/) != 0 ) {
    return _104b;
  }

  //if (!processLoanAlphaText(object, !required, dash+space+apos)) { return _103; }
  return '';
}


function validateBeneficiaryFirstName(object, required) {
    var valreturn="";
    valreturn = validateFirstName(object,required);
	if (valreturn == _103) {
		return _164;
	} else if (valreturn == _103a) {
		return _164a;
	} else if (valreturn == _103b) {	
		return _164b;
	} else {
		return valreturn;	
	}
}

/*
 * This will validate all middle name form elements
 */
function validateMiddleInitial(object, required) {
  object.value = trim(object.value);
  if (!processLoanAlphaText(object, !required, nochars)) { return _104; }
  return '';
}

function validateBeneficiaryMiddleInitial(object, required) {
    var valreturn="";
    valreturn = validateMiddleInitial(object,required);
	if (valreturn == _104) {
		return _165;
	} else {
		return valreturn;	
	}
}
/*
 * This will validate all last name form elements
 */
function validateLastName(object, required) {
  object.value = trim(object.value);
  var value=object.value;
  if (value == '') {
    if (required) { return _105; } else { return ''; }
  }
  if (value.charAt(0) == '.') { return _105b;}

  var space = ' '; var spc=0;
  var hyphen = '-'; var hpn=0;
  var apostrophe = '\''; var aphe=0;
  var period = '.'; var prd=0; var words;
  for (i=0; i<value.length; i++){
  	if(value.charAt(i) == space) spc++;
  	if(value.charAt(i) == hyphen) hpn++;
  	if(value.charAt(i) == apostrophe) aphe++;
  	if(value.charAt(i) == period) prd++;	
  } 
//  alert("object.value = "+value);
//  alert("value.length = "+value.length+" space = "+spc+" hyphen = "+hpn+" apostrophe = "+aphe+" period = "+prd);

  if(prd>0) return _105e;

  if (spc>1 || hpn>1 || aphe>1){
  	return _105d;
  }
	
  if (value.search(/^[a-zA-Z]+[a-zA-Z\- ']*$/) != 0 ) {
    return _105a;
  }

  //if (!processLoanAlphaText(object, !required, dash+space+apos)) { return _105a; }
  return '';
}

function validateBeneficiaryLastName(object, required) {
    var valreturn="";
    valreturn = validateLastName(object,required);
	if (valreturn == _105) {
		return _166;
	} else if (valreturn == _105a) {
		return _166a;
	} else if (valreturn == _105b) {	
		return _166b;
	} else if (valreturn == _105c) {	
		return _166b;
	} else if (valreturn == _105d) {	
		return _166b;
	} else if (valreturn == _105e) {	
		return _166b;
	} else if (valreturn == _105b) {	
		return _166b;
	} else {
		return valreturn;	
	}
}


/*
 * This will validate all dob form elements
 */
function validateDOB(object, required) {
  object.value = trim(object.value);
  var value = object.value;
  
  if (value == "") {
    if (required) return _106;
    else return '';
  }
  
  if (value == "MM/DD/YYYY") {
  	return _106;
  }

  if ( !isValidDate(object)) { return _106; }

  var dob = new Date(value);
  if(dob.getFullYear() < (1901)) {
	   return _106a;
  }

  if(getAgeByDOB(dob) < 18) {
    return _106b;
  }

  return '';
}

function validateBeneficiaryDOB(object, required) {
    var valreturn="";
    valreturn = validateDOB(object,required);
	if (valreturn == _106) {
		return _167;
	} else if (valreturn == _106a) {
		return _167a;
	} else if (valreturn == _106b) {	
		return '';
	} else {
		return valreturn;	
	}
}


/*
 * This will validate all ssn form element
 */
function validateSSN(object, required) {
  object.value = trim(object.value);
  var ssn = object.value;
  if (ssn == "") {
    if (required) return _107;
    else return '';
  }
  if (ssn.search(/^\d{9}$/) == 0) {
    object.value = ssn.substring(0,3) + "-" + ssn.substring(3,5) + "-" + ssn.substring(5);
    return '';
  }
  if (ssn.search(/^\d{3}-\d{2}-\d{4}$/)!= 0) { return _107; }
  return '';
}

/*
 * This will validate all tin form element
 */
function validateTIN(object, required) {
  object.value = trim(object.value);
  var tin = object.value;
  if (tin == "") {
    if (required) return _107a;
    else return '';
  }
  if (tin.search(/^\d{9}$/) == 0) {
    object.value = tin.substring(0,2) + "-" + tin.substring(2);
    return '';
  }
  if (tin.search(/^\d{2}-\d{7}$/)!= 0) { return _107a; }
  return '';
}


function validateBeneficiarySSN(object, required) {
    var valreturn="";
    valreturn = validateSSN(object,required);
	if (valreturn == _107) {
		return _168;
	} else {
		return valreturn;	
	}
}


/*
 * This will validate all address 1 form elements
 */
function validateAddr1(object, required) {
  if ( !isValidAddr(object, required) ) return _108a;
  if (hasPOBox(object.value)) { return _108b; }
  if (hasRRNumber(object.value)) { return _108c; }
  return '';
  
}

/*
 * This will validate all address 2 form elements
 */
function validateAddr2(object, required) {
  if ( !isValidAddr(object, required) ) return _109a;
  if (hasPOBox(object.value)) { return _109b; }
  if (hasRRNumber(object.value)) { return _109c; }
  return '';
}

/*
 * This will validate all city form elements
 */
function validateCity(object, required) {
  object.value = trim(object.value);
  var value=object.value;
  if (value == '') {
    if (required) { return _110x; } else { return ''; }
  }
  if (value.search(/^[a-zA-Z]+([-.|'|\s]?[a-zA-Z ]+)*$/) != 0 ) {
    return _110x;
  }
  
  if (value.charAt(0) == '.') { return _110x; }
  if (value.charAt(0) == '-') { return _110x; }
  
  return '';
}

/*
 * This will validate all zip code form elements
 */
function validateZip(object, required) {
  object.value = trim(object.value);
  if (object.value.length == 0 && required) { return _111x; }
  if (object.value.search(/^(\d{5})(-\d{4})?$/) != 0) { return _111x; }
  return '';
}

function validatePreviousAddr1(object, required) {
  if ( !isValidAddr(object, required) ) return _108x;
  if (hasPOBox(object.value)) { return _108y; }
  if (hasRRNumber(object.value)) { return _108z; }
  return '';

}

/*
 * This will validate all address 2 form elements
 */
function validatePreviousAddr2(object, required) {
  if ( !isValidAddr(object, required) ) return _109x;
  if (hasPOBox(object.value)) { return _109y; }
  if (hasRRNumber(object.value)) { return _109z; }
  return '';
}

/*
 * This will validate all city form elements
 */
function validatePreviousCity(object, required) {
  object.value = trim(object.value);
  var value=object.value;
  if (value == '') {
    if (required) { return _110y; } else { return ''; }
  }
  if (value.search(/^[a-zA-Z]+([-|'|\s]?[a-zA-Z]+)*$/) != 0 ) {
    return _110y;
  }
  return '';
}

/*
 * This will validate all zip code form elements
 */
function validatePreviousZip(object, required) {
  object.value = trim(object.value);
  if (object.value.length == 0 && required) { return _111y; }
  if (object.value.search(/^(\d{5})|(\d{5}-\d{4})$/) != 0) { return _111y; }
  return '';
}

/*
 * This will validate all county code form elements
 */
function validateCounty(object, required) {
  var value=object.value;
  if (value == '') {
    if (required) { return _102; } else { return ''; }
  }
  if (value.search(/^[a-zA-Z]+([-|'|\s]?[a-zA-Z]+)*$/) != 0 ) {
    return _102a;
  }
  //if (!processLoanAlphaText(object, !required, space+dash)) { return _102a; }
  return '';
}

/*
 * This will validate all email form elements
 */
function validateEmail(object, required) {
  object.value = trim(object.value);
  var theValue = object.value;
  if ( (theValue == null) || (theValue == "") || (theValue == "name@domain.com")) {
    if (required) { return _112; } else { return ''; }
  }
  if(theValue.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) == -1) { return _112; }
  //if (!processLoanAlphaNumericText(object, !required, dash+period+at)) { return _112b; }
  return '';
}

/*
 * This will validate all phone form elements
 */
function validatePhone(object, required) {
  return isValidPhoneNumber(object, required)? '' : _113;
}

function validateHomePhone(object, required) {
  return isValidPhoneNumber(object, required)? '' : _113h;
}
function validateWorkPhone(object, required) {
  return isValidPhoneNumber(object, required)? '' : _113w;
}
function validateMobilePhone(object, required) {
  return isValidPhoneNumber(object, required)? '' : _113m;
}
function validateOtherPhone(object, required) {
  return isValidPhoneNumber(object, required)? '' : _113o;
}

function isValidPhoneNumber(object, required) {
  object.value = trim(object.value);
  o = object.value;
  if (o == null || o == "") {
    if (required) { return false; } else { return true; }
  }
  if (o.substring(0,3) == '000') {
    return false;
  }
  if (o.search(/^\d{10}$/) == 0) {
    object.value = o.substring(0,3)+'-'+o.substring(3,6)+'-'+o.substring(6);
  }
  if (object.value.search(/^\d{3}-\d{3}-\d{4}$/) != 0) {
    return false;
  }
  return true;
}

/*
 * This will allow the user to check a single field for input.
 */
function showAlert(object, func, required) {
  if (!required) {
    if (object.type == "text" && object.value == "") return true;
    if (object.type == "hidden" && object.value == "") return true;
    if (object.type == "select-one" && object.selectedIndex == 0) return true;
  }
  var val = validateSingle(object, func, required);
  if (val != '') {
    displayError(object,val);
    return false;
  }
  return true;
}

/*
 * This will allow the user to check all fields for input.
 */
function showAlerts(object) {
  var val = validateAll(object);
  if (val != null) {
    displayError(val,errormsg);
    return false;
  }
  return true;
}

/*
 * This will allow the user to pass in all the fields they wish to validate
 * and return a single error message about all of the fields.
 */
function validateAll(objects) {
  var val = null;
  errormsg = '';
  if (objects != null) {
    if (objects.length > 1) {
      for (i = 0; i < objects.length; i++) {
        var v1 = validateSingle(objects[i][0], objects[i][1], objects[i][2]);
        if (v1 != '') {
          if (val == null) { val = objects[i][0]; }
          errormsg += '\n' + v1;
        }
      }
    } else if (objects.length == 1) {
      var v2 = validateSingle(objects[0][0], objects[0][1], objects[0][2]);
      if (v2 != '') {
        if (val == null) { val = objects[0][0]; }
        errormsg += '\n' + v2;
      }
    }
  }
  return val;
}

/*
 * This will allow the user or the above array version to pass a single validation
 * field into and it will go and call the appropriate javascript function
 */
function validateSingle(object, func, required) {
  if (required == null) { required = false; }
  var functocall = eval(func);
  if (functocall != '' ) {
    if (!DebugMode) {
      var idx = functocall.search(/^_.{4}:/);
      if (idx == 0) functocall=functocall.substring(6);
    }
  }
  return functocall;
}

/*
 * displays an error message to the client and sets focus to the object.
 */
function displayError(object, message) {
  alert(message);
  if (object.type == "text" || object.type == "select-one") {
    object.focus();
    if (object.type == "text") object.select();
  } else {
    if (object.length) object=object[0];
    object.focus();
    //object.select();
  }
}

function disableFields(which, isDisabled, noPreSelect, label) {
  label.style.color = isDisabled? LABEL_DISABLED: LABEL_ENABLED;
  disableBoxes(which, isDisabled, noPreSelect);
}
function disableBoxes(which, isDisabled, noPreSelect) {
  if (which.type == "text") {
    if (isDisabled || noPreSelect) {
      which.value = "";
    }
    which.style.background= isDisabled ?TEXT_DISABLED :COLOR_WHITE;
    which.disabled = isDisabled;
  } else if (which.type == "select-one") {
    if (isDisabled || noPreSelect) {
      which.selectedIndex = 0;
    }
    which.disabled = isDisabled;
  } else if (which.length) {
    for (var i=0; i<which.length; i++) {
      if (isDisabled || noPreSelect) which[i].checked=false;
      which[i].disabled=isDisabled;
    }
  } else {
    which.checked=false;
    which.disabled=isDisabled;
  }
}

function checkMask(e, size, next,ev) {
  var val = e.value;
  var TheForm=e.form;
  var elemSize = TheForm.elements[e.name].length;
  if (val.length == size) {
    if (next != -1) {
      if ( val.search(/^\d+$/)!= 0)  {
        alert("invalid entry");
        e.focus();
        e.select();
        return;
      }
      var nextE = TheForm.elements[e.name][next];
      nextE.focus();
      nextE.select();
    }
  }
}

function maskInput(which) {
  if (which) {
    if (which.value <= 0) {
      which.value="";
    }
    if (which.value.indexOf(".") >=0) {
      which.value=which.value.substring(0, which.value.indexOf("."));
    }
  }
}

function checkValue(s, title, allowNull) {
  alert("who is calling this? " + title);
  if (s == null || s == "") {
    if (allowNull) { return ''; }
  }
  if (s.search(/^[1-9]?\d+$/) != 0) {
    return "Bad " + title;
  } else if (s.length > 8) {
    return title + " can not be greater than 9999999";
  }
  return '';
}

function isValidAmount(s, allowNull) {
  if (s == null || s == "") {
    if (allowNull) return true;
    else  return false;
  }
  if (s.search(/^\$?\s?0/) == 0) {
    return (s.search(/^\$?\s?0(\.\d\d)?$/) == 0);
  }
  if (s.search(/^\$?\s?[1-9]\d{0,2}(,?\d{3}){0,3}(\.\d\d)?$/) != 0) {
    return false;
  }
  var newS = stripCharsInBag(s, ', $');
  return (newS.search(/^[1-9]\d{0,7}(\.\d\d)?$/) == 0);
}

function getRadioValue(obj) {
  if (obj.length) {
    for (var i=0; i<obj.length; i++) {
      if (obj[i].checked) return obj[i].value;
    }
  } else {
    if (obj.checked) return obj.value;
  }
  return '';
}

function setRadioValue(obj, val) {
  if (obj.length) {
    for (var i=0; i<obj.length; i++) {
      obj[i].checked = (obj[i].value == val);
    }
  } else {
    obj.checked = obj.value == val;
  }
}

function putZeroToDisabledField(object, val) {
  if (object && object.disabled) {
    object.disabled = false;
    if (val) {
      object.value = val;
    } else {
      object.value="0";
    }
  }
}

function validateIdNumber(object, required) {
  object.value = trim(object.value);
  var value = object.value;
  if (value == "") {
    if (required) return _161;
    else return '';
  }
  if (value.search(/^[a-zA-Z\d]+([-|\s]?[a-zA-Z\d]+)*$/) != 0 ) {
    return _161;
  }
  return '';
}

function validateSuffix(object, required) {
  object.value = trim(object.value);
  var value = object.value;
  if (value == "") {
    if (required) return _162;
    else return '';
  }
  //if (value.match(/^(JR)|(SR)|(II)|(III)|(IV)$/) != 0 ) {
  if (value != 'JR' && value != 'SR' && value != 'II' && value != 'III' && value != 'IV') {

//  if (value.search(/^[a-zA-Z]{0,10}$/) != 0 ) {
    return _162a;
  }
  return '';
}

function hasPOBox(s) {
  return (s.search(/^.*[P|p]\.?\s?[O|o]\.?\s?[B|b][O|o][X|x].*$/) >= 0);
}
function hasRRNumber(s) {
  return (s.search(/^R[R|D]\.?\s?(#\s?)?\d+.*$/) >= 0);
}

function isValidAddr(object, required) {
  object.value = trim(object.value);
  var value = object.value;
  if (value == "") {
    return !required;
  }
  if (value.search(/^[\w|#|\/]+(\s?[\w|\-|#|'|\/|.|,]+)*$/) >= 0) {
    if (value.search(/([\-]\s?){2,}/) >= 0) {
      return false;
    } else if (value.search(/([#]\s?){2,}/) >= 0) {
			return false;
    } else if (value.search(/([']\s?){2,}/) >= 0) {
			return false;
    } else if (value.search(/([\/]\s?){2,}/) >= 0) {
			return false;
    } else if (value.search(/([.]\s?){2,}/) >= 0) {
			return false;
    } else if (value.search(/([,]\s?){2,}/) >= 0) {
			return false;
    } else {
      return true;
    }
  } else {
    return false;
  } 
}

function validateIdExpiration(object, required) {
  object.value = trim(object.value);
  var value = object.value;
  if (value == "") {
    if (required) return _163;
    else return '';
  }

  if ( !isValidDate(object)) { return _163; }

  var dt = new Date(value);
  var todayDate=new Date();

  if(dt <= todayDate){
    return _163a;
  } else {
    return '';
  }
}


/*
 * This will validate Affinity Membership Number
 */
function validateAffinityMembershipNumber(object, required) {
  object.value = trim(object.value);
  var affinityMembershipNumber = object.value;
  if (affinityMembershipNumber.search(/^\d{16}$/) == 0) {
    object.value = affinityMembershipNumber.substring(0,3) + "-" 
		 + affinityMembershipNumber.substring(3,6) + "-" 
		 + affinityMembershipNumber.substring(6,15) + "-" 
		 + affinityMembershipNumber.substring(15);
    return '';
  }
  if (affinityMembershipNumber.search(/^\d{3}-\d{3}-\d{9}-\d{1}$/)!= 0) { return _169; }
  return '';
}


/*
 * This will validate whether application type is selected or not
 */
function isAppTypeChecked(object, required) {
  var rtnVal=isRadioChecked(object, required);
  
  if(rtnVal == true) { return ''; }
  else { return _170; }
} 

/*
 * This will validate whether applicant has specified he is existing Wilmington Trust client or not
 */
function isWilmingtonTrustClientChecked(object, required) {
  var rtnVal=isRadioChecked(object, required);
  
  if(rtnVal == true) { return ''; }
  else { return _171; }
}

/*
 * This will validate whether applicant has specified he is resident alien or not
 */
function isResidentAlienChecked(object, required) {
  var rtnVal=isRadioChecked(object, required);
  
  if(rtnVal == true) { return ''; }
  else { return _172; }
} 

/*
 * This will validate whether applicant has specified he lived in the current address for more than 2 years
 */
function isRecentlyMovedChecked(object, required) {
  var rtnVal=isRadioChecked(object, required);
  
  if(rtnVal == true) { return ''; }
  else { return _173; }
} 

/*
 * This will validate whether applicant has specified his previous address is international
 */
function isPreviousAddressIsIntlChecked(object, required) {
  var rtnVal=isRadioChecked(object, required);
  
  if(rtnVal == true) { return ''; }
  else { return _174; }
} 

/*
 * This will validate whether applicant has valid US 
 */
function isHavingValidLicenseSelected(object, required) {
  var rtnVal=isRadioChecked(object, required);
  
  if(rtnVal == true) { return ''; }
  else { return _175; }
} 

/*
 * This is a generic method call to process all select form
 * fields through.
 */
function isRadioChecked(object, required) {
  var rtnVal=false;
  if (!object.length) {
    rtnVal = object.checked;
  } else {
    for (var i=0; i<object.length; i++) {
      if (object[i].checked) {
        rtnVal=true;
        break;
      }
    }
  }
  return rtnVal;
} 

    function valOlbAcct(){
      var isallints = true;
      var accountType = document.enrollForm.olbAccountType.value;
      if(accountType == "ZZZ") {
        return "Please select an account type and enter your account number.";
      }

      if (accountType == "WBS") { isallints = false; }
      var msg=null;
      var partName = accountType;
      var value=getPartValue(partName, "");

      var part1 = eval("document.enrollForm."+partName+"part1");

      //check if we should skip the length
      var ok = (part1.partlength == "*");
      if(!ok){
       ok = ( trim(value).length == part1.partlength );
      }

      if (ok) {
        // check numeric
        if (isallints) {
          ok = isInteger(value);
        }  else {
          ok = true;
        }
        if( ! ok ) {
          msg = "{numeric)";
        }
      } else {
        msg = "(length)";
      }
      if(ok) {
//          document.enrollForm.olbNumber.value=getPartValue(accountType, "-");;
  //        document.enrollForm.olbType.value=accountType;

          return "";
      }

      return "Please select an account type and enter your account number.";

    }
    
	function validateOlb() {
		TheForm = document.enrollForm;
	  	theForm=TheForm;
	    if ((document.enrollForm.olb!=null && document.enrollForm.olbStatement!=null && !document.enrollForm.olb.disabled && !document.enrollForm.olb.checked && !document.enrollForm.olbStatement.checked)
    	  ||(document.enrollForm.olb!=null && document.enrollForm.olbStatement!=null && document.enrollForm.olb.disabled && !document.enrollForm.olbStatement.checked)
	      ||(document.enrollForm.olb!=null && document.enrollForm.olbStatement==null && !document.enrollForm.olb.checked)
    	  ||(document.enrollForm.olb==null && document.enrollForm.olbStatement!=null && !document.enrollForm.olbStatement.checked) ) {
		    if ( document.enrollForm.olb != null && !document.enrollForm.olb.disabled) 
			    elem=document.enrollForm.olb;
			else 
				elem=document.enrollForm.olbStatement;    
		    return "Please select the Banking Services for which you would like to gain access";
		} else if (document.enrollForm.olb!=null && document.enrollForm.olbStatement!=null && !document.enrollForm.olb.disabled && !document.enrollForm.olb.checked && document.enrollForm.olbStatement.checked) {
			    elem=document.enrollForm.olb;
		    return "Please select On-Line Banking.";
		} else {
		    if (document.enrollForm.olbAccountType != null) {
		    	if (document.enrollForm.olbAccountType.value == 'ZZZ') {
			    	elem=document.enrollForm.olbAccountType;
				    return "Please select an account type and enter your account number";
			    } else {
		    		elem=document.getElementById(document.enrollForm.olbAccountType.value+'part1');
					return valOlbAcct();
			    }
			}    
		}
		return "";
	}
	
	function concatOlbAccount() {
		if (document.enrollForm.olbAccountType != null) {
			if (document.enrollForm.olbAccountType.value == 'WBS') {
				document.enrollForm.olbAccountNumber.value = 
					document.enrollForm.WBSpart1.value + '-' + document.enrollForm.WBSpart2.value;
			} else if (document.enrollForm.olbAccountType.value == 'CDD') {
				document.enrollForm.olbAccountNumber.value = 
					document.enrollForm.CDDpart1.value + '-' + document.enrollForm.CDDpart2.value + '-' +
					document.enrollForm.CDDpart3.value + '-' + document.enrollForm.CDDpart4.value;
			} else if (document.enrollForm.olbAccountType.value == 'DDA') {
				document.enrollForm.olbAccountNumber.value = 
					document.enrollForm.DDApart1.value + '-' + document.enrollForm.DDApart2.value + '-' +
					document.enrollForm.DDApart3.value;
			} else if (document.enrollForm.olbAccountType.value == 'COM') {
				document.enrollForm.olbAccountNumber.value = 
					document.enrollForm.COMpart1.value + '-' + document.enrollForm.COMpart2.value + '-' +
					document.enrollForm.COMpart3.value + '-' + document.enrollForm.COMpart4.value;
			} else if (document.enrollForm.olbAccountType.value == 'ILA') {
				document.enrollForm.olbAccountNumber.value = 
					document.enrollForm.ILApart1.value + '-' + document.enrollForm.ILApart2.value + '-' +
					document.enrollForm.ILApart3.value + '-' + document.enrollForm.ILApart4.value;
			} else if (document.enrollForm.olbAccountType.value == 'MTG') {
				document.enrollForm.olbAccountNumber.value = 
					document.enrollForm.MTGpart1.value + '-' + document.enrollForm.MTGpart2.value + '-' +
					document.enrollForm.MTGpart3.value;
			} else if (document.enrollForm.olbAccountType.value == 'OEC') {
				document.enrollForm.olbAccountNumber.value = 
					document.enrollForm.OECpart1.value + '-' + document.enrollForm.OECpart2.value + '-' +
					document.enrollForm.OECpart3.value + '-' + document.enrollForm.OECpart4.value;
			} else if (document.enrollForm.olbAccountType.value == 'ZZZ') {
				document.enrollForm.olbAccountNumber.value = '';
			}
		}	
	}
	
	function concatSSN() {
		document.enrollForm.ssn.value = 
			document.enrollForm.ssnpart1.value + document.enrollForm.ssnpart2.value + document.enrollForm.ssnpart3.value;
	}
	 
	function concatDOB() {
		document.enrollForm.dateOfBirth.value = 
				document.enrollForm.dobpart1.value + '/' +
				document.enrollForm.dobpart2.value + '/' +
				document.enrollForm.dobpart3.value;
	}        
	
	function concatOlbrAccount() {
		if (document.enrollForm.olbr1part1.value != '' || document.enrollForm.olbr1part2.value != '')  
		document.enrollForm.olbrAccountNumber1.value = document.enrollForm.olbr1part1.value + '-' + document.enrollForm.olbr1part2.value;
		if (document.enrollForm.olbr2part1.value != '' || document.enrollForm.olbr2part2.value != '')  
		document.enrollForm.olbrAccountNumber2.value = document.enrollForm.olbr2part1.value + '-' + document.enrollForm.olbr2part2.value;
		if (document.enrollForm.olbr3part1.value != '' || document.enrollForm.olbr3part2.value != '')  
		document.enrollForm.olbrAccountNumber3.value = document.enrollForm.olbr3part1.value + '-' + document.enrollForm.olbr3part2.value;
		if (document.enrollForm.olbr4part1.value != '' || document.enrollForm.olbr4part2.value != '')  
		document.enrollForm.olbrAccountNumber4.value = document.enrollForm.olbr4part1.value + '-' + document.enrollForm.olbr4part2.value;
		if (document.enrollForm.olbr5part1.value != '' || document.enrollForm.olbr5part2.value != '')  
		document.enrollForm.olbrAccountNumber5.value = document.enrollForm.olbr5part1.value + '-' + document.enrollForm.olbr5part2.value;
		if (document.enrollForm.olbr6part1.value != '' || document.enrollForm.olbr6part2.value != '')  
		document.enrollForm.olbrAccountNumber6.value = document.enrollForm.olbr6part1.value + '-' + document.enrollForm.olbr6part2.value;
	}
	
	function concatOlpAccount() {
		if (document.enrollForm.olp1part1.value != '' || document.enrollForm.olp1part2.value != '')  
		document.enrollForm.olpAccountNumber1.value = document.enrollForm.olp1part1.value + '-' + document.enrollForm.olp1part2.value;
		if (document.enrollForm.olp2part1.value != '' || document.enrollForm.olp2part2.value != '')  
		document.enrollForm.olpAccountNumber2.value = document.enrollForm.olp2part1.value + '-' + document.enrollForm.olp2part2.value;
		if (document.enrollForm.olp3part1.value != '' || document.enrollForm.olp3part2.value != '')  
		document.enrollForm.olpAccountNumber3.value = document.enrollForm.olp3part1.value + '-' + document.enrollForm.olp3part2.value;
		if (document.enrollForm.olp4part1.value != '' || document.enrollForm.olp4part2.value != '')  
		document.enrollForm.olpAccountNumber4.value = document.enrollForm.olp4part1.value + '-' + document.enrollForm.olp4part2.value;
		if (document.enrollForm.olp5part1.value != '' || document.enrollForm.olp5part2.value != '')  
		document.enrollForm.olpAccountNumber5.value = document.enrollForm.olp5part1.value + '-' + document.enrollForm.olp5part2.value;
		if (document.enrollForm.olp6part1.value != '' || document.enrollForm.olp6part2.value != '')  
		document.enrollForm.olpAccountNumber6.value = document.enrollForm.olp6part1.value + '-' + document.enrollForm.olp6part2.value;
	}
	
	function concatTIN() {
		document.enrollForm.ssn.value = 
			document.enrollForm.tinpart1.value + document.enrollForm.tinpart2.value;
	}	
	
	function disableOtherTradeOption(optionSelected) {
		if (optionSelected == 'realTime') {
			document.enrollForm.mutualFunds.disabled=false;
			document.enrollForm.equities.disabled=false;
			document.enrollForm.options.disabled=false;
			document.enrollForm.viewOnly.checked=false;
		} else {
			document.enrollForm.realTime.checked=false;
			document.enrollForm.mutualFunds.checked=false;
			document.enrollForm.equities.checked=false;
			document.enrollForm.options.checked=false;
			document.enrollForm.mutualFunds.disabled=true;
			document.enrollForm.equities.disabled=true;
			document.enrollForm.options.disabled=true;
		}
	}
	
function registerParts() {
	if(NETSCAPE) {
	  netScapeRegister(NS_Reg,"XXXpart1","partcount","1");
	  netScapeRegister(NS_Reg,"XXXpart1","partsize","20");
	  netScapeRegister(NS_Reg,"XXXpart1","partlength","'*'");
	  netScapeRegister(NS_Reg,"XXXpart1","partchartype",CHAR_TYPE_ALPHANUMERIC);
	  netScapeRegister(NS_Reg,"WBSpart1","partcount","2");
	  netScapeRegister(NS_Reg,"WBSpart1","partsize","3");
	  netScapeRegister(NS_Reg,"WBSpart1","partlength","9");
	  netScapeRegister(NS_Reg,"WBSpart1","partchartype", CHAR_TYPE_ALPHANUMERIC);
	  netScapeRegister(NS_Reg,"WBSpart2","partsize","6");
	  netScapeRegister(NS_Reg,"WBSpart2","partchartype", CHAR_TYPE_NUMERIC);
	  netScapeRegister(NS_Reg,"CDDpart1","partcount","4");
	  netScapeRegister(NS_Reg,"CDDpart1","partsize","3");
	  netScapeRegister(NS_Reg,"CDDpart1","partlength","14");
	  netScapeRegister(NS_Reg,"CDDpart1","partchartype", CHAR_TYPE_NUMERIC);
	  netScapeRegister(NS_Reg,"CDDpart2","partsize","4");
	  netScapeRegister(NS_Reg,"CDDpart2","partchartype", CHAR_TYPE_NUMERIC);
	  netScapeRegister(NS_Reg,"CDDpart3","partsize","4");
	  netScapeRegister(NS_Reg,"CDDpart3","partchartype", CHAR_TYPE_NUMERIC);
	  netScapeRegister(NS_Reg,"CDDpart4","partsize","3");
	  netScapeRegister(NS_Reg,"CDDpart4","partchartype", CHAR_TYPE_NUMERIC);
	  netScapeRegister(NS_Reg,"DDApart1","partcount","3");
	  netScapeRegister(NS_Reg,"DDApart1","partsize","3");
	  netScapeRegister(NS_Reg,"DDApart1","partlength","11");
	  netScapeRegister(NS_Reg,"DDApart1","partchartype", CHAR_TYPE_NUMERIC);
	  netScapeRegister(NS_Reg,"DDApart2","partsize","4");
	  netScapeRegister(NS_Reg,"DDApart2","partchartype", CHAR_TYPE_NUMERIC);
	  netScapeRegister(NS_Reg,"DDApart3","partsize","4");
	  netScapeRegister(NS_Reg,"DDApart3","partchartype", CHAR_TYPE_NUMERIC);
	  netScapeRegister(NS_Reg,"COMpart1","partcount","4");
	  netScapeRegister(NS_Reg,"COMpart1","partsize","3");
	  netScapeRegister(NS_Reg,"COMpart1","partlength","17");
	  netScapeRegister(NS_Reg,"COMpart1","partchartype", CHAR_TYPE_NUMERIC);
	  netScapeRegister(NS_Reg,"COMpart2","partsize","3");
	  netScapeRegister(NS_Reg,"COMpart2","partchartype", CHAR_TYPE_NUMERIC);
	  netScapeRegister(NS_Reg,"COMpart3","partsize","7");
	  netScapeRegister(NS_Reg,"COMpart3","partchartype", CHAR_TYPE_NUMERIC);
	  netScapeRegister(NS_Reg,"COMpart4","partsize","4");
	  netScapeRegister(NS_Reg,"COMpart4","partchartype", CHAR_TYPE_NUMERIC);
	  netScapeRegister(NS_Reg,"ILApart1","partcount","4");
	  netScapeRegister(NS_Reg,"ILApart1","partsize","3");
	  netScapeRegister(NS_Reg,"ILApart1","partlength","17");
	  netScapeRegister(NS_Reg,"ILApart1","partchartype", CHAR_TYPE_NUMERIC);
	  netScapeRegister(NS_Reg,"ILApart2","partsize","3");
	  netScapeRegister(NS_Reg,"ILApart2","partchartype", CHAR_TYPE_NUMERIC);
	  netScapeRegister(NS_Reg,"ILApart3","partsize","7");
	  netScapeRegister(NS_Reg,"ILApart3","partchartype", CHAR_TYPE_NUMERIC);
	  netScapeRegister(NS_Reg,"ILApart4","partsize","4");
	  netScapeRegister(NS_Reg,"ILApart4","partchartype", CHAR_TYPE_NUMERIC);
	  netScapeRegister(NS_Reg,"MTGpart1","partcount","3");
	  netScapeRegister(NS_Reg,"MTGpart1","partsize","3");
	  netScapeRegister(NS_Reg,"MTGpart1","partlength","13");
	  netScapeRegister(NS_Reg,"MTGpart1","partchartype", CHAR_TYPE_NUMERIC);
	  netScapeRegister(NS_Reg,"MTGpart2","partsize","5");
	  netScapeRegister(NS_Reg,"MTGpart2","partchartype", CHAR_TYPE_NUMERIC);
	  netScapeRegister(NS_Reg,"MTGpart3","partsize","5");
	  netScapeRegister(NS_Reg,"MTGpart3","partchartype", CHAR_TYPE_NUMERIC);
	  netScapeRegister(NS_Reg,"OECpart1","partcount","4");
	  netScapeRegister(NS_Reg,"OECpart1","partsize","4");
	  netScapeRegister(NS_Reg,"OECpart1","partlength","16");
	  netScapeRegister(NS_Reg,"OECpart1","partchartype", CHAR_TYPE_NUMERIC);
	  netScapeRegister(NS_Reg,"OECpart2","partsize","4");
	  netScapeRegister(NS_Reg,"OECpart2","partchartype", CHAR_TYPE_NUMERIC);
	  netScapeRegister(NS_Reg,"OECpart3","partsize","4");
	  netScapeRegister(NS_Reg,"OECpart3","partchartype", CHAR_TYPE_NUMERIC);
	  netScapeRegister(NS_Reg,"OECpart4","partsize","4");
	  netScapeRegister(NS_Reg,"OECpart4","partchartype", CHAR_TYPE_NUMERIC);
	}
}
	
function validateEffectiveDate(object, required) {

  object.value = trim(object.value);
  var value = object.value;
  
  if (value == "") {
    if (required) return _176;
    else return '';
  }

  if ( !isValidDate(object)) { return _176; }

 // date must be between today and a year from now
 var today = new Date();

 today = new Date(today.getTime());

 var theDate = new Date(value.substring(6,10),
                        value.substring(0,2) - 1,
                        value.substring(3,5));

 var theFuture = new Date(today.getTime() + (1000 * 60 * 60 * 24 * 365));

 if( (theDate < today) || (theDate > theFuture) ){
  return _176a;
 }

 return '';
}

function validateCompanyName(object, required) {
  object.value = trim(object.value);
  var value = object.value;
  if (value == "" && required) {
    return _178;
  }
  if (value.search(/^[\w|#|\/]+(\s?[\w|\-|#|'|\/|.|,]+)*$/) >= 0) {
    return "";
  } else {
    return _178;
  } 
}

function validateColbAccount(object, required) {
  object.value = trim(object.value);
  var value = object.value;
  if (value == "" && required) {
    return _179;
  }
  if (value.search(/^[\w|#|\/]+(\s?[\w|\-]+)*$/) >= 0) {
    return "";
  } else {
    return _179;
  } 
}

function validateImagePath(object, required) {
  object.value = trim(object.value);
  var value = object.value;
  if (value == "" && required) {
    return _180;
  }
  return "";
}

function validatePhrase(object, required) {
  object.value = trim(object.value);
  var value = object.value;
  if (value == "" && required) {
    return _181;
  }
  if (validateAlphaNumericText(object, false, " ")) {
    return "";
  } else {
    return _181;
  }
}
	