/***************************/
//Ajax contact form validator by Raspo
/***************************/

var $j = jQuery.noConflict();

$j().ready(function(){
	//variabili globali
	var name = $j("#name");
	var nameText = $j(name).val();
	var email = $j("#email");
	var emailText = $j(email).val();
	var sito = $j("#sito");
	var sitoText = $j(sito).val();
	var message = $j("#testo");
	var messageText = $j(message).val();

	//validazione di campi
	function validateEmail(){
		var a = $j("#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)){
			$j("#email").removeClass("error");
			return true;
		}
		else{
			$j("#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
	$j("#contatti").submit(function(){
		if(!validateName() | !validateEmail() | !validateMessage()){
			return false;
		}
		else {
			$j('#load_img').fadeIn();
			$j.ajax({
				type: 'post',
				url: 'inviaemail.php',
				data: 'name=' + name.val() + '&email=' + email.val() + '&site=' + sito.val() + '&message=' + message.val(),
				success: function(results) {
					$j('#load_img').fadeOut(function() {
						if(results == "email inviata!") {
							$j('#result').html("<span class='success'>e-Mail inviata correttamente</span>");
							$j(name).val(nameText);
							$j(email).val(emailText);
							$j(sito).val(sitoText);
							$j(message).val(messageText); 
						}
						else 
							$j('#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($j(this).val() == nameText) $j(this).val("");
	});
	name.blur(function(){
		if($j(this).val() == "") $j(this).val(nameText);
	});
	//email
	email.focus(function(){
		if($j(this).val() == emailText) $j(this).val("");
	});
	email.blur(function(){
		if($j(this).val() == "") $j(this).val(emailText);
	});
	//Sito web
	sito.focus(function(){
		if($j(this).val() == sitoText) $j(this).val("");
	});
	sito.blur(function(){
		if($j(this).val() == "") $j(this).val(sitoText);
	});
	//message
	message.focus(function(){
		if($j(this).val() == messageText) $j(this).val("");
	});
	message.blur(function(){
		if($j(this).val() == "") $j(this).val(messageText);
	});
});