var centreLat=0.0;
var centreLon=0.0;
var initialZoom=1;
var imageWraps=false;
var image_root = "images/tiles";
var map;
var pic_customMap;
var new_win;

function CustomProjection(a,b) {
	
	this.imageDimension=65536;
	this.pixelsPerLonDegree=[];
	this.pixelOrigin=[];
	this.tileBounds=[];
	this.tileSize=256;
	this.isWrapped=b;
	var b=this.tileSize;
	var c=1;
	
	for(var d=0;d<a;d++) {
	
		var e=b/2;
		this.pixelsPerLonDegree.push(b/360);
		this.pixelOrigin.push(new GPoint(e,e));
		this.tileBounds.push(c);
		b*=2;
		c*=2
		
	}
	
}

CustomProjection.prototype=new GProjection();

CustomProjection.prototype.fromLatLngToPixel=function(latlng,zoom) {
	
	var c=Math.round(this.pixelOrigin[zoom].x+latlng.lng()*this.pixelsPerLonDegree[zoom]);
	var d=Math.round(this.pixelOrigin[zoom].y+(-2*latlng.lat())*this.pixelsPerLonDegree[zoom]);
	return new GPoint(c,d)
	
};

CustomProjection.prototype.fromPixelToLatLng=function(pixel,zoom,unbounded) {
	
	var d=(pixel.x-this.pixelOrigin[zoom].x)/this.pixelsPerLonDegree[zoom];
	var e=-0.5*(pixel.y-this.pixelOrigin[zoom].y)/this.pixelsPerLonDegree[zoom];
	return new GLatLng(e,d,unbounded)
	
};

CustomProjection.prototype.tileCheckRange=function(tile,zoom,tilesize) {
	var tileBounds=this.tileBounds[zoom];
	
	if (tile.y<0 || tile.y >= tileBounds) { return false; }
	
	if (this.isWrapped) {
		
		if (tile.x<0 || tile.x>=tileBounds) { 
			tile.x = tile.x%tileBounds; 
			if (tile.x < 0) {tile.x+=tileBounds} 
		}
		
	}
	else { 
		if (tile.x<0 || tile.x>=tileBounds) {return false;}
	}  
	
	return true;
}
  
CustomProjection.prototype.getWrapWidth=function(zoom) {
	return this.tileBounds[zoom]*this.tileSize;
}

function customGetTileURL(a,b) {

	var c=Math.pow(2,b);
	var d=a.x;
	var e=a.y;
	var f="t";
	
	for(var g=0;g<b;g++){
		
		c=c/2;
		
		if(e<c) {
			if(d<c){f+="q"}
			else{f+="r";d-=c}
		}
		else{
			if(d<c){f+="t";e-=c}
			else{f+="s";d-=c;e-=c}
		}
		
	}
	
	return image_root + "/" + f + ".jpg"
}


function getWindowHeight() {

	if (window.self&&self.innerHeight) {
		return self.innerHeight;
	}
	
	if (document.documentElement&&document.documentElement.clientHeight) {
		return document.documentElement.clientHeight;
	}
	
	return 0;
}

function getPageScrollTop(){
	var yScrolltop;
	
	if (self.pageYOffset) {
		yScrolltop = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){ // Explorer 6 Strict
		yScrolltop = document.documentElement.scrollTop;
	} else if (document.body) {// all other Explorers
		yScrolltop = document.body.scrollTop;
	}
	
	return yScrolltop;
}


function resizeMapDiv() {

	var d=document.getElementById("map");
	var offsetTop=0;
	
	for (var elem=d; elem!=null; elem=elem.offsetParent) {
		offsetTop+=elem.offsetTop;
	}
	
	var height=getWindowHeight()-offsetTop-16;
	
	if (height>=0) {
		d.style.height="650px";
	}
	
}

function Launch(page, width, height) { 
    
}

