﻿var Gmap;
var directionsPanel;
var directions;
var lDebugOn = true;
var lMSXML = true;
var gsXML;
var baseIcon1 = new GIcon();
var baseIcon2 = new GIcon();
var baseIcon3 = new GIcon();
var baseIcon1g = new GIcon();
var baseIcon2g = new GIcon();
var baseIcon3g = new GIcon();
var glIconsSetup = false;
var gsRoute = new String

function initializeGmap() {
    if (GBrowserIsCompatible()) {
        Gmap = new GMap2(document.getElementById("map"));
        Gmap.addControl(new GLargeMapControl());
        Gmap.addControl(new GMapTypeControl());
        Gmap.setCenter(new GLatLng(53.36721506940,-1.363154947757721), 13);

        gsRoute = "";

        directionsPanel = document.getElementById("route");
        directions = new GDirections(Gmap, directionsPanel);

        // Creates a marker at the given point with the given number label
        function createMarker(point) {
          var marker = new GMarker(point);
          GEvent.addListener(marker, "click", function() {
            marker.openInfoWindowHtml("Quad Computer Services Ltd.<br>29 Orgreave Drive<br>Sheffield<br>S13 9NR<br><br>Tel: 0114 2013950");
          });
          return marker;
        }

        var point = new GLatLng(53.36721506940,-1.363154947757721);
        Gmap.addOverlay(createMarker(point));
    }
}

function Debug(sMessage) {
    if (lDebugOn) {
        alert("Debug: " + sMessage);    
    }
}

////////////////////////////////////////////////////////////////////////
/// Some testing functions
////////////////////////////////////////////////////////////////////////


function PlotDummyPoints() {
    if (GBrowserIsCompatible()) {
        var point;

        point = Gmap.getCenter();
        Gmap.addOverlay(createMarker(point, "Center of map!", 2));

        point = new GLatLng(46, 4);
        Gmap.addOverlay(createMarker(point, "Ian1", 3));

        point = new GLatLng(45, 7);
        Gmap.addOverlay(createMarker(point, "Ian2", 3));
    }
    
    return false;
}

function PlotFourCorners() {
    if (GBrowserIsCompatible()) {
        var point;
        var oBounds;
        var oPointNW;
        var oPointSW;
        var oPointNE;
        var oPointSE;
        
        oBounds = Gmap.getBounds();
        
        oPointSW = oBounds.getSouthWest() 
        oPointNE = oBounds.getNorthEast() 

        Gmap.addOverlay(createMarker(oPointSW, "SW", 4));
        Gmap.addOverlay(createMarker(oPointNE, "NE", 4));
    }
    
    return false;
}

function PlotDummyPoints2() {
    if (GBrowserIsCompatible()) {
        var point;

        point = new GLatLng(43, 4);
        Gmap.addOverlay(createMarker(point, "Ian1", 1));

        point = new GLatLng(43, 5);
        Gmap.addOverlay(createMarker(point, gsXML, 1));
    }
    
    return false;
}

////////////////////////////////////////////////////////////////////////
/// Route Planning Functions
////////////////////////////////////////////////////////////////////////


function GetDirections(sFrom){

    var localSearch = new GlocalSearch();

    localSearch.setSearchCompleteCallback(null, 
    function() {
        if (localSearch.results[0]) {    
            var resultLat = localSearch.results[0].lat;
            var resultLng = localSearch.results[0].lng;
            //var point = new GLatLng(resultLat,resultLng);
            
            PlotRouteToPoint(resultLat,resultLng);
        }else{
            alert("Location not found!");
        }
    });  

    localSearch.execute(sFrom + ", UK");
}

function PlotRouteToPoint(resultLat,resultLng) {
    gsRoute = resultLat + ", " + resultLng + " to 53.367472,-1.363154947757721";
    
    directions.clear();
    
    
    directions.load(gsRoute);
}



