﻿var map = document.getElementById('map'); ;
var geoXml;
var singleItemmView = false;
var mapDiv;
var coordinates;

function initialize() {

    if (!GBrowserIsCompatible()) {
        mapDiv.innerHTML = 'Sorry your browser inn\'t compatible with Google Maps.';
    }
    else {

        mapDiv = document.getElementById('map');
        map = new GMap2(mapDiv);
        map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
        map.addControl(new GOverviewMapControl());
        map.addControl(new GScaleControl());
        coordinates = new GLatLng(51.463, -.018);
          map.setCenter(coordinates, 6);
          geoXml = new GGeoXml('http://api.mediaklik.com/reports/georss?age=3', xmlLoaded);
//     geoXml = new GGeoXml('http://www.maplondon.org/imagegeorss.aspx', xmlLoaded);
          map.addOverlay(geoXml);
    }
 




}




function loadMap() {
    
    if (!GBrowserIsCompatible()) {
        mapDiv.innerHTML = 'Sorry your browser inn\'t compatible with Google Maps.';
    }
    else {
        initialize();

        coordinates = new GLatLng(51.463, -.018);

map.setCenter(coordinates, 6);

//  

        
    }
};


function loadBlankMap() {

    if (!GBrowserIsCompatible()) {
        mapDiv.innerHTML = 'Sorry your browser inn\'t compatible with Google Maps.';
    }
    else {


        mapDiv = document.getElementById('map');
        map = new GMap2(mapDiv);
        map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
        map.addControl(new GOverviewMapControl());
        map.addControl(new GScaleControl());
        coordinates = new GLatLng(51.463, -.018);
        map.setCenter(coordinates, 6);
        loadMap();

        //  


    }
};


function ReLoadMap() {
 mapDiv = document.getElementById('map');

//    if (!GBrowserIsCompatible()) {
//        mapDiv.innerHTML = 'Sorry your browser inn\'t compatible with Google Maps.';
//    }
//    else {
 map = new GMap2(mapDiv);

        coordinates = new GLatLng(51.463, -.018);
        map.setCenter(coordinates, 6);

        map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
        map.addControl(new GOverviewMapControl());
        map.addControl(new GScaleControl());


        geoXml = new GGeoXml('http://api.mediaklik.com/reports/georss', xmlLoaded);
        map.addOverlay(geoXml);
   // }
};



function xmlLoaded() {

    geoXml.gotoDefaultViewport(map);
};

function getLondonRecords(id) {
    TransectService.GetLondon(id, onGottheItems);
}

function getRecord(id) {
    TransectService.GetTransectItems(id, onGotRecord);
}

function getDetailRecord(id) {
    TransectService.GetTransectItems(id, onGotDetailRecord);
}

function onGotRecord(result) {


    //var map = new GMap2(document.getElementById("map"));
    mapDiv = document.getElementById('map');
    var Lat = result[0].Latitude;
    var Lon = result[0].Longitude;
   coordinates = new GLatLng(Lat, Lon);
    var address = '<font size="2" face="Arial"><b>INDIA</b><br/><br/>XYZ Inc.<br/>New York City"  + result[0].Longitude + " <br/>America<br/>Ph.: 343254543</font>';
    var text = "<H3>" + result[0].FormattedAddress + "</H3><BR>" + result[0].Notes + "<BR>" + result[0].TransectItemDateTime.format("ddd dd MMM yyyy") + "<BR>";
    map = new GMap2(mapDiv);

    var image = "<IMG HEIGHT=" + "150" + "WIDTH=" + "75" + " img  src=http://www.maplondon.org/" + "ViewLCSImage.ashx?id=" + result[0].TransectItemId + " />"


    map.addControl(new GSmallMapControl());
    map.addControl(new GMapTypeControl());
    map.setCenter(coordinates, 11);
    map.enableDoubleClickZoom();
    map.enableScrollWheelZoom();


    // Our info window content
    var infoTabs = [new GInfoWindowTab("Photo", image), new GInfoWindowTab("Details", text)];


    var marker = new GMarker(coordinates);

GEvent.addListener(marker, "click", function() { marker.openInfoWindowTabsHtml(infoTabs); });

    


  map.addOverlay(marker);

   
marker.openInfoWindowTabsHtml(infoTabs);


};

