// JavaScript Document
$(function(){
					 
	gmaps = new function(){
	
		var localSearch = new GlocalSearch();
		var useLatLong 	= false;
		var map					= false;

		this.usePointFromPostcode = function(postcode){
			localSearch.setSearchCompleteCallback(null, function(){
				if(localSearch.results[0]) {    
					var resultLat = localSearch.results[0].lat;
					var resultLng = localSearch.results[0].lng;
					var point = new GLatLng(resultLat,resultLng);
				} else {
					alert("Postcode not found!");
				}
			});  
			localSearch.execute(postcode + ", UK");
		}
		
		this.showPointFromPostcode = function(postcode){
			localSearch.setSearchCompleteCallback(null, function(){
				if(localSearch.results[0]) {    
					var resultLat = localSearch.results[0].lat;
					var resultLng = localSearch.results[0].lng;
					var point = new GLatLng(resultLat,resultLng);
					$('input[name="activity_latlong"]').val(point);
				} else {
					alert("Postcode not found!");
				}
			});  
			localSearch.execute(postcode + ", UK");
		}
	
		this.load = function(latLong){
			if (GBrowserIsCompatible()) {
				var map = new GMap2(document.getElementById('map'));
				map.setCenter(new GLatLng(51.141962, -2.600718), 11);
				var mapControl = new GMapTypeControl();
				map.addControl(mapControl);
				map.addControl(new GLargeMapControl());
				this.map = map;
			}
		}
		
		this.createMarker = function(point, custIcon, popuphtml){
			var popuphtml = "<div id=\"popup\">" + popuphtml + "<\/div>";
			var Icon = new GIcon();
      Icon.image = custIcon;
      Icon.iconSize = new GSize(63, 67);
      Icon.iconAnchor = new GPoint(5, 34);
      Icon.infoWindowAnchor = new GPoint(5, 2);
      Icon.transparent = custIcon;
			var marker = new GMarker(point, Icon);
			GEvent.addListener(marker, "click", function() {
				marker.openInfoWindowHtml(popuphtml);
			});
			return marker;
		}
		
		this.addPoints = function(newpoints){
			if(newpoints.length >= 1){
				for(var i = 0; i < newpoints.length; i++) {
					var point = new GPoint(newpoints[i][1],newpoints[i][0]);
					var popuphtml = '<strong>'+newpoints[i][3] + '</strong><br />'+newpoints[i][4];
					var marker = gmaps.createMarker(point,newpoints[i][2],popuphtml);
					this.map.addOverlay(marker);
				}
			}
		}
	}	
});
