﻿// Attractions //

var scMapData = new Array();

var lastBigMarkerId = null;
var lastgMarkerId =null;

function scApplyFilter()
{
    var cid = document.getElementById( DropDownListCategory).value;
    filterCid = cid;
    cluster.removeMarkers();
    map.clearOverlays() ;
    StartAttractions(false);
}

function createAttMarker(point,info)
{
    var uid = info.getAttribute("uid");
    var im1 = info.getAttribute("Marker1");
    var im2 = info.getAttribute("Marker2");
    var url = info.getAttribute("URL");
    var addr = info.getAttribute("Address1");
    var addr2 = info.getAttribute("Address2");
    var bname = info.getAttribute("CompanyName");
    var phone = info.getAttribute("Phone");
    var city = info.getAttribute("City");
    var prov = info.getAttribute("Prov");
    var postal = info.getAttribute("Postal");
    var icon1 = new GIcon();
    var icon2 = new GIcon();
    icon1.image = im1;
    icon1.iconSize = new GSize(91,60);
    icon1.iconAnchor = new GPoint( 40,46 );
    if( im1 == "" ) icon1 = G_DEFAULT_ICON ;
    
    icon2.image = im2;
    icon2.iconSize = new GSize(260,181);
    icon2.iconAnchor = new GPoint( 110,155 );
    if( im2 == "" ) icon2 = G_DEFAULT_ICON ;
    
    
    var markerOpts = {
        "icon": icon1,
        "zIndexProcess": function(mm)
        {
            return 10000;
        }
    };
    var marker = new GMarker(point, markerOpts );
  //  map.addOverlay (gmarker );
    
    
   
    
       
  
    scMapData[uid] = { "info" : info , "marker" : marker};
    
  
    
 GEvent.addListener(marker, "click", function() {
 
       lastpoint = point;
       
       var text = "<a href='"+url+"' target='_blank'><img style='border:none;' width='196' height='116' src='"+im2+"' alt='"+bname+"' /></a>" 
       
       if( im2 == "" ) text = "<div style='text-align:center;color:#000;font-weight:normal;'><b style='color:black;display:block;border-bottom:solid 1px #000;font-size:14px;padding-bottom:3px;'>"+bname+"</b>"+addr+"<br />"+addr2+"<br />"+city+", "+prov+" "+postal+"<br />"+phone+"<br /><a style='color:#000' href='"+url+"' target='_blank'>click here to learn more</a></div>" ;
       
       showInfoBalloon( point,addr , text);
      });
      
      
      
    return marker;    
}

var beforeInit = true;
var cluster ;
var filterCid = 0;
function StartAttractions(movemap)
{


    map.enableContinuousZoom() ;
    var aParams = "?cid="+filterCid;
    if( filterCid == "0") aParams = "";
    
  GDownloadUrl(items_url+aParams, function(data, responseCode) 
            {
                var bounds = new GLatLngBounds();
                
                
                
                var xml = GXml.parse(data);
                var markers = xml.documentElement.getElementsByTagName("item");
                var markersArray=[];
                  for (var i = 0; i < markers.length; i++) 
                                {
                                    var point = new GLatLng(parseFloat(markers[i].getAttribute("Lat")),
                                                 parseFloat(markers[i].getAttribute("Lng")));
                                    if( point.lat() != 0 ) 
                                    {
                                    
                                        bounds.extend(point);
                                        markersArray.push( createAttMarker(point,markers[i]) );
                                    }
                                    

                                  }
                                
                                
                                if((markers.length > 0) && (movemap))
                                {
                                    var zoom = map.getBoundsZoomLevel(bounds);
                                    if( zoom > 12 ) zoom = 12;
                                    map.setZoom(zoom); // set zoom level to fit all
                                    map.setCenter(bounds.getCenter()); // set Center
                                }
                                
                                
                                cluster=new ClusterMarker(map, { markers:markersArray } );                                cluster.refresh(true);                                map.savePosition();
		
                                
                           beforeInit = false;    
                
          });   
}