/* Mapping */

var IE6 = false /*@cc_on || @_jscript_version < 5.7 @*/;
NumMarkers=0; // increments each time a marker is added so we can access it by id
var gmarkers = [];
var idmarkers = [];
var markerkeys = [];
var highlightCircle = [];
var highlightCircle;
var currentMarker;
var MenuIsReady=false;
var SeenSplash=false;
var DraggablesReady=false;
var CampIsLoaded=false;
var ActivateIntro=false;
var overlayInstance = null;

var SitePin = new GIcon();
SitePin.image = "/images/ico_pin_large.png";
//SitePin.shadow = "images/ico_pin_large.png";
SitePin.iconSize = new GSize(26, 39);
//SitePin.shadowSize =new  GSize(61, 47);
SitePin.iconAnchor = new GPoint(26, 37);
SitePin.infoWindowAnchor = new GPoint(26, 0);

var SitePinJoin = new GIcon();
SitePinJoin.image = "/images/ico_pin_join_lge.png";
//SitePinJoin.shadow = "images/ico_pin_join_lge.png";
SitePinJoin.iconSize = new GSize(26, 39);
//SitePinJoin.shadowSize = new GSize(61, 47);
SitePinJoin.iconAnchor = new GPoint(20, 37);
SitePinJoin.infoWindowAnchor = new GPoint(26, 0);

var SitePinSml = new GIcon();
SitePinSml.image = "/images/ico_pin_sml.png";
//SitePin.shadow = "images/ico_pin_large.png";
SitePinSml.iconSize = new GSize(16, 24);
//SitePin.shadowSize =new  GSize(61, 47);
SitePinSml.iconAnchor = new GPoint(20, 37);
SitePinSml.infoWindowAnchor = new GPoint(16, 0);

var SitePinJoinSml = new GIcon();
SitePinJoinSml.image = "/images/ico_pin_join_sml.png";
//SitePinJoin.shadow = "images/ico_pin_join_lge.png";
SitePinJoinSml.iconSize = new GSize(16, 24);
//SitePinJoin.shadowSize = new GSize(61, 47);
SitePinJoinSml.iconAnchor = new GPoint(20, 37);
SitePinJoinSml.infoWindowAnchor = new GPoint(16, 0);

var SitePinMe = new GIcon();
SitePinMe.image = "/images/ico_pin_me.png";
//SitePin.shadow = "images/ico_pin_large.png";
SitePinMe.iconSize = new GSize(49, 52);
//SitePin.shadowSize =new  GSize(61, 47);
SitePinMe.iconAnchor = new GPoint(20, 37);
SitePinMe.infoWindowAnchor = new GPoint(41, 0);

var InitMap = function(DoResize) {
	map = new GMap2(document.getElementById("map_canvas"),
	{ size: new GSize(640,430) } );
	map.enableScrollWheelZoom();
	map.addControl(new GLargeMapControl(), new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(20, 50)));
	map.addControl(new GMapTypeControl());

	map.setCenter(new GLatLng(-25.335448,135.745076), 4);
	
	SaveInfoWindow = GEvent.addListener(map, "infowindowopen", function() {
	map.savePosition();
	});
			
	ResetInfoWindow = GEvent.addListener(map, "infowindowclose", function() {
	map.returnToSavedPosition();
	});
	
	if(DoResize) {
		GEvent.addListener(map, "zoomend", function(oldzoom,zoom) {
			reloadMarkers(zoom);
		});
	}
	//toggleOverlay();
}

function toggleOverlay() {
  if (!overlayInstance) {
    overlayInstance = new GStreetviewOverlay();
    map.addOverlay(overlayInstance);
  } else {
    map.removeOverlay(overlayInstance);
    overlayInstance = null;
  }
}


// Displays all pins from json file

var iconCluster = new GIcon();
	iconCluster.image = "/js/m1.png";
	//iconCluster.shadow = "images/pin_shadow.png";
	iconCluster.iconSize = new GSize(46, 37);
	iconCluster.shadowSize = new GSize(46, 37);
	iconCluster.iconAnchor = new GPoint(20, 37);
	iconCluster.infoWindowAnchor = new GPoint(20, 3);

var DisplaySites = function() {
	var jsmarker;
	var markers = [];
	//var clusterer = new Clusterer( map );
	for (var i=0; i<json.length; i++) {
	jsmarker=newMarker(new GLatLng(json[i].lat, json[i].lng), json[i].team_id, json[i].markerkey, json[i].volunteers);
	//clusterer.AddMarker( jsmarker, 'test' )
	//markers.push(jsmarker);
	map.addOverlay(jsmarker);
	}
	//var mcOptions = { gridSize: 30, maxZoom: 10};
	//var markerCluster = new MarkerClusterer(map, markers,mcOptions);

	//var cluster=new ClusterMarker(map, { markers:markers } );
	//cluster.clusterMarkerIcon=iconCluster;
	//cluster. refresh();
}

// reloads pins based on zoom level

var reloadMarkers = function(zoomlevel) {
		map.clearOverlays();
		DisplaySites();
}

var newMarker = function(markerLocation,siteid,markerkey,volunteers) {
	
	/*
	Creates custom marker from json feed
	*/
	
	var currentzoom = map.getZoom();
	if(currentzoom < 5) {
	var UseIcon=(volunteers=='Y')?SitePinJoinSml:SitePinSml;
	}
	else {
	var UseIcon=(volunteers=='Y')?SitePinJoin:SitePin;
	}
	
	var markerOptions = { icon:UseIcon};
	var marker=new GMarker(markerLocation,markerOptions);
		GEvent.addListener(marker, 'click', function() {
			GDownloadUrl("/_map.info.php?id=" + siteid, function(data, responseCode){
    			if(responseCode == 200) {
    			marker.openInfoWindowHtml(data);
				}
			});
		});
	markerkeys[markerkey]=marker;
		
return marker;
}

function FilterByRegion(Region) {
	if(Region!="all") {
		var geocoder = new GClientGeocoder();
		geocoder.getLatLng(Region + ' Australia',
			function(point) {
				if(point) {
				map.setZoom(5);
				//map.zoomIn();
				map.panTo(point);
				}
			}
		);
	}
}

function ResetFilter() {
	map.setCenter(new GLatLng(-25.335448,135.745076), 4);
}


/* end mapping */