function onGotDetailRecord(result) {


    //var map = new GMap2(document.getElementById("map"));
    mapDiv = document.getElementById('map');
    var Lat = result[0].Latitude;
    var Lon = result[0].Longitude;
    coordinates = new GLatLng(Lat, Lon);



    var text = result[0].FormattedAddress + "<H3><BR>" + result[0].Notes + "</H3><BR>" + result[0].TransectItemDateTime.format("ddd dd MMM yyyy");
   
    
    map = new GMap2(mapDiv);

    var image = "<IMG HEIGHT=" + "250" + " img  src=http://www.maplondon.org/" + "ViewLCSImage.ashx?id=" + result[0].TransectItemId + " />"
    var image1 = "<IMG HEIGHT=" + "250" + "WIDTH=" + "75" + " img  src=http://www.maplondon.org/" + "ViewLCSImage.ashx?id=" + result[0].TransectItemId + " />"
   

  



   if (result.length > 1) {

       var image2 = "<IMG HEIGHT=" + "250" + " img  src=http://www.maplondon.org/" + "ViewLCSImage.ashx?id=" + result[1].TransectItemId + " />";
      
        var add = "<H3><BR>" + result[1].FormattedAddress + "</H3"; 
  var text2 = "<H3>" + result[1].Notes + "<BR>" + result[1].TransectItemDateTime.format("ddd dd MMM yyyy") + "<BR>";

  var infoTabs = [new GInfoWindowTab("First Photo", image1 + add), new GInfoWindowTab("Next Photo", image2 + "<br/> " + text2), new GInfoWindowTab("Details", " <H3>" + text + "<br/> Follow-up info: " + text2 + "</H3>") ];

    }

    else {
  var image3 = "<IMG HEIGHT=" + "250" + " img  src=http://www.maplondon.org/" + "ViewLCSImage.ashx?id=" + result[0].TransectItemId + " />";
  var infoTabs = [ new GInfoWindowTab(" Photo", image),new GInfoWindowTab("Details", text + "<BR>" + image3)];

    }
   
   
   
    map.addControl(new GSmallMapControl());
    map.addControl(new GMapTypeControl());
    map.setCenter(coordinates,16);
    map.enableDoubleClickZoom();
    map.enableScrollWheelZoom();


    // Our info window content
   


    var marker = new GMarker(coordinates);

    GEvent.addListener(marker, "click", function() { marker.openInfoWindowTabsHtml(infoTabs); });




    map.addOverlay(marker);


    marker.openInfoWindowTabsHtml(infoTabs);


};

function entranceClick() {

    //entranceMarker.showMapBlowup({ mapType: G_SATELLITE_MAP, zoomLevel: 18 });
   entranceMarker.openInfoWindowTabsHtml(infoTabs);


}


function GetSelectedItem() {

    chosen = ""

    len = document.getElementById('ctl00_LoggedInTemplate_r1').length

    for (i = 0; i < len; i++) {
        if (document.Form1.LoggedInTemplate.r1[i].checked) {
            chosen = document.Form1.r1[i].value
        }
    }

    if (chosen == "") {
        alert("No Location Chosen")
    }
    else {
        alert(chosen)
    }
}






function findMap() {
showLoadingAnimation();
    var selection = document.getElementById('radioMap');

    if (selection.name.value == "council") {

        myCouncilItems()
    }

    if (selection.name.value == "ward") {

        myWardItems()
    }


}




function myApiItems() {
    //showLoadingAnimation();
    //need to check the user has a la set first..
    TransectService.GetApiItems(onGotAPIItems);
} 

function myCouncilItems() {
   
    TransectService.GetUserAuthorityTransects(onGottheItems);
}

function myTrees() {
    showLoadingAnimation();
    TransectService.GetTrees(onGottheTrees);
}
function myGreenwichItems() {
    showLoadingAnimation();
    //need to check the user has a la set first..
    TransectService.GetGreenwichTransects(onGottheItems);
}

function myUSAItems() {
    showLoadingAnimation();
    //need to check the user has a la set first..
    TransectService.GetUSATransects(onGottheUSAItems);
}

function myJAMItems() {
    showLoadingAnimation();
    //need to check the user has a la set first..
    TransectService.GetJAMTransects(onGottheJAMItems);
}

function myUKItems() {
    showLoadingAnimation();
    //need to check the user has a la set first..
    TransectService.GetUKTransects(onGottheUKItems);
}

