/* [RealTime Validation] */

/*
--------------------
Il tuo nome
--------------------
*/

var check_sender_name = function() {

if($j(":input[name='sender_name'].required").length) { // Required?

$j('#sender_name_error').remove();
$j('#sender_name_error_invalid').remove();
$j('#sender_name_error_min_chars').remove();



if($j('#sender_name').val() == '') {
$j('#sender_name').addClass('error').removeClass('ok').after('<label id="sender_name_error" class="error"><i>Inserisci il tuo nome</i></label>');

check_status();
} 



else {
$j('#sender_name').addClass('ok').removeClass('error');
}

}

};

$j('#sender_name').bind('change', check_sender_name);
$j('#sender_name').bind('blur', function() { if($j('#sender_name').val()) { check_sender_name(); } });

/*
--------------------
La tua e-mail
--------------------
*/

var check_sender_email = function() {

if($j(":input[name='sender_email'].required").length) { // Required?

$j('#sender_email_error').remove();
$j('#sender_email_error_invalid').remove();
$j('#sender_email_error_min_chars').remove();

 var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i 

if($j('#sender_email').val() == '') {
$j('#sender_email').addClass('error').removeClass('ok').after('<label id="sender_email_error" class="error"><i>Inserisci il tuo indirizzo e-mail</i></label>');

check_status();
} 


else if (!filter.test($j('#sender_email').val())) {

$j('#sender_email').addClass('error').removeClass('ok').after('<label id="sender_email_error_invalid" class="error"><i>Inserire un indirizzo e-mail valido</i></label>');

check_status();
}



else {
$j('#sender_email').addClass('ok').removeClass('error');
}

}

};

$j('#sender_email').bind('change', check_sender_email);
$j('#sender_email').bind('blur', function() { if($j('#sender_email').val()) { check_sender_email(); } });

/*
--------------------
Fornisci la tua impressione sulla nostra Opera
--------------------
*/

var check_sender_message = function() {

if($j(":input[name='sender_message'].required").length) { // Required?

$j('#sender_message_error').remove();
$j('#sender_message_error_invalid').remove();
$j('#sender_message_error_min_chars').remove();



if($j('#sender_message').val() == '') {
$j('#sender_message').addClass('error').removeClass('ok').after('<label id="sender_message_error" class="error"><i>Inserisci il tuo messaggio</i></label>');

check_status();
} 



else if ($j('#sender_message').val().length < 15) { // if the message's legth is less than 15 characters
$j('#sender_message').addClass('error').removeClass('ok').after('<label id="sender_message_error_min_chars" class="error"><i>Il tuo messaggio deve contenere almeno 15 caratterti.</i></label>');

$j('#sender_message').bind('keypress', check_sender_message);

check_status();

}


else {
$j('#sender_message').addClass('ok').removeClass('error');
}

}

};

$j('#sender_message').bind('change', check_sender_message);
$j('#sender_message').bind('blur', function() { if($j('#sender_message').val()) { check_sender_message(); } });


/*
-----------------
Security Code
-----------------
*/

var check_security_code = function() {

//if($j('#security_code').val().length == 5) {

if ($j('#captcha_div').is(':visible')) {

$j('#sc_error').remove();
	

if($j('#security_code').val() == '') {

$j('#security_code').addClass('error').removeClass('ok');
$j('#sec_div').after('<label id="sc_error" class="error">Manca il Security Code</label>');

check_status();

} else {

var c_currentTime = new Date();
var c_miliseconds = c_currentTime.getTime();

var validCode = $j('#security_code').val();

/* [Start] AJAX Call */

$j.ajax({ url: 'http://www.io-sono.org/files/script/donazione/contact-app/verify-code.php?x='+ c_miliseconds, 
	     data: "security_code="+ validCode,
	     type: 'post', 
	     datatype: 'html', 
	     success: function(outData) { 

	      	          if(outData != 1) {

	      	            if($j("#sc_error.error").length == 0) {
	      	                $j('#security_code').addClass('error').removeClass('ok');
	      	                $j('#sec_div').after('<label id="sc_error" class="error">Il security code è sbagliato.</label>');

							check_status();
	      	            }

	      	          } else {

						  //$j('#sc_error').remove();

                      $j('#security_code').remove();
                      $j('#sec_div').css({ margin: '8px 0 0 0' }).html('<img class="ok" id="verified" src="http://www.io-sono.org/files/script/donazione/contact-app/images/icon-tick-circle-frame.png" width="16" height="16">&nbsp;<font color="green">Verified</font>').fadeIn('slow', function() { $j('#captcha_div').hide(); $j('#submit-button').before('<input type="hidden" name="security_code" id="security_code" value="'+ validCode +'" />'); });
					  
					  //$j('div').removeClass("highlighted");

					  }
					  
		              }, 

	     error: function(errorMsg) { alert('Error occured: ' + errorMsg); }});

/* [End] AJAX Call */

}

}

//}

};

var checkSecurityCodeLive = function() {

var c_currentTime = new Date();
var c_miliseconds = c_currentTime.getTime();

var validCode = $j('#security_code').val();

/* [Start] AJAX Call */

$j.ajax({ url: 'http://www.io-sono.org/files/script/donazione/contact-app/verify-code.php?x='+ c_miliseconds, 
	     data: "security_code="+ validCode,
	     type: 'post', 
	     datatype: 'html', 
	     success: function(outData) { 

	      	          if(outData == 1) {

					  $j('#sc_error').remove();

                      $j('#security_code').remove();
                      $j('#sec_div').css({ margin: '8px 0 0 0' }).html('<img class="ok" id="verified" src="http://www.io-sono.org/files/script/donazione/contact-app/images/icon-tick-circle-frame.png" width="16" height="16">&nbsp;<font color="green">Verified</font>').fadeIn('slow', function() { $j('#captcha_div').hide(); $j('#submit-button').before('<input type="hidden" name="security_code" id="security_code" value="'+ validCode +'" />'); });
					  
					  $j('div').removeClass("highlighted");

					  check_status();

					  }
					  
		              }, 

	     error: function(errorMsg) { alert('Error occured: ' + errorMsg); }});

/* [End] AJAX Call */

};

//$j('#sc_error').remove();

$j('#security_code').bind('change', check_security_code);
$j('#security_code').bind('blur', function() { if($j('#security_code').val()) { check_security_code(); } });

$j('#security_code').keyup(checkSecurityCodeLive);

$j(':input.required').bind('change blur keyup', check_status);

function check_status() {


$j("label[id$='_error']").addClass('styled');


if($j("label.error").length > 0) { 
	// Show the top notice error
	$j('#note').html('<div class="notification_error">ATTENZIONE: correggere gli errori nel form!</div>').slideDown('slow');
}

if($j("label.error").length == 0) { 
	$j('#note').slideUp('slow'); // Hide the top notice error using a 'slide' effect (if necessary)
}

return true;

}


    var fields = ["sender_name", "sender_email", "sender_message", "security_code"];

    $j.each(fields, function() {

	    if(this == 'security_code') {
	
	      $j('#' + this).focus(function() { $j(this).parent('div').parent('div').addClass("highlighted"); })
				        .blur(function() { $j(this).parent('div').parent('div').removeClass("highlighted"); });
        } else {
          $j('#' + this).focus(function() { $j(this).closest('div').addClass("highlighted"); })
				        .blur(function() { $j(this).closest('div').removeClass("highlighted"); });
	    }

    });


