﻿// GLOBALS
var container;
var map;
var defaultLat = "54.27";
var defaultLong = "-4.33";
var defaultZoom = 6;
var minZoom = 4;
var maxZoom = 11;
var setHeatByZoom = true;
var tileLayerOverlay = new GTileLayerOverlay();
var boundaryOverlay;

function pageOnLoad()
{
    SetupMap();
}

function SetupMap()
{
    if (GBrowserIsCompatible()) {
        container = $('map');
        map = new GMap2(container);
        var locCurrent = new GLatLng(defaultLat, defaultLong);
        map.setCenter(locCurrent, defaultZoom);
        
        map.setMapType(G_PHYSICAL_MAP); 
        map.addMapType(G_PHYSICAL_MAP);

        setHeat(defaultZoom);

        //Add the zoom and pan controls
        map.addControl(new GLargeMapControl());
        map.addControl(new GHierarchicalMapTypeControl());
        map.enableScrollWheelZoom();

        GEvent.addListener(map, "zoomend", function(oldLevel, newLevel) {
            if (newLevel > maxZoom) {
                map.setZoom(maxZoom);
                return;
            }
            if (newLevel < minZoom) {
                map.setZoom(minZoom);
                return;
            }
            setHeat(newLevel);
            if ($F('mapSIC') > 0) addOverlay();
        }); 
        
        page_resize();
        map.setCenter(locCurrent, defaultZoom);
    }
}

function addOverlay() {
    var sector = 0;
    if ($('chk1').checked==true) sector = 32;
    if ($('chk2').checked==true) sector = 668;
    if ($('chk3').checked==true) sector = 577;
    if ($('chk4').checked==true) sector = 908;
    var heat = $F('maxHeat');
    var memberType = 2;
    var tileType = 10;

    displayHeat();
    
    map.removeOverlay(tileLayerOverlay);
    tileLayerOverlay = new GTileLayerOverlay(
      new GTileLayer(null, null, null, {
        tileUrlTemplate: 'http://' + document.domain + '/images/heatMapTile.aspx?x={X}&y={Y}&z={Z}&q=32&m=' + memberType + '&t=' + tileType + '&v=' + sector + '&h=' + heat, 
        isPng:false,
        opacity:0.5
      })
    );

    map.addOverlay(tileLayerOverlay); 
}



function setHeat(zoomLevel) {
    if (setHeatByZoom==true) {
        $('maxHeat').options[17 - zoomLevel].selected = true;
    }
    displayHeat();
}

function displayHeat() {
    $('minRange').innerHTML = '0';
    $('midRange').innerHTML = ($F('maxHeat') / 2);
    $('maxRange').innerHTML = $F('maxHeat');
}
 
  
function doTest() {
    $('mapType').value = 0;
    addOverlay();
    return false;
}