function myCroftonItemsJan() {
    showLoadingAnimation();
    //need to check the user has a la set first..
    TransectService.GetCroftonByDate(1, onGotCrofton);
}
function myCroftonItemsFeb() {
    showLoadingAnimation();
    //need to check the user has a la set first..
    TransectService.GetCroftonByDate(2, onGotCrofton);
}
function myCroftonItemsMar() {
    showLoadingAnimation();
    //need to check the user has a la set first..
    TransectService.GetCroftonByDate(3, onGotCrofton);
}
function myCroftonItemsApr() {
    showLoadingAnimation();
    //need to check the user has a la set first..
    TransectService.GetCroftonByDate(4, onGotCrofton);
}
function myCroftonItemsMay() {
    showLoadingAnimation();
    //need to check the user has a la set first..
    TransectService.GetCroftonByDate(5, onGotCrofton);
}
function myCroftonItemsJun() {
    showLoadingAnimation();
    //need to check the user has a la set first..
    TransectService.GetCroftonByDate(6, onGotCrofton);
}
function myCroftonItemsJul() {
    showLoadingAnimation();
    //need to check the user has a la set first..
    TransectService.GetCroftonByDate(7, onGotCrofton);
}
function myCroftonItemsAug() {
    showLoadingAnimation();
    //need to check the user has a la set first..
    TransectService.GetCroftonByDate(8, onGotCrofton);
}
function myCroftonItemsSep() {
    showLoadingAnimation();
    //need to check the user has a la set first..
    TransectService.GetCroftonByDate(9, onGotCrofton);
}
function myCroftonItemsOct() {
    showLoadingAnimation();
    //need to check the user has a la set first..
    TransectService.GetCroftonByDate(10, onGotCrofton);
    }
    
    function myCroftonItemsNov() {
        showLoadingAnimation();
        //need to check the user has a la set first..
        TransectService.GetCroftonByDate(11, onGotCrofton);
    }
    function myCroftonItemsDec() {
        showLoadingAnimation();
        //need to check the user has a la set first..
        TransectService.GetCroftonByDate(12, onGotCrofton);
    }
function myItems() {
    showLoadingAnimation();
    TransectService.GetUserTransects(onGottheItems);
}



function showAllItems() {
    showLoadingAnimation();
    TransectService.GetTransects(onGottheItems);
}


function myWardItems() {
    showLoadingAnimation();
    TransectService.GetWardTransects(onGottheItems);
}

function onGotCrofton(results) {

    map = new GMap2(document.getElementById('map2'));
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    map.addControl(new GOverviewMapControl());
    map.addControl(new GScaleControl());
    coordinates = new GLatLng(51.463, -.018);
    map.setCenter(coordinates, 18);




    //map.clearOverlays();
    for (var i = 0; i < results.length; i++) {

        var latitude = results[i].JobLatitude;
        var longitude = results[i].JobLongitude;
        var startLat = results[0].JobLatitude;
        var startLong = results[0].JobLongitude;

        var notes = results[i].Description + "<BR>" + results[i].JobCategoryName + "<BR>" + results[i].Ward + "<BR>" + results[i].ProcessStageName + "<BR>" + results[i].JobDate.format("dd MMMM yyyy, hh:mm tt") + ",";
        var coordinates = new GLatLng(latitude, longitude);
        var centreCord = new GLatLng(startLat, startLong);
        var image = "<IMG HEIGHT=" + "150" + "WIDTH=" + "75" + " img  src=http://www.lovelewisham.org/Public/ViewImage.aspx?id=" + results[i].JobId + " />"
     // var marker = new GMarker(coordinates, notes);
      var marker = createMarker(coordinates, notes);
       map.setCenter(centreCord, 15);
        map.addOverlay(marker);
        //gotoDefaultViewport(map);

    }
    map.enableScrollWheelZoom();
    map.enableDoubleClickZoom();
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    map.addControl(new GOverviewMapControl());
    map.addControl(new GScaleControl());



    function createMarker(coordinates, notes) {
        var marker = new GMarker(coordinates);
        var infoTabs = [new GInfoWindowTab("Details", notes) , new GInfoWindowTab("Photo", image)];
        GEvent.addListener(marker, "click", function() { marker.openInfoWindowTabsHtml(infoTabs); });
        return marker;

    }
}


