function initAutocomplete(){autocompleteLoaded||jQuery(document).ready(function(){if(acBiasNeLat!=undefined&&acBiasNeLng!=undefined&&acBiasSwLat!=undefined&&acBiasSwLng!=undefined){var t=new google.maps.LatLngBounds(new google.maps.LatLng(acBiasSwLat,acBiasSwLng),new google.maps.LatLng(acBiasNeLat,acBiasNeLng)),n={bounds:t,fields:["place_id","name","address_components","types","geometry"]};jQuery(".autocomplete").each(function(){var t;jQuery(this).data("acprefix")==="PickupLocation"?(t=new google.maps.places.Autocomplete(this,n),t.addListener("place_changed",getPickupAddress)):jQuery(this).data("acprefix")==="DestinationLocation"?(t=new google.maps.places.Autocomplete(this,n),t.addListener("place_changed",getDestinationAddress)):jQuery(this).data("acprefix")==="AddressLookup"?(t=new google.maps.places.Autocomplete(this,n),t.addListener("place_changed",addressLookup)):jQuery(this).data("acprefix")==="AddPickupPoint"&&(t=new google.maps.places.Autocomplete(this,n),t.addListener("place_changed",pickupPointLookup));console.log("AutoComplete Event Listener Added For: "+jQuery(this).prop("id"))})}autocompleteLoaded=!0})}function getPickupAddress(){clearAddress("Pickup");getAddress("Pickup",this.getPlace())}function getDestinationAddress(){clearAddress("Destination");getAddress("Destination",this.getPlace())}function addressLookup(){getAddressLookup(this.getPlace());HideError("#AddressError")}function pickupPointLookup(){getAddress("AddPickupPoint",this.getPlace())}function getAddress(n,t){for(var u,r,f,e,o,s,h,i=0;i<t.address_components.length;i++){for(u=t.address_components[i],r="",f=0;f<u.types.length;f++)if(e=u.types[f],componentForm[e]){r=e;break}o="";componentForm[r]&&(o=u[componentForm[r]]);jQuery("#"+n+"_"+r).val(o)}for(s=!1,i=0;i<t.types.length;i++)if(h=t.types[i],h==="establishment"){s=!0;break}s&&jQuery("#"+n+"_establishment_name").val(t.name);jQuery("#"+n+"_lat").val(t.geometry.location.lat());jQuery("#"+n+"_lng").val(t.geometry.location.lng())}function getAddressLookup(n){var o,f,s,t,i,r,u,e;for(o in addressForm)addressForm[o]="";for(f=!1,t=0;t<n.types.length;t++)if(s=n.types[t],s==="establishment"){f=!0;break}for(f&&(addressForm.business=n.name),addressForm.latitude=n.geometry.location.lat(),addressForm.longitude=n.geometry.location.lng(),t=0;t<n.address_components.length;t++){for(i=n.address_components[t],r="",u=0;u<i.types.length;u++)if(e=i.types[u],componentForm[e]){r=e;break}addressForm[r]=i[componentForm[r]]}switch(culture){case"International":FillInternationalAddress();break;case"GB":FillGBAddress();break;case"EU":FillEUAddress()}}function FillGBAddress(){var n="",t,i,r,u;addressForm.business!=""?n=addressForm.business:addressForm.street_number!=""&&addressForm.route!=""?n=addressForm.street_number+" "+addressForm.route:addressForm.route!=""?n=addressForm.route:addressForm.locality!=""?n=addressForm.locality:addressForm.postal_town!=""&&(n=addressForm.postal_town);t="";addressForm.street_number!=""&&addressForm.route!=""&&addressForm.street_number+" "+addressForm.route!=n?t=addressForm.street_number+" "+addressForm.route:addressForm.route!=""&&n.indexOf(addressForm.route)<0?t=addressForm.route:addressForm.locality!=""&&addressForm.locality!=n?t=addressForm.locality:addressForm.postal_town!=""&&addressForm.postal_town!=n&&(t=addressForm.postal_town);i="";addressForm.locality!=""&&addressForm.locality!=t?i=addressForm.locality:addressForm.postal_town!=""&&addressForm.postal_town!=t&&(i=addressForm.postal_town);r="";addressForm.country!=""&&(r=addressForm.country);u=addressForm.postal_code;jQuery("#AddressLine1").val(n);jQuery("#AddressLine2").val(t);jQuery("#AddressLine3").val(i);jQuery("#AddressLine4").val(r);jQuery("#Postcode").val(u);jQuery("#Addresslat").val(addressForm.latitude);jQuery("#Addresslng").val(addressForm.longitude)}function FillEUAddress(){var t="",n,i,r;addressForm.locality!=""?t=addressForm.locality:addressForm.administrative_area_level_2!=""&&(t=addressForm.administrative_area_level_2);n="";addressForm.business!=""?n=addressForm.business:addressForm.street_number!=""&&addressForm.route!=""?n=addressForm.street_number+" "+addressForm.route:addressForm.route!=""?n=addressForm.route:addressForm.locality!=""&&addressForm.locality!=t?n=addressForm.locality:addressForm.postal_town!=""&&addressForm.postal_town!=t&&(n=addressForm.postal_town);i="";addressForm.street_number!=""&&addressForm.route!=""&&addressForm.street_number+" "+addressForm.route!=n?i=addressForm.street_number+" "+addressForm.route:addressForm.route!=""&&n.indexOf(addressForm.route)<0?i=addressForm.route:addressForm.locality!=""&&addressForm.locality!=n&&addressForm.locality!=t?i=addressForm.locality:addressForm.postal_town!=""&&addressForm.postal_town!=n&&addressForm.postal_town!=t&&(i=addressForm.postal_town);r=addressForm.postal_code;jQuery("#AddressLine1").val(n);jQuery("#AddressLine2").val(i);jQuery("#AddressLine3").val("");jQuery("#AddressLine4").val(t);jQuery("#Postcode").val(r);jQuery("#Addresslat").val(addressForm.latitude);jQuery("#Addresslng").val(addressForm.longitude)}function FillInternationalAddress(){var r="",i,n,t,u;addressForm.administrative_area_level_1!=""&&(r=addressForm.administrative_area_level_1);i="";addressForm.locality!=""&&(i=addressForm.locality);n="";addressForm.business!=""?n=addressForm.business:addressForm.street_number!=""&&addressForm.route!=""?n=addressForm.street_number+" "+addressForm.route:addressForm.route!=""?n=addressForm.route:addressForm.postal_town!=""&&(n=addressForm.postal_town);t="";addressForm.street_number!=""&&addressForm.route!=""&&addressForm.street_number+" "+addressForm.route!=n?t=addressForm.street_number+" "+addressForm.route:addressForm.route!=""&&n.indexOf(addressForm.route)<0?t=addressForm.route:addressForm.postal_town!=""&&addressForm.postal_town!=n&&(t=addressForm.postal_town);u=addressForm.postal_code;jQuery("#AddressLine1").val(n);jQuery("#AddressLine2").val(t);jQuery("#AddressLine3").val(i);jQuery("#AddressLine4").val(r);jQuery("#Postcode").val(u);jQuery("#Addresslat").val(addressForm.latitude);jQuery("#Addresslng").val(addressForm.longitude)}function clearAddress(n){jQuery("."+n+"_AddressComponent").val("")}function HideError(n){var i,t,r;if(jQuery(n).data("for"))for(i=jQuery(n).data("for").split(","),t=0;t<i.length;t++)r="#"+i[t],jQuery(r).val()!=""&&jQuery(r).removeClass("input-validation-error");jQuery(n).hide()}function stopRKey(n){var n=n?n:event?event:null,t=n.target?n.target:n.srcElement?n.srcElement:null;if(n.keyCode==13&&t.type=="text")return!1}var componentForm={premise:"long_name",street_number:"short_name",route:"long_name",locality:"long_name",postal_town:"long_name",country:"long_name",postal_code:"short_name",political:"long_name",administrative_area_level_1:"short_name",administrative_area_level_2:"long_name",administrative_area_level_3:"long_name",administrative_area_level_4:"long_name",administrative_area_level_5:"long_name"},addressForm={business:"",premise:"",street_number:"",route:"",locality:"",postal_town:"",country:"",postal_code:"",political:"",administrative_area_level_1:"",administrative_area_level_2:"",administrative_area_level_3:"",administrative_area_level_4:"",administrative_area_level_5:"",latitude:0,longitude:0},autocompleteLoaded=!1;document.onkeypress=stopRKey