function addIcon(id, type, lat, lng, marked) {
	
	var icon = new GIcon();
	icon.image = "images/icons/"+type+".png";
	icon.iconSize = new GSize(29, 29);
	icon.iconAnchor = new GPoint(14, 14);
	
	if(marked) {
		icon.image = "images/icons/"+type+"_marked.png";
	}

	var marker = new GMarker(new GLatLng(lat, lng), { icon:icon });

	GEvent.addListener(marker, "click", function(latlng) {
		
		var content_string = "div#content-" + id;
		
		map.setCenter(latlng, 3, pic_customMap);
		
		//$("div#overlay").show();
		// set content position
		//$(content_string).css('top',getPageScrollTop()+20);
		//$(content_string).slideDown("slow");				

		// load the content into the div.
		
		//$(content_string).load("map_window.php", {id: id});
		
		// open popup to info.php
		
		//window.open(,left=100,top=100,resizable=no,scrollbars=yes,toolbar=no,status=yes,location=no');
        //Launch(,700,820);
        var page = 'info.php?id='+id;
        var width = '820';
        var height = '700';
        new_win = window.open(page, "", "resizable=no,scrollbars=yes,toolbar=no,status=yes,location=no, width=" + width + ", height=" + height + ", top=" + (screen.height/2 - height/2) + ", left=" + (screen.width/2 - width/2) + "\""); 
		new_win.focus();



	});
	
	return marker;
}

		function AddIcons(id) {
		switch(id) {
			case "cc1":
				map.addOverlay(addIcon(7, 1, -31.871337890625, -98.0859375, 0));
				map.addOverlay(addIcon(5, 1, -36.10107421875, -95.44921875, 0));
				map.addOverlay(addIcon(4, 1, -44.47265625, -39.08935546875, 0));
				map.addOverlay(addIcon(8, 1, -22.39013671875, -95.60302734375, 0));
				map.addOverlay(addIcon(9, 1, -41.605224609375, 50.33935546875, 0));
				map.addOverlay(addIcon(10, 1, -28.663330078125, 74.20166015625, 0));
				map.addOverlay(addIcon(11, 1, -32.89306640625, 26.71875, 0));
				map.addOverlay(addIcon(12, 1, -10.997314453125, -1.2744140625, 0));
				map.addOverlay(addIcon(13, 1, -12.83203125, 64.48974609375, 0));
				map.addOverlay(addIcon(14, 1, 4.757080078125, 46.8017578125, 0));
				map.addOverlay(addIcon(15, 1, 3.69140625, 35.9033203125, 0));
				map.addOverlay(addIcon(16, 1, -15.09521484375, -71.1474609375, 0));
				map.addOverlay(addIcon(17, 1, 45.4833984375, 109.3798828125, 0));
				map.addOverlay(addIcon(18, 1, 59.83154296875, 49.59228515625, 0));
				map.addOverlay(addIcon(19, 1, 18.017578125, 39.0673828125, 0));
				map.addOverlay(addIcon(20, 1, 45.5712890625, 11.7333984375, 0));
				map.addOverlay(addIcon(21, 1, 44.71435546875, -0.966796875, 0));
				map.addOverlay(addIcon(22, 1, 37.880859375, -3.2958984375, 0));
				map.addOverlay(addIcon(23, 1, 41.7919921875, -32.27783203125, 0));
				map.addOverlay(addIcon(24, 1, 51.6357421875, -32.45361328125, 0));
				map.addOverlay(addIcon(25, 1, 56.326904296875, -12.50244140625, 0));
				map.addOverlay(addIcon(26, 1, 55.360107421875, 4.2626953125, 0));
				map.addOverlay(addIcon(27, 1, 25.0927734375, -63.3251953125, 0));
				map.addOverlay(addIcon(28, 1, 25.20263671875, -61.0400390625, 0));
				map.addOverlay(addIcon(29, 1, 28.948974609375, -70.86181640625, 0));
				map.addOverlay(addIcon(30, 1, 33.0908203125, -62.77587890625, 0));
				map.addOverlay(addIcon(31, 1, -48.614501953125, -19.9072265625, 0));
				map.addOverlay(addIcon(32, 1, 32.98095703125, -64.05029296875, 0));
				map.addOverlay(addIcon(33, 1, 42.64892578125, 17.33642578125, 0));
				map.addOverlay(addIcon(34, 1, -23.543701171875, 23.22509765625, 0));
				map.addOverlay(addIcon(35, 1, -5.526123046875, 28.4765625, 0));
				map.addOverlay(addIcon(36, 1, 4.405517578125, 29.06982421875, 0));
				map.addOverlay(addIcon(37, 1, -1.64794921875, 6.92138671875, 0));
				map.addOverlay(addIcon(38, 1, 14.04052734375, 24.06005859375, 0));
				map.addOverlay(addIcon(39, 1, 19.017333984375, 56.3818359375, 0));
				map.addOverlay(addIcon(40, 1, 38.243408203125, -21.33544921875, 0));
				map.addOverlay(addIcon(41, 1, 9.898681640625, 62.314453125, 0));
				map.addOverlay(addIcon(42, 1, -14.996337890625, -44.36279296875, 0));
				map.addOverlay(addIcon(43, 1, -34.365234375, -100.34912109375, 0));
				map.addOverlay(addIcon(44, 1, 4.010009765625, -61.9189453125, 0));
				map.addOverlay(addIcon(45, 1, 13.612060546875, 43.61572265625, 0));
				map.addOverlay(addIcon(46, 1, -37.452392578125, 16.69921875, 0));
				map.addOverlay(addIcon(47, 1, 39.034423828125, 46.64794921875, 0));
				map.addOverlay(addIcon(48, 1, 45.999755859375, 51.43798828125, 0));
				map.addOverlay(addIcon(49, 1, 52.174072265625, 53.28369140625, 0));
				map.addOverlay(addIcon(50, 1, 49.053955078125, 72.48779296875, 0));
				map.addOverlay(addIcon(51, 1, 51.61376953125, 81.474609375, 0));
				map.addOverlay(addIcon(52, 1, 38.397216796875, 91.7138671875, 0));
				map.addOverlay(addIcon(53, 1, 51.4599609375, 97.14111328125, 0));
				map.addOverlay(addIcon(54, 1, 17.677001953125, 46.25244140625, 0));
			break;
			case "cc2":
				map.addOverlay(addIcon(55, 2, -0.889892578125, 12.0849609375, 0));
				map.addOverlay(addIcon(56, 2, -1.153564453125, 12.76611328125, 0));
				map.addOverlay(addIcon(57, 2, -1.91162109375, 13.46923828125, 0));
				map.addOverlay(addIcon(58, 2, -0.15380859375, 11.31591796875, 0));
				map.addOverlay(addIcon(59, 2, -43.648681640625, -14.1943359375, 0));
				map.addOverlay(addIcon(60, 2, -38.111572265625, -97.03125, 0));
				map.addOverlay(addIcon(61, 2, -36.650390625, -99.228515625, 0));
				map.addOverlay(addIcon(62, 2, -27.257080078125, -100.78857421875, 0));
				map.addOverlay(addIcon(63, 2, -23.04931640625, -99.755859375, 0));
				map.addOverlay(addIcon(64, 2, -59.271240234375, -35.17822265625, 0));
				map.addOverlay(addIcon(65, 2, -37.716064453125, 47.17529296875, 0));
				map.addOverlay(addIcon(66, 2, -45.37353515625, 57.392578125, 0));
				map.addOverlay(addIcon(67, 2, -21.59912109375, 13.3154296875, 0));
				map.addOverlay(addIcon(68, 2, -14.83154296875, -67.03857421875, 0));
				map.addOverlay(addIcon(69, 2, -4.822998046875, -66.97265625, 0));
				map.addOverlay(addIcon(70, 2, 9.525146484375, -57.83203125, 0));
				map.addOverlay(addIcon(71, 2, 16.962890625, -43.857421875, 0));
				map.addOverlay(addIcon(72, 2, 38.551025390625, -30.05859375, 0));
				map.addOverlay(addIcon(73, 2, 55.426025390625, 2.900390625, 0));
				map.addOverlay(addIcon(74, 2, 54.07470703125, -19.57763671875, 0));
				map.addOverlay(addIcon(75, 2, 47.04345703125, -44.208984375, 0));
				map.addOverlay(addIcon(76, 2, 37.96875, -9.755859375, 0));
				map.addOverlay(addIcon(77, 2, 26.1474609375, 34.43115234375, 0));
				map.addOverlay(addIcon(78, 2, 46.73583984375, 100.34912109375, 0));
				map.addOverlay(addIcon(79, 2, 56.304931640625, -29.00390625, 0));
				map.addOverlay(addIcon(80, 2, 23.917236328125, -61.875, 0));
				map.addOverlay(addIcon(81, 2, 27.740478515625, -72.158203125, 0));
				map.addOverlay(addIcon(82, 2, 28.4326171875, -70.51025390625, 0));
				map.addOverlay(addIcon(83, 2, 26.356201171875, -59.52392578125, 0));
				map.addOverlay(addIcon(84, 2, 26.16943359375, -59.150390625, 0));
				map.addOverlay(addIcon(85, 2, 39.495849609375, 21.64306640625, 0));
				map.addOverlay(addIcon(86, 2, 41.890869140625, 29.267578125, 0));
				map.addOverlay(addIcon(87, 2, 41.220703125, 30.52001953125, 0));
				map.addOverlay(addIcon(88, 2, 41.253662109375, 31.4208984375, 0));
				map.addOverlay(addIcon(89, 2, 41.209716796875, 32.10205078125, 0));
				map.addOverlay(addIcon(90, 2, 41.1767578125, 32.84912109375, 0));
				map.addOverlay(addIcon(91, 2, 7.71240234375, 65.6103515625, 0));
				map.addOverlay(addIcon(92, 2, -21.390380859375, 84.35302734375, 0));
				map.addOverlay(addIcon(93, 2, -21.37939453125, 85.3857421875, 0));
				map.addOverlay(addIcon(94, 2, -31.871337890625, -97.36083984375, 0));
				map.addOverlay(addIcon(95, 2, -9.31640625, -10.39306640625, 0));
				map.addOverlay(addIcon(96, 2, -1.07666015625, -23.291015625, 0));
				map.addOverlay(addIcon(97, 2, 5.82275390625, -11.3818359375, 0));
				map.addOverlay(addIcon(98, 2, 6.427001953125, 76.04736328125, 0));
				map.addOverlay(addIcon(99, 2, 24.840087890625, 68.48876953125, 0));
				map.addOverlay(addIcon(100, 2, 41.94580078125, 63.369140625, 0));
				map.addOverlay(addIcon(101, 2, 48.175048828125, 52.7783203125, 0));
				map.addOverlay(addIcon(102, 2, 52.481689453125, 43.83544921875, 0));
				map.addOverlay(addIcon(103, 2, 48.988037109375, 75.0146484375, 0));
				map.addOverlay(addIcon(104, 2, 22.25830078125, 44.75830078125, 0));
			break;
			case "cc3":
				map.addOverlay(addIcon(251, 3, -51.916992254555225, -8.536376953125, 0));
				map.addOverlay(addIcon(252, 3, -54.531738348305225, -15.809326171875, 0));
				map.addOverlay(addIcon(253, 3, -55.948974676430225, -19.610595703125, 0));
				map.addOverlay(addIcon(294, 3, -40.007812567055225, -99.7998046875, 0));
				map.addOverlay(addIcon(291, 3, -27.791015692055225, -102.50244140625, 0));
				map.addOverlay(addIcon(284, 3, 5.552490167319775, -18.08349609375, 0));
				map.addOverlay(addIcon(285, 3, 15.637939386069775, -23.7744140625, 0));
				map.addOverlay(addIcon(282, 3, -2.5334473326802254, -70.2685546875, 0));
				map.addOverlay(addIcon(292, 3, -27.845947332680225, -99.7998046875, 0));
				map.addOverlay(addIcon(293, 3, -34.042236395180225, -96.30615234375, 0));
				map.addOverlay(addIcon(289, 3, 17.307861261069775, -44.18701171875, 0));
				map.addOverlay(addIcon(290, 3, 20.098388604819775, -44.67041015625, 0));
				map.addOverlay(addIcon(286, 3, 7.881591729819775, -45.2197265625, 0));
				map.addOverlay(addIcon(287, 3, 12.078369073569775, -49.5263671875, 0));
				map.addOverlay(addIcon(283, 3, -0.4020996764302254, -71.3671875, 0));
				map.addOverlay(addIcon(281, 3, -7.510253973305225, -25.7958984375, 0));
				map.addOverlay(addIcon(280, 3, -5.499755926430225, 44.71435546875, 0));
				map.addOverlay(addIcon(279, 3, -8.773681707680225, 63.96240234375, 0));
				map.addOverlay(addIcon(288, 3, 17.132080011069775, -43.76953125, 0));
				map.addOverlay(addIcon(278, 3, -8.685791082680225, 60.93017578125, 0));
				map.addOverlay(addIcon(267, 3, -47.808105535805225, -22.4560546875, 0));
				map.addOverlay(addIcon(268, 3, -49.148437567055225, -26.71875, 0));
				map.addOverlay(addIcon(269, 3, -49.335205145180225, -23.115234375, 0));
				map.addOverlay(addIcon(270, 3, -41.600830145180225, 2.74658203125, 0));
				map.addOverlay(addIcon(271, 3, -19.034912176430225, 20.302734375, 0));
				map.addOverlay(addIcon(272, 3, -27.692138738930225, 88.2421875, 0));
				map.addOverlay(addIcon(273, 3, -29.801513738930225, 91.318359375, 0));
				map.addOverlay(addIcon(274, 3, -16.694824285805225, 62.51220703125, 0));
				map.addOverlay(addIcon(275, 3, -8.268310613930225, 71.3232421875, 0));
				map.addOverlay(addIcon(276, 3, -8.257324285805225, 74.64111328125, 0));
				map.addOverlay(addIcon(277, 3, -7.598144598305225, 72.66357421875, 0));
				map.addOverlay(addIcon(266, 3, -43.457519598305225, -25.90576171875, 0));
				map.addOverlay(addIcon(265, 3, -44.951660223305225, -42.07763671875, 0));
				map.addOverlay(addIcon(264, 3, -44.797851629555225, -41.220703125, 0));
				map.addOverlay(addIcon(263, 3, -45.896484442055225, -38.86962890625, 0));
				map.addOverlay(addIcon(255, 3, -53.125488348305225, -22.39013671875, 0));
				map.addOverlay(addIcon(256, 3, -57.124511785805225, -33.15673828125, 0));
				map.addOverlay(addIcon(257, 3, -54.597656317055225, -34.25537109375, 0));
				map.addOverlay(addIcon(258, 3, -53.817627020180225, -31.9921875, 0));
				map.addOverlay(addIcon(259, 3, -48.972656317055225, -40.5615234375, 0));
				map.addOverlay(addIcon(260, 3, -51.082031317055225, -31.83837890625, 0));
				map.addOverlay(addIcon(261, 3, -47.423584051430225, -32.54150390625, 0));
				map.addOverlay(addIcon(262, 3, -43.325683660805225, -33.310546875, 0));
				map.addOverlay(addIcon(254, 3, -55.377685613930225, -24.400634765625, 0));
				map.addOverlay(addIcon(250, 3, 32.556884698569775, -61.798095703125, 0));
				map.addOverlay(addIcon(249, 3, 33.270996026694775, -62.633056640625, 0));
				map.addOverlay(addIcon(295, 3, 43.323486261069775, -18.69873046875, 0));
				map.addOverlay(addIcon(296, 3, 41.477783136069775, -20.58837890625, 0));
				map.addOverlay(addIcon(297, 3, 38.379638604819775, -21.4013671875, 0));
				map.addOverlay(addIcon(298, 3, 41.664550714194775, -33.5302734375, 0));
				map.addOverlay(addIcon(299, 3, 52.639892511069775, -26.25732421875, 0));
				map.addOverlay(addIcon(300, 3, 55.221679620444775, -35.33203125, 0));
				map.addOverlay(addIcon(301, 3, 56.781738214194775, -37.28759765625, 0));
				map.addOverlay(addIcon(302, 3, 60.495117120444775, -33.0029296875, 0));
				map.addOverlay(addIcon(303, 3, 58.649413995444775, -30.9375, 0));
				map.addOverlay(addIcon(304, 3, 56.562011651694775, -27.59765625, 0));
				map.addOverlay(addIcon(305, 3, 55.078857354819775, -19.75341796875, 0));
				map.addOverlay(addIcon(306, 3, 53.716552667319775, -18.43505859375, 0));
				map.addOverlay(addIcon(309, 3, 59.407470636069775, -14.8974609375, 0));
				map.addOverlay(addIcon(334, 3, 51.760986261069775, 42.2314453125, 0));
				map.addOverlay(addIcon(335, 3, 50.145996026694775, 45.41748046875, 0));
				map.addOverlay(addIcon(336, 3, 52.947509698569775, 48.3837890625, 0));
				map.addOverlay(addIcon(337, 3, 51.508300714194775, 51.064453125, 0));
				map.addOverlay(addIcon(338, 3, 49.464843682944775, 54.6240234375, 0));
				map.addOverlay(addIcon(339, 3, 48.465087823569775, 57.67822265625, 0));
				map.addOverlay(addIcon(340, 3, 50.189941339194775, 64.6435546875, 0));
				map.addOverlay(addIcon(341, 3, 50.233886651694775, 73.037109375, 0));
				map.addOverlay(addIcon(343, 3, 29.392822198569775, 67.08251953125, 0));
				map.addOverlay(addIcon(342, 3, 22.031982354819775, 64.53369140625, 0));
				map.addOverlay(addIcon(344, 3, 29.942138604819775, 81.1669921875, 0));
				map.addOverlay(addIcon(345, 3, 34.018066339194775, 92.57080078125, 0));
				map.addOverlay(addIcon(357, 3, -39.810058660805225, 22.1044921875, 0));
				map.addOverlay(addIcon(358, 3, -34.877197332680225, 7.40478515625, 0));
				map.addOverlay(addIcon(360, 3, -28.582031317055225, 42.8466796875, 0));
				map.addOverlay(addIcon(361, 3, -22.704345770180225, 87.91259765625, 0));
				map.addOverlay(addIcon(362, 3, -24.110595770180225, 62.20458984375, 0));
				map.addOverlay(addIcon(377, 3, -15.013916082680225, -42.7587890625, 0));
				map.addOverlay(addIcon(378, 3, -46.182128973305225, -24.2138671875, 0));
				map.addOverlay(addIcon(388, 3, 31.579101495444775, 18.446044921875, 0));
				map.addOverlay(addIcon(389, 3, 2.4653319641947746, -40.023193359375, 0));
			break;
			case "cc4":
				map.addOverlay(addIcon(157, 4, 49.295654296875, 77.34375, 0));
				map.addOverlay(addIcon(158, 4, 16.171875, 70.13671875, 0));
				map.addOverlay(addIcon(159, 4, 11.337890625, 53.61328125, 0));
				map.addOverlay(addIcon(370, 4, 46.311767511069775, 97.3388671875, 0));
				map.addOverlay(addIcon(211, 4, 46.992919854819775, 106.490478515625, 0));
				map.addOverlay(addIcon(212, 4, 40.939453057944775, 61.270751953125, 0));
				map.addOverlay(addIcon(213, 4, 30.524413995444775, 58.128662109375, 0));
				map.addOverlay(addIcon(214, 4, 26.690185479819775, 46.988525390625, 0));
				map.addOverlay(addIcon(215, 4, 41.192138604819775, 34.156494140625, 0));
				map.addOverlay(addIcon(216, 4, 33.435790948569775, 15.677490234375, 0));
				map.addOverlay(addIcon(217, 4, 15.462158136069775, 23.917236328125, 0));
				map.addOverlay(addIcon(218, 4, 35.995605401694775, -20.841064453125, 0));
				map.addOverlay(addIcon(219, 4, 46.256835870444775, 11.458740234375, 0));
				map.addOverlay(addIcon(220, 4, 25.459716729819775, -64.852294921875, 0));
				map.addOverlay(addIcon(221, 4, 12.627685479819775, -40.814208984375, 0));
				map.addOverlay(addIcon(222, 4, 10.144775323569775, -53.140869140625, 0));
				map.addOverlay(addIcon(223, 4, 0.3339843079447746, -68.697509765625, 0));
				map.addOverlay(addIcon(224, 4, -9.751464910805225, -72.916259765625, 0));
				map.addOverlay(addIcon(225, 4, -12.201416082680225, -53.184814453125, 0));
				map.addOverlay(addIcon(226, 4, -8.323242254555225, -41.209716796875, 0));
				map.addOverlay(addIcon(227, 4, -7.554199285805225, -43.187255859375, 0));
				map.addOverlay(addIcon(228, 4, -4.686767645180225, -14.512939453125, 0));
				map.addOverlay(addIcon(229, 4, -5.400878973305225, 40.704345703125, 0));
				map.addOverlay(addIcon(230, 4, 10.628173761069775, 62.369384765625, 0));
				map.addOverlay(addIcon(231, 4, 8.101318292319775, 60.897216796875, 0));
				map.addOverlay(addIcon(232, 4, -3.2365723326802254, 58.524169921875, 0));
				map.addOverlay(addIcon(233, 4, -5.642578192055225, 62.545166015625, 0));
				map.addOverlay(addIcon(234, 4, -14.299804754555225, 60.369873046875, 0));
				map.addOverlay(addIcon(235, 4, -35.679199285805225, 93.592529296875, 0));
				map.addOverlay(addIcon(236, 4, -22.814209051430225, 11.546630859375, 0));
				map.addOverlay(addIcon(237, 4, -34.152099676430225, 5.592041015625, 0));
				map.addOverlay(addIcon(238, 4, -44.731933660805225, -2.625732421875, 0));
				map.addOverlay(addIcon(239, 4, -54.707519598305225, -34.552001953125, 0));
				map.addOverlay(addIcon(240, 4, -34.690429754555225, -104.578857421875, 0));
				map.addOverlay(addIcon(369, 4, 44.993408136069775, 94.39453125, 0));
			break;
			case "cc5":
			break;
			case "cc6":
				map.addOverlay(addIcon(174, 6, 41.37451171875, 18.5009765625, 0));
				map.addOverlay(addIcon(175, 6, -8.19580078125, -12.19482421875, 0));
				map.addOverlay(addIcon(173, 6, 33.134765625, 25.24658203125, 0));
				map.addOverlay(addIcon(171, 6, -24.80712890625, 61.80908203125, 0));
				map.addOverlay(addIcon(172, 6, -11.986083984375, 29.20166015625, 0));
			break;
			case "cc7":
				map.addOverlay(addIcon(111, 7, 43.9892578125, 15.57861328125, 0));
				map.addOverlay(addIcon(112, 7, 54.920654296875, 47.43896484375, 0));
			break;
			case "cc8":
				map.addOverlay(addIcon(113, 8, 1.56005859375, -61.5673828125, 0));
			break;
			case "cc9":
				map.addOverlay(addIcon(120, 9, 53.624267578125, 47.1533203125, 0));
				map.addOverlay(addIcon(121, 9, -54.503173828125, -37.46337890625, 0));
			break;
			case "cc10":
				map.addOverlay(addIcon(124, 10, 0.098876953125, 25.576171875, 0));
				map.addOverlay(addIcon(125, 10, 5.526123046875, -56.79931640625, 0));
			break;
			case "cc11":
				map.addOverlay(addIcon(114, 11, 28.14697265625, -71.12548828125, 0));
				map.addOverlay(addIcon(115, 11, 7.745361328125, -23.818359375, 0));
			break;
			case "cc12":
				map.addOverlay(addIcon(107, 12, 1.636962890625, 3.0322265625, 0));
				map.addOverlay(addIcon(108, 12, 45.516357421875, -18.8525390625, 0));
			break;
			case "cc13":
				map.addOverlay(addIcon(126, 13, -29.959716796875, 24.8291015625, 0));
				map.addOverlay(addIcon(127, 13, 4.63623046875, 44.9560546875, 0));
				map.addOverlay(addIcon(128, 13, 40.836181640625, -39.7705078125, 0));
				map.addOverlay(addIcon(168, 13, 24.32373046875, -64.18212890625, 0));
				map.addOverlay(addIcon(169, 13, 55.810546875, 57.54638671875, 0));
			break;
			case "cc14":
				map.addOverlay(addIcon(122, 14, 32.84912109375, 79.25537109375, 0));
				map.addOverlay(addIcon(123, 14, -16.0400390625, 44.296875, 0));
			break;
			case "cc15":
				map.addOverlay(addIcon(105, 15, -20.2587890625, 13.7548828125, 0));
				map.addOverlay(addIcon(106, 15, 41.539306640625, -26.279296875, 0));
			break;
			case "cc16":
				map.addOverlay(addIcon(155, 16, -3.22998046875, 18.28125, 0));
				map.addOverlay(addIcon(156, 16, -32.266845703125, -95.0537109375, 0));
			break;
			case "cc17":
				map.addOverlay(addIcon(307, 17, 25.576171875, -56.7333984375, 0));
				map.addOverlay(addIcon(308, 17, 30.8935546875, -67.7197265625, 0));
				map.addOverlay(addIcon(310, 17, 36.968994140625, -45.5712890625, 0));
				map.addOverlay(addIcon(311, 17, 44.373779296875, -28.19091796875, 0));
				map.addOverlay(addIcon(312, 17, 49.921875, -7.294921875, 0));
				map.addOverlay(addIcon(313, 17, 58.590087890625, 47.4169921875, 0));
				map.addOverlay(addIcon(314, 17, 48.790283203125, 46.99951171875, 0));
				map.addOverlay(addIcon(315, 17, 45.274658203125, 70.13671875, 0));
				map.addOverlay(addIcon(316, 17, 55.623779296875, 77.51953125, 0));
				map.addOverlay(addIcon(317, 17, 51.92138671875, 103.447265625, 0));
				map.addOverlay(addIcon(318, 17, 42.978515625, 89.93408203125, 0));
				map.addOverlay(addIcon(319, 17, 31.563720703125, 52.119140625, 0));
				map.addOverlay(addIcon(320, 17, 21.434326171875, 33.59619140625, 0));
				map.addOverlay(addIcon(321, 17, 6.075439453125, 46.99951171875, 0));
				map.addOverlay(addIcon(322, 17, 10.909423828125, 64.3359375, 0));
				map.addOverlay(addIcon(323, 17, -6.767578125, 85.7373046875, 0));
				map.addOverlay(addIcon(324, 17, 11.2060546875, -52.71240234375, 0));
				map.addOverlay(addIcon(325, 17, -2.449951171875, -31.35498046875, 0));
				map.addOverlay(addIcon(326, 17, -19.6435546875, 91.34033203125, 0));
				map.addOverlay(addIcon(327, 17, -23.258056640625, 75.146484375, 0));
				map.addOverlay(addIcon(328, 17, -30.311279296875, -87.099609375, 0));
				map.addOverlay(addIcon(329, 17, -39.17724609375, -100.810546875, 0));
				map.addOverlay(addIcon(330, 17, -39.803466796875, 17.0068359375, 0));
				map.addOverlay(addIcon(331, 17, -41.715087890625, 0.9228515625, 0));
				map.addOverlay(addIcon(332, 17, -56.42578125, -4.833984375, 0));
				map.addOverlay(addIcon(333, 17, -60.435791015625, -25.927734375, 0));
				map.addOverlay(addIcon(394, 17, -5.499755926430225, 15.809326171875, 0));
			break;
			case "cc18":
				map.addOverlay(addIcon(109, 18, 0.076904296875, 25.576171875, 0));
				map.addOverlay(addIcon(110, 18, 53.250732421875, -26.3671875, 0));
			break;
			case "cc19":
				map.addOverlay(addIcon(118, 19, 20.335693359375, 40.4296875, 0));
				map.addOverlay(addIcon(119, 19, -14.271240234375, -3.53759765625, 0));
			break;
			case "cc20":
				map.addOverlay(addIcon(116, 20, -11.019287109375, -14.677734375, 0));
				map.addOverlay(addIcon(117, 20, 22.554931640625, 53.61328125, 0));
			break;
			case "cc22":
			break;
			case "cc23":
			break;
			case "cc24":
			break;
			case "cc25":
			break;
			case "cc26":
			break;
			case "cc27":
			break;
			case "cc28":
			break;
			case "cc29":
			break;
			case "cc30":
			break;
			case "cc31":
			break;
			case "cc32":
			break;
			case "cc33":
				map.addOverlay(addIcon(129, 33, -20.775146484375, 82.880859375, 0));
				map.addOverlay(addIcon(130, 33, -18.643798828125, 89.45068359375, 0));
				map.addOverlay(addIcon(131, 33, -11.898193359375, 55.0634765625, 0));
				map.addOverlay(addIcon(132, 33, 40.352783203125, 32.16796875, 0));
				map.addOverlay(addIcon(133, 33, 27.59765625, -68.4228515625, 0));
				map.addOverlay(addIcon(134, 33, -46.395263671875, -6.943359375, 0));
				map.addOverlay(addIcon(135, 33, -20.225830078125, 13.095703125, 0));
				map.addOverlay(addIcon(136, 33, -29.06982421875, 18.39111328125, 0));
				map.addOverlay(addIcon(137, 33, -40.352783203125, 13.95263671875, 0));
				map.addOverlay(addIcon(138, 33, -32.091064453125, -100.96435546875, 0));
				map.addOverlay(addIcon(139, 33, -13.743896484375, -70.07080078125, 0));
				map.addOverlay(addIcon(140, 33, 11.568603515625, -22.939453125, 0));
				map.addOverlay(addIcon(141, 33, 0.538330078125, 62.33642578125, 0));
				map.addOverlay(addIcon(142, 33, 8.206787109375, 62.314453125, 0));
				map.addOverlay(addIcon(143, 33, -7.943115234375, 80.947265625, 0));
				map.addOverlay(addIcon(144, 33, 37.650146484375, 80.04638671875, 0));
				map.addOverlay(addIcon(145, 33, 32.2998046875, 57.81005859375, 0));
				map.addOverlay(addIcon(146, 33, 51.295166015625, 48.05419921875, 0));
				map.addOverlay(addIcon(147, 33, 42.154541015625, 62.40234375, 0));
				map.addOverlay(addIcon(148, 33, 52.8662109375, 52.20703125, 0));
				map.addOverlay(addIcon(149, 33, 44.84619140625, -1.7578125, 0));
				map.addOverlay(addIcon(150, 33, 38.78173828125, -30.1904296875, 0));
				map.addOverlay(addIcon(151, 33, 55.5029296875, -12.37060546875, 0));
				map.addOverlay(addIcon(152, 33, 49.625244140625, 104.04052734375, 0));
				map.addOverlay(addIcon(153, 33, 0.516357421875, -61.69921875, 0));
				map.addOverlay(addIcon(154, 33, -7.53662109375, -60.66650390625, 0));
			break;
			case "cc34":
			break;
			case "cc35":
				map.addOverlay(addIcon(164, 35, -0.85693359375, 12.216796875, 0));
				map.addOverlay(addIcon(208, 35, 52.613525390625, -2.70263671875, 0));
				map.addOverlay(addIcon(242, 35, 52.8662109375, -2.30712890625, 0));
				map.addOverlay(addIcon(244, 35, 52.5146484375, -2.13134765625, 0));
				map.addOverlay(addIcon(353, 35, -0.52734375, 12.28271484375, 0));
				map.addOverlay(addIcon(379, 35, 20.599365234375, 38.64990234375, 0));
				map.addOverlay(addIcon(382, 35, 32.354736328125, 55.1953125, 0));
				map.addOverlay(addIcon(383, 35, -0.648193359375, 12.67822265625, 0));
				map.addOverlay(addIcon(384, 35, 45.703125, -38.86962890625, 0));
				map.addOverlay(addIcon(385, 35, -0.966796875, 12.67822265625, 0));
				map.addOverlay(addIcon(386, 35, 45.538330078125, -1.669921875, 0));
			break;
			case "cc36":
				map.addOverlay(addIcon(165, 36, -1.087646484375, 13.02978515625, 0));
				map.addOverlay(addIcon(207, 36, 6.70166015625, 24.697265625, 0));
				map.addOverlay(addIcon(371, 36, 0.85693359375, -32.49755859375, 0));
				map.addOverlay(addIcon(241, 36, 50.2734375, -31.09130859375, 0));
				map.addOverlay(addIcon(352, 36, -0.7470703125, 13.095703125, 0));
				map.addOverlay(addIcon(365, 36, -10.04150390625, -20.56640625, 0));
				map.addOverlay(addIcon(366, 36, 4.7900390625, -10.3271484375, 0));
				map.addOverlay(addIcon(375, 36, -17.193603515625, 85.27587890625, 0));
				map.addOverlay(addIcon(376, 36, -1.2744140625, 13.4912109375, 0));
				map.addOverlay(addIcon(380, 36, 4.85595703125, -11.66748046875, 0));
				map.addOverlay(addIcon(381, 36, -0.90087890625, 13.4912109375, 0));
			break;
			case "cc37":
				map.addOverlay(addIcon(167, 37, -21.434326171875, 82.5732421875, 0));
				map.addOverlay(addIcon(245, 37, -2.5048828125, 21.09375, 0));
				map.addOverlay(addIcon(248, 37, -0.670166015625, 11.689453125, 0));
				map.addOverlay(addIcon(206, 37, 21.214599609375, -40.23193359375, 0));
				map.addOverlay(addIcon(372, 37, -12.15087890625, 6.08642578125, 0));
				map.addOverlay(addIcon(243, 37, -6.61376953125, -25.72998046875, 0));
				map.addOverlay(addIcon(350, 37, -0.384521484375, 11.71142578125, 0));
				map.addOverlay(addIcon(356, 37, 4.954833984375, 24.4775390625, 0));
				map.addOverlay(addIcon(364, 37, -8.45947265625, -20.80810546875, 0));
			break;
			case "cc38":
				map.addOverlay(addIcon(387, 38, -1.571044921875, 19.27001953125, 0));
				map.addOverlay(addIcon(390, 38, -31.46484375, 22.67578125, 0));
				map.addOverlay(addIcon(392, 38, -0.52734375, 11.14013671875, 0));
				map.addOverlay(addIcon(393, 38, 5.877685546875, 62.33642578125, 0));
			break;
			case "cc39":
			break;
			case "cc40":
				map.addOverlay(addIcon(347, 40, 45.604248046875, -1.669921875, 0));
				map.addOverlay(addIcon(354, 40, 38.86962890625, 59.83154296875, 0));
				map.addOverlay(addIcon(355, 40, 44.36279296875, 93.1640625, 0));
				map.addOverlay(addIcon(363, 40, 56.3818359375, -10.72265625, 0));
			break;
			case "cc41":
				map.addOverlay(addIcon(346, 41, 41.748046875, -31.5087890625, 0));
				map.addOverlay(addIcon(348, 41, 2.48291015625, 20.72021484375, 0));
				map.addOverlay(addIcon(351, 41, -7.53662109375, -48.1201171875, 0));
				map.addOverlay(addIcon(367, 41, 14.4140625, 4.02099609375, 0));
			break;
			case "cc42":
				map.addOverlay(addIcon(247, 42, -12.095947265625, -20.302734375, 0));
				map.addOverlay(addIcon(349, 42, -37.11181640625, 31.728515625, 0));
				map.addOverlay(addIcon(246, 42, -9.5361328125, -9.29443359375, 0));
				map.addOverlay(addIcon(359, 42, -56.217041015625, -37.6611328125, 0));
			break;
			case "cc43":
				map.addOverlay(addIcon(391, 43, 39.96826171875, 29.50927734375, 0));
			break;
			case "cc92":
				map.addOverlay(addIcon(160, 92, 27.158203125, -69.08203125, 0));
				map.addOverlay(addIcon(161, 92, 13.359375, 4.921875, 0));
				map.addOverlay(addIcon(162, 92, 52.3388671875, -3.01025390625, 0));
				map.addOverlay(addIcon(163, 92, -1.34033203125, 11.953125, 0));
				map.addOverlay(addIcon(373, 92, -2.04345703125, 10.5908203125, 0));
				map.addOverlay(addIcon(374, 92, 7.569580078125, -24.2138671875, 0));
			break;
			case "cc93":
				map.addOverlay(addIcon(166, 93, -20.390625, 83.0126953125, 0));
			break;
		}
		}

