jQuery(function() {
// INIT
var location_finder = new Location();

// Functions & Data
function Location() {
    // Initialize
    this.first_time = true;
    this.pre_actions = [];
    this.post_actions = [];
    this.auto_completer = jQuery('#autocomplete').autocomplete({
        serviceUrl: '/index.php?c=search&a=location_json',
        minChars: 3,
        width:250,
        zIndex: 1110,
        params: {
            country: function() {
                return jQuery('#country').val();
            }
        },
        onSelect: function(value, data) {
            if (jQuery('#country').val() == 'US') {
                jQuery('#loc_zip').val(data.zip);
            } else {
                jQuery('#loc_id').val(data.id);
            }
            jQuery('#loc_lat').val(data.latitude);
            jQuery('#loc_lon').val(data.longitude);
            jQuery('#citytown').val(value);
        }
    });

    jQuery('#indicator1').hide();

    var obj = this;
    jQuery('#country').change(function() {
        jQuery(this).val().length ? obj.auto_completer.enable() : obj.auto_completer.disable();
        jQuery('#loc_id, #loc_zip, #loc_lat, #loc_lon, #loc_city, #loc_state, #autocomplete').val('');
    });
}
});
