if (GBrowserIsCompatible()) {
	
	 
	
	// this variable will collect the html which will eventually be placed in the side_bar
	var side_bar_html = "";

	// arrays to hold copies of the markers and html used by the side_bar
	// because the function closure trick doesnt work there
	var gmarkers = [];
	var i = 0;

	// Create Regional Marker
	var icon = new GIcon();
		icon.image = "images/googleregionalicon.png";
		icon.shadow = "images/googlemapshadow.png";
		icon.iconSize = new GSize(34, 37);
		icon.shadowSize = new GSize(34, 37);
		icon.iconAnchor = new GPoint(1, 37);
		icon.infoWindowAnchor = new GPoint(5, 1);
		
	// Create Casulty Icon
	var icon2 = new GIcon();
		icon2.image = "images/casulty-icon.png";
		icon2.shadow = "images/casulty-shadow.png";
		icon2.iconSize = new GSize(48, 50);
		icon2.shadowSize = new GSize(48, 50);
		icon2.iconAnchor = new GPoint(1, 50);
		icon2.infoWindowAnchor = new GPoint(5, 1);

	// A function to create the REGIONAL marker and set up the event window
	function createMarker(point,name,html) {
		var marker = new GMarker(point,icon);
		GEvent.addListener(marker, "click", function() {
			marker.openInfoWindowHtml(html);
		});
		// save the info we need to use later for the side_bar
		gmarkers[i] = marker;
		i++;
		return marker;
	}
	
	// A function to create the CASULTY marker and set up the event window
	function createMarker2(point,name,html) {
		var marker2 = new GMarker(point,icon2);
		GEvent.addListener(marker2, "click", function() {
			marker2.openInfoWindowHtml(html);
		});
		// save the info we need to use later for the side_bar
		gmarkers[i] = marker2;
		i++;
		return marker2;
	}

	// This function picks up the click and opens the corresponding info window
	function myclick(i) {
		GEvent.trigger(gmarkers[i], "click");
	}

	// This function zooms in or out
	// its not necessary to check for out of range zoom numbers, because the API checks
	function myzoom(a) {
		map.setZoom(map.getZoom() + a);
	}

	// create the map
	var map = new GMap2(document.getElementById("map"));
	map.setCenter(new GLatLng( 28.907787,10.359741), 2);
	map.setMapType((G_SATELLITE_MAP));
	map.addControl(new GMapTypeControl());


	// add the points    
	var point = new GLatLng(57.14337111111111,-2.1216942222222224);
	var marker = createMarker(point,"Aberdeen","<div class='regionallogo'><span class='regionaltitle'>ABERDEEN </span>(GMT)<br/>Office: <span class='regional'>+44 1224 630200</span><br/><br/>After Hours:<br/>Adrian Torry:  <span class='regional'>+44 7872 506626</span><div class='aberdeen'></div>");
	map.addOverlay(marker);

	var point = new GLatLng(24.50031111111111,54.37628888888889);
	var marker = createMarker(point,"Abu Dhabi","<div class='regionallogo'><span class='regionaltitle'>ABU DHABI</span> (GMT+3)<br/>Office: <span class='regional'>+971 2 671 7144</span><br/><br/>After Hours:<br/>Duty Officer: <span class='regional'>+971 4 331 9933</span><div class='abudhabi'></div></div>")
	map.addOverlay(marker);

	var point = new GLatLng(39.028207888888886,117.70470277777777);
	var marker = createMarker(point,"China","<div class='regionallogo'><span class='regionaltitle'>TIANJIN</span> (GMT+8)<br/>Office: <span class='regional'>(+86) 22 6622 0826</span><br/><br/>After Hours:<br/>Donny Ng: <span class='regional'>(+86) 139 1810 3593</span><br/>Chen Chun Yong: <span class='regional'>(+86) 139 2097 1850</span><div class='china'></div></div>")
	map.addOverlay(marker);

	var point = new GLatLng(25.225762,55.287784);
	var marker2 = createMarker2(point,"Dubai","<div class='casultylogo'><span class='casultytitle'>DUBAI</span> (GMT+3)<br/>Office: <span class='casulty'>+971 4 331 9933</span>  <br/><br/>After Hours:<br/>Duty Officer: <span class='casulty'>+971 4 331 9933</span><div class='dubai'></div></div>")
	map.addOverlay(marker2);

	var point = new GLatLng(29.944216666666666,-95.39496666666668);
	var marker2 = createMarker2(point,"Houston","<div class='casultylogo'><span class='casultytitle'>HOUSTON</span> (GMT-6)<br/>Office: <span class='casulty'>+1 281 987 7400</span>  <br/><br/>After Hours:<br/>Duty Officer: <span class='casulty'>+1 281 987 7400</span><br/>David Ballands: <span class='casulty'>+1 281 660 5251</span><br/>Kevin Highfield: <span class='casulty'>+1 281 546 7164</span><br/>Lawrence Barclay: <span class='casulty'>+1 281 660 5727</span><br/>Kevin Hislop: <span class='casulty'>+1 786 395 0515</span><div class='houston'></div></div>")
	map.addOverlay(marker2);

	var point = new GLatLng(51.51176111111111,-0.07528333333333333);
	var marker2 = createMarker2(point,"London","<div class='casultylogo'><span class='casultytitle'>LONDON</span> (GMT)<br/>Office: <span class='casulty'>+44 20 7264 3250</span>  <br/><br/>After Hours:<br/>Duty Officer: <span class='casulty'>+44 20 7264 3250</span><br/>Andrew Squire: <span class='casulty'>+44 7798 787084</span><br/>Peter Holloway: <span class='casulty'>+44 7899 917338</span><br/>Nick Chell: <span class='casulty'>+44 7715 758723</span><br>Paris Mangriotis:<span class='casulty'>+44 7977 413383</span></div>")
	map.addOverlay(marker2);

	var point = new GLatLng(22.270204,-97.874386,-95.677068);
	var marker = createMarker(point,"Mexico","<div class='regionallogo'><span class='regionaltitle'>TAMPICO</span> (GMT-6)<br/>Office: <span class='regional'>+52 833 213 1449</span><br/><br/><div class='mexico'></div></div>")
	map.addOverlay(marker);

	var point = new GLatLng(-31.950363888888887,115.83738888888888);
	var marker = createMarker(point,"Perth","<div class='regionallogo'><span class='regionaltitle'>PERTH</span> (GMT+8)<br/>Office: <span class='regional'>+61 8 9322 7943</span><br/><br/>After Hours:<br/>Alex Harrison: <span class='regional'>+61 4 3101 9925</span><div class='perth'></div></div>")
	map.addOverlay(marker);

	var point = new GLatLng(25.256525,51.54998);
	var marker = createMarker(point,"Qatar","<div class='regionallogo'><span class='regionaltitle'>DOHA</span> (GMT+3)<br/>Office: <span class='regional'>+974 4455 2147</span><br/><br/>After Hours:<br/>Duty Officer: <span class='regional'>+971 4 331 9933</span><div class='qatar'></div></div>")
	map.addOverlay(marker);

	var point = new GLatLng(-22.902290,-43.178522);
	var marker = createMarker(point,"Rio De Janeiro","<div class='regionallogo'><span class='regionaltitle'>RIO DE JANEIRO</span> (GMT–3)<br/>Office: <span class='regional'>+55 (0) 21 2233 4480</span><br/><br/>After Hours:<br/>Wagner Rodrigues: <span class='regional'>+55 (0)21 8463 5009</span><br/>Andrew Johnstone: <span class='regional'>+55 (0)21 8458 4539</span><div class='rio'></div></div>")
	map.addOverlay(marker);

	var point = new GLatLng(1.2818222222222222,103.85103888888888);
	var marker2 = createMarker2(point,"Singapore","<div class='casultylogo'><span class='casultytitle'>SINGAPORE</span> (GMT+8)<br/>Office: <span class='casulty'>+65 6224 9200</span>  <br/><br/>After Hours:<br/>Duty Officer: <span class='casulty'>+65 6224 9200</span><br/>Jon Walker: <span class='casulty'>+65 9665 2717</span><br/>Nick Haslam: <span class='casulty'>+65 8126 8120</span><br/>Rutger Bierman: <span class='casulty'>+65 9012 4152</span><br/>Vaughan Williams:  <span class='casulty'>+65 9155 6126</span></span><div class='singapore'></div></div>")
	map.addOverlay(marker2);

	var point = new GLatLng(58.896743333333336,5.739927777777778);
	var marker = createMarker(point,"Stavanger","<div class='regionallogo'><span class='regionaltitle'>STAVANGER</span> (GMT+1)<br/>Office: <span class='regional'>+47 51 81 18 00</span><br/><br/>After Hours:<br/>Andrew Pointing: <span class='regional'>+47 90 50 28 61</span><div class='stavanger'></div></div>")
	map.addOverlay(marker);

	var point = new GLatLng(26.024725,-80.31531388888888);
	var marker2 = createMarker2(point,"Miami","<div class='casultylogo'><span class='casultytitle'>MIAMI</span> (GMT-5)<br/>Office: <span class='casulty'>+1 281 987 7400</span>  <br/><br/>After Hours:<br/>Duty Officer: <span class='casulty'>+1 281 987 7400</span><br/>David Ballands: <span class='casulty'>+1 281 660 5251</span><br/>Kevin Highfield: <span class='casulty'>+1 281 546 7164</span><br/>Lawrence Barclay: <span class='casulty'>+1 281 660 5727</span><br/>Kevin Hislop: <span class='casulty'>+1 786 395 0515</span><div class='florida'></div></div>")
	map.addOverlay(marker2);
	
	var point = new GLatLng(44.704199,-63.612535);
	var marker = createMarker(point,"Halifax","<div class='regionallogo'><span class='regionaltitle'>HALIFAX</span> (GMT-4)<br/>Office: <span class='regional'>(+1) 902 407 3220<br/><br/>After Hours:<br/></span>Andrew Lund: <span class='regional'>(+1) 902 407 3220</span><div class='rio'></div></div>")
	map.addOverlay(marker);
	
		var point = new GLatLng(31.23804994524463,121.54312133789062);
	var marker = createMarker(point,"Shanghai","<div class='regionallogo'><span class='regionaltitle'>SHANGHAI</span> (GMT+8)<br/>Office: <span class='regional'>(+86) 21 5885 7377<br/><br/>After Hours:<br/></span>Donny Ng:<span class='regional'>(+86) 139 1810 3593</span><div class='Qingdao'></div></div>")
	map.addOverlay(marker);
	
		var point = new GLatLng(35.955469,120.187875);
	var marker = createMarker(point,"Qingdao","<div class='regionallogo'><span class='regionaltitle'>QINGDAO</span> (GMT+8)<br/>Office: <span class='regional'>(+86) 532 8699 3190<br/><br/>After Hours:<br/></span>Donny Ng: <span class='regional'>(+86) 139 1810 3593</span><div class='Qingdao'></div></div>")
	map.addOverlay(marker);
	
		var point = new GLatLng(22.279129,114.173194);
	var marker = createMarker(point,"Qingdao","<div class='regionallogo'><span class='regionaltitle'>HONG KONG</span> (GMT+8)<br/>Office: <span class='regional'>(+852) 3973 5922<br/><br/>After Hours:<br/></span>John Simpson <span class='regional'>(+852) 6259 9606</span><br/><br/><br/><div class='Qingdao'></div></div>")
	map.addOverlay(marker);
	
		var point = new GLatLng(37.926049,-122.056223);
	var marker = createMarker(point,"San","<div class='regionallogo'><span class='regionaltitle'>SAN FRANCISCO</span> (GMT-8)<br/>Office: <span class='regional'>(+1) 925 934 2306<br/><br/>After Hours:<br/></span>Duty Officer: <span class='regional'>+1 281 987 7400</span><br/>Arthur Waddington: <span class='regional'>+1 925 336 1127</span><br/>David Ballands: <span class='regional'>+1 281 660 5251</span><br/>Kevin Highfield: <span class='regional'>+1 281 546 7164</span><br/>Lawrence Barclay:  <span class='regional'>+1 281 660 5727</span><br/>Kevin Hislop: <span class='regional'>+1 786 395 0515</span> <div class='Qingdao'></div></div>")
	map.addOverlay(marker);
	
			var point = new GLatLng(13.0894028,100.918150);
	var marker = createMarker(point,"laem","<div class='regionallogo'><span class='regionaltitle'>LAEM CHABANG</span> (GMT+7)<br/>Office: <span class='regional'>(+66) 38 493334<br/><br/>After Hours:<br/></span>Don Ross: <span class='regional'>(+66) 89 516 4012</span> <div class='Qingdao'></div></div>")
	map.addOverlay(marker);
	
			var point = new GLatLng(6.442524,3.412291);
	var marker = createMarker(point,"San","<div class='regionallogo'><span class='regionaltitle'>LAGOS</span> (GMT+1)<br/>Office: <span class='regional'>(+234) 70 5444 0590<br/><br/>After Hours:<br/></span>Philip Atitebi: <span class='regional'>(+234) 81 6357 6077</span> <div class='Qingdao'></div></div>")
	map.addOverlay(marker);
	
		
			var point = new GLatLng(22.48516,113.908000);
	var marker = createMarker(point,"SHENZHEN ","<div class='regionallogo'><span class='regionaltitle'>SHENZHEN</span> (GMT+8)<br/>Office: <span class='regional'>(+86) 755 2689 9249<br/><br/>After Hours:<br/></span>Donny Ng: <span class='regional'>(+86) 139 1810 3593</span> <div class='Qingdao'></div></div>")
	map.addOverlay(marker);
	
	

	// ====== Restricting the range of Zoom Levels =====
	// Get the list of map types      
	var mt = map.getMapTypes();
	// Overwrite the getMinimumResolution() and getMaximumResolution() methods
	for (var i=0; i<mt.length; i++) {
		mt[i].getMinimumResolution = function() {return 2;}
		mt[i].getMaximumResolution = function() {return 18;}
	}
	

	
} else {
	alert("Sorry, the Google Maps API is not compatible with this browser");
}
