	 $(document).ready(function() {
		var options = { 
			target:        '#form_callback',   // target element(s) to be updated with server response 
			beforeSubmit:  showRequest,  // pre-submit callback 
			success:       showResponse  // post-submit callback
		}; 
				 
		// bind form using 'ajaxForm' 
		$('#contact_form').ajaxForm(options);
	}); 
				
	// pre-submit callback 
	function showRequest(formData, jqForm, options) { 
		var valid = validate_form();
		if (valid == true) {
		var queryString = $.param(formData);
		$("#form_callback").html("<p>Preparing message...<img src=\"images/load_s.gif\" alt=\"small loader\" /></p>"); 
		} 
		return valid;
	} 
				 
	// post-submit callback 
	function showResponse(responseText, statusText)  { 
		$("#form_callback").html(responseText);
	} 
	 
	 
	 
	 var XMLHttpRequestObject;
	 
	 function makeRequest(url,parameters) {
      var http_request = false;
	  var response = "";
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
         	// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
      }
     http_request.onreadystatechange = function() {
		if (http_request.readyState == 4 && http_request.status == 200) {
			response = http_request.responseText;

		}
	  }
      http_request.open('GET', url + parameters, true);
      http_request.send(null);
	  return response;
   }
   
   
   function verifyEmail(emailAddr) {
	   var scriptResponse = makeRequest("verify_email.php", "email_address=" + emailAddr + "");
	   
	   return scriptResponse;
	   
   }
	function validate_form() {
		//var now = new Date();
		//var myDays=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"];
		var email_filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		var phone_filter = /^(\+\d)*\s*(\(\d{3}\)\s*)*\d{3}(-{0,1}|\s{0,1})\d{2}(-{0,1}|\s{0,1})\d{2}$/;
		//var day = now.getDay();
		//day = myDays[day];
		
	
		var formvalid = true;
		clear_errors();
		if ($("#contact_name").val() == "") {
			formvalid = false;
			show_error("contact_name", "Cannot be empty");
		}
		if ($("#contact_email").val() == "") {
			formvalid = false;
			show_error("contact_email", "Cannot be empty");
		}
		if ($("#contact_tel").val() == "") {
			formvalid = false;
			show_error("contact_tel", "Cannot be empty");
		}
		if ($("#contact_msg").val() == "") {
			formvalid = false;
			show_error("contact_msg", "Cannot be empty");
		}
		if ($("#contact_verify").val() == "") {
			formvalid = false;
			show_error("contact_verify", "Cannot be empty");
		}
		//if ($("#contact_verify").val() != day) {
			//formvalid = false;
			//show_error("contact_verify", "Incorrect entry");
		//}
		if (!email_filter.test($("#contact_email").val())) {
			formvalid = false;
			show_error("contact_email", "Not a valid email");
		}
		// check if the email is real
		//if (verifyEmail($("#contact_email").val()) == "invalid") {
			//formvalid = false;
			//show_error("contact_email", "Email address does not exist, please use a valid email");
		//}
		
		
		return formvalid;
	}
	// clears previous error classes
	function clear_errors() {
		if ($("input").hasClass("error")) {
			$("input").removeClass("error");
			$("span.error").remove();
		}
		if ($("textarea").hasClass("error")) {
			$("textarea").removeClass("error");
			$("span.error").remove();
		}
	
	}
	// show our error
	function show_error(div_id,reason) {
		$("#" + div_id + "").attr("class", "error");
		$("#" + div_id + "").after('<span class="error">' + reason + '</span>');
	}
	
	

	
