/***************************/
//Ajax contact form validator
//Made by www.bittrack.it
/***************************/

$().ready(function(){
	//variabili globali
	var name = $("#nome");
	var nameText = $(name).val();
	var email = $("#email");
	var emailText = $(email).val();
	var site = $("#sito");
	var siteText = $(site).val();
	var subject = $("#oggetto");
	var subjectText = $(subject).val();
	var message = $("#testo");
	var messageText = $(message).val();
	var captcha_container = $("#captcha_container");
	

	//validazione di campi
	function validateEmail(){
		var a = $("#email").val();
		var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
		if(filter.test(a)){
			$("#email").removeClass("error");
			return true;
		}else{
			$("#email").addClass("error");
			return false;
		}
	}
	
	function validateName(){
		if((name.val().length < 4) || (name.val() == nameText)){
			name.addClass("error");
			return false;
		}else{
			name.removeClass("error");
			return true;
		}
	}
	
	function validateSubject(){
		if((subject.val().length < 4) || (subject.val() == subjectText)){
			subject.addClass("error");
			return false;
		}else{
			subject.removeClass("error");
			return true;
		}
	}
	
	function validateMessage(){
		if((message.val().length < 10) || (message.val() == messageText)){
			message.addClass("error");
			return false;
		}else{
			message.removeClass("error");
			return true;
		}
	}
	
	function validateCaptcha(){
		if($("#recaptcha_response_field").val().length < 1){
			$(captcha_container).animate({paddingLeft: "180px"}, 100)
				.animate({paddingLeft: "160px"}, 100)
				.animate({paddingLeft: "180px"}, 100)
				.animate({paddingLeft: "170px"}, 100);
			return false;
		}else{
			return true;
		}
	}
	
	//controllo ed invio effettivo dell'email con ajax
	$("#contattaci").submit(function(){
		if(!validateName() | !validateEmail() | !validateSubject() | !validateMessage() | !validateCaptcha()){
			return false;
		}else{
			$('#result').html("");
			$('#load_img').fadeIn();
			var captcha = $("#recaptcha_response_field");
			var captcha2 = $("#recaptcha_challenge_field");
			$.ajax({
				type: 'post',
				url: 'sendemail.php',
				data: 'nome=' + name.val() + '&email=' + email.val() + '&sito=' + site.val() + '&oggetto=' + subject.val() + '&testo=' + message.val() + '&recaptcha_response_field=' + captcha.val() + '&recaptcha_challenge_field=' + captcha2.val(),
				success: function(results){
					$('#load_img').fadeOut(function(){
						if(results == "ok"){
							$('#result').html("<span class='success'>e-Mail inviata correttamente</span>");
							$(name).val(nameText);
							$(email).val(emailText);
							$(site).val(siteText);
							$(subject).val(subjectText);
							$(message).val(messageText);
							$(captcha).val("");
						}else{
							$('#result').html("<span class='fail'>Errore</span>");
						}
					});
				}
			}); //fine ajax
			return false;
		}
	});
	
	//gestione dei dati predefiniti nei campi quando ricevono il focus
	//nome
	name.focus(function(){
		if($(this).val() == nameText) $(this).val("");
	});
	name.blur(function(){
		if($(this).val() == "") $(this).val(nameText);
	});
	//email
	email.focus(function(){
		if($(this).val() == emailText) $(this).val("");
	});
	email.blur(function(){
		if($(this).val() == "") $(this).val(emailText);
	});
	//sito
	site.focus(function(){
		if($(this).val() == siteText) $(this).val("");
	});
	site.blur(function(){
		if($(this).val() == "") $(this).val(siteText);
	});
	//oggetto
	subject.focus(function(){
		if($(this).val() == subjectText) $(this).val("");
	});
	subject.blur(function(){
		if($(this).val() == "") $(this).val(subjectText);
	});
	//testo
	message.focus(function(){
		if($(this).val() == messageText) $(this).val("");
	});
	message.blur(function(){
		if($(this).val() == "") $(this).val(messageText);
	});
});
