function dirorder_chk(form_flds) {
   var error_msg;
   var field_name = "";
   var error = "";

   removeDispensableValues(Ext.getDom("country").value,'state_country','postal','county_country');

   for(var i = 0; i < form_flds.length; i++) {
      var e = form_flds.elements[i];

	 //check guest data form values
	 if (e.name == "family_name") {
	    field_name = "Last Name";
	    if (!validLastName(e.value)) 
	       error += "\n" + field_name;
	 }
	 if (e.name == "given_name") {
	    field_name = "First Name";
	    if (!validFirstName(e.value)) 
	       error += "\n" + field_name;
	 }
	 if (e.name == "addr1") {
	    field_name = "Address Line 1";
	    if (!validAddress(e.value)) 
	       error += "\n" + field_name;
	 }
	 if (e.name == "addr2") {
	    field_name = "Address Line 2";
	    if ((e.value != null) && (e.value != "")) {
	       if (!validAddress(e.value)) 
		  error += "\n" + field_name;
	    }
	 }
	 if (e.name == "addr3") {
	    field_name = "Address Line 3";
	    if ((e.value != null) && (e.value != "")) {
	       if (!validAddress(e.value)) 
		  error += "\n" + field_name;
	    }
	 }
	 if (e.name == "city") {
      if (!validCity(e.value)) {
         // All countries require an entry in the city field
         // Papua New Guinea required a suburb in place of a city
         if (Ext.getDom("country").value == 'PG') {
            error += "\n" + "Suburb";
         }
         else {
            error += "\n" + "City";
         }
      }
	 }
	 if (e.name == "country") {
	    field_name = "Country";
	    if (e.selectedIndex < 1) {
	       error += "\n" + field_name;
	    }
	    else {
	       if (!isValidCounty(Ext.getDom("county_country").value, e.value)) {
	          field_name = "County";
	          error += "\n" + field_name;
	       }
	    }
	 }
	 if (e.name == "email") {
	    field_name = "E-Mail Address";
	    if (!validEmail(e.value)) 
	       error += "\n" + field_name;
	 }
   }

   //If any errors, then display messages, and return false to prevent form
   //from being submitted.  Otherwise return true.
   if (!error) {
      //Check to see if valid state/country combo
      if (!basicStateVerify("state_country", "country", form_flds, "byCode"))
         return false;
      var si = form_flds.country.options.selectedIndex;
      if (!isValidPostalCode(form_flds.postal.value, form_flds.country.options[si].value)) {  
	 alert("Please enter a valid postal code");
	 return false;
      }
      //if enroll_cp is checked, make sure address is in a cp eligible country
      if (form_flds.enroll_cp != null) {
         if (form_flds.enroll_cp.checked == true) {
	    var si = form_flds.country.options.selectedIndex;
	    if(!isValidCPCountry(form_flds.country.options[si].value)) {
	       alert("Sorry, the Choice Privileges Rewards Program is available to residents of the U.S., Canada, Mexico and several European countries only.");
	       form_flds.enroll_cp.value = 'no';
	    }   
         }
      }
      disableForm(form_flds);
      return true;
   }

   error_msg = "Please enter a valid: \n"
   error_msg += error + "\n";

   alert(error_msg);
   return false;

}

function filterCPEnrollOptions(countryFieldID) {

   countryCode = document.getElementById(countryFieldID).value;

   if (CPeligibleCountries[countryCode] != null) {
      $("#enrollCPCheckBox").removeClass('hide');
   }
   else {
      $("#enrollCPCheckBox").addClass('hide');
      // it is possible that enroll_cp had been
      // checked before the element is hidden so
      // we want to uncheck it before we hide it
      $("#enroll_cp").attr("checked", false);
   }
}
