var gmarkers = []; var map; var nextPage; var mapBounds; var bounds; var locSearchVar = ""; var nameSearchVar = ""; var prodCatVar = ""; var locCatVar = ""; var latClicked = ""; var lngClicked = ""; // Icon courtesy of http://www.ajaxload.info/ - they're awesome! var loadingIcon = "/ftmap/icons/ajax-loader.gif"; var tinyIcon = new GIcon(); tinyIcon.image = "/ftmap/icons/red-dot.png"; tinyIcon.iconSize = new GSize(20, 34); tinyIcon.iconAnchor = new GPoint(10, 34); tinyIcon.infoWindowAnchor = new GPoint(10, 5); markerOptions1 = { icon:tinyIcon }; var locationIcon = new GIcon(); locationIcon.image="/ftmap/icons/POI.png"; locationIcon.iconSize = new GSize(32,32); locationIcon.iconAnchor = new GPoint(25,25); locationIcon.infoWindowAnchor = new GPoint(10,5) markerOptions2 = { icon:locationIcon } ; function loadData(){ latClicked = ""; lngClicked = ""; locSearchVar = document.getElementsByName("locSearch"); if(locSearchVar[0].value && locSearchVar[0].value != "Enter an address here") locSearchVar = locSearchVar[0].value; else locSearchVar = ""; nameSearchVar = document.getElementsByName("nameSearch"); if(nameSearchVar[0].value && nameSearchVar[0].value != "Search for name of retailer here") nameSearchVar = nameSearchVar[0].value; else nameSearchVar = ""; prodCatVar = document.getElementsByName("prodCat"); if(prodCatVar[0].value && prodCatVar[0].value != 0) prodCatVar = prodCatVar[0].value; else prodCatVar = ""; locCatVar = document.getElementsByName("locCat"); if(locCatVar[0].value) locCatVar = locCatVar[0].value; else locCatVar = ""; if(!locCatVar && !locSearchVar && !prodCatVar && !nameSearchVar) return; //alert(locSearchVar + " 2: " + nameSearchVar + " 3: " + prodCatVar + " 4: " + locCatVar); refreshMap(true); } function createLocMarker(point){ var tMarker = new GMarker(point, markerOptions2); return tMarker; } function createBpMarker(point, name, address, id, markerType, products, colour, number, details, distance) { var iconPath = "/ftmap/icons/" + colour + "_Marker"; if (parseInt(number) < 26) iconPath += String.fromCharCode(0x41 + parseInt(number)); iconPath += ".png"; var tMarker = new GMarker(point, markerType); tMarker.getIcon().image = iconPath; var data = "
"; data += "
" +name + "
"; data += address + "
"; for(var i=0; i"; } if(distance) data += distance + " km
"; data += "
Products:
    "; for(var i=0; i"; } data += "
"; GEvent.addListener(tMarker, "click", function() {tMarker.openInfoWindowHtml(data);}); gmarkers[id] = tMarker; var detailsBox = '

'; detailsBox += ''; detailsBox += ''; detailsBox += name + '
'; detailsBox += '
'; detailsBox += address + '
'; for(var i=0; i"; } if (distance) detailsBox += distance + ' km (approximately)
'; detailsBox += '
'; document.getElementById('detailsbox').innerHTML += detailsBox; return tMarker; } function myclick(id) { GEvent.trigger(gmarkers[id], "click"); } function xmlQuery(){ return "/ftmap/xmlGen.php?locCat="+locCatVar+"&locSearch="+locSearchVar +"&nameSearch="+nameSearchVar+"&prodCat="+prodCatVar; } function loadXML(data, isSearch){ if (isSearch === undefined) isSearch = true; //GLog.write("starting AJAX event"); var xml = GXml.parse(data); var center = xml.documentElement.getElementsByTagName("center")[0]; var maxLat = 0; var maxLng = 0; var centerPoint; var bounds = new GLatLngBounds(); if (center != undefined && isSearch) { var longitude = center.getAttribute("longitude"); var latitude = center.getAttribute("latitude"); var zoom = center.getAttribute("zoom"); var range = center.getAttribute("range"); //map.panTo(new GLatLng(latitude, longitude)); centerPoint = new GLatLng(parseFloat(latitude), parseFloat(longitude)); var centerMarker = createLocMarker(centerPoint); bounds.extend(centerPoint); map.addOverlay(centerMarker); } var results = xml.documentElement.getElementsByTagName("results")[0]; if(results != undefined){ var resultsDisplayed = parseInt(results.getAttribute("displayed")); var resultsAvailable = parseInt(results.getAttribute("available")); var locType = "locations"; if (locCatVar == 1) locType = "supermarkets"; else if (locCatVar == 2) locType = "restaurants"; var prodType = ""; if (prodCatVar == '1') prodType = " selling cocoa"; if (prodCatVar == '2') prodType = " selling coffee"; if (prodCatVar == '3') prodType = " selling flowers"; if (prodCatVar == '4') prodType = " selling quinoa"; if (prodCatVar == '5') prodType = " selling rice"; if (prodCatVar == '6') prodType = " selling sugar"; if (prodCatVar == '7') prodType = " selling tea"; if (prodCatVar == '8') prodType = " selling wine"; if (prodCatVar == '9') prodType = " selling fruit"; if (prodCatVar == '10') prodType = " selling spices"; if (prodCatVar == '11') prodType = " selling herbs"; if (prodCatVar == '12') prodType = " selling honey"; if (prodCatVar == '13') prodType = " selling cotton"; if (prodCatVar == '14') prodType = " selling shea butter"; if (prodCatVar == '15') prodType = " selling sports balls"; if (prodCatVar == '16') prodType = " selling nuts and oil seeds"; if (prodCatVar == '17') prodType = " selling fresh fruit"; if (prodCatVar == '18') prodType = " selling dried fruit"; var resultString = ''; if (isSearch) { resultString = 'Displaying 10 closest ' + locType + ' ' + prodType; document.getElementById('more-results').style.display = "none"; } else if (resultsAvailable > resultsDisplayed) { resultString = 'Displaying first ' + resultsDisplayed + ' ' + locType + ' ' + prodType + ' (' + resultsAvailable + ' available)
'; resultString += 'Zoom in for more results!'; document.getElementById('more-results').style.display = "block"; } else { resultString = 'Found ' + resultsDisplayed + ' ' + locType + ' ' + prodType; document.getElementById('more-results').style.display = "none"; } resultString += '
'; document.getElementById('detailsbox').innerHTML += resultString; } var markers = xml.documentElement.getElementsByTagName("marker"); var point; if (markers[0] != undefined){ for (var i = 0; i < markers.length && i < 40; i++) { var name = markers[i].getAttribute("name"); var address = markers[i].getAttribute("address"); var lat = parseFloat(markers[i].getAttribute("lat")); var lng = parseFloat(markers[i].getAttribute("lng")); if(lat && lng) point = new GLatLng(lat,lng); var id = markers[i].getAttribute("id"); var distance = parseFloat(markers[i].getAttribute("distance")); var details = []; var phone = markers[i].getAttribute("phone"); if(phone) details.push(phone); var website = markers[i].getAttribute("website"); if(website) details.push('' + website + ''); var description = markers[i].getAttribute("description"); if(description) details.push(description); var type = markers[i].getAttribute("type"); if (type == 1) colour = "red"; else if (type == 2) colour = "blue"; else colour = "yellow"; var products = []; var children = markers[i].getElementsByTagName("product"); for (var j=0; j