//<![CDATA[

var map = null;
var geocoder = null;

$(document).ready( function() { 
	
	initMap();
	
	$("#office").change( function() { 
		var i = $(this).val();
		if (i=='') { 
			clearMap(); 
			initMap(); 
		} else {
			clearMap();
			var arrLatLng = $("#d_"+i).attr("title").split("|");
			var html = $("#d_"+i).html();
			pinAddress(arrLatLng[0], arrLatLng[1], html);
		};
	});
	
	$("#reset").click( function() {
		clearMap(); 
		initMap();
	});
});

/* ---------------------------------------------------------------------------- */

function clearMap() {
	map.clearOverlays();	
}

/* ---------------------------------------------------------------------------- */

function initMap() {	
	if (GBrowserIsCompatible()) {
		
		map = new GMap2(document.getElementById("map"));
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		
		var loc = new GLatLng(51.504804, -0.096684);		
		map.setCenter(loc, 12);
		
		$("#office_list div").each( function() { 
			var arrLatLng = $(this).attr("title").split("|");
			var html = $(this).html();
			locAddress(arrLatLng[0], arrLatLng[1], html);
		});
	}
}

/* ---------------------------------------------------------------------------- */


function locAddress(lat, lng, address) {
	
	var loc = new GLatLng(lat, lng);
	var marker = new GMarker(loc);
	
	map.addOverlay(marker);
	
	GEvent.addListener(marker, "click", function() {    
		marker.openInfoWindowHtml(address);  
	});
}

/* ---------------------------------------------------------------------------- */


function pinAddress(lat, lng, address) {
	
	var loc = new GLatLng(lat, lng);
	var marker = new GMarker(loc);
	
	map.setCenter(loc, 10);
	map.addOverlay(marker);
	marker.openInfoWindowHtml(address);  
		
}
//]]>