﻿  var map;
    var mgr;
    var icons = {};
    var allmarkers = [];
    
   var gLocalSearch; 
   

 function load() {
      if (GBrowserIsCompatible()) {
      
      // start set size
      
       if(document.documentElement.clientWidth >= 1007)
     {
        var w= document.documentElement.clientWidth - document.getElementById('adlist').offsetWidth;
         document.getElementById("dynamicmap").style.width = w + "px";
         w = w-40;    
     }
     else
     {
         w=518;
     }
     
      document.getElementById("MapDiv").style.width = w + 'px';
     document.getElementById("MapDiv").style.height = '569px';
    
      
      // end set size
        
        
   map = new GMap2(document.getElementById("MapDiv"));
            
   var latlngbounds = new GLatLngBounds( );
   for ( var i = 0; i < latlng.length; i++ )
   {
      latlngbounds.extend( latlng[ i ] );
   }
    
    // set max and min zoom
      var mt = map.getMapTypes();
      for (var i=0; i<mt.length; i++) {
        mt[i].getMinimumResolution = function() {return 7;}
        mt[i].getMaximumResolution = function() {return 17;}
      }

      
      //  map.setMapType(G_SATELLITE_MAP);
        map.setCenter( latlngbounds.getCenter( ), map.getBoundsZoomLevel( latlngbounds ) );
        map.addControl(new GLargeMapControl());
       map.enableDoubleClickZoom();
        mgr = new MarkerManager(map, {trackMarkers:true});
       

          function CustomGetTileUrl(a,b) {
       
         return "http://b.tile.cloudmade.com/" + CloudMadeApiKey + "/1/256/" + b + "/" + a.x + "/" + a.y + ".png"
 
      }
      
       function CustomCopyRight(a,b) {
              return {prefix:"© 2009 <a href='http://cloudmade.com' target='_blank'>CloudMade</a> -", copyrightTexts:["Map data <a href='http://creativecommons.org/licenses/by-sa/2.0/' target='_blank'>CCBYSA</a> 2009 <a href='http://openstreetmap.org' target='_blank'>OpenStreetMap.org</a> contributors - <a href='http://cloudmade.com/terms_conditions' target='_blank'>Terms of Use</a>"]};
      }
 
    G_NORMAL_MAP.getTileLayers()[0].getTileUrl= CustomGetTileUrl;
    G_NORMAL_MAP.getTileLayers()[0].getCopyright= CustomCopyRight;
      map.setCenter( latlngbounds.getCenter( ), map.getBoundsZoomLevel( latlngbounds ));
      map.addControl(new GLargeMapControl());
      map.enableDoubleClickZoom();
      mgr = new MarkerManager(map, {trackMarkers:true});
 setupMarkers("places",officeLayer);


      }
  }


  function loadFacebook() {
      if (GBrowserIsCompatible()) {

          // start set size

      
          document.getElementById("MapDiv").style.width = '250px';
          document.getElementById("MapDiv").style.height = '475px';


          // end set size


          map = new GMap2(document.getElementById("MapDiv"));

          var latlngbounds = new GLatLngBounds();
          for (var i = 0; i < latlng.length; i++) {
              latlngbounds.extend(latlng[i]);
          }

          // set max and min zoom
          var mt = map.getMapTypes();
          for (var i = 0; i < mt.length; i++) {
              mt[i].getMinimumResolution = function() { return 7; }
              mt[i].getMaximumResolution = function() { return 17; }
          }


          //  map.setMapType(G_SATELLITE_MAP);
          map.setCenter(latlngbounds.getCenter(), map.getBoundsZoomLevel(latlngbounds));
          map.addControl(new GLargeMapControl());
          map.enableDoubleClickZoom();
          mgr = new MarkerManager(map, { trackMarkers: true });


          function CustomGetTileUrl(a, b) {

              return "http://b.tile.cloudmade.com/" + CloudMadeApiKey + "/1/256/" + b + "/" + a.x + "/" + a.y + ".png"

          }

          function CustomCopyRight(a, b) {
              return { prefix: "© 2009 <a href='http://cloudmade.com' target='_blank'>CloudMade</a> -", copyrightTexts: ["Map data <a href='http://creativecommons.org/licenses/by-sa/2.0/' target='_blank'>CCBYSA</a> 2009 <a href='http://openstreetmap.org' target='_blank'><br>OpenStreetMap.org</a> contributors - <a href='http://cloudmade.com/terms_conditions' target='_blank'>Terms of Use</a>"] };
          }

          G_NORMAL_MAP.getTileLayers()[0].getTileUrl = CustomGetTileUrl;
          G_NORMAL_MAP.getTileLayers()[0].getCopyright = CustomCopyRight;
          map.setCenter(latlngbounds.getCenter(), map.getBoundsZoomLevel(latlngbounds));
          map.addControl(new GLargeMapControl());
          map.enableDoubleClickZoom();
          mgr = new MarkerManager(map, { trackMarkers: true });
          setupMarkers("places", officeLayer);


      }
  }

    function loadRealtor() {
        if (GBrowserIsCompatible()) {

            
            map = new GMap2(document.getElementById("MapDiv"));

            var latlngbounds = new GLatLngBounds();
            for (var i = 0; i < latlng.length; i++) {
                latlngbounds.extend(latlng[i]);
            }

            // set max and min zoom
            var mt = map.getMapTypes();
            for (var i = 0; i < mt.length; i++) {
                mt[i].getMinimumResolution = function() { return 7; }
                mt[i].getMaximumResolution = function() { return 17; }
            }


            //  map.setMapType(G_SATELLITE_MAP);
            map.setCenter(latlngbounds.getCenter(), map.getBoundsZoomLevel(latlngbounds));
            map.addControl(new GLargeMapControl());
            map.enableDoubleClickZoom();
            mgr = new MarkerManager(map, { trackMarkers: true });


            function CustomGetTileUrl(a, b) {

                return "http://b.tile.cloudmade.com/" + CloudMadeApiKey + "/1/256/" + b + "/" + a.x + "/" + a.y + ".png"

            }

            function CustomCopyRight(a, b) {
                return { prefix: "© 2009 <a href='http://cloudmade.com' target='_blank'>CloudMade</a> -", copyrightTexts: ["Map data <a href='http://creativecommons.org/licenses/by-sa/2.0/' target='_blank'>CCBYSA</a> 2009<br> <a href='http://openstreetmap.org' target='_blank'>OpenStreetMap.org</a> contributors - <a href='http://cloudmade.com/terms_conditions' target='_blank'>Terms of Use</a>"] };
            }

            G_NORMAL_MAP.getTileLayers()[0].getTileUrl = CustomGetTileUrl;
            G_NORMAL_MAP.getTileLayers()[0].getCopyright = CustomCopyRight;
            map.setCenter(latlngbounds.getCenter(), map.getBoundsZoomLevel(latlngbounds));
            map.addControl(new GLargeMapControl());
            map.enableDoubleClickZoom();
            mgr = new MarkerManager(map, { trackMarkers: true });
            setupMarkers("places", officeLayer);


        }
    } 
    
    function onLocalSearch() { 
 
	} 
    
        function getIcon(images) {
      var icon = null;
      if (images) {
        if (icons[images[0]]) {
          icon = icons[images[0]];
        } else {
          icon = new GIcon();
          icon.image = "/images/map/marker/" 
              + images[0] + ".png";
          var size = iconData[images[0]];
          icon.iconSize = new GSize(size.width, size.height);
          icon.iconAnchor = new GPoint(size.width >> 1, size.height >> 1);
          icon.infoWindowAnchor  = new GPoint(size.width >> 1, size.height >> 1);
          icon.shadow = "/images/map/marker/" 
              + images[1] + ".png";
          size = iconData[images[1]];
          icon.shadowSize = new GSize(size.width, size.height);
          icons[images[0]] = icon;
        }
      }
      return icon;
    }
    
     
      function getAdIcon(IconColor) {
    
      var icon = new GIcon();
    icon.image =  "/images/map/marker/" + IconColor + "_Empty.png";
    icon.shadow = "/images/map/marker/sign_shadow.png";
    icon.iconSize = new GSize(28.0, 28.0);
    icon.shadowSize = new GSize(43.0, 28.0);
    icon.iconAnchor = new GPoint(14.0, 14.0);
    icon.infoWindowAnchor = new GPoint(14.0, 14.0);


    return icon;
    }
    
    function getAdIconOld(iconName) {
    
      var icon = new GIcon();
    icon.image =  "/images/map/" + iconName + ".gif";
    icon.shadow = "/images/map/shadow-point.png";
    icon.iconSize = new GSize(19.0, 19.0);
    icon.shadowSize = new GSize(29.0, 19.0);
    icon.iconAnchor = new GPoint(9.0, 9.0);
    icon.infoWindowAnchor = new GPoint(9.0, 9.0);

    return icon;
    }
    /*
     function setupMarkers(layerTitle,layerObj) {
  
      allmarkers.length = 0;
      for (var i in layerObj) {
      if (layerObj.propertyIsEnumerable(i))  // Fix for the prototype.js problem
      {
            var layer = layerObj[i];
            var markers = [];
            for (var j in layer[layerTitle])
            {
                if (layer[layerTitle].propertyIsEnumerable(j)) // Fix for the prototype.js problem
                {
                  var place = layer[layerTitle][j];
                  var icon = getAdIcon(place["icon"]);
                  var title = place["name"];
                  var posn = new GLatLng(place["posn"][0], place["posn"][1]);
                  var marker = createMarker(posn,title,icon); 
                  markers.push(marker);
                  allmarkers.push(marker);
                 }
            }
            mgr.addMarkers(markers, layer["zoom"][0], layer["zoom"][1]);
        }
      }
      mgr.refresh();
    }


     function setupMarkersWithoutMgr(layerTitle,layerObj) 
     {
          for (var i in layerObj) {
          if (mapLayer.propertyIsEnumerable(i))  // Fix for the prototype.js problem
          {
                var layer = layerObj[i];
                var markers = [];
                for (var j in layer[layerTitle])
                {
                    if (layer[layerTitle].propertyIsEnumerable(j)) // Fix for the prototype.js problem
                    {
                      var place = layer[layerTitle][j];
                      var icon = getAdIcon(place["icon"]);
                      var title = place["name"];
                      var posn = new GLatLng(place["posn"][0], place["posn"][1]);
                   var marker = createMarker(posn,title,icon); 
                    map.addOverlay(marker);
                 }
                }
           
            }
          }
     }
   
 */
    function setupMarkers(layerTitle,layerObj) {
      allmarkers.length = 0;
      for (var i in layerObj) {
      if (layerObj.propertyIsEnumerable(i))  // Fix for the prototype.js problem
      {
            var layer = officeLayer[i];
            var markers = [];
            for (var j in layer[layerTitle])
            {
                if (layer[layerTitle].propertyIsEnumerable(j)) // Fix for the prototype.js problem
                {
                  var place = layer[layerTitle][j];
                  var icon = getIcon(place["icon"]);
                  var title = place["name"];
                  var label = place["label"];
                  var posn = new GLatLng(place["posn"][0], place["posn"][1]);
                  var marker = createMarker(posn,title,icon,place["IsClick"],label,"<iframe src='/ToolTipTour.aspx?tourID=" + place["Params"][0] + "&tourGuid=" + place["Params"][1] +"' width='310' height='245' border='0'></iframe>"); 
                  markers.push(marker);
                  allmarkers.push(marker);
                 }
            }
            mgr.addMarkers(markers, layer["zoom"][0], layer["zoom"][1]);
        }
      }
      mgr.refresh();
    }
  
    function createMarker(posn, title, icon,isClick,label,tipHtml) {
    
    var GSize_X;
    
    if(label == null)
        label = "";
    if(label.length > 2)
    {
    opts = { 
          "icon": icon,
          "clickable": false,
          "title": title,
          "labelText": "<span class='LabeledMarker_markerLabelNeighborhoodText'>" + label + "</span>",
          "labelClass": "LabeledMarker_markerLabelNeighborhood"
        };
    }
    else
    {
        if(label.length == 1)
            GSize_X = -4;
         else
             GSize_X = -7;
        opts = { 
              "icon": icon,
              "clickable": true,
              "title": title,
              "labelText": label,
              "labelOffset": new GSize(GSize_X, -10),
              "labelClass": "LabeledMarker_markerLabel"
            };
     }
        var marker = new LabeledMarker(posn, opts);
  
       if(isClick != "False")
       {
       GEvent.addListener(marker, "click", function() {
         
            marker.openInfoWindowHtml(tipHtml);
          });
        }
      return marker;
  }

  function createMarkerFacebook(posn, title, icon, isClick, label, tipHtml) {

      var GSize_X;

      if (label == null)
          label = "";
      if (label.length > 2) {
          opts = {
              "icon": icon,
              "clickable": false,
              "title": title,
              "labelText": "<span class='LabeledMarker_markerLabelNeighborhoodText'>" + label + "</span>",
              "labelClass": "LabeledMarker_markerLabelNeighborhood"
          };
      }
      else {
          if (label.length == 1)
              GSize_X = -4;
          else
              GSize_X = -7;
          opts = {
              "icon": icon,
              "clickable": true,
              "title": title,
              "labelText": label,
              "labelOffset": new GSize(GSize_X, -10),
              "labelClass": "LabeledMarker_markerLabelFacebook"
          };
      }
      var marker = new LabeledMarker(posn, opts);

      if (isClick != "False") {
          GEvent.addListener(marker, "click", function() {

              marker.openInfoWindowHtml(tipHtml);
          });
      }
      return marker;
  }
    

    function deleteMarker() {
      var markerNum = parseInt(document.getElementById("markerNum").value);
      mgr.removeMarker(allmarkers[markerNum]);
    }
   
    function clearMarkers() {
      mgr.clearMarkers();
    }
   
    function reloadMarkers() {
      setupOfficeMarkers();
    }
   

    
    function Map_Maximize()
{
    document.getElementById('divLeftPane').style.display='none';
    document.getElementById('divMapHeaderBorder').style.width='902px';
    document.getElementById('divMapHeader').style.width='902px';
    document.getElementById('divMapBodyBorder').style.width='900px';
    document.getElementById("spanMapLarge").style.display = "none";
    document.getElementById("spanMapLargeSmall").style.display = "inline";
         
 }
 
 function CenterMap(cordX,cordY)
 {
    map.setCenter(new GLatLng(cordY, cordX), 16);

}

function CenterMapWithZoom(cordX, cordY,zoom) {
    map.setCenter(new GLatLng(cordY, cordX), zoom);

}



