$(document).ready(
	function()
	{
		$("input.submit").bind("click", function(event){checkForm(event);});
	}
);
function checkForm(event)
{
	event.preventDefault();
	$("#checking").show("100",function(){$("#required").slideUp("100");});
	
	var list = $(".required");
	var complete = true;
	for(var i=0;i<list.length;i++)
	{
		if($(list[i]).val() == "")
		{
			if($(list[i]).hasClass("textarea"))
			{
				$(list[i]).prev().prev().addClass("is_required");
				complete = false;				
			}
			else
			{
				$(list[i]).next().addClass("is_required");
				complete = false;
			}
		}
		else
		{
			$(list[i]).next().removeClass("is_required");
			if($(list[i]).hasClass("textarea"))
			{
				$(list[i]).prev().prev().removeClass("is_required");
			}
		}
	}
	
	if(!complete)
	{
		$("#checking").hide("100",function(){$("#required").show("300");});
	}
	else
	{
		doAjax();
		$("#initial").hide("100",function(){
		$("#required").hide("100",function(){
		$("#checking").slideUp("100", function(){
		$("#contact_form").hide("300", function(){
		$("#submitting").show("100")})})})});		
	}
}
function doAjax()
{
	var string = compileString();
	jQuery.ajaxSetup({cache: false, timeout: 10000});
	
	jQuery.ajax
	({
		type: "POST",
		url: "sendmail.php",
		data: string,	
		dataFilter: function(data, type)
		{
			if(data == "Good")
			{
				jQuery("#submitting").slideUp("100",function(){	
				jQuery("#thankyou").slideDown("500");});
			}
			else
			{
				jQuery("#submitting").slideUp("100", function(){
				jQuery("#error").slideDown("500")});
			}
		},
		success: function()
		{
		},
		error: function(XMLHttpRequest, textStatus, errorThrown)
		{
//			alert(textStatus);
//			alert(errorThrown);
			jQuery("#submitting").slideUp("100", function(){
			jQuery("#error").slideDown("500")});
		},
		complete: function(XMLHttpRequest, textStatus)
		{
			jQuery("#submitting").slideUp("100");
		}
	});
}
function compileString()
{
	var ret="";
	
	ret = "name="+$(".name").val()+"&phone="+$(".phone").val()+"&email="+$(".email").val()+"&message="+$(".textarea").val();
	
	return(ret);
}