Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <script>
- var membersTable;
- var geocoder;
- var map;
- var i = 0;
- var delay = 0;
- var agencyCount = 0;
- var iconURL;
- var localURL = 'http://hosting.frontpageltd.co.uk';
- function initialize() {
- geocoder = new google.maps.Geocoder();
- var mapOptions = {
- center: { lat: 55.362, lng: -3.443 },
- zoom: 6
- };
- map = new google.maps.Map(document.getElementById('map-canvas'),
- mapOptions);
- }
- function codeAddress(address) {
- geocoder.geocode({ 'address': address }, function (results, status) {
- if (status == google.maps.GeocoderStatus.OK) {
- return results;
- }
- });
- }
- function PostcodeAnywhere_Interactive_ListCounties_v1_00Begin(Key, UserName) {
- var script = document.createElement("script"),
- head = document.getElementsByTagName("head")[0],
- url = "http://services.postcodeanywhere.co.uk/PostcodeAnywhere/Interactive/ListCounties/v1.00/json3.ws?";
- // Build the query string
- url += "&Key=" + encodeURIComponent(Key);
- url += "&UserName=" + encodeURIComponent(UserName);
- url += "&callback=PostcodeAnywhere_Interactive_ListCounties_v1_00End";
- script.src = url;
- // Make the request
- script.onload = script.onreadystatechange = function () {
- if (!this.readyState || this.readyState === "loaded" || this.readyState === "complete") {
- script.onload = script.onreadystatechange = null;
- if (head && script.parentNode)
- head.removeChild(script);
- }
- }
- head.insertBefore(script, head.firstChild);
- }
- google.maps.event.addDomListener(window, 'load', initialize);
- function AddInfoWindow(entry, entryIconURL, position) {
- var contentString = '<div class="agencyMapMarker" style="font-family: sans-serif !important; font-weight: normal !important; max-width: 500px; white-space: nowrap; overflow: auto;"><table><tbody><tr><td><b>' + entry.MemberName + '</b><br>' + entry.MemberAddress1 + '<br>' + entry.MemberAddress2 + '<br>' + entry.MemberAddress3 + '<br>' + entry.MemberCity + '<br>' + entry.MemberCounty + '<br>' + entry.MemberPostcode + '<br>' + entry.MemberEmail + '<br>' + entry.MemberWebsite + '<br>' + entry.MemberTelephone + '</td><td><img src="' + entryIconURL + '" style="width: 36px; height: 50px; float: right; display: block; margin: 0 0 10px 10px;"></td></tr></tbody></table></div>';
- var infowindow = new google.maps.InfoWindow({
- content: contentString,
- maxWidth: 500
- });
- return infowindow;
- }
- function AddAgencyMarker(entry, position, entryIconURL) {
- // Initialise the icon URL
- var marker = new google.maps.Marker({
- position: position,
- map: map,
- icon: entryIconURL,
- title: entry.MemberName
- });
- return marker;
- }
- function GetNearestAgencyDataForCounty(location) {
- $.ajax({
- type: 'POST',
- url: '/umbraco/Surface/FindAnAgentSurface/FilterAgentsByCounty?county=' + location,
- dataType: "JSON",
- success: function (data) {
- membersTable.clear().draw();
- membersTable.rows.add(data);
- membersTable.draw();
- }
- });
- }
- function GetNearestAgencyDataForTown(location) {
- $.ajax({
- type: 'POST',
- url: '/umbraco/Surface/FindAnAgentSurface/FilterAgentsByTown?town=' + location,
- dataType: "JSON",
- success: function (data) {
- membersTable.clear().draw();
- membersTable.rows.add(data);
- membersTable.draw();
- }
- });
- }
- function GetNearestAgencyDataForPostcode(postcode) {
- $.ajax({
- type: 'POST',
- url: '/umbraco/Surface/FindAnAgentSurface/GetNearestAgencyDataForPostcode?postcode=' + postcode,
- success: function (result) {
- result = JSON.parse(result);
- result.forEach(function (entry) {
- var latLng = new google.maps.LatLng(entry.Latitude, entry.Longitude);
- iconURL = localURL + '/CLIAIcons/BeginnerMarker.png';
- if (entry.AccreditedLevel == 'Master')
- iconURL = localURL + '/CLIAIcons/MasterMarker.png';
- else if (entry.AccreditedLevel == "Ambassador")
- iconURL = localURL + '/CLIAIcons/AmbassadorMarker.png';
- else if (entry.AccreditedLevel == "Accredited")
- iconURL = localURL + '/CLIAIcons/AccreditedMarker.png';
- var currentMarker = AddAgencyMarker(entry, latLng, iconURL);
- var currentInfoWindow = AddInfoWindow(entry, iconURL, latLng);
- google.maps.event.addListener(currentMarker, 'click', function () {
- currentInfoWindow.open(map, currentMarker);
- });
- });
- }
- });
- }
- function GetAllCountiesForDropdown() {
- var items = "";
- $.ajax({
- type: "GET",
- url: "/umbraco/Surface/FindAnAgentSurface/GetAllCountiesForDropdown",
- dataType: "JSON",
- success: function (data) {
- $.each(data, function (index, item) {
- $('#selectCountyDropdown').append("<option>" + item + "</option>");
- });
- }
- });
- }
- function GetAllTownsForDropdown() {
- var items = "";
- $.ajax({
- type: "GET",
- url: '/umbraco/Surface/FindAnAgentSurface/GetAllTownsForDropdown',
- dataType: "JSON",
- success: function (data) {
- $.each(data, function (index, item) {
- $('#selectTownDropdown').append("<option>" + item + "</option>");
- });
- }
- })
- }
- $(document).ready(function () {
- //Fancybox set up
- $('#KeyMaster').fancybox({
- 'transitionIn': 'fade',
- 'transitionOut': 'fade',
- 'width': 'auto',
- 'overlayShow': true
- });
- $('#KeyAmbassador').fancybox({
- 'transitionIn': 'fade',
- 'transitionOut': 'fade',
- 'width': 'auto',
- 'overlayShow': true
- });
- $('#KeyAccredited').fancybox({
- 'transitionIn': 'fade',
- 'transitionOut': 'fade',
- 'width': 'auto',
- 'overlayShow': true
- });
- $('#KeyBeginner').fancybox({
- 'transitionIn': 'fade',
- 'transitionOut': 'fade',
- 'width': 'auto',
- 'overlayShow': true
- });
- // Find an agent map functions
- membersTable = $('#membersList').DataTable({
- data: null,
- columns: [
- { data: 'MemberName' },
- { data: 'AccreditedLevel' },
- { data: 'MemberCity' },
- { data: "MemberCounty" },
- { data: "MemberPostcode" },
- { data: "MemberTelephone" },
- { data: "MemberWebsite" },
- { data: "MemberEmail" }
- ]
- });
- GetAllCountiesForDropdown();
- GetAllTownsForDropdown();
- $('.filterByLetter').click(function (e) {
- e.preventDefault();
- var clickedFilterLetter = $(this).attr("data-id");
- $('#membersListContainer').css("visibility", "visible");
- $.ajax({
- url: "/umbraco/Surface/FindAnAgentSurface/FilterAgentsByLetter?letter=" + clickedFilterLetter,
- type: "POST",
- dataType: "JSON",
- success: function (data) {
- membersTable.clear().draw();
- membersTable.rows.add(data);
- membersTable.draw();
- }
- });
- });
- $('#postcode').bind("enterKey", function (e) {
- postcode = $('#postcode').val();
- $('#map-error-msg').empty();
- if (!postcode.length > 0) {
- $('#map-error-msg').append('<span style="color: #cc0066;">* Please type a postcode into the search field.</span>');
- return false;
- }
- if (postcode.length < 5) {
- $('#map-error-msg').append('<span style="color: #cc0066;">* It appears the postcode you entered is invalid.</span>');
- return false;
- }
- codeAddress($('#postcode').val());
- GetNearestAgencyDataForPostcode($('#postcode').val());
- });
- $('#postcode').keyup(function (e) {
- if (e.keyCode == 13) {
- $(this).trigger("enterKey");
- }
- });
- $('#searchByCounty').click(function (e) {
- var selectedCounty = $('#selectCountyDropdown').find(":selected").text();
- GetNearestAgencyDataForCounty(selectedCounty);
- });
- $('#searchByTown').click(function (e) {
- var selectedCounty = $('#selectTownDropdown').find(":selected").text();
- GetNearestAgencyDataForTown(selectedCounty);
- });
- $('#submitPostcode').click(function (e) {
- postcode = $('#postcode').val();
- $('#map-error-msg').empty();
- if (!postcode.length > 0) {
- $('#map-error-msg').append('<span style="color: #cc0066;">* Please type a postcode into the search field.</span>');
- return false;
- }
- //if(!isValidPostcode(postcode)) {
- if (postcode.length < 5) {
- $('#map-error-msg').append('<span style="color: #cc0066;">* It appears the postcode you entered is invalid.</span>');
- return false;
- }
- codeAddress($('#postcode').val());
- GetNearestAgencyDataForPostcode($('#postcode').val());
- });
- //$.ajax({
- // type: 'POST',
- // url: 'http://services.postcodeanywhere.co.uk/StoreFinder/Interactive/RetrieveNearest/v1.20/json.ws?Key=UE91-CZ45-TZ49-BN82&Origin=WR2 6NJ&MaximumItems=50&MaximumRadius=30&MaximumTime=120&DistanceType=FastestByRoad&LocationLists=',
- // success: function (result) {
- // alert(result);
- // }
- //});
- });
- </script>
- <script src="/scripts/jquery.tablesorter.min.js"></script>
- <script type="text/javascript">
- $(document).ready(function () {
- $("#AgencyList").tablesorter();
- }
- );
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement