			function disableForm(){
				$('form#concorso').animate({ opacity: "0.30" }, "fast");
				$("form#concorso :enabled").attr("disabled", true);
				//$("form#concorso :reset").attr("readonly", true); 
				//$('form#concorso > *').attr("readonly", true);
			}

			function enableForm(){
				$('form#concorso').animate({ opacity: "1" }, "fast");
				$("form#concorso :disabled").removeAttr("disabled",true);
				//$("form#concorso :reset").removeAttr("readonly",true);
				//$('form#concorso[id*=button]').removeAttr("disabled");
			}
			
			$(document).ready( function() {
				//hide info boxes and return to form
				$('#form_errors').click(function(e){
					$(this).animate({ opacity: "0" }, "slow");
					$(this).css('display','none');
					if ($('#form_ok').css('display')=='none'){
						enableForm();
					}else{
						disableForm();
					} 
					$('#form_ok').animate({ opacity: "0" }, "slow");
					$('#form_ok').css('display','none');
				});
				//hide info boxes and return to form
				$('html').click(function(e){
					$('#form_errors').animate({ opacity: "0" }, "slow");
					$('#form_errors').css('display','none');
					/*if ($('#form_ok').css('display')=='none'){*/
						enableForm();
					/*} else{
						disableForm();
					} */
					$('#form_ok').animate({ opacity: "0" }, "slow");
					$('#form_ok').css('display','none');
				});
								
				//form submission
				$('form#concorso').submit(function(e) {
					e.preventDefault();
					var action = $(this).attr("action");
					var formdata = $("form#concorso").serialize();
					formdata=formdata+"&js=true";
					
					$.ajax({
			  		type: "POST", 
			  		url: action,
			  		data: formdata,
			  		timeout: 10000,
			  		dataType: "json",
						beforeSend:  function() {
							//remove formerror class when changes the field value
							$('form#concorso .formerror').removeClass('formerror');
							$('.loader').css('display','block');
							$('.loader').animate({ opacity: "1" }, "fast");
							disableForm();
						},
						complete:  function() {
							$('.loader').animate({ opacity: "0" }, "slow");
							$('.loader').css('display','none');
						},
						error: function (xhr, desc, exceptionobj) {
							alert(xhr.responseText);
							enableForm();
						},
			  		success: function(json){
							var output="";
							if (json.formerror){//errore di compilazione form
								for (e in json['errori']) {
					  			output += json['errori'][e] + "<br/>";
				  			} 
								for (f in json['wrongfields']) {
									$('form#concorso #'+json['wrongfields'][f]).addClass("formerror");
				  			} 
								$('#errors_middle').html(output);
								$('#form_errors').css('display','block');
								$('#form_errors').animate({ opacity: "1" }, "fast");
							}else{//form compilato correttamente
								$('#form_ok').html('<p>'+json['message']+'</p>');
								$('#form_ok').css('display','block');
								$("#form_ok").animate({ opacity: "1" }, "fast");
								disableForm();
							}								 
			  		}
				  }); 
				});

			});
