// prepare the form when the DOM is ready 
$(document).ready(function() { 
	
   var options0 = { 
      beforeSubmit: gm_formvalidate0,  
      success:      gm_showResponse
   };
   $('#askForm2').ajaxForm(options0);

   var options1 = { 
      beforeSubmit: gm_formvalidate1,  
      success:      gm_showResponse
   };
   $('#contact_us_form').ajaxForm(options1);

   var options2 = { 
      beforeSubmit: gm_formvalidate2,  
      success:      gm_showResponse
   };
   $('#seminar_registration').ajaxForm(options2);

   var options3 = { 
      beforeSubmit: gm_formvalidate3,  
      success:      gm_showResponse
   };
   $('#customer_eval_form').ajaxForm(options3);

   var options4 = { 
      beforeSubmit: gm_formvalidate4,  
      success:      gm_showResponse
   };
   $('#askForm').ajaxForm(options4);
}); 

// pre-submit callback 
function gm_formvalidate0(formData, jqForm) {
   var error = false;
   var error_message = '';
   
   var fqc_name = $("#qc_name").fieldValue();
   if (!validateRequired(fqc_name,"")) { 
      $("#qc_name").addClass("gm_err_field"); 
      if (error == false) { $("#qc_name").focus(); error = true; }
      error_message = error_message + "name field must be filled out. \n\n";
   } else { $("#qc_name").removeClass("gm_err_field"); }
   var fqc_email = $("#qc_email").fieldValue();
   if (!validateRequired(fqc_email,"") || !validateEmail(fqc_email)) { 
      $("#qc_email").addClass("gm_err_field"); 
      if (error == false) { $("#qc_email").focus(); error = true; }
      error_message = error_message + "email field must be filled out, please enter a valid email. .\n\n";
   } else { $("#qc_email").removeClass("gm_err_field"); }
   var fqc_city = $("#qc_city").fieldValue();
   if (!validateRequired(fqc_city,"")) { 
      $("#qc_city").addClass("gm_err_field"); 
      if (error == false) { $("#qc_city").focus(); error = true; }
      error_message = error_message + "city field must be filled out. \n\n";
   } else { $("#qc_city").removeClass("gm_err_field"); }
   var fqc_phone = $("#qc_phone").fieldValue();
   if (!validateRequired(fqc_phone,"")) { 
      $("#qc_phone").addClass("gm_err_field"); 
      if (error == false) { $("#qc_phone").focus(); error = true; }
      error_message = error_message + "phone field must be filled out. \n\n";
   } else { $("#qc_phone").removeClass("gm_err_field"); }

	if($("#askForm2_captcha").fieldValue().length > 0) {
		var captcha_result = 0;
		var captcha_result = check_gm_captcha("askForm2");
		if(captcha_result == "0" || captcha_result == 0 ) {
			$("#askForm2_captcha").addClass("gm_err_field"); 
	      	if (error == false) { $("#askForm2_captcha").focus(); error = true; }
			error_message = error_message + "Invalid Captcha.\n\n"; 
		} else { $("#askForm2_captcha").removeClass("gm_err_field"); }
	}

	if (error == true) { alert(error_message); return false; } else { return true; }

}function gm_formvalidate1(formData, jqForm) {
   var error = false;
   var error_message = '';
   
   var ffirstname = $("#firstname").fieldValue();
   if (!validateRequired(ffirstname,"")) { 
      $("#firstname").addClass("gm_err_field"); 
      if (error == false) { $("#firstname").focus(); error = true; }
      error_message = error_message + "First Name field must be filled out. \n\n";
   } else { $("#firstname").removeClass("gm_err_field"); }
   var flastname = $("#lastname").fieldValue();
   if (!validateRequired(flastname,"")) { 
      $("#lastname").addClass("gm_err_field"); 
      if (error == false) { $("#lastname").focus(); error = true; }
      error_message = error_message + "Last Name field must be filled out. \n\n";
   } else { $("#lastname").removeClass("gm_err_field"); }
   var faddress = $("#address").fieldValue();
   if (!validateRequired(faddress,"")) { 
      $("#address").addClass("gm_err_field"); 
      if (error == false) { $("#address").focus(); error = true; }
      error_message = error_message + "Address field must be filled out. \n\n";
   } else { $("#address").removeClass("gm_err_field"); }
   var fcity = $("#city").fieldValue();
   if (!validateRequired(fcity,"")) { 
      $("#city").addClass("gm_err_field"); 
      if (error == false) { $("#city").focus(); error = true; }
      error_message = error_message + "City field must be filled out. \n\n";
   } else { $("#city").removeClass("gm_err_field"); }
   var fstate = $("#state").fieldValue();
   if (!validateRequired(fstate,"")) { 
      $("#state").addClass("gm_err_field"); 
      if (error == false) { $("#state").focus(); error = true; }
      error_message = error_message + "State field must be filled out. \n\n";
   } else { $("#state").removeClass("gm_err_field"); }
   var fzip = $("#zip").fieldValue();
   if (!validateRequired(fzip,"")) { 
      $("#zip").addClass("gm_err_field"); 
      if (error == false) { $("#zip").focus(); error = true; }
      error_message = error_message + "Zip field must be filled out. \n\n";
   } else { $("#zip").removeClass("gm_err_field"); }
   var femail = $("#email").fieldValue();
   if (!validateRequired(femail,"") || !validateEmail(femail)) { 
      $("#email").addClass("gm_err_field"); 
      if (error == false) { $("#email").focus(); error = true; }
      error_message = error_message + "Email Address field must be filled out, please enter a valid email. .\n\n";
   } else { $("#email").removeClass("gm_err_field"); }

	if($("#contact_us_form_captcha").fieldValue().length > 0) {
		var captcha_result = 0;
		var captcha_result = check_gm_captcha("contact_us_form");
		if(captcha_result == "0" || captcha_result == 0 ) {
			$("#contact_us_form_captcha").addClass("gm_err_field"); 
	      	if (error == false) { $("#contact_us_form_captcha").focus(); error = true; }
			error_message = error_message + "Invalid Captcha.\n\n"; 
		} else { $("#contact_us_form_captcha").removeClass("gm_err_field"); }
	}

	if (error == true) { alert(error_message); return false; } else { return true; }

}function gm_formvalidate2(formData, jqForm) {
   var error = false;
   var error_message = '';
   
   var ffirst_name = $("#first_name").fieldValue();
   if (!validateRequired(ffirst_name,"")) { 
      $("#first_name").addClass("gm_err_field"); 
      if (error == false) { $("#first_name").focus(); error = true; }
      error_message = error_message + "First Name field must be filled out. \n\n";
   } else { $("#first_name").removeClass("gm_err_field"); }
   var flast_name = $("#last_name").fieldValue();
   if (!validateRequired(flast_name,"")) { 
      $("#last_name").addClass("gm_err_field"); 
      if (error == false) { $("#last_name").focus(); error = true; }
      error_message = error_message + "Last Name field must be filled out. \n\n";
   } else { $("#last_name").removeClass("gm_err_field"); }
   var faddress = $("#address").fieldValue();
   if (!validateRequired(faddress,"")) { 
      $("#address").addClass("gm_err_field"); 
      if (error == false) { $("#address").focus(); error = true; }
      error_message = error_message + "Address field must be filled out. \n\n";
   } else { $("#address").removeClass("gm_err_field"); }
   var fcity = $("#city").fieldValue();
   if (!validateRequired(fcity,"")) { 
      $("#city").addClass("gm_err_field"); 
      if (error == false) { $("#city").focus(); error = true; }
      error_message = error_message + "City field must be filled out. \n\n";
   } else { $("#city").removeClass("gm_err_field"); }
   var fstate = $("#state").fieldValue();
   if (!validateRequired(fstate,"")) { 
      $("#state").addClass("gm_err_field"); 
      if (error == false) { $("#state").focus(); error = true; }
      error_message = error_message + "State field must be filled out. \n\n";
   } else { $("#state").removeClass("gm_err_field"); }
   var fzip = $("#zip").fieldValue();
   if (!validateRequired(fzip,"")) { 
      $("#zip").addClass("gm_err_field"); 
      if (error == false) { $("#zip").focus(); error = true; }
      error_message = error_message + "Zip field must be filled out. \n\n";
   } else { $("#zip").removeClass("gm_err_field"); }
   var fdayphone = $("#dayphone").fieldValue();
   if (!validateRequired(fdayphone,"")) { 
      $("#dayphone").addClass("gm_err_field"); 
      if (error == false) { $("#dayphone").focus(); error = true; }
      error_message = error_message + "Day Phone field must be filled out. \n\n";
   } else { $("#dayphone").removeClass("gm_err_field"); }
   var femail = $("#email").fieldValue();
   if (!validateRequired(femail,"") || !validateEmail(femail)) { 
      $("#email").addClass("gm_err_field"); 
      if (error == false) { $("#email").focus(); error = true; }
      error_message = error_message + "Email Address field must be filled out, please enter a valid email. .\n\n";
   } else { $("#email").removeClass("gm_err_field"); }
   var fage = $("#age").fieldValue();
   if (!validateRequired(fage,"")) { 
      $("#age").addClass("gm_err_field"); 
      if (error == false) { $("#age").focus(); error = true; }
      error_message = error_message + "Age field must be filled out. \n\n";
   } else { $("#age").removeClass("gm_err_field"); }

	if($("#seminar_registration_captcha").fieldValue().length > 0) {
		var captcha_result = 0;
		var captcha_result = check_gm_captcha("seminar_registration");
		if(captcha_result == "0" || captcha_result == 0 ) {
			$("#seminar_registration_captcha").addClass("gm_err_field"); 
	      	if (error == false) { $("#seminar_registration_captcha").focus(); error = true; }
			error_message = error_message + "Invalid Captcha.\n\n"; 
		} else { $("#seminar_registration_captcha").removeClass("gm_err_field"); }
	}

	if (error == true) { alert(error_message); return false; } else { return true; }

}function gm_formvalidate3(formData, jqForm) {
   var error = false;
   var error_message = '';
   
   var feval_name = $("#eval_name").fieldValue();
   if (!validateRequired(feval_name,"")) { 
      $("#eval_name").addClass("gm_err_field"); 
      if (error == false) { $("#eval_name").focus(); error = true; }
      error_message = error_message + "Name field must be filled out. \n\n";
   } else { $("#eval_name").removeClass("gm_err_field"); }
   var feval_email = $("#eval_email").fieldValue();
   if (!validateRequired(feval_email,"") || !validateEmail(feval_email)) { 
      $("#eval_email").addClass("gm_err_field"); 
      if (error == false) { $("#eval_email").focus(); error = true; }
      error_message = error_message + "E-Mail field must be filled out, please enter a valid email. .\n\n";
   } else { $("#eval_email").removeClass("gm_err_field"); }

	if($("#customer_eval_form_captcha").fieldValue().length > 0) {
		var captcha_result = 0;
		var captcha_result = check_gm_captcha("customer_eval_form");
		if(captcha_result == "0" || captcha_result == 0 ) {
			$("#customer_eval_form_captcha").addClass("gm_err_field"); 
	      	if (error == false) { $("#customer_eval_form_captcha").focus(); error = true; }
			error_message = error_message + "Invalid Captcha.\n\n"; 
		} else { $("#customer_eval_form_captcha").removeClass("gm_err_field"); }
	}

	if (error == true) { alert(error_message); return false; } else { return true; }

}function gm_formvalidate4(formData, jqForm) {
   var error = false;
   var error_message = '';
   
   var fqc_name = $("#qc_name").fieldValue();
   if (!validateRequired(fqc_name,"")) { 
      $("#qc_name").addClass("gm_err_field"); 
      if (error == false) { $("#qc_name").focus(); error = true; }
      error_message = error_message + "name field must be filled out. \n\n";
   } else { $("#qc_name").removeClass("gm_err_field"); }
   var fqc_email = $("#qc_email").fieldValue();
   if (!validateRequired(fqc_email,"") || !validateEmail(fqc_email)) { 
      $("#qc_email").addClass("gm_err_field"); 
      if (error == false) { $("#qc_email").focus(); error = true; }
      error_message = error_message + "email field must be filled out, please enter a valid email. .\n\n";
   } else { $("#qc_email").removeClass("gm_err_field"); }
   var fqc_city = $("#qc_city").fieldValue();
   if (!validateRequired(fqc_city,"")) { 
      $("#qc_city").addClass("gm_err_field"); 
      if (error == false) { $("#qc_city").focus(); error = true; }
      error_message = error_message + "city field must be filled out. \n\n";
   } else { $("#qc_city").removeClass("gm_err_field"); }
   var fqc_phone = $("#qc_phone").fieldValue();
   if (!validateRequired(fqc_phone,"")) { 
      $("#qc_phone").addClass("gm_err_field"); 
      if (error == false) { $("#qc_phone").focus(); error = true; }
      error_message = error_message + "phone field must be filled out. \n\n";
   } else { $("#qc_phone").removeClass("gm_err_field"); }

	if($("#askForm_captcha").fieldValue().length > 0) {
		var captcha_result = 0;
		var captcha_result = check_gm_captcha("askForm");
		if(captcha_result == "0" || captcha_result == 0 ) {
			$("#askForm_captcha").addClass("gm_err_field"); 
	      	if (error == false) { $("#askForm_captcha").focus(); error = true; }
			error_message = error_message + "Invalid Captcha.\n\n"; 
		} else { $("#askForm_captcha").removeClass("gm_err_field"); }
	}

	if (error == true) { alert(error_message); return false; } else { return true; }

} 
// post-submit callback 
function gm_showResponse(responseText, statusText)  { eval(responseText); } 


/* VALIDATION FUNCTIONS */
function validateRequired(fieldValue,ignoreValue) { if (fieldValue == "" || fieldValue == ignoreValue ) { return false; } else { return true; }}
		
function validateEmail(fieldValue, fieldObj) {
	if (fieldValue == "") return true;
	return /\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(fieldValue);
}
function validateNumber(fieldValue, fieldObj) {
	if (fieldValue == "") return true;
	/*
	return (parseFloat(val,10)==(fieldValue*1));
	return (!isNaN(fieldValue) && !/^\s+$/.test(fieldValue));
	*/
	return /^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(fieldValue);
}	
function validateDigit(fieldValue, fieldObj) {
	if (fieldValue == "") return true;
	return !/[^\d]/.test(fieldValue);
}	
function validateAlphanum(fieldValue, fieldObj) {
	if (fieldValue == "") return true;
	return !/\W/.test(fieldValue);
}

$().ajaxSend($.blockUI).ajaxStop($.unblockUI);