function onGottheItems(results) {

    map = new GMap2(document.getElementById('map'));
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    map.addControl(new GOverviewMapControl());
    map.addControl(new GScaleControl());

    for (var i = 0; i < results.length; i++) {
        var latitude = results[i].Latitude;
        var longitude = results[i].Longitude;
        var startLat = results[0].Latitude;
        var startLong = results[0].Longitude;
        var notes = results[i].Notes + results[i].ReportItemDateTime.format("dd MMMM yyyy, hh:mm tt") + ",";
        var coordinates = new GLatLng(latitude, longitude);
        var centreCord = new GLatLng(startLat, startLong);
        var image = "<IMG HEIGHT=" + "150" + "WIDTH=" + "75" + " img  src=http://www.maplondon.org/" + "ViewLCSImage.ashx?id=" + results[i].ReportItemId + " />"
        var marker = createMarker(coordinates, notes);
        map.setCenter(centreCord, 10);
        map.addOverlay(marker);
        //gotoDefaultViewport(map);

    }
    map.enableScrollWheelZoom();
    map.enableDoubleClickZoom();
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    map.addControl(new GOverviewMapControl());
    map.addControl(new GScaleControl());

    function createMarker(coordinates, notes) {
        var marker = new GMarker(coordinates);
        var infoTabs = [new GInfoWindowTab("Photo", image), new GInfoWindowTab("Details", notes)];
        GEvent.addListener(marker, "click", function() { marker.openInfoWindowTabsHtml(infoTabs); });
        return marker;

    }

}


function onGottheUSAItems(results) {

    map = new GMap2(document.getElementById('map'));
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    map.addControl(new GOverviewMapControl());
    map.addControl(new GScaleControl());

    for (var i = 0; i < results.length; i++) {
        var latitude = results[i].Latitude;
        var longitude = results[i].Longitude;
        var startLat = results[0].Latitude;
        var startLong = results[0].Longitude;
        var notes = results[i].Notes + results[i].ReportItemDateTime.format("dd MMMM yyyy, hh:mm tt") + ",";
        var coordinates = new GLatLng(latitude, longitude);
        var centreCord = new GLatLng(39.027719, -99.931641);
        var image = "<IMG HEIGHT=" + "150" + "WIDTH=" + "75" + " img  src=http://www.maplondon.org/" + "ViewLCSImage.ashx?id=" + results[i].ReportItemId + " />"
        var marker = createMarker(coordinates, notes);
        map.setCenter(centreCord, 4);
        map.addOverlay(marker);
        //gotoDefaultViewport(map);

    }
    map.enableScrollWheelZoom();
    map.enableDoubleClickZoom();
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    map.addControl(new GOverviewMapControl());
    map.addControl(new GScaleControl());

    function createMarker(coordinates, notes) {
        var marker = new GMarker(coordinates);
        var infoTabs = [new GInfoWindowTab("Photo", image), new GInfoWindowTab("Details", notes)];
        GEvent.addListener(marker, "click", function () { marker.openInfoWindowTabsHtml(infoTabs); });
        return marker;

    }

}

function onGottheUKItems(results) {

    map = new GMap2(document.getElementById('map'));
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    map.addControl(new GOverviewMapControl());
    map.addControl(new GScaleControl());

    for (var i = 0; i < results.length; i++) {
        var latitude = results[i].Latitude;
        var longitude = results[i].Longitude;
        var startLat = results[0].Latitude;
        var startLong = results[0].Longitude;
        var notes = results[i].Notes + results[i].ReportItemDateTime.format("dd MMMM yyyy, hh:mm tt") + ",";
        var coordinates = new GLatLng(latitude, longitude);
        var centreCord = new GLatLng(52.295042, -1.318359);
        var image = "<IMG HEIGHT=" + "150" + "WIDTH=" + "75" + " img  src=http://www.maplondon.org/" + "ViewLCSImage.ashx?id=" + results[i].ReportItemId + " />"
        var marker = createMarker(coordinates, notes);
        map.setCenter(centreCord, 9, G_SATELLITE_MAP);
        map.addOverlay(marker);
        //gotoDefaultViewport(map);

    }
    map.enableScrollWheelZoom();
    map.enableDoubleClickZoom();
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    map.addControl(new GOverviewMapControl());
    map.addControl(new GScaleControl());

    function createMarker(coordinates, notes) {
        var marker = new GMarker(coordinates);
        var infoTabs = [new GInfoWindowTab("Photo", image), new GInfoWindowTab("Details", notes)];
        GEvent.addListener(marker, "click", function () { marker.openInfoWindowTabsHtml(infoTabs); });
        return marker;

    }

}

