var url_rpc = "../rpc/prov_comuni.cfm";

function popolaStato() {
    // Leggi la selezione sul campo wstato
    var stato = $("#wstato option:selected").val();

    // Controlla se è stata selezionata ITALIA

    if ( stato == "ITA" ) {

        // Chiamata Ajax per il popolamento delle regioni

        // ..............................................
		
        $.ajax({

            type: 	  "POST",

            url:  	  url_rpc,

            dataType: "html",

            data: 	  $("#wstato"),

            success: function(elencoregioni){

                $("#wregione").html(elencoregioni);

            }

        });
        
    }
}

function popolaProvince() {		  

    // Chiamata ajax per il popolamento delle province

    // ...........................................
		  
    $.ajax({

        type: 	  "POST",

        url:  	  url_rpc,

        dataType: "html",

        data: 	  $("#wregione"),

        success: function(elencoprovince){

            $("#wprovincia").html(elencoprovince);

        }
        
    });

		  
}

function popolaComuni() {
    // Chiamata ajax per il popolamento delle province		  
    $.ajax({

        type: 	  "POST",

        url:  	  url_rpc,

        dataType: "html",

        data: 	  $("#wprovincia"),

        success: function(elencocomuni){

            $("#wcomune").html(elencocomuni);

        }

    });
    
}

function zipCode() {

    $.ajax({

        type: 	  "POST",

        url:  	  url_rpc,

        dataType: "html",

        data: 	  $("#wcomune"),

        success: function(cap){
            $("#wzipcode").val(trim(cap));

        }

    });

}
	
$(document).ready( function() {	
									
    /* ONCHANGE STATO

     * Al cambiamento della selezione dello stato (wstato), controlla

     * se è stata selezionata ITALIA e mostra il campo regione 

     */									

    $("#wstato").change( function() { 
			
        popolaStato();
		  
        var stato = $("#wstato option:selected").val();
		  
        if ( stato == "ITA" ) {										  
            // Se è stata selezionata italia:
            $("#regione").show();
            $("#provincia").hide();
            $("#comune").hide();
            $("#cap").hide();
        }

        else {

            // Se non è selezionata italia, azzera tutte le select italiane
            // mostra il cap azzerandolo.
            $("#regione").hide(); 	$("#wregione option:selected").val(0);
            $("#provincia").hide(); 	$("#provincia option:selected").val(0);
            $("#comune").hide();		$("#comune option:selected").val(0);
            $("#cap").show(); 		$("#wzipcode").val("");
		
        }
    } ).trigger('change');
		
    // triggera l'evento sul cambiamento 
    // di valore del select wstato		

    /* ONCHANGE REGIONE

     * Al cambiamento della selezione della regione, popola le province

     */

    $("#wregione").change(function() { 
			
        popolaProvince();
			
        // Leggi il valore selezionato 

        var regione = $("#wregione option:selected").val();
			
        if ( regione != 0 ) {
            $("#provincia").show();
        }

        else {

            // Se no non mostrare la provincia
            $("#provincia").hide();
            $("#comune").hide();
	
        }
    }).trigger('change');
		
    /* ONCHANGE PROVINCE

     * Al cambiamento della selezione della provincia, popola i comuni

     */

    $("#wprovincia").change(function() { 
        popolaComuni();
			 
        // Leggi il valore selezionato 

        var provincia = $("#wprovincia option:selected").val();
			 
        if ( provincia != 0 ) {

            $("#comune").show();

        }
	
        else {
				  
            // Se no non mostrare il comune
            $("#comune").hide();
			
        }
    }).trigger('change');
		
    /* ONCHANGE COMUNI

     * Al cambiamento del comune, scrivi il cap nell'input wzipcode

     */
    $("#wcomune").change(function() { zipCode() }).trigger('change');

		

});	



function trim(str){
    return str.replace(/^\s*([\S\s]*?)\s*$/, '$1');
}