/*
Copyright (c) 2009, Devel-Tech Inc., dti@develtech.ca
All rights reserved.
Redistribution and/or use in source and binary forms, with or without modification, 
are NOT permitted without the express written consent of Devel-Tech Inc. 
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
var icons = new GIcon();
icons.image = "./images/iconMap_school.png"; icons.iconSize = new GSize(16,16);
icons.iconAnchor = new GPoint(6, 20); icons.infoWindowAnchor = new GPoint(5, 1);
var iconm = new GIcon();
iconm.image = "./images/iconMap_shops.png"; iconm.iconSize = new GSize(16,16);
iconm.iconAnchor = new GPoint(6, 20); iconm.infoWindowAnchor = new GPoint(5, 1);
var iconh = new GIcon();
iconh.image = "./images/iconMap_hospital.png"; iconh.iconSize = new GSize(16,16);
iconh.iconAnchor = new GPoint(6, 20); iconh.infoWindowAnchor = new GPoint(5, 1);
var iconr = new GIcon();
iconr.image = "./images/iconMap_LRT.png"; iconr.iconSize = new GSize(16,16);
iconr.iconAnchor = new GPoint(6, 20); iconr.infoWindowAnchor = new GPoint(5, 1);
var icond = new GIcon();
icond.image = "./images/black.png"; icond.iconSize = new GSize(20,34);
icond.iconAnchor = new GPoint(6, 20); icond.infoWindowAnchor = new GPoint(5, 1);
var icona = new GIcon();
icona.image = "./images/iconMap_airport.png"; icona.iconSize = new GSize(16,16);
icona.iconAnchor = new GPoint(6, 20); icona.infoWindowAnchor = new GPoint(5, 1);
var iconu = new GIcon();
iconu.image = "./images/iconMap_college.png"; iconu.iconSize = new GSize(16,16);
iconu.iconAnchor = new GPoint(6, 20); iconu.infoWindowAnchor = new GPoint(5, 1);
var iconl = new GIcon();
iconl.image = "./images/iconMap_library.png"; iconl.iconSize = new GSize(16,16);
iconl.iconAnchor = new GPoint(6, 20); iconl.infoWindowAnchor = new GPoint(5, 1);
function getProximity_Values()
{
var mynumrows = 0; 
proximity_values = new Array();
GDownloadUrl("./xmls/proximity-locations.xml", function(data){
var xmlP = GXml.parse(data); 
var markersP = xmlP.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markersP.length; i++) 
{
proximity_values[mynumrows] = markersP[i].getAttribute("lat") + "," + markersP[i].getAttribute("lng") + "," + markersP[i].getAttribute("title");
mynumrows = mynumrows + 1;
}
});
}
function getLRT_Values()
{
var mynumrows = 0; 
LRT_values = new Array();
GDownloadUrl("./xmls/LRTs.xml", function(data){
var xmlP = GXml.parse(data); 
var markersP = xmlP.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markersP.length; i++) 
{
LRT_values[mynumrows] = markersP[i].getAttribute("lat") + "," + markersP[i].getAttribute("lng") + "," + markersP[i].getAttribute("title");
mynumrows = mynumrows + 1;
}
});
}
function showSchools()
{
if (map.getZoom() >= 13)
{
if (document.getElementById("schoolsckb") != null)
{
if (document.getElementById("schoolsckb").checked == true)
{
school_markers = new Array();
function createMarkerS(points, name, type, address,link) 
{
var markerS = new GMarker(points,icons);
school_markers.push(markerS);
GEvent.addListener(markerS, "click", function() { 
map.savePosition();
var caption = name+"<br>"+address+"<br>"+type; 
if (link.length > 0){caption = caption + "<br><a href='" + link + "' target='_blank'>view webpage</a>";}
markerS.openInfoWindowHtml(caption);});
return markerS;
}
GDownloadUrl("./xmls/"+city_schools_file+".xml", function(data){
var xmlS = GXml.parse(data); 
var markersS = xmlS.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markersS.length; i++) 
{
var pointS = new GLatLng(parseFloat(markersS[i].getAttribute("yvalue")),parseFloat(markersS[i].getAttribute("xvalue")));
map.addOverlay(createMarkerS(pointS,markersS[i].getAttribute("name"),markersS[i].getAttribute("type"),
markersS[i].getAttribute("address"),markersS[i].getAttribute("link")));
}
});
schoolsflag = 1;
}
else{for (var n=0; n < school_markers.length; n++){map.removeOverlay(school_markers[n]);} schoolsflag = 0;}
}
}
}
function showSchools3()
{
if (document.getElementById("schoolsckb") != null)
{
if (document.getElementById("schoolsckb").checked == true)
{
school_markers = new Array();
function createMarkerS(points, name, type, address,link) 
{
var markerS = new GMarker(points,icons);
school_markers.push(markerS);
GEvent.addListener(markerS, "click", function() { 
map.savePosition();
var caption = name+"<br>"+address+"<br>"+type; 
if (link.length > 0){caption = caption + "<br><a href='" + link + "' target='_blank'>view webpage</a>";}
markerS.openInfoWindowHtml(caption);});
return markerS;
}
GDownloadUrl("./xmls/"+city_schools_file+".xml", function(data){
var xmlS = GXml.parse(data); 
var markersS = xmlS.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markersS.length; i++) 
{
var pointS = new GLatLng(parseFloat(markersS[i].getAttribute("yvalue")),parseFloat(markersS[i].getAttribute("xvalue")));
map.addOverlay(createMarkerS(pointS,markersS[i].getAttribute("name"),markersS[i].getAttribute("type"),
markersS[i].getAttribute("address"),markersS[i].getAttribute("link")));
}
});
}
else{for (var n=0; n < school_markers.length; n++){map.removeOverlay(school_markers[n]);}}
}
}
function showSchools2()
{
if (map.getZoom() >= 13)
{
if (document.getElementById("schoolsckb") != null)
{
if (document.getElementById("schoolsckb").checked == true)
{
schoolsflag = 1;
jQuery("#LoadingDiv").show(function(){
school_markers = new Array();
function createMarkerS(points, name, type, address,link) 
{
var markerS = new GMarker(points,icons);
school_markers.push(markerS);
GEvent.addListener(markerS, "click", function() { 
map.savePosition();
var caption = name+"<br>"+address+"<br>"+type; 
if (link.length > 0){caption = caption + "<br><a href='" + link + "' target='_blank'>view webpage</a>";}
markerS.openInfoWindowHtml(caption);});
return markerS;
}
GDownloadUrl("./xmls/"+city_schools_file+".xml", function(data){
var xmlS = GXml.parse(data); 
var markersS = xmlS.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markersS.length; i++) 
{
var pointS = new GLatLng(parseFloat(markersS[i].getAttribute("yvalue")),parseFloat(markersS[i].getAttribute("xvalue")));
map.addOverlay(createMarkerS(pointS,markersS[i].getAttribute("name"),markersS[i].getAttribute("type"),
markersS[i].getAttribute("address"),markersS[i].getAttribute("link")));
}
jQuery("#LoadingDiv").hide();
});
});
}
else{
schoolsflag = 0; 
jQuery("#LoadingDiv").show(function(){
for (var n=0; n < school_markers.length; n++){map.removeOverlay(school_markers[n]);}
jQuery("#LoadingDiv").hide();
});
}
}
}
}
function showMalls()
{
if (document.getElementById("Mallsckb").checked == true)
{
mall_markers = new Array();
function createMarkerM(pointm, title) 
{
var markerM = new GMarker(pointm,iconm);
mall_markers.push(markerM);
GEvent.addListener(markerM, "click", function() {
map.savePosition();
var caption = title; markerM.openInfoWindowHtml(caption);});
return markerM;
}
GDownloadUrl("./xmls/malls.xml", function(data){
var xmlM = GXml.parse(data); var markersM = xmlM.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markersM.length; i++) 
{
var pointM = new GLatLng(parseFloat(markersM[i].getAttribute("lat")),parseFloat(markersM[i].getAttribute("lng")));
map.addOverlay(createMarkerM(pointM,markersM[i].getAttribute("title")));
}
});
}
else{for (var n=0; n < mall_markers.length; n++){map.removeOverlay(mall_markers[n]);}}
}
function showLRTstations()
{
if (document.getElementById("LRTstationckb").checked == true)
{
LRT_markers = new Array(); 
function createMarkerL(pointl, title) 
{
var markerL = new GMarker(pointl,iconr); LRT_markers.push(markerL);
GEvent.addListener(markerL, "click", function() {
map.savePosition();
var caption = title; markerL.openInfoWindowHtml(caption);});
return markerL;
}
GDownloadUrl("./xmls/LRTs.xml", function(data){
var xmlL = GXml.parse(data); var markersL = xmlL.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markersL.length; i++) 
{
var pointL = new GLatLng(parseFloat(markersL[i].getAttribute("lat")),parseFloat(markersL[i].getAttribute("lng")));
map.addOverlay(createMarkerL(pointL,markersL[i].getAttribute("title")));
}
});
}
else{for (var n=0; n < LRT_markers.length; n++){map.removeOverlay(LRT_markers[n]);}}
}
function showHospitals()
{
if (document.getElementById("hospitalckb").checked == true)
{
hospital_markers = new Array(); 
function createMarkerH(pointh, title) 
{
var markerH = new GMarker(pointh,iconh); hospital_markers.push(markerH);
GEvent.addListener(markerH, "click", function() { 
map.savePosition();
var caption = title; markerH.openInfoWindowHtml(caption);});
return markerH;
}
GDownloadUrl("./xmls/hospitals.xml", function(data){
var xmlH = GXml.parse(data); var markersH = xmlH.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markersH.length; i++) 
{
var pointH = new GLatLng(parseFloat(markersH[i].getAttribute("lat")),parseFloat(markersH[i].getAttribute("lng")));
map.addOverlay(createMarkerH(pointH,markersH[i].getAttribute("title")));
}
});
}
else{for (var n=0; n < hospital_markers.length; n++){map.removeOverlay(hospital_markers[n]);}}
}
function showDowntown()
{
if (document.getElementById("downtownckb").checked == true)
{
downtown_markers = new Array(); 
function createMarkerD(pointd, title) 
{
var markerD = new GMarker(pointd,icond); downtown_markers.push(markerD);
GEvent.addListener(markerD, "click", function() { 
map.savePosition();
var caption = title; markerD.openInfoWindowHtml(caption);});
return markerD;
}
GDownloadUrl("./xmls/downtown.xml", function(data){
var xmlD = GXml.parse(data); var markersD = xmlD.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markersD.length; i++) 
{
var pointD = new GLatLng(parseFloat(markersD[i].getAttribute("lat")),parseFloat(markersD[i].getAttribute("lng")));
map.addOverlay(createMarkerD(pointD,markersD[i].getAttribute("title")));
}
});
}
else{for (var n=0; n < downtown_markers.length; n++){map.removeOverlay(downtown_markers[n]);}}
}
function showAirports()
{
if (document.getElementById("airportckb").checked == true)
{
airport_markers = new Array(); 
function createMarkerA(pointa, title) 
{
var markerA = new GMarker(pointa,icona); airport_markers.push(markerA);
GEvent.addListener(markerA, "click", function() { 
map.savePosition();
var fields = title.split("-"); var caption = fields[0]+"<br>"+fields[1];
markerA.openInfoWindowHtml(caption);});
return markerA;
}
GDownloadUrl("./xmls/airport.xml", function(data){
var xmlA = GXml.parse(data); var markersA = xmlA.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markersA.length; i++) 
{
var pointA = new GLatLng(parseFloat(markersA[i].getAttribute("lat")),parseFloat(markersA[i].getAttribute("lng")));
map.addOverlay(createMarkerA(pointA,markersA[i].getAttribute("title")));
}
});
}
else{for (var n=0; n < airport_markers.length; n++){map.removeOverlay(airport_markers[n]);}}
}
function showUniversity()
{
if (document.getElementById("secondaryckb").checked == true)
{
university_markers = new Array(); 
function createMarkerU(pointu, title) 
{
var markerU = new GMarker(pointu,iconu); university_markers.push(markerU);
GEvent.addListener(markerU, "click", function() { 
map.savePosition();
var caption = title; markerU.openInfoWindowHtml(caption);});
return markerU;
}
GDownloadUrl("./xmls/secondary_schools.xml", function(data){
var xmlU = GXml.parse(data); var markersU = xmlU.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markersU.length; i++) 
{
var pointU = new GLatLng(parseFloat(markersU[i].getAttribute("lat")),parseFloat(markersU[i].getAttribute("lng")));
map.addOverlay(createMarkerU(pointU,markersU[i].getAttribute("title")));
}
});
}
else{for (var n=0; n < university_markers.length; n++){map.removeOverlay(university_markers[n]);}}
}
function showLibraries()
{
if (document.getElementById("libraryckb") != null)
{
if (document.getElementById("libraryckb").checked == true)
{
library_markers = new Array();
function createMarkerLL(points, name, address) 
{
var markerLL = new GMarker(points,iconl);
library_markers.push(markerLL);
GEvent.addListener(markerLL, "click", function() { 
map.savePosition();
var caption = name+"<br>"+address; markerLL.openInfoWindowHtml(caption);});
return markerLL;
}
GDownloadUrl("./xmls/libraries.xml", function(data){
var xmlLL = GXml.parse(data); 
var markersLL = xmlLL.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markersLL.length; i++) 
{
var address = markersLL[i].getAttribute("address");
var pointLL = new GLatLng(parseFloat(markersLL[i].getAttribute("yvalue")),parseFloat(markersLL[i].getAttribute("xvalue")));
map.addOverlay(createMarkerLL(pointLL,markersLL[i].getAttribute("name"),address.replace("|","<br>")));
}
});
}
else{for (var n=0; n < library_markers.length; n++){map.removeOverlay(library_markers[n]);}}
}
}
function showExtras()
{
showHospitals(); 
showUniversity(); 
showAirports();
showSchools(); 
showMalls(); 
showLRTstations();
showLibraries();
}
function showExtras2()
{
showHospitals(); 
showUniversity(); 
showAirports();
showSchools(); 
showMalls(); 
showLRTstations();
showLibraries();
}
function showExtrasC()
{
showHospitalsC(); 
showUniversityC(); 
showAirportsC();
showSchools(); 
showMalls(); 
showLRTstations();
showLibraries();
}
function showExtrasC2()
{
showHospitalsC(); 
showUniversityC(); 
showAirportsC();
showMalls(); 
showLRTstations();
showLibraries();
}
function showHospitalsC()
{
hospital_markers = new Array(); 
function createMarkerH(pointh, title) 
{
var markerH = new GMarker(pointh,iconh); hospital_markers.push(markerH);
GEvent.addListener(markerH, "click", function() { 
map.savePosition();
var caption = title; markerH.openInfoWindowHtml(caption);});
return markerH;
}
GDownloadUrl("./xmls/hospitals.xml", function(data){
var xmlH = GXml.parse(data); var markersH = xmlH.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markersH.length; i++) 
{
var pointH = new GLatLng(parseFloat(markersH[i].getAttribute("lat")),parseFloat(markersH[i].getAttribute("lng")));
map.addOverlay(createMarkerH(pointH,markersH[i].getAttribute("title")));
}
});
}
function showDowntownC()
{
downtown_markers = new Array(); 
function createMarkerD(pointd, title) 
{
var markerD = new GMarker(pointd,icond); downtown_markers.push(markerD);
GEvent.addListener(markerD, "click", function() { 
map.savePosition();
var caption = title; markerD.openInfoWindowHtml(caption);});
return markerD;
}
GDownloadUrl("./xmls/downtown.xml", function(data){
var xmlD = GXml.parse(data); var markersD = xmlD.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markersD.length; i++) 
{
var pointD = new GLatLng(parseFloat(markersD[i].getAttribute("lat")),parseFloat(markersD[i].getAttribute("lng")));
map.addOverlay(createMarkerD(pointD,markersD[i].getAttribute("title")));
}
});
}
function showAirportsC()
{
airport_markers = new Array(); 
function createMarkerA(pointa, title) 
{
var markerA = new GMarker(pointa,icona); airport_markers.push(markerA);
GEvent.addListener(markerA, "click", function() { 
map.savePosition();
var fields = title.split("-"); var caption = fields[0]+"<br>"+fields[1];
markerA.openInfoWindowHtml(caption);});
return markerA;
}
GDownloadUrl("./xmls/airport.xml", function(data){
var xmlA = GXml.parse(data); var markersA = xmlA.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markersA.length; i++) 
{
var pointA = new GLatLng(parseFloat(markersA[i].getAttribute("lat")),parseFloat(markersA[i].getAttribute("lng")));
map.addOverlay(createMarkerA(pointA,markersA[i].getAttribute("title")));
}
});
}
function showUniversityC()
{
university_markers = new Array(); 
function createMarkerU(pointu, title) 
{
var markerU = new GMarker(pointu,iconu); university_markers.push(markerU);
GEvent.addListener(markerU, "click", function() { 
map.savePosition();
var caption = title; markerU.openInfoWindowHtml(caption);});
return markerU;
}
GDownloadUrl("./xmls/secondary_schools.xml", function(data){
var xmlU = GXml.parse(data); var markersU = xmlU.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markersU.length; i++) 
{
var pointU = new GLatLng(parseFloat(markersU[i].getAttribute("lat")),parseFloat(markersU[i].getAttribute("lng")));
map.addOverlay(createMarkerU(pointU,markersU[i].getAttribute("title")));
}
});
}
