startObserverComune = function()
{
    $("#comune_partenza").bind('keyup', function(){
	    loadComuniPartenza();
	});
    $("#comune_destinazione").bind('keydown', function(){
	    loadComuniDestinazione();
	});
}

function loadComuniPartenza()
{
    if($("#comune_partenza").val().length < 2)
    {
	return "";
    }
    var ajaxUrl = '/ajax/listacomuni';
    var params = 'nome=' + $("#comune_partenza").val();
    $.ajax({
	type:"POST",
		url: ajaxUrl,
		data: params,
		datatype: 'json',
		success: function(data)
	    {
		if(data != '')
		{
		    data = data.split(';');
		    $("#comune_partenza").autocomplete({source:data, minLength:3});
		}
	    }
	});    
}

function loadComuniDestinazione()
{
    if($("#comune_destinazione").val().length < 2)
    {
	return "";
    }
    var ajaxUrl = '/ajax/listacomuni';
    var params = 'nome=' + $("#comune_destinazione").val();
    $.ajax({
	type:"POST",
		url: ajaxUrl,
		data: params,
		datatype: 'json',
		success: function(data)
	    {
		if(data != '')
		{
		    data = data.split(';');
		    $("#comune_destinazione").autocomplete({source:data,minLength:3});
		}
	    }
	});    
}


function getComuni(idSelectProvincia, idSelectComune)
{
    var ajaxUrl = '/ajax/listacomunifromprovincia';
    var idProvincia = $("#"+idSelectProvincia+" option:selected").val();
    if(idProvincia != '')
    {
	var params = 'provincia=' + idProvincia;
	var ajax = new Ajax(ajaxUrl, params);
	ajax.doPost('fillSelect', new Array(idSelectComune));
	$('#'+idSelectProvincia+'').parent().parent().next().removeClass('hidden');
    }
    else
    {
	$('#'+idSelectProvincia+'').parent().parent().next().addClass('hidden');
    }
}

function getComuniPartenza(event)
{
    var idSelectProvincia = 'provincia_partenza';
    var idSelectComune = 'comune_partenza';
    getComuni(idSelectProvincia, idSelectComune);
}

function getComuniDestinazione(event)
{
    var ajaxUrl = '/ajax/listacomunifromprovincia';
    var idSelectProvincia = 'provincia_destinazione';
    var idSelectComune = 'comune_destinazione';
    getComuni(idSelectProvincia, idSelectComune);
}

startObserverDataPrevista = function()
{
    $(function() {
	    $("#data_prevista").datepicker({
		dateFormat:'yy-mm-dd',
		minDate:new Date()});
	});
}

var noteDefault = 'numero delle stanze, oggetti speciali e ingombranti, richieste di smontaggio';
startObserverFormRichiestaPreventivo = function()
{
    $('#note').val(noteDefault);

    $('#note').bind('click', function(){
	    $('#note').val("");
	});

    $('#richiedipreventivo').bind('click', isValidFormRichiestaPreventivo);
}

function isValidFormRichiestaPreventivo(event)
{
    var bNome = isValidField('nome');
    var bEmail = isValidEmail('email');
    var bPhone = isValidPhone('telefono');
    var bTipologiaLead = isValidField('tipologia_lead');
    var bDataPrevista = isValidField('data_prevista');
    var bComPar = isValidField('comune_partenza');
    var bComArr = isValidField('comune_destinazione');
    var isValidForm = (bNome && bEmail && bPhone && bTipologiaLead && bDataPrevista && bComPar && bComArr);
    if(isValidForm == true)
    {
	if(!$('#privacy').is(':checked'))
	{
	    alert("Acconsenti al trattamento dei dati personali per proseguire");
	    isValidForm = false;
	}
    }
    if(isValidForm == true)
    {
	if($('#note').val() == noteDefault)
	{
	    $('#note').val('');
	}
    }
    return isValidForm;
}

function isValidField(idField)
{
    if(!$('#'+idField+'').val())
    {
	$('#'+idField+'').next().children().text('campo obbligatorio!');
	$('#'+idField+'').addClass('error');
	return false;
    }
    else
    {
	$('#'+idField+'').next().children().text('');	
	$('#'+idField+'').removeClass('error');
	return true;
    }
}

function isValidEmail(idField)
{
    if(!isValidField(idField))
    {
	return false;
    }
    else
    {
	var reg = /^[-a-z0-9~!$%^&*_=+}{\'?]+(\.[-a-z0-9~!$%^&*_=+}{\'?]+)*@([a-z0-9_][-a-z0-9_]*(\.[-a-z0-9_]+)*\.(aero|arpa|biz|com|coop|edu|gov|info|int|mil|museum|name|net|org|pro|travel|mobi|[a-z][a-z])|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,5})?$/i;
	var address = $('#'+idField+'').val();
	if(reg.test(address) == false) 
	{
	    $('#'+idField+'').next().children().text('indirizzo non valido!');
	    return false;
	}
	else
	{
	    $('#'+idField+'').next().children().text('');	
	    return true;
	}
	
    }
}

function isValidPhone(idField)
{
    if(!isValidField(idField))
    {
	return false;
    }
    else
    {
	var phoneNumber = $('#'+idField+'').val();
	if(phoneNumber != '')
	{
	    var reg = /^[03]{1}[0-9]{5}[0-9]*/;
	    var reg1 = /^([0-9])\1{5,}/;
	    if(reg.test(phoneNumber) && !reg1.test(phoneNumber))
	    {
		$('#'+idField+'').next().children().text('');
		return true;
	    }
	    else
	    {
		$('#'+idField+'').next().children().text('indirizzo non valido!');
		return false;
	    }
	}
	return true;
    }
}

function popupPrivacy(){
    window.open("/popup-privacy.htm","privacy","location=no,width=600,height=400,scrollbars=yes,resizable=yes,top=" + ((screen.height-400)/2) + ",left=" + ((screen.width-600)/2));
}

