
var emailValidated = false;
var emailValidatedValue = "";

function setupAjaxForm(form, nextpage){
	var form_message = "#" + $(form).attr('id')+"-message";
	$(form).ajaxSend(function(){
		$(form_message).hide();
		$(form_message).removeClass().addClass('loading').html("Sending Data...").fadeIn();
	});

	var options = {
		dataType: 'json',
		success: function(json){
			$(form_message).hide();
			$(form_message).removeClass().addClass(json.type).html(json.message).fadeIn();
			if(json.type == "success"){
				$(form).slideUp('slow');
				delayRefresh(nextpage, 3000);
			}
		}
	}
	$(form).ajaxForm(options);
}

function submitContactForm(form){
	if(validateContactForm(form)){
		return true;
	}else{
		alert("Form Validation Vailed");
		return false;
	}
}

function showContactForm(jForm){
	jForm.slideDown("fast", function(){
		$("#recaptcha").fadeIn("slow", function(){
			Recaptcha.reload();
		});
		//reset subject/comments
		$(this).children(":input[id=subject,id=comments]").attr('value', '');
	});
}
	

/**
 * DHTML email validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */

function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    return false
		 }

 		 return true					
	}

function validateContactForm(form){
	requiredPass = true;
	$(form).children("input[type!=hidden],textarea[type!=hidden]").each(function(){
		if($(this).attr("value") == ""){
			alert($(this).attr("id") + " is empty!");
			requiredPass = false;
		}
	});
	return requiredPass;
 }


function liveCheckEmail(email){
	//skip validation if it's null or same value as previous validation
	if($(email).attr("value") == "" || (emailValidated && emailValidatedValue == $(email).attr("value"))){
		return false;
	}

	$("#emailValidationFeedback").empty();
	var good = echeck($(email).attr("value"));
	if(!good){
		$("#emailValidationFeedback").css("display","block");
		$("#emailValidationFeedback").show("slow");
	}

	var feedback = "";
	if(good){
		feedback = "The email address is valid!";
		emailValidated = true;
		//save valid value to compare against further changes
		emailValidatedValue = $(email).attr("value");
		$("#emailValidationFeedback").attr("class", "feedback");

	}else{
		feedback = "Invalid Email Address!";
		emailValidated = false;
		$("#emailValidationFeedback").attr("class", "feedbackError");
	}

		
		//output the feedback and then trigger focus on the bad email field
		$("#emailValidationFeedback").append("<p>"+feedback+"</p>").fadeOut(6000, function(){
			if(!good){
				//focus email
				$(email).trigger("focus");
			}
		});

		return good;

}

