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 = "
";
GEvent.addListener(tMarker, "click", function() {tMarker.openInfoWindowHtml(data);});
gmarkers[id] = tMarker;
var 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