$(function () {
	
	
	function checkLength(o,min,max) {

		if ( o.val().length > max || o.val().length < min ) {
		
			return false;
		} else {
			return true;
		}

	}

	function checkRegexp(o,regexp) {

		if ( !( regexp.test( o.val() ) ) ) {
			
			return false;
		} else {
			return true;
		}

	}
	
	function showResponse(responseText, statusText, xhr, $form){
		if($.trim(responseText) == 'Messaggio Inviato'){
		$('#dialog-form').dialog('close');
		$('<div>'+responseText+'</div>').dialog({
			position:'center',
			modal:true,
			buttons:{
				'chiudi':function() {
				$('#formContattaci').clearForm();
				$(this).dialog('close');
				}
			}
		});
		}else{
			$('div#errori').text(responseText);
			$('input[name="answer"]','#dialog-form').val('');
		}	
	}
	
	
	
	
	$('#contattaci')
		.click(function(){		
		$('#dialog-form').dialog('open');
		$('.captchaImg','#dialog-form').attr('src','/captcha?'+new Date().getTime());
		
		return false;
	});
	
	var email = $('input[name="email"]','#dialog-form');
	var	name = $('input[name="name"]','#dialog-form');
	var surname = $('input[name="surname"]','#dialog-form');
	var message = $('textarea[name="message"]','#dialog-form');
	var captcha = $('input[name="answer"]','#dialog-form');
	var label = $('#spanForm').metadata();
	
	var buttonsMap = {};
	
	buttonsMap[label.sendLabel] = function(){
		var validate = true;
		
		validate = validate && checkLength(email,6,80);
		validate = validate && checkLength(message,2,10000);
		
		validate = validate && checkRegexp(email,/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i);
		validate = validate && checkLength(captcha,1,100);
		
		
		
			if(validate  ){
					var option ={
					success : showResponse 
					
					};
					
					$('#formContattaci').ajaxSubmit(option);
					return false;
					
					
					
			}else{
				
				alert('E\' presente un errore nella compilazione del modulo');
			} 
	
	}
	
	buttonsMap[label.closeLabel] = function() {
		$(this).dialog('close');
	}
	
	$('#dialog-form').dialog({
		autoOpen: false,
		height: 600,
		width: 800,
		modal: true,
		buttons:buttonsMap
	});
	
});
	

