/***************************/
//Ajax contact form validator by Raspo
/***************************/


$().ready(function(){
	//variabili globali
	var name = $("#name");
	var nameText = $(name).val();
	var email = $("#email");
	var emailText = $(email).val();
	var sito = $("#sito");
	var sitoText = $(sito).val();
	var message = $("#testo");
	var messageText = $(message).val();

	//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 validateMessage(){
		if((message.val().length < 4) || (message.val() == messageText)){
			message.addClass("error");
			return false;
		}
		else{
			message.removeClass("error");
			return true;
		}
	}	
	
	//qualche controllo e invio effettivo dell'email con ajax
	$("#contatti").submit(function(){
		if(!validateName() | !validateEmail() | !validateMessage()){
			return false;
		}
		else {
			$('#load_img').fadeIn();
			$.ajax({
				type: 'post',
				url: 'inviaemail.php',
				data: 'name=' + name.val() + '&email=' + email.val() + '&site=' + sito.val() + '&message=' + message.val(),
				success: function(results) {
					$('#load_img').fadeOut(function() {
						if(results == "email inviata!") {
							$('#result').html("<span class='success'>e-Mail inviata correttamente</span>");
							$(name).val(nameText);
							$(email).val(emailText);
							$(sito).val(sitoText);
							$(message).val(messageText); 
						}
						else 
							$('#result').html("<span class='fail'>Errore</span>")
					});
				}
			}); // end ajax
			return false;
		}
	});
	

	//gestione dei dati predefiniti nei vari campi quando ricevono il focus
	//name
	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 web
	sito.focus(function(){
		if($(this).val() == sitoText) $(this).val("");
	});
	sito.blur(function(){
		if($(this).val() == "") $(this).val(sitoText);
	});
	//message
	message.focus(function(){
		if($(this).val() == messageText) $(this).val("");
	});
	message.blur(function(){
		if($(this).val() == "") $(this).val(messageText);
	});
});
