	function showLightBox(val)
		{
			var id = (val != '') ? val : 0;
			GB_show('Contact','http://www.bishta.co.uk/wp-content/themes/bishta/contact.php?id='+id,400,550);
		}
		
	String.prototype.trim = function () {
		return this.replace(/^\s*/, '').replace(/\s*$/, '');
	}
	
	var map = null;
	var geocoder = null;
	var localSearch = null;
	var postcode_marker;
	
	/* zomm for the post code */
	var zoom = 9;
	
	/* icon for the zoom */
	var icon = new GIcon();
	icon.image = 'http://www.bishta.co.uk/wp-content/themes/bishta/images/blue_pushpin.png';
	icon.shadow = 'http://www.bishta.co.uk/wp-content/themes/bishta/images/pushpin_shadow.png';
	icon.iconSize = new GSize(32,32);
	icon.shadowSize = new GSize(59, 32);
	icon.iconAnchor = new GPoint(6,20);
	icon.infoWindowAnchor = new GPoint(16,0);
	
	
	function initialize()
		{
			if (GBrowserIsCompatible())
				{
					map = new GMap2(document.getElementById('map_canvas'));
					geocoder = new GClientGeocoder();
					localSearch = new GlocalSearch();
					
					map.setUIToDefault();
					
					var grayout = document.getElementById('grayout');
					var h = (typeof window.innerHeight != 'undefined' ? window.innerHeight : document.body.offsetHeight);
					grayout.style.height = h+'px';
					
					if (markers_arr.markers.length == 0)
						{
							map.setCenter(new GLatLng(54.622978,-2.592773), 5);
							grayout.style.display = 'none';
						}
					else
						{
							
							var bounds = new GLatLngBounds();
						//	alert('length: ' + json_data.markers.length);
							for (var i=0; i<markers_arr.markers.length; i++)
								{
									var latlng = markers_arr.markers[i]['point'].split(",");
									var lat = latlng[0];
									var lng = latlng[1];
									var point = new GLatLng(lat, lng);
									var html = markers_arr.markers[i]['html'];
									
									var marker = showMarker(point, html);
									
									map.addOverlay(marker);
									bounds.extend(point);
								}
							map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
							grayout.style.display = 'none';
						}
				}
		}
	
	function usePointFromPostcode()
		{
			var grayout = document.getElementById('grayout');
			var h = (typeof window.innerHeight != 'undefined' ? window.innerHeight : document.body.offsetHeight);
			grayout.style.height = h+'px';
			
			var postcode = new String(document.getElementById('postcode').value);
			postcode = postcode.trim();
			
			if (postcode == '')
				{
					alert('Please enter PostCode to search.');
					document.getElementById('postcode').focus();
					return false;
				}
			grayout.style.display = 'block';
				
			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);
						
						if (postcode_marker) map.removeOverlay(postcode_marker);
						
						postcode_marker = new GMarker(point, {icon : icon});
						map.addOverlay(postcode_marker);

						map.setCenter(point, zoom);
						
						grayout.style.display = 'none';
					}else{
						alert("Postcode not found!");
					}
				});	
				
			localSearch.execute(postcode + ", UK");

		}
		
	function showSearch()
		{
			var grayout = document.getElementById('grayout');
			var h = (typeof window.innerHeight != 'undefined' ? window.innerHeight : document.body.offsetHeight);
			grayout.style.height = h+'px';
			
			var postcode = new String(document.getElementById('postcode').value);
			postcode = postcode.trim();
			
			if (postcode == '')
				{
					alert('Please enter PostCode to search.');
					document.getElementById('postcode').focus();
					return false;
				}
			grayout.style.display = 'block';
			
			if (postcode != '')
				{
					var searchURL = 'ajax.php?postcode='+postcode;
					GDownloadUrl(searchURL, function(data)	{
					//	alert(data);
						if (data != 'error')
							{
								map.clearOverlays();
								var json_data = eval('(' + data + ')');
								
								var bounds = new GLatLngBounds();
							//	alert('length: ' + json_data.markers.length);
								for (var i=0; i<json_data.markers.length; i++)
									{
										var latlng = json_data.markers[i]['point'].split(",");
										var lat = latlng[0];
										var lng = latlng[1];
										var point = new GLatLng(lat, lng);
										var html = json_data.markers[i]['html'];
										
										var marker = showMarker(point, html);
										
										map.addOverlay(marker);
										bounds.extend(point);
									}
							//	map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
								map.setCenter(GLatLng(54.622978,-2.592773), 5);
								grayout.style.display = 'none';
							}
						else 
							{
								alert(data);
							}
						grayout.style.display = 'none';
					});
				}
		}
		
		function showMarker(point, html)
			{
				var marker = new GMarker(point);
				GEvent.addListener(marker, "click", function() {
				  marker.openInfoWindowHtml(html);
				});
				return marker;
			}
