﻿var map = null;				// the Google map GMap object
var mapDiv = null;			// the map container
var lat;
var lng;
var zoom;
var gmarkers = [];


function Event(lt, lg, name, summary, description, url, start_date, end_date, days, fb_link){ 
	this.lat = lt; 
	this.lng = lg; 
	this.name = name; 
	this.summary = summary; 	
	this.description = description; 
	this.url = url; 

	this.start_date = start_date; 
	this.end_date = end_date; 
	this.days = days; 
	
	this.fb_link = fb_link; 
} 

function initMap(container) { 
    
    if (GBrowserIsCompatible()) {
            
        map = new GMap2(container);                 
        map.setCenter(new GLatLng(lat, lng), 8);
        
        var point = new GLatLng(lat, lng);
        map.addOverlay(new GMarker(point));
                
        map.addControl(new GLargeMapControl()); // GLargeMapControl | GSmallMapControl
	    map.setMapType(G_NORMAL_MAP | G_SATELLITE_MAP | G_HYBRID_MAP); // G_NORMAL_MAP | G_SATELLITE_MAP | G_HYBRID_MAP
      }    
}

function initPage(_lat, _lng) {		
    
	if (!GBrowserIsCompatible()) {
		mapDiv.innerHTML = '<img src="images/bd-map.jpg">';
	} else {	    
	    lat = _lat;
	    lng = _lng
	    
	    mapDiv = document.getElementById("mapDiv");
		initMap(mapDiv);
	}
}

// For the finale events
function initFinaleMap(_lat, _lng, name) {		
    
	if (!GBrowserIsCompatible()) {
		mapDiv.innerHTML = '<img src="images/bd-map.jpg">';
	} else {	    
	    lat = _lat;
	    lng = _lng
	    
	    mapDiv = document.getElementById(name);
		showMap(mapDiv);
	}
}


function showMap(container) { 
    
    if (GBrowserIsCompatible()) {
            
        // var point = new GLatLng(lat, lng);
        // map.addOverlay(new GMarker(point));
		// private string _lat = "56.049741808516";
		// private string _lng = "-3.850341796875";		
		
		var thisLat = lat;
		var thisLng = lng; 
		zoom = 8;
		
		// mapDiv
		// mapDivNorth
		// mapDivSouth
		
		if(container.id == 'mapDivNorth'){
			zoom = 7;
			thisLat = lat + 1.8;
			thisLng = lng - 0.2;
		}
		else if(container.id == 'mapDivSouth'){	
			zoom = 7;
			//thisLng = lng + 1;
			thisLat = lat - 0.17;
			thisLng = lng - 0.6;
		}
		
        map = new GMap2(container);                 
        map.setCenter(new GLatLng(thisLat, thisLng), zoom);
        

        function createMarker(event) {

		  var latlng = new GLatLng(event.lat, event.lng);
          // Set up our GMarkerOptions object
          var marker = new GMarker(latlng);

		  var opts = new Object();
	      opts.pixelOffset = new GSize(5,5);
	      opts.maxWidth = 300;
		  
		  marker.days = event.days;		  

          GEvent.addListener(marker, "click", function() {
		  	var myHtml = "<p style='border-bottom: 1px solid #C0C0C0;font-weight: bold;'>" + event.name + "</p>" + 
			"<p>" + event.summary + "</p>" +
			"<p>" + event.start_date + " - " + event.end_date;// + " [" + event.days + "]</p>" +
			"<p><a href='" + event.url + ".aspx'>Event Details</a></p>"; // fix host
            marker.openInfoWindowHtml(myHtml,opts);
          });
		  gmarkers.push(marker);
          return marker;
        }
        
		var events = new Array();
		events = load_data();
		for (var i = 0; i < events.length; i++) {
			map.addOverlay(createMarker(events[i]));
        }
		
        //var point = new GLatLng(thisLat, thisLng);		
        map.addControl(new GLargeMapControl()); // GLargeMapControl | GSmallMapControl
	    map.setMapType(G_NORMAL_MAP | G_SATELLITE_MAP | G_HYBRID_MAP); // G_NORMAL_MAP | G_SATELLITE_MAP | G_HYBRID_MAP
      }    
}




