﻿/// <reference name="MicrosoftAjax.js"/>
/// <reference path="/svc/LoftLocationSvc.svc" />
/// <reference path="/scripts/GoogleMapLib.svc" />
var clusterLayer;

        function GetMapEx()
        {
            clusterLayer = new GLayer('clusterLayer');
           // map.addOverlay(clusterLayer);
            
            GEvent.addListener(map,"moveend",mapCurrentLocations);
            GEvent.addListener(map,"zoomend",mapCurrentLocations);
        }

        function mapCurrentLocations()
        {
        
//        map.clearOverlays();
//        map.addOverlay(clusterLayer);
        
            $get('divLoading').style.visibility='visible';
            var rgn = GetVisibleRegion();

            var svc = new LoftLocationSvc();
         
         svc.GetLoftsInRange(rgn.MinLat, rgn.MinLong, rgn.MaxLat, rgn.MaxLong, LoftsArrived);

        }
        
        function LoftsArrived(result)
        {
             map.clearOverlays();
            if(result!=null)
            {
                if(result.length<=100){
                    var i;
                    for(i=0;i<result.length;i++)
                    {
                        DrawPin(result[i].lat, result[i].lng,'','/images/map-pointer.png');
                        
                    }
                }
                else{
                    //cluster
                    //DrawClusteredPins(onLayer,objWithLatLongArray,titleColumnName,icon, forMinLat, forMinLong, forMaxLat, forMaxLong);
                    var rgn = GetVisibleRegion();
                    DrawClusteredPins(null, result, 'Name', '/images/map-pointer-cluster.png', rgn.MinLat, rgn.MinLong, rgn.MaxLat, rgn.MaxLong);
                }
            }
            
            $get('divLoading').style.visibility='hidden';
        }
        
        
