/*
Autocomplete
 */


    
var listOfLoc = [];

$(document).ready(function(){

    $('#FinderReg').change(function(){

        var dropdownList = $('#FinderProv');

        dropdownList.html("<option></option>");
        data = aProvs[$(this).val()];

        for (i = 0; i < data.length; i++) {
            dropdownList.append($("<option></option>").attr("value",data[i]).text(data[i]));
        }
        $("#FinderLoc,#FinderLocId").val('');
        updateCounter();
    });
    $('#FinderProv').change(function(){
        $("#FinderLoc,#FinderLocId").val('');
        updateCounter();
    });

    var lastText = '';
    $( "#FinderLoc" ).change(function(){  $("#FinderLocId").val(''); }).autocomplete({
        source: function( request, response ) {
            if (self.xhr) {
                self.xhr.abort();
            }
            url = "/locations/json/"+request.term;
            self.xhr = $.getJSON( url, null, function( data, status, xhr ) {
                if ( xhr === self.xhr ) {
                    setTimeout("$('#ui-autocomplete-loading').hide();",500);
                    response( data );
                }
                self.xhr = null;
            });
        },
        open: function(event, ui) {
           $('#ui-autocomplete-loading').show();
            var autocomplete = $( this ).data( "autocomplete" ),
            menu = autocomplete.menu;
            menu.activate( $.Event({ type: "mouseenter" }), menu.element.children().first() );
            
            },
        close: function(event, ui) {
            
            
            },
        focus: function() {
            return false;
        },
        select: function( event, ui ) {
            $("#FinderLocId").val(ui.item.id);
            updateCounter();
            this.value = ui.item.label;
            return false;
        }
    }).data( "autocomplete" )._renderItem = function( ul, item ) {
        var val = $(this)[0].element.val();
        
        return $( "<li></li>" )
        .data( "item.autocomplete", item )
        .append( "<a>" + item.label.replace(new RegExp('('+val+')', "ig"),"<b>$1</b>")+"</a>")
        .appendTo( ul );
        
    };


    /*
    $("#FinderLoc").autocomplete("/locations/jstcomplete", {
        matchContains:false,
        minChars:3, 
        autoFill:false,
        mustMatch:false,
        cacheLength:10,
        max:10
    }).result(function(event, item) {
        var re=item+"";  
        var res=re.split(",");
        $('#loc').val(res[0]);
        $('#lat').val(res[1]);
        $('#lon').val(res[2]);
    });
     */
});


var updateCounterXhr;

function updateCounter(){
    if (updateCounterXhr) {
        updateCounterXhr.abort();
    }
    //$('#$('#FinderReg')')



    url = '/r:'+$('#FinderReg').val();
    if ($('#FinderProv').val().length > 0)
        url= '/prov:'+$('#FinderProv').val();
    if ($('#FinderLocId').val().length > 0)
        url= '/locId:'+$('#FinderLocId').val();



    url='/search/counter'+url+"/adi:1";
    updateCounterXhr = $.getJSON( url, null, function( data, status, xhr ) {
        if ( xhr === updateCounterXhr ) {
            var fc = $('#FinderCounter').empty();
            for (i = 0; i < data.length; i++) {
                // fc.append($("<dd></dd>").attr("value",data[i]).text(data[i]));
                fc.append($("<dd>"+data[i].key+" "+data[i].count+"</dd>"));
                
            }
            
        }
        updateCounterXhr = null;
    });
}

aProvs = {
    'PIEM':['AL','AT','BI','CN','NO','TO','VB','VC'],
    'VALL':['AO'],
    'LOMB': ['BG','BS','CO','CR','LC','LO','MB','MI','MN','PV','SO','VA'],
    'TREN': ['BZ','TN'],
    'VENE': ['BL','PD','RO','TV','VE','VI','VR'],
    'FRIU': ['GO','PN','TS','UD'],
    'LIGU':['GE','IM','SP','SV'],
    'EMIL': ['BO','FC','FE','MO','PC','PR','RA','RE','RN'],
    'TOSC':['AR','FI','GR','LI','LU','MS','PI','PO','PT','SI'],
    'UMBR':['PG','TR',],
    'MARC':['AN','AP','MC','PU'],
    'LAZI':['FR','LT','RI','RM','VT'],
    'ABRU':['AQ','CH','PE','TE'],
    'MOLI':['CB','IS'],
    'CAMP':['AV','BN','CE','NA','SA'],
    'PUGL':['BA','BR','FG','LE','TA'],
    'BASI':['MT','PZ',],
    'CALA':['CS','CZ','KR','RC','VV',],
    'SICI':['AG','CL','CT','EN','ME','PA','RG','SR','TP',],
    'SARD':['CA','CI','NU','OG','OR','OT','SS','VS']

}