function load() {

	if (GBrowserIsCompatible()) {
	
		resizeMapDiv();
		
		// add copy right
		var copyright = new GCopyright(1,new GLatLngBounds(new GLatLng(-90, -180),new GLatLng(90, 180)),0,"");
		var copyrightCollection = new GCopyrightCollection("");
		copyrightCollection.addCopyright(copyright);

		//create a custom picture layer
		var pic_tileLayers = [ new GTileLayer(copyrightCollection , 0, 17)];
		pic_tileLayers[0].getTileUrl = customGetTileURL;
		pic_tileLayers[0].isPng = function() { return false; };
		pic_tileLayers[0].getOpacity = function() { return 1.0; };
		var proj=new CustomProjection(7,imageWraps);
		var pic_customMap = new GMapType(pic_tileLayers, proj, "Pic",{maxResolution:6, minResolution:0, errorMessage:"Data not available"});
		
		// startup the map
		map = new GMap2(document.getElementById("map"),{mapTypes:[pic_customMap]});
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.addControl(new GOverviewMapControl());
		map.enableDoubleClickZoom();
		map.enableContinuousZoom();
		map.enableScrollWheelZoom();
		map.setCenter(new GLatLng(centreLat, centreLon), initialZoom, pic_customMap);
		
		//console.log("adding icons");
		// add start icons

				
	}
}