﻿// JScript File
var map = '';
var bounds;
var zm,zm1;
var message;
var legend;
var loading;
var noRecord;
var count = 0;
var dblClicked = false;
var currentZoom;
var previousZoom = 0;
var clickpoint;
var plotted = false;

function PlotMap() 
{
    try
    {
        var arrLongs = strLongs.split("|");    
        var arrLats = strLats.split("|");                        
        var arrCIds = cId.split("|");
        var arrAddr = address.split("|");
        var arrName = name.split("|");
            
        
        var latBig = "";
        var latSmall = "";
        var longBig = "";
        var longSmall = "";
        var latCenter = "";
        var longCenter = "";
                    
        for(var k = 0; k <= parseInt(arrLongs.length) - 2; k++)
        {
            if(arrLongs[k] > arrLongs[parseInt(k) + 1])
            {   
                if(k == 0)
                    longBig = arrLongs[k];
                if(arrLongs[k] > longBig)
                    longBig = arrLongs[k];
            }
            else
            {
                if(k == 0)
                    longBig = arrLongs[parseInt(k) + 1];
                if(arrLongs[parseInt(k) + 1] > longBig)
                    longBig = arrLongs[parseInt(k) + 1];
            }
        }
        
        for(var k = 0; k <= parseInt(arrLats.length) - 2; k++)
        {
            if(arrLats[k] > arrLats[parseInt(k) + 1])
            {   
                if(k == 0)
                    latBig = arrLats[k];
                if(arrLats[k] > latBig)
                    latBig = arrLats[k];
            }
            else
            {
                if(k == 0)
                    latBig = arrLats[parseInt(k) + 1];
                if(arrLats[parseInt(k) + 1] > latBig)
                    latBig = arrLats[parseInt(k) + 1];
            }
        } 
        
        for(var k = 0; k <= parseInt(arrLongs.length) - 2; k++)
        {
            if(arrLongs[k] < arrLongs[parseInt(k) + 1])
            {   
                if(k == 0)
                    longSmall = arrLongs[k];
                if(arrLongs[k] < longSmall)
                    longSmall = arrLongs[k];
            }
            else
            {
                if(k == 0)
                    longSmall = arrLongs[parseInt(k) + 1];
                if(arrLongs[parseInt(k) + 1] < longSmall)
                    longSmall = arrLongs[parseInt(k) + 1];
            }            
        }
        
        for(var k = 0; k <= parseInt(arrLats.length) - 2; k++)
        {
            if(arrLats[k] < arrLats[parseInt(k) + 1])
            {   
                if(k == 0)
                    latSmall = arrLats[k];
                else
                if(arrLats[k] < latSmall)
                    latSmall = arrLats[k];
            }
            else
            {
                if(k == 0)
                    latSmall = arrLats[parseInt(k) + 1];
                else
                if(arrLats[parseInt(k) + 1] < latSmall)
                    latSmall = arrLats[parseInt(k) + 1];
            }                
        }
        
        
        bounds = new google.maps.LatLngBounds(); 
        bounds.extend(new google.maps.LatLng(latSmall, longSmall)); 
        bounds.extend(new google.maps.LatLng(latBig, longBig));
        
        map = new google.maps.Map2(document.getElementById("map"));
        
        map.addControl(new google.maps.LargeMapControl());
        map.addControl(new google.maps.ScaleControl());
        map.addControl(new google.maps.OverviewMapControl());
        map.addControl(new google.maps.MapTypeControl());
        
        //If getBoundsZoomLevel(bounds) needs to work we need to first set the map center and then it gives us the zoom level
        map.setCenter(bounds.getCenter(), 4, G_NORMAL_MAP);
        
        map.enableContinuousZoom();
        //map.enableScrollWheelZoom();        
        //map.enableDoubleClickZoom();
        //This method returns the appropriate zoom level for that defined rectangular bounds
        zm1 = zm = map.getBoundsZoomLevel(bounds);
        
        map.setZoom(zm);
        
        
            
        map.setCenter(new GLatLng(-36.85463,174.785846),11, G_NORMAL_MAP);
        var cIcon = new google.maps.Icon(); 
        
        for (var i = 0; i < arrLongs.length; i++)
        {    
            cIcon.image = '../Images/akaicon.png';
            cIcon.iconSize = new google.maps.Size(13,18);
            cIcon.iconAnchor = new google.maps.Point(6, 13);
            cIcon.infoWindowAnchor = new google.maps.Point(12,0);
            
            map.addOverlay(createMarker(arrLongs[i],arrLats[i],arrCIds[i],arrAddr[i],arrName[i],cIcon));
            
        }                
             
    }
    catch(e)
    {
        alert('Exception: ' + e.message);
    }
    
}


function createMarker(lon,lat,cId,addr,name,cIcon) 
{
    
    var marker = new google.maps.Marker(new google.maps.LatLng(lat,lon),cIcon);  
    var str = "<table cellspacing='0' cellpadding='3' width='300px' border='0'><tr class='contentHeader'><td>Kindergarten </td><td> : </td><td><b>" + name + "</b></font></td></tr>";
    str = str + "<tr class='contentHeader'><td> Address</td><td> : </td><td><b>" + addr + "</b></font></td></tr>" ;
    str = str + "<tr><td></td><td></td><td class='content'  ><a href='../Templates/KindergartenDetails.aspx?siteId=2&menuItemId=174&contentHeaderId="+cId + "' title='Click here to view details'> View Details</a></td></tr></table>";
    
    google.maps.Event.addListener(marker, "click", function() {
    marker.openInfoWindowHtml(str);
    });
    
    return marker;
}

function load() {
    try
    {
        map = new google.maps.Map2(document.getElementById("map"));
        geocoder = new google.maps.ClientGeocoder();
        map.enableContinuousZoom();
        map.enableDoubleClickZoom();
        map.addControl(new google.maps.LargeMapControl());
        map.addControl(new google.maps.MapTypeControl()); 
            
    var bounds = new google.maps.LatLngBounds(); 
         }
        catch(e)
        {
            alert('5' + e.message);
        }

// bind a search control to the map, suppress result list
          //map.addControl(new google.maps.LocalSearch(), new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(8,30)));
    }

function showPopupLocation() 
{    
    try
    {
        var arrLongs = lon;    
        var arrLats = lat;   
        
        
        map = new google.maps.Map2(document.getElementById("map"));
        
        map.addControl(new google.maps.LargeMapControl());
        map.addControl(new google.maps.ScaleControl());
        map.addControl(new google.maps.OverviewMapControl());
        map.addControl(new google.maps.MapTypeControl());
        
        
        
            
        map.setCenter(new google.maps.LatLng(arrLats,arrLongs),18, G_NORMAL_MAP);
        var cIcon = new google.maps.Icon(); 
        
        cIcon.image = '../Images/akaicon.png';
        cIcon.iconSize = new google.maps.Size(13,18);
        cIcon.iconAnchor = new google.maps.Point(6, 13);
        cIcon.infoWindowAnchor = new google.maps.Point(12,0);
        
        map.addOverlay(createOnlyMarker(arrLongs,arrLats,cIcon));
            
        
    }
    catch(e)
    {
        alert('1' + e.message);
    }
}

function createOnlyMarker(lon,lat,cIcon) 
{
    var marker = new google.maps.Marker(new google.maps.LatLng(lat,lon),cIcon);  
    return marker;
}