function onGottheJAMItems(results) {

    map = new GMap2(document.getElementById('map'));
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    map.addControl(new GOverviewMapControl());
    map.addControl(new GScaleControl());

    for (var i = 0; i < results.length; i++) {
        var latitude = results[i].Latitude;
        var longitude = results[i].Longitude;
        var startLat = results[0].Latitude;
        var startLong = results[0].Longitude;
        var notes = results[i].Notes + results[i].ReportItemDateTime.format("dd MMMM yyyy, hh:mm tt") + ",";
        var coordinates = new GLatLng(latitude, longitude);
        var centreCord = new GLatLng(18.151072, -77.341003);
        var image = "<IMG HEIGHT=" + "150" + "WIDTH=" + "75" + " img  src=http://www.maplondon.org/" + "ViewLCSImage.ashx?id=" + results[i].ReportItemId + " />"
        var marker = createMarker(coordinates, notes);
        map.setCenter(centreCord, 9, G_SATELLITE_MAP);
        map.addOverlay(marker);
        //gotoDefaultViewport(map);

    }
    map.enableScrollWheelZoom();
    map.enableDoubleClickZoom();
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    map.addControl(new GOverviewMapControl());
    map.addControl(new GScaleControl());

    function createMarker(coordinates, notes) {
        var marker = new GMarker(coordinates);
        var infoTabs = [new GInfoWindowTab("Photo", image), new GInfoWindowTab("Details", notes)];
        GEvent.addListener(marker, "click", function () { marker.openInfoWindowTabsHtml(infoTabs); });
        return marker;

    }

}


function onGottheTrees(results) {

    map = new GMap2(document.getElementById('map'));
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    map.addControl(new GOverviewMapControl());
    map.addControl(new GScaleControl());

    for (var i = 0; i < results.length; i++) {
        var latitude = results[i].Latitude;
        var longitude = results[i].Longitude;
        var VegID = results[i].VegID;
        var notes = results[i].Species + "<BR>" + results[i].VegID + ",";
        var coordinates = new GLatLng(latitude, longitude);

        var marker = createMarker(coordinates, notes);
        map.setCenter(coordinates, 16);
        map.addOverlay(marker);
      

    }
    map.enableScrollWheelZoom();
    map.enableDoubleClickZoom();
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    map.addControl(new GOverviewMapControl());
    map.addControl(new GScaleControl());

    function createMarker(coordinates, notes) {
        var marker = new GMarker(coordinates,16);
        var infoTabs = [new GInfoWindowTab("Tree", notes)];
        GEvent.addListener(marker, "click", function() { marker.openInfoWindowTabsHtml(infoTabs); });
        return marker;

    }

}







function onGotAPIItems(results) {

    map = new GMap2(document.getElementById('apimap'));
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    map.addControl(new GOverviewMapControl());
    map.addControl(new GScaleControl());

    for (var i = 0; i < results.length; i++) {
       
        var latitude = results[i].Latitude;
        var longitude = results[i].Longitude;
        var startLat = results[0].Latitude;
        var startLong = results[0].Longitude;
        var notes = results[i].DateTimeRecorded.format("dd MMMM yyyy, hh:mm tt") + ",";
        var coordinates = new GLatLng(latitude, longitude);
        var centreCord = new GLatLng(startLat, startLong);
        var image = " <img  src=" + results[i].ImageUrl + '?w=200' + " />"
      
        var marker = createMarker(coordinates, notes);
     
        map.setCenter(centreCord, 6);
        map.addOverlay(marker);
  

    }
    map.enableScrollWheelZoom();
    map.enableDoubleClickZoom();
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    map.addControl(new GOverviewMapControl());
    map.addControl(new GScaleControl());


    function createMarker(coordinates, notes) {
        var marker = new GMarker(coordinates);
        var infoTabs = [new GInfoWindowTab("Photo", image), new GInfoWindowTab("Details", notes)];
        GEvent.addListener(marker, "click", function() { marker.openInfoWindowTabsHtml(infoTabs); });
        return marker;

    }
    
    }


    
    

 
