myptp.locationsearch=Class.extend({init:function(n){var t=this;this.input=$("#"+n+"Location");this.lat=$("#"+n+"Lat");this.lng=$("#"+n+"Lng");this.text=$("#"+n+"Name");this.input.autocomplete({source:function(n,t){var i=[];$.ajax({type:"POST",url:"/location/geocode",dataType:"json",data:{address:n.term},success:function(n){if(n.results.length){var r=_.map(n.results,function(n){return{value:n.formatted_address,place_id:n.place_id,lat:n.geometry.location.lat,lng:n.geometry.location.lng}});i.push(r);t(r);return}}})},minLength:3,autoFocus:!0,select:function(n,i){t.selectCallback(i)},search:function(){},close:function(){$(this).data("autocompleting","no")},focus:function(){$(this).data("autocompleting","yes")}})},formatLocation:function(n){var t=n.formatted_address,i=_.find(n.address_components,function(n){return _.contains(n.types,"postal_code")})||"",r=_.find(n.address_components,function(n){return _.contains(n.types,"street_number")})||"",o,u,f,e;return n.name&&n.name!=i&&t.indexOf(n.name)==-1&&(t=n.name+", "+t),i&&(o=i.long_name.split(/[-_\s]/i)[0],t=t.split(i.long_name).join(i.long_name)),r&&(u="\\b"+r.long_name+"\\w?\\b\\s*",t=t.replace(new RegExp(u,"gi"),"")),f=t.replace(/(^[,\s]+)|([,\s]+$)/g,"").split(/,\s*/),e=_.uniq(f).join(", "),e},selectCallback:function(n){var i=n.item.lat,r=n.item.lng,t=n.item.value;this.input.data("autocompletinghash",t+i+r);this.input.val(t);this.lat&&this.lat.val(i).change();this.lng&&this.lng.val(r).change();this.text.val(t);this.input.valid&&this.input.valid()},reset:function(){this.input.val("");this.lat&&this.lat.val("").change();this.lng&&this.lng.val("").change();this.text=""},focus:function(){this.focused=!0;this.text.data("autocompleting","yes")},blur:function(){this.focused=!1}});$.validator.addMethod("validPlaceSelected",function(n,t){var i=$(t).attr("id")==="WidgetNewPlan_StartLocation"?"WidgetNewPlan_Start":"WidgetNewPlan_Dest",u=$("#"+i+"Lat").val(),f=$("#"+i+"Lng").val(),e=$("#"+i+"Name").val(),r=$(t).val(),o=r!==""&&e===r;return parseFloat(u)!==0&&parseFloat(f)!==0&&o},"A valid location must be selected");$.validator.addClassRules({validPlaceSelected:{validPlaceSelected:!0}});$(function(){$("#switcheroo").on("click",function(){var u=$("#WidgetNewPlan_StartLocation").val(),f=$("#WidgetNewPlan_DestLocation").val(),n,t,i,r;$(this).toggleClass("switched");n=$("#start-container").children();$(n).each(function(){var n=$(this).attr("name"),t=$(this).attr("id");typeof n!="undefined"&&(n=n.replace(/Start/g,"Dest"),$(this).attr("name",n));typeof t!="undefined"&&(t=t.replace(/Start/g,"Dest"),$(this).attr("id",t))});t=$("#end-container").children();$(t).each(function(){var n=$(this).attr("name"),t=$(this).attr("id");typeof n!="undefined"&&(n=n.replace(/Dest/g,"Start"),$(this).attr("name",n));typeof t!="undefined"&&(t=t.replace(/Dest/g,"Start"),$(this).attr("id",t))});i=$("#start-container").html();r=$("#end-container").html();$("#end-container").html(i);$("#start-container").html(r);new myptp.locationsearch("WidgetNewPlan_Start");new myptp.locationsearch("WidgetNewPlan_Dest");$("#WidgetNewPlan_StartLocation").val(f);$("#WidgetNewPlan_DestLocation").val(u)});if($(".widget-tooltip").tooltip(),$("#myModal").length!=0){$("#myModal").modal({backdrop:"static",keyboard:!1,show:!1});$("#myModal").on("show",function(){var n=1;window.setInterval(function(){$("#loadingBar").css("width",(n+=2.3)+"%")},1e3)})}$("#search_form").data("validator").settings.submitHandler=function(n){if($(".ui-autocomplete-input").length){if($(".ui-autocomplete-input").siblings(".js-validate-lat").val()==="0"||$(".ui-autocomplete-input").siblings(".js-validate-lng").val()==="0")return $(".ui-autocomplete-input").siblings(".js-validation-msg").removeClass("hidden"),$(".ui-autocomplete-input").siblings(".js-geowarning").addClass("hidden"),!1;$("#myModal").length!=0&&($("#start_search").prop("disabled",!0),$("#myModal").modal("show"));n.submit()}else $("#myModal").length!=0&&($("#start_search").prop("disabled",!0),$("#myModal").modal("show")),n.submit()};new myptp.locationsearch("WidgetNewPlan_Start");new myptp.locationsearch("WidgetNewPlan_Dest");$("#WidgetNewPlan_Isreturn").change(function(){$("#returntimescon")[this.checked?"show":"hide"]()}).change();$("body").on("blur",".ui-autocomplete-input",function(){$(this).siblings(".js-validate-lat").val()==="0"||$(this).siblings(".js-validate-lng").val()==="0"?($(this).siblings(".js-validation-msg").removeClass("hidden"),$(this).siblings(".js-geowarning").addClass("hidden")):($(this).siblings(".js-validation-msg").addClass("hidden"),$(this).siblings(".js-geowarning").removeClass("hidden"))});$(".datepicker-input").datepicker({minDate:new Date,setDate:new Date,dateFormat:"dd/mm/yy"})})