
var gmap_address_point = null;
var gsv = null;

//google map init
function initial() {
	if (GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById("map_canvas"));
		var geocoder = new GClientGeocoder();
		var localSearch = new GlocalSearch();    
		//map.clearOverlays();           
		if(address!=null) {
			usePointFromPostcode(address2, placeMarkerAtPoint);   
		}
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.addControl(new GScaleControl());
		map.addControl(new GOverviewMapControl());
	}
	
	function usePointFromPostcode(postcode, callbackFunction) {
		localSearch.setSearchCompleteCallback(null,function() {      
			if (localSearch.results[0]) {    
				var resultLat = localSearch.results[0].lat;
				var resultLng = localSearch.results[0].lng;
				gmap_address_point = new GLatLng(resultLat,resultLng);
				callbackFunction(gmap_address_point);
			} else {		
				alert("Postcode not found!");
			}
		});  
		
		localSearch.execute(postcode + ", UK");
	}
	
	function placeMarkerAtPoint(point) {
		map.setCenter(point, 13);
		var marker = new GMarker(point);       
		map.addOverlay(marker);
		windowTxt = '<div style="font-size:18px"><b>Address:</b><br/>'+address+'</div>';
		marker.openInfoWindowHtml(windowTxt);
	}
}

//google street view init
function initGStreetView(layer_id) {
	if (gmap_address_point == null) {
		GStreetViewError();
		return;
	}
	
	gsv = new GStreetviewPanorama(document.getElementById(layer_id), {
		latlng: gmap_address_point,
		features: {
			userPhotos: false
		}
	});
	
	GEvent.addListener(gsv, "error", function(errorCode) {
		if (errorCode == 603) {
			GStreetViewError("Flash is required to use Google&nbsp;Street&nbsp;View");
		} else {
			GStreetViewError();
		}
	});
	
	function GStreetViewError(message) {
		if (message == null) {
			message = "Google&nbsp;Street&nbsp;View not available";
		}
		document.getElementById(layer_id).innerHTML = '<div class="gmap_error">' + message + '</div>';
	}
}

//tabs
function divShowTab(tab) {
	for(i=1;i<=5;i++) {
		var layer = document.getElementById('tab'+i);
		var button = document.getElementById('tabhref'+i); 
		if (i == tab) {
			button.className='active';
			if (layer != null) {
				layer.style.display='block';
			}
		} else {
			button.className='';
			if (layer != null) {
				layer.style.display='none';
			}
		}
	}  
}

//left menu
function divShowMenu() {
	divOptions=document.getElementById('options');
	arrowOptions=document.getElementById('arrow_options');
	if (divOptions.style.display=='block') {
		arrowOptions.className='expand';  
		divOptions.style.display='none'; 
	} else {
		divOptions.style.display='block';
		arrowOptions.className='collapse';  
	}
}

