var adv_loc={text_defaults:{search_btn_name:"Set",cancel_btn_name:"Cancel",reset_btn_name:"Reset",close_btn_name:"Close",ok_btn_name:"Ok",retry_btn_name:"Retry",txt_location_search:"Location Search"},i18n:function(a){return i18n.T(a,adv_loc.text_defaults,"advlocationjs_");},init:function(){adv_loc.main=$("#"+adv_loc_conf.main_id);adv_loc.search=$("#"+adv_loc_conf.input_id);if(adv_loc_conf.lock===0){adv_loc.init_basic();}else{if(adv_loc_conf.lock==1&&adv_loc_conf.extra!="popup"){adv_loc.init_lock_basic(adv_loc_conf.extra);}}if(adv_loc_conf.extra=="autocomplete"){adv_loc.init_autocomplete();}else{if(adv_loc_conf.extra=="popup"){adv_loc.init_popup_form();adv_loc.init_popup_other();}}if(adv_loc_conf.show_guesses&&adv_loc_conf.extra!="popup"){adv_loc.init_popup_other();}},init_basic:function(){adv_loc.main.click(function(){adv_loc.clear_field(adv_loc.search,adv_loc_conf.init_value);adv_loc.search.focus();});adv_loc.search.blur(function(){adv_loc.reset_field(adv_loc.search,adv_loc_conf.init_value);});adv_loc.search.keypress(function(a){if(a.which==13){if(adv_loc_conf.extra=="autocomplete"){$(".ui-autocomplete").hide();}if(!adv_loc.curr_id){adv_loc.basic_submit();}$(this).blur();}});},basic_submit:function(){adv_loc.reset_field(adv_loc.search,adv_loc_conf.init_value);adv_loc.run_basic_search(adv_loc.search.val());if(adv_loc_conf.extra=="autocomplete"){$(".ui-autocomplete").hide();}},init_lock_basic:function(){$("#ap_adv_location_change").click(adv_loc.unlock);$("#ap_adv_location_save").click(adv_loc.lock);adv_loc.search.keypress(function(a){if(a.which==13){adv_loc.lock();}});},init_autocomplete:function(){adv_loc.search.autocomplete({source:"/ajax/get_location_autocomplete/",delay:adv_loc_conf.delay,minLength:adv_loc_conf.min_chars,scroll:true,highlight:true,select:adv_loc.select_autocomplete_item,open:function(){delete (adv_loc.curr_id);}});},select_autocomplete_item:function(c,b){adv_loc.curr_id=b.item.id;var a={gid:b.item.id};$.get("/ajax/gid_set_position/",a,function(d){if(d.success){$("#ap_adv_location").triggerHandler("location_update_success");adv_loc.set_location(b.item.label);adv_loc_conf.init_value=b.item.label;message("Set location to "+b.item.label);}else{$("#ap_adv_location").triggerHandler("location_update_fail");message("Could not set location");}},"json");return false;},unlock:function(){$("#ap_adv_location_change").hide();$("#ap_adv_location_save").show();adv_loc.clear_field(adv_loc.search,adv_loc_conf.init_value);adv_loc.search.attr("disabled","").focus();},lock:function(){adv_loc.reset_field(adv_loc.search,adv_loc_conf.init_value);$("#ap_adv_location_save").hide();$("#ap_adv_location_change").show();if(adv_loc_conf.extra!="autocomplete"||!adv_loc.curr_id){adv_loc.run_basic_search(adv_loc.search.val());}if(adv_loc_conf.extra=="autocomplete"){$(".ui-autocomplete").hide();}adv_loc.search.attr("disabled","disabled");},set_location:function(a){adv_loc.search.val(a);if(adv_loc_conf.extra=="autocomplete"){$(".ui-autocomplete").hide();}},run_basic_search:function(c){if(c==adv_loc_conf.init_value){return true;}var b={search:c,show_guesses:adv_loc_conf.show_guesses};var a=null;if(adv_loc_conf.show_guesses){a=adv_loc.handle_popup_location_search;}else{a=adv_loc.handle_basic_search;}$.getJSON("/ajax/get_location_basic/",b,a);},handle_basic_search:function(a){if(a.success==1){$("#ap_adv_location").triggerHandler("location_update_success");adv_loc.set_location(a.loc_str);adv_loc_conf.init_value=a.loc_str;message("Location set to "+a.loc_str);}else{message(a.msg);$("#ap_adv_location").triggerHandler("location_update_fail");adv_loc.set_location(adv_loc_conf.init_value);}},clear_field:function(b,a){if(b.val()==a){b.val("");}},reset_field:function(b,a){if(b.val().replace(/^\s+|\s+$/g,"")==""){b.val(a);}},init_popup_form:function(){$("#ap_adv_loc_form").dialog({autoOpen:false,title:adv_loc.i18n("txt_location_search"),modal:true,resizable:false,draggable:false,width:"auto",open:function(){$(this).find("input:first").select();},buttons:[{text:adv_loc.i18n("search_btn_name"),click:function(){adv_loc.run_search();}},{text:adv_loc.i18n("cancel_btn_name"),click:function(){$(this).dialog("close");}},{text:adv_loc.i18n("reset_btn_name"),click:function(){$("#ap_adv_loc_form_set")[0].reset();$("#ap_adv_loc_country").change();$(this).find("input:first").select();}}]});$("#ap_adv_location_change").click(function(){adv_loc.show_form();});var a=$("#ap_adv_loc_region");if(typeof(a)=="object"){$("#ap_adv_loc_country").change(function(){var b={cc:$(this).val()};a.load("/ajax/get_country_region/",b,function(){adv_loc.stop_form_loading();});adv_loc.set_form_loading();});}$("input.ap_adv_loc_popup_input").keypress(function(b){if(b.which==13){adv_loc.run_search();}});},init_popup_other:function(){$("#ap_adv_loc_confirm").dialog({autoOpen:false,dialogClass:"dialog-no-title",modal:true,resizable:false,draggable:false,width:"auto",buttons:[{text:adv_loc.i18n("close_btn_name"),click:function(){$(this).dialog("close");}}]});$("#ap_adv_loc_guess").dialog({autoOpen:false,modal:true,resizable:false,draggable:false,width:"auto",buttons:[{text:adv_loc.i18n("cancel_btn_name"),click:function(){$(this).dialog("close");}}]});$("#ap_adv_loc_error").dialog({autoOpen:false,dialogClass:"dialog-no-title",modal:true,resizable:false,draggable:false,width:"auto",buttons:[{text:adv_loc.i18n("ok_btn_name"),click:function(){$(this).dialog("close");}},{text:adv_loc.i18n("retry_btn_name"),click:function(){$(this).dialog("close");adv_loc.show_form();}}]});$("#ap_adv_loc_sending").dialog({autoOpen:false,dialogClass:"dialog-no-title",modal:true,draggable:false,resizable:false,width:"auto"});$("#ap_adv_loc_guess span.ap_adv_loc_guess").live("click",function(){var a=$(this).attr("geoname_id");var c=$(this).html();adv_loc.hide_guess_list();var b={gid:a};$.get("/ajax/gid_set_position/",b,function(d){adv_loc.close_searching_window();if(d.success){adv_loc.location_set_window(c);adv_loc_conf.init_value=c;}else{adv_loc.show_no_matches(d.message);}},"json");adv_loc.open_searching_window();});},set_form_loading:function(){$("#ap_adv_loc_form").next().addClass("form_loading");},stop_form_loading:function(){$("#ap_adv_loc_form").next().removeClass("form_loading");},run_search:function(){var a={};$("."+adv_loc_conf.input_class).each(function(b,c){a[c.name]=c.value;});$.get("/ajax/popup_get_location/",a,adv_loc.handle_popup_location_search,"json");adv_loc.open_searching_window();adv_loc.hide_form();},handle_popup_location_search:function(a){if(a.found==1){adv_loc.close_searching_window();$("#ap_adv_location").triggerHandler("location_update_success");adv_loc.location_set_window(a.loc_str);adv_loc_conf.init_value=a.loc_str;}else{adv_loc.close_searching_window();if(a.num_matches>0){$("#ap_adv_location").triggerHandler("location_update_guess");var c=a.matches.shift();var d='<span class="ap_adv_loc_guess" geoname_id="'+c.geoname_id+'">'+c.city+", "+c.region+", "+c.country_code+"</span>";var b="";$.each(a.matches,function(e,f){b+='<span class="ap_adv_loc_guess" geoname_id="'+f.geoname_id+'">'+f.city+", "+f.region+", "+f.country_code+"</span>";});$("#ap_adv_loc_val_guess").html(d);$("#ap_adv_loc_guess_list").html(b);adv_loc.show_guess_list();}else{$("#ap_adv_location").triggerHandler("location_update_fail");adv_loc.show_no_matches(adv_loc_conf.no_match_text);if(adv_loc_conf.show_guesses&&adv_loc_conf.extra!="popup"){adv_loc.set_location(adv_loc_conf.init_value);}}}},location_set_window:function(a){adv_loc.set_location(a);$("#ap_adv_loc_val_ok").html(a);$("#ap_adv_loc_confirm").dialog("open");},show_form:function(){$("#ap_adv_loc_form").dialog("open");},hide_form:function(){$("#ap_adv_loc_form").dialog("close");},open_searching_window:function(){$("#ap_adv_loc_sending").dialog("open");},close_searching_window:function(){$("#ap_adv_loc_sending").dialog("close");},show_no_matches:function(a){$("#ap_adv_loc_error span.ap_adv_loc_msg").html(a);$("#ap_adv_loc_error").dialog("open");},show_guess_list:function(){$("#ap_adv_loc_guess").dialog("open");},hide_guess_list:function(){$("#ap_adv_loc_guess").dialog("close");}};$(function(){adv_loc.init();});
