Login or Create an account
"; $('body').append(cssHideLogo); } else { var cssHideLogo = ""; $('body').append(cssHideLogo); } if (geocodeVisitorsSetting == 1 && geocodingMethod === "IP") { populateSearchFields(); } if($('.googleSuggest').val() == ""){ populateSearchFields(); } var geocodeVisitorsSetting = '1'; var geocodingMethod = 'HTML5'; //check the advanced setting "geocode_visitor_default" if set to 1 will override the "location_value" values to the formatted desire address from the google reverse geocoding response var vlon = ''; var vlat = ''; } function parseInfoToSearch(results, urlGET, formActionUrl) { var parameters = {}; var addressComponentsArray = []; if (results.length > 1) { for (let i = 0; i < results.length; i++) { if (results[i].types[0] === 'natural_feature' || results[i].types[0] === 'airport' || results[i].types[0] === 'point_of_interest' || results[i].types[0] === 'establishment' || results[i].types[0] === 'park') { results.splice(i, 1); } } } var adComLength = results[0].address_components.length; sessionStorage.setItem("google_result",JSON.stringify(results)); //loop that will build the array with the address components and will get the short name of country and administrative area level 1 for (var i = 0; i < adComLength; i++) { if (results[0].address_components[i]['types'][0] == "country") { parameters.country_sn = results[0].address_components[i]['short_name']; } if (results[0].address_components[i]['types'][0] == "administrative_area_level_1") { parameters.adm_lvl_1_sn = results[0].address_components[i]['short_name']; } if (results[0].address_components[i]['types'][0] == "administrative_area_level_1") { parameters.stateSearchLN = results[0].address_components[i]['long_name']; } if (results[0].address_components[i]['types'][0] == "administrative_area_level_2") { parameters.county_sn = results[0].address_components[i]['short_name']; } if ((results[0].address_components[i]['types'][0] == "locality" || results[0].address_components[i]['types'][0] == "sublocality_level_1" || results[0].address_components[i]['types'][0] == "colloquial_area" || results[0].address_components[i]['types'][0] == "postal_town") && $.inArray(results[0].address_components[i]['types'][0], results[0].types) !== -1) { parameters.city = results[0].address_components[i]['long_name']; } if (results[0].address_components[i]['types'][0] == "postal_code" || results[0].address_components[i]['types'][0] == "postal_code_prefix") { parameters.postal_code = results[0].address_components[i]['long_name']; } } parameters.location_type = results[0].types[0]; if (parameters.adm_lvl_1_sn != '') { parameters.stateSearch = parameters.adm_lvl_1_sn; } if (parameters.country_sn == "GB") { delete parameters.adm_lvl_1_sn; } //will check if the response had the bounds parameters //if it had it will add the south west and north east parameters to the new url if (results[0].geometry.hasOwnProperty('bounds') || results[0].geometry.hasOwnProperty('viewport')) { if (results[0].geometry.hasOwnProperty('bounds')) { var boundsResponse = results[0].geometry.bounds; } else { var boundsResponse = results[0].geometry.viewport; } parameters.swlat = boundsResponse.getSouthWest().lat(); parameters.nelat = boundsResponse.getNorthEast().lat(); parameters.swlng = boundsResponse.getSouthWest().lng(); parameters.nelng = boundsResponse.getNorthEast().lng(); //if there were not bounds parameters in the response it will send the parameter fsearch as radius so a radius search will be performed because of lack of info for this location } else { parameters.fsearch = "radius"; } var locationCenterResponse = results[0].geometry.location; parameters.lat = locationCenterResponse.lat(); parameters.lng = locationCenterResponse.lng(); parameters.faddress = results[0].formatted_address; parameters.place_id = results[0].place_id; var formatParameters = $.param(parameters); urlGET = urlGET + "&" + formatParameters; var urlPath = formActionUrl; var redirect = urlPath + "?" + urlGET; //will redirect the page using the new url that has been constructed window.location.href = redirect; } function populateSearchFields() { var prePopulateLocationSetting = '1'; var geolocationMethod = 'HTML5'; //if set to one will get the lat and lng to do reverse geocoding if (prePopulateLocationSetting == 1 && (geolocationMethod === "HTML5" || geolocationMethod === "IP") && (vlat !== '' && vlon !== '' && vlat != undefined && vlon != undefined && vlat != 0 && vlon != 0)) { var visitorLatLng = new google.maps.LatLng(parseFloat(vlat), parseFloat(vlon)); var visitorGeocoder = new google.maps.Geocoder(); var formattedAddress = []; var preFormattedStructure = { "locality": "long_name", "administrative_area_level_2": "long_name", "administrative_area_level_1": "long_name", "country": "long_name" }; visitorGeocoder.geocode({'latLng': visitorLatLng}, function (results, status) { //if the google response of the geocoding was successful it will use that info to build the url for the new search if (status == google.maps.GeocoderStatus.OK) { $.each(preFormattedStructure, function (findex, fvalue) { $.each(results[0].address_components, function (rindex, rvalue) { if (rvalue.types[0] == findex) { formattedAddress.push(rvalue.long_name); } }); }); $('.googleSuggest').each(function () { if ($(this).val() == '') { if (formattedAddress.length > 0) { $(this).val(formattedAddress.join(', ')); clearContent($(this)); } } }); } else { $('.googleSuggest').each(function () { $(this).val(''); }); } }); } } function showError(error) { switch (error.code) { case error.PERMISSION_