﻿// JScript File
function initialize() 
{
    if (GBrowserIsCompatible()) 
    {
        //alert('is compatible'); 
        var map = new GMap2(document.getElementById("FMBMap"));
        var mapTypeControl = new GMapTypeControl();
        map.setCenter(new GLatLng(37.534194,-77.433291), 10); 
        //map.setMapType(G_PHYSICAL_MAP);
        //map.removeControl(mapTypeControl);
        map.addControl(new GSmallMapControl());
        //map.addControl(new GMapTypeControl());
        //map.setUIToDefault();
        
       GDownloadUrl("locations.xml", function (data) {
            var XMLFile = GXml.parse(data);
            //MapBranchLocaions(XMLFile, map);
            //MapATMLocations(XMLFile, map);
        });
    }
    else 
        alert('browser is not compatible with google maps'); 
}
function MapATMLocations(XMLFile, map)
{
    var FMBIcon = new GIcon(G_DEFAULT_ICON);
    //greenIcon.image = "http://gmaps-samples.googlecode.com/svn/trunk/markers/green/blank.png";
    FMBIcon.image = "/_images/mapicons/FMB_MapIcon.png";
    FMBIcon.iconSize = new GSize(15,15);
    FMBIcon.iconAnchor = new GPoint(1,1);
    FMBIcon.shadowSize = new GSize(0,0);

    var ATM = XMLFile.documentElement.getElementsByTagName("ATM");
    for (var i = 0; i < ATM.length; i++) 
    { 
        var markerOptions = { icon:FMBIcon };
        var point = new GLatLng(parseFloat(ATM[i].getAttribute("lat")),parseFloat(ATM[i].getAttribute("lng")));
        //var marker = new GMarker(point, markerOptions);
        //var htmlText = "<b>testing</b><br/>";
        //marker.content = htmlText;
        map.addOverlay(new GMarker(point,markerOptions));
        createMarker(point, map);
        
       /* GEvent.addListener(marker, "click", function(){
            map.openInfoWindowHtml(point, htmlText);
        });*/
        
        //map.addOverlay(marker);
        //map.addOverlay(new GMarker(point,markerOptions));
       
    }
}
function createMarker(point, map) 
{
    var marker = new GMarker(point);
    GEvent.addListener(marker, 'click', function() {
        var myHtml = "<b># testing </b><br/>";
        map.openInfoWindow(marker.getLatLng(), myHtml, {pixelOffset:offset});  
        
        var iwAnchor = marker.getIcon().infoWindowAnchor;
        var iconAnchor = marker.getIcon().iconAnchor;
        var offset = new GSize(iwAnchor.x-iconAnchor.x,iwAnchor.y-iconAnchor.y);
        
        //map.openInfoWindow(point, myHtml);
        // alert("You clicked the map.");
    });
  return marker;
}


function MapBranchLocaions(XMLFile, map, Id)
{
    var NNIcon = new GIcon(G_DEFAULT_ICON);
    NNIcon.image = "/_images/mapicons/FMB_MapIcon.png";
    NNIcon.iconSize = new GSize(15,15);
    NNIcon.iconAnchor = new GPoint(1,1);
    NNIcon.shadowSize = new GSize(0,0);
    
    var locations = XMLFile.documentElement.getElementsByTagName("branch");
    for (var i = 0; i < locations.length; i++) 
    {   
        if (locations[i].getAtrribute("number") == Id && Id != 0)
        {
            var markerOptions = { icon:NNIcon };
            var txtInfo = parseFloat(locations[i].getAttribute("name")) & "   " & parseFloat(locations[i].getAttribute("address"));
            var pointInfo = {text: txtInfo};
            var point = new GLatLng(parseFloat(locations[i].getAttribute("lat")), parseFloat(locations[i].getAttribute("lng")));
            map.addOverlay(new GMarker(point, markerOptions));
        }
        else 
        {   
            var markerOptions = { icon:NNIcon };
            var txtInfo = parseFloat(locations[i].getAttribute("name")) & "   " & parseFloat(locations[i].getAttribute("address"));
            var pointInfo = {text: txtInfo};
            var point = new GLatLng(parseFloat(locations[i].getAttribute("lat")), parseFloat(locations[i].getAttribute("lng")));
            map.addOverlay(new GMarker(point, markerOptions));
        }   
    }
}

/*GEvent.addListener(map,"click", function(overlay, 37.534194,-77.433291) 
{
    if (overlay) {
    // ignore if we click on the info window
    return;
    }
    var tileCoordinate = new GPoint();
    var tilePoint = new GPoint();
    var currentProjection = G_NORMAL_MAP.getProjection();
    
    tilePoint = currentProjection.fromLatLngToPixel(37.534194,-77.433291, map.getZoom());
    tileCoordinate.x = Math.floor(tilePoint.x / 256);
    tileCoordinate.y = Math.floor(tilePoint.y / 256);
    
    var myHtml = "Latitude: " + latlng.lat() + "<br/>Longitude: " + latlng.lng() + 
    "<br/>The Tile Coordinate is:<br/> x: " + tileCoordinate.x + 
    "<br/> y: " + tileCoordinate.y + "<br/> at zoom level " + map.getZoom();	
    map.openInfoWindow(latlng, myHtml);
});*/
