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(220, 1, 61.32568359375, -42.1435546875, 0));
				map.addOverlay(addIcon(221, 1, 72.630615234375, -6.39404296875, 0));
				map.addOverlay(addIcon(222, 1, 73.707275390625, 35.5078125, 0));
				map.addOverlay(addIcon(223, 1, 47.21923828125, -41.19873046875, 0));
				map.addOverlay(addIcon(224, 1, 34.683837890625, 30.95947265625, 0));
				map.addOverlay(addIcon(225, 1, 18.643798828125, -44.27490234375, 0));
				map.addOverlay(addIcon(226, 1, 13.853759765625, 19.775390625, 0));
				map.addOverlay(addIcon(227, 1, 25.51025390625, 56.22802734375, 0));
				map.addOverlay(addIcon(228, 1, -30.3662109375, -52.75634765625, 0));
				map.addOverlay(addIcon(229, 1, -19.62158203125, -17.2705078125, 0));
				map.addOverlay(addIcon(230, 1, -27.57568359375, 25.99365234375, 0));
				map.addOverlay(addIcon(231, 1, -51.8115234375, -60.62255859375, 0));
				map.addOverlay(addIcon(232, 1, -53.7890625, 17.138671875, 0));
				map.addOverlay(addIcon(233, 1, -38.309326171875, 57.4365234375, 0));
				map.addOverlay(addIcon(234, 1, -62.830810546875, -19.27001953125, 0));
				map.addOverlay(addIcon(255, 1, -76.52636725455523, -53.184814453125, 0));
				map.addOverlay(addIcon(256, 1, -76.52636725455523, -53.184814453125, 0));
			break;
			case "cc2":
				map.addOverlay(addIcon(243, 2, 68.97216796875, 33.90380859375, 0));
				map.addOverlay(addIcon(244, 2, 40.067138671875, -35.068359375, 0));
				map.addOverlay(addIcon(245, 2, 38.616943359375, 31.70654296875, 0));
				map.addOverlay(addIcon(246, 2, 22.21435546875, 2.65869140625, 0));
				map.addOverlay(addIcon(247, 2, -24.08203125, 11.07421875, 0));
				map.addOverlay(addIcon(248, 2, -48.592529296875, -53.23974609375, 0));
				map.addOverlay(addIcon(249, 2, -34.27734375, 52.3388671875, 0));
				map.addOverlay(addIcon(250, 2, -63.34716796875, -13.359375, 0));
			break;
			case "cc3":
				map.addOverlay(addIcon(235, 3, 59.87548828125, -38.86962890625, 0));
				map.addOverlay(addIcon(236, 3, 31.695556640625, 57.15087890625, 0));
				map.addOverlay(addIcon(237, 3, 16.622314453125, -45.17578125, 0));
				map.addOverlay(addIcon(238, 3, 18.74267578125, 39.814453125, 0));
				map.addOverlay(addIcon(239, 3, -31.7724609375, -4.7900390625, 0));
				map.addOverlay(addIcon(240, 3, -44.197998046875, 60.44677734375, 0));
				map.addOverlay(addIcon(241, 3, -62.083740234375, -23.70849609375, 0));
				map.addOverlay(addIcon(242, 3, -75.52001953125, 34.2333984375, 0));
			break;
			case "cc4":
				map.addOverlay(addIcon(1, 4, 71.004638671875, -47.548828125, 0));
				map.addOverlay(addIcon(2, 4, 65.45654296875, -60.8203125, 0));
				map.addOverlay(addIcon(3, 4, 65.753173828125, -50.4052734375, 0));
				map.addOverlay(addIcon(4, 4, 65.753173828125, -45.06591796875, 0));
				map.addOverlay(addIcon(5, 4, 68.082275390625, -38.47412109375, 0));
				map.addOverlay(addIcon(6, 4, 72.509765625, -25.72998046875, 0));
				map.addOverlay(addIcon(7, 4, 66.29150390625, -29.00390625, 0));
				map.addOverlay(addIcon(8, 4, 62.786865234375, -39.57275390625, 0));
				map.addOverlay(addIcon(9, 4, 61.929931640625, -51.83349609375, 0));
				map.addOverlay(addIcon(10, 4, 62.984619140625, -58.271484375, 0));
				map.addOverlay(addIcon(11, 4, 59.8974609375, -48.93310546875, 0));
				map.addOverlay(addIcon(12, 4, 59.974365234375, -36.826171875, 0));
				map.addOverlay(addIcon(13, 4, 61.41357421875, -30.03662109375, 0));
				map.addOverlay(addIcon(14, 4, 57.557373046875, -58.4033203125, 0));
				map.addOverlay(addIcon(15, 4, 56.35986328125, -31.35498046875, 0));
				map.addOverlay(addIcon(16, 4, 65.291748046875, -9.42626953125, 0));
				map.addOverlay(addIcon(17, 4, 68.2470703125, 3.71337890625, 0));
				map.addOverlay(addIcon(18, 4, 73.421630859375, 11.77734375, 0));
				map.addOverlay(addIcon(19, 4, 68.73046875, 17.8857421875, 0));
				map.addOverlay(addIcon(20, 4, 64.35791015625, 11.88720703125, 0));
				map.addOverlay(addIcon(21, 4, 60.27099609375, 2.724609375, 0));
				map.addOverlay(addIcon(22, 4, 58.99658203125, 8.81103515625, 0));
				map.addOverlay(addIcon(23, 4, 61.32568359375, -9.68994140625, 0));
				map.addOverlay(addIcon(24, 4, 60.2490234375, -6.767578125, 0));
				map.addOverlay(addIcon(25, 4, 58.260498046875, -13.359375, 0));
				map.addOverlay(addIcon(26, 4, 53.712158203125, -2.61474609375, 0));
				map.addOverlay(addIcon(27, 4, 54.95361328125, 1.1865234375, 0));
				map.addOverlay(addIcon(28, 4, 72.432861328125, 42.01171875, 0));
				map.addOverlay(addIcon(29, 4, 71.971435546875, 63.21533203125, 0));
				map.addOverlay(addIcon(30, 4, 67.972412109375, 42.91259765625, 0));
				map.addOverlay(addIcon(31, 4, 66.258544921875, 40.60546875, 0));
				map.addOverlay(addIcon(32, 4, 67.049560546875, 23.35693359375, 0));
				map.addOverlay(addIcon(33, 4, 62.171630859375, 28.05908203125, 0));
				map.addOverlay(addIcon(34, 4, 66.038818359375, 50.625, 0));
				map.addOverlay(addIcon(35, 4, 62.808837890625, 57.63427734375, 0));
				map.addOverlay(addIcon(36, 4, 54.84375, 57.8759765625, 0));
				map.addOverlay(addIcon(37, 4, 52.239990234375, -64.3798828125, 0));
				map.addOverlay(addIcon(38, 4, 50.73486328125, -38.9794921875, 0));
				map.addOverlay(addIcon(39, 4, 45.911865234375, -53.7890625, 0));
				map.addOverlay(addIcon(40, 4, 46.58203125, -28.23486328125, 0));
				map.addOverlay(addIcon(41, 4, 48.0322265625, -36.32080078125, 0));
				map.addOverlay(addIcon(42, 4, 48.065185546875, -39.39697265625, 0));
				map.addOverlay(addIcon(43, 4, 47.493896484375, -47.28515625, 0));
				map.addOverlay(addIcon(44, 4, 43.231201171875, -53.6572265625, 0));
				map.addOverlay(addIcon(45, 4, 39.715576171875, -46.07666015625, 0));
				map.addOverlay(addIcon(46, 4, 34.793701171875, -49.10888671875, 0));
				map.addOverlay(addIcon(47, 4, 40.4296875, -35.92529296875, 0));
				map.addOverlay(addIcon(48, 4, 33.42041015625, -61.36962890625, 0));
				map.addOverlay(addIcon(49, 4, 34.881591796875, -41.59423828125, 0));
				map.addOverlay(addIcon(50, 4, 35.452880859375, -31.97021484375, 0));
				map.addOverlay(addIcon(51, 4, 34.508056640625, -24.89501953125, 0));
				map.addOverlay(addIcon(52, 4, 50.64697265625, -14.96337890625, 0));
				map.addOverlay(addIcon(53, 4, 49.361572265625, -4.1748046875, 0));
				map.addOverlay(addIcon(54, 4, 50.745849609375, 19.86328125, 0));
				map.addOverlay(addIcon(55, 4, 45.63720703125, -6.43798828125, 0));
				map.addOverlay(addIcon(56, 4, 45.439453125, 3.84521484375, 0));
				map.addOverlay(addIcon(57, 4, 32.860107421875, -7.4267578125, 0));
				map.addOverlay(addIcon(58, 4, 39.287109375, -9.84375, 0));
				map.addOverlay(addIcon(59, 4, 41.341552734375, -0.6591796875, 0));
				map.addOverlay(addIcon(60, 4, 39.96826171875, 2.98828125, 0));
				map.addOverlay(addIcon(61, 4, 39.276123046875, 17.02880859375, 0));
				map.addOverlay(addIcon(62, 4, 36.925048828125, 1.6259765625, 0));
				map.addOverlay(addIcon(63, 4, 33.3544921875, 3.69140625, 0));
				map.addOverlay(addIcon(64, 4, 50.2294921875, 26.34521484375, 0));
				map.addOverlay(addIcon(65, 4, 46.99951171875, 36.1669921875, 0));
				map.addOverlay(addIcon(66, 4, 47.208251953125, 64.248046875, 0));
				map.addOverlay(addIcon(67, 4, 45.3515625, 28.564453125, 0));
				map.addOverlay(addIcon(68, 4, 45, 43.65966796875, 0));
				map.addOverlay(addIcon(69, 4, 44.5166015625, 53.7451171875, 0));
				map.addOverlay(addIcon(70, 4, 41.671142578125, 27.685546875, 0));
				map.addOverlay(addIcon(71, 4, 41.824951171875, 47.52685546875, 0));
				map.addOverlay(addIcon(72, 4, 34.903564453125, 30.234375, 0));
				map.addOverlay(addIcon(73, 4, 32.486572265625, 38.8916015625, 0));
				map.addOverlay(addIcon(74, 4, 35.771484375, 45.28564453125, 0));
				map.addOverlay(addIcon(75, 4, 32.596435546875, 57.744140625, 0));
				map.addOverlay(addIcon(76, 4, 29.080810546875, -53.94287109375, 0));
				map.addOverlay(addIcon(77, 4, 28.93798828125, -36.23291015625, 0));
				map.addOverlay(addIcon(78, 4, 29.20166015625, -25.86181640625, 0));
				map.addOverlay(addIcon(79, 4, 25.631103515625, -62.666015625, 0));
				map.addOverlay(addIcon(80, 4, 25.07080078125, -41.923828125, 0));
				map.addOverlay(addIcon(81, 4, 22.34619140625, -44.6044921875, 0));
				map.addOverlay(addIcon(82, 4, 19.66552734375, -36.9140625, 0));
				map.addOverlay(addIcon(83, 4, 17.07275390625, -50.4052734375, 0));
				map.addOverlay(addIcon(84, 4, 17.1826171875, -25.9716796875, 0));
				map.addOverlay(addIcon(85, 4, 13.040771484375, -63.30322265625, 0));
				map.addOverlay(addIcon(86, 4, 15.260009765625, -37.99072265625, 0));
				map.addOverlay(addIcon(87, 4, 11.239013671875, -30.2783203125, 0));
				map.addOverlay(addIcon(88, 4, 29.168701171875, -4.28466796875, 0));
				map.addOverlay(addIcon(89, 4, 28.795166015625, 6.591796875, 0));
				map.addOverlay(addIcon(90, 4, 27.61962890625, 15.00732421875, 0));
				map.addOverlay(addIcon(91, 4, 29.058837890625, 20.0830078125, 0));
				map.addOverlay(addIcon(92, 4, 26.004638671875, -10.634765625, 0));
				map.addOverlay(addIcon(93, 4, 25.24658203125, -0.17578125, 0));
				map.addOverlay(addIcon(94, 4, 24.378662109375, 10.21728515625, 0));
				map.addOverlay(addIcon(95, 4, 21.939697265625, -8.72314453125, 0));
				map.addOverlay(addIcon(96, 4, 19.8193359375, -10.1953125, 0));
				map.addOverlay(addIcon(97, 4, 18.973388671875, 9.86572265625, 0));
				map.addOverlay(addIcon(98, 4, 12.908935546875, -0.68115234375, 0));
				map.addOverlay(addIcon(99, 4, 13.238525390625, 12.2607421875, 0));
				map.addOverlay(addIcon(100, 4, 27.740478515625, 30.82763671875, 0));
				map.addOverlay(addIcon(101, 4, 27.61962890625, 47.08740234375, 0));
				map.addOverlay(addIcon(102, 4, 25.2685546875, 56.513671875, 0));
				map.addOverlay(addIcon(103, 4, 21.632080078125, 33.81591796875, 0));
				map.addOverlay(addIcon(104, 4, 22.313232421875, 39.0234375, 0));
				map.addOverlay(addIcon(105, 4, 21.741943359375, 51.48193359375, 0));
				map.addOverlay(addIcon(106, 4, 17.083740234375, 25.1806640625, 0));
				map.addOverlay(addIcon(107, 4, 16.98486328125, 30.4541015625, 0));
				map.addOverlay(addIcon(108, 4, 18.511962890625, 60.49072265625, 0));
				map.addOverlay(addIcon(109, 4, 12.491455078125, 33.02490234375, 0));
				map.addOverlay(addIcon(110, 4, 13.11767578125, 47.109375, 0));
				map.addOverlay(addIcon(111, 4, 13.0078125, 60.1171875, 0));
				map.addOverlay(addIcon(112, 4, 6.053466796875, -54.6240234375, 0));
				map.addOverlay(addIcon(113, 4, 2.6806640625, -38.935546875, 0));
				map.addOverlay(addIcon(114, 4, -2.911376953125, -56.7333984375, 0));
				map.addOverlay(addIcon(115, 4, -7.5146484375, -52.58056640625, 0));
				map.addOverlay(addIcon(116, 4, -16.72119140625, -45.615234375, 0));
				map.addOverlay(addIcon(117, 4, -18.511962890625, -31.35498046875, 0));
				map.addOverlay(addIcon(118, 4, -19.5556640625, -63.52294921875, 0));
				map.addOverlay(addIcon(119, 4, -24.01611328125, -32.45361328125, 0));
				map.addOverlay(addIcon(120, 4, -30.673828125, -60.40283203125, 0));
				map.addOverlay(addIcon(121, 4, -30.377197265625, -51.65771484375, 0));
				map.addOverlay(addIcon(122, 4, -29.1796875, -45.5712890625, 0));
				map.addOverlay(addIcon(123, 4, -29.564208984375, -24.4775390625, 0));
				map.addOverlay(addIcon(124, 4, -12.601318359375, -10.92041015625, 0));
				map.addOverlay(addIcon(125, 4, -12.28271484375, 6.0205078125, 0));
				map.addOverlay(addIcon(126, 4, -12.821044921875, 19.44580078125, 0));
				map.addOverlay(addIcon(127, 4, -17.841796875, 1.494140625, 0));
				map.addOverlay(addIcon(128, 4, -17.24853515625, 16.28173828125, 0));
				map.addOverlay(addIcon(129, 4, -19.35791015625, -14.74365234375, 0));
				map.addOverlay(addIcon(130, 4, -19.27001953125, 7.5146484375, 0));
				map.addOverlay(addIcon(131, 4, -22.027587890625, -13.3154296875, 0));
				map.addOverlay(addIcon(132, 4, -22.027587890625, 4.3505859375, 0));
				map.addOverlay(addIcon(133, 4, -24.049072265625, -18.0615234375, 0));
				map.addOverlay(addIcon(134, 4, -23.521728515625, 19.6435546875, 0));
				map.addOverlay(addIcon(135, 4, -27.366943359375, 4.02099609375, 0));
				map.addOverlay(addIcon(136, 4, -26.89453125, 14.2822265625, 0));
				map.addOverlay(addIcon(137, 4, -30.849609375, -16.50146484375, 0));
				map.addOverlay(addIcon(138, 4, -29.630126953125, 15.22705078125, 0));
				map.addOverlay(addIcon(139, 4, -14.556884765625, 37.9248046875, 0));
				map.addOverlay(addIcon(140, 4, -16.34765625, 30.0146484375, 0));
				map.addOverlay(addIcon(141, 4, -16.292724609375, 43.26416015625, 0));
				map.addOverlay(addIcon(142, 4, -17.698974609375, 58.271484375, 0));
				map.addOverlay(addIcon(143, 4, -21.258544921875, 24.78515625, 0));
				map.addOverlay(addIcon(144, 4, -21.456298828125, 50.03173828125, 0));
				map.addOverlay(addIcon(145, 4, -22.181396484375, 60.05126953125, 0));
				map.addOverlay(addIcon(146, 4, -25.675048828125, 24.98291015625, 0));
				map.addOverlay(addIcon(147, 4, -24.840087890625, 39.55078125, 0));
				map.addOverlay(addIcon(148, 4, -27.301025390625, 46.0546875, 0));
				map.addOverlay(addIcon(149, 4, -28.509521484375, 26.54296875, 0));
				map.addOverlay(addIcon(150, 4, -28.751220703125, 34.892578125, 0));
				map.addOverlay(addIcon(151, 4, -27.410888671875, 60.380859375, 0));
				map.addOverlay(addIcon(152, 4, -31.0693359375, 46.25244140625, 0));
				map.addOverlay(addIcon(153, 4, -30.970458984375, 52.97607421875, 0));
				map.addOverlay(addIcon(154, 4, -36.661376953125, -40.84716796875, 0));
				map.addOverlay(addIcon(155, 4, -38.21044921875, -55.8544921875, 0));
				map.addOverlay(addIcon(156, 4, -38.704833984375, -42.890625, 0));
				map.addOverlay(addIcon(157, 4, -37.452392578125, -32.783203125, 0));
				map.addOverlay(addIcon(158, 4, -42.352294921875, -55.61279296875, 0));
				map.addOverlay(addIcon(159, 4, -41.890869140625, -44.23095703125, 0));
				map.addOverlay(addIcon(160, 4, -46.571044921875, -55.4150390625, 0));
				map.addOverlay(addIcon(161, 4, -45.054931640625, -49.833984375, 0));
				map.addOverlay(addIcon(162, 4, -45.428466796875, -33.7060546875, 0));
				map.addOverlay(addIcon(163, 4, -45.3515625, -28.740234375, 0));
				map.addOverlay(addIcon(164, 4, -47.977294921875, -38.38623046875, 0));
				map.addOverlay(addIcon(165, 4, -48.8232421875, -39.96826171875, 0));
				map.addOverlay(addIcon(166, 4, -51.602783203125, -62.16064453125, 0));
				map.addOverlay(addIcon(167, 4, -50.47119140625, -52.6904296875, 0));
				map.addOverlay(addIcon(168, 4, -54.459228515625, -49.7021484375, 0));
				map.addOverlay(addIcon(169, 4, -34.91455078125, -7.40478515625, 0));
				map.addOverlay(addIcon(170, 4, -37.408447265625, -21.51123046875, 0));
				map.addOverlay(addIcon(171, 4, -37.188720703125, 0.81298828125, 0));
				map.addOverlay(addIcon(172, 4, -38.946533203125, 16.2158203125, 0));
				map.addOverlay(addIcon(173, 4, -41.8798828125, -15.71044921875, 0));
				map.addOverlay(addIcon(174, 4, -44.40673828125, 0.5712890625, 0));
				map.addOverlay(addIcon(175, 4, -45.780029296875, 1.16455078125, 0));
				map.addOverlay(addIcon(176, 4, -44.53857421875, 17.81982421875, 0));
				map.addOverlay(addIcon(177, 4, -48.93310546875, 4.9658203125, 0));
				map.addOverlay(addIcon(178, 4, -52.877197265625, -15.22705078125, 0));
				map.addOverlay(addIcon(179, 4, -54.481201171875, 3.93310546875, 0));
				map.addOverlay(addIcon(180, 4, -56.652099676430225, 16.446533203125, 0));
				map.addOverlay(addIcon(181, 4, -37.2216796875, 29.5751953125, 0));
				map.addOverlay(addIcon(182, 4, -35.672607421875, 38.38623046875, 0));
				map.addOverlay(addIcon(183, 4, -37.386474609375, 56.9091796875, 0));
				map.addOverlay(addIcon(184, 4, -41.055908203125, 28.3447265625, 0));
				map.addOverlay(addIcon(185, 4, -45.142822265625, 41.63818359375, 0));
				map.addOverlay(addIcon(186, 4, -41.451416015625, 47.43896484375, 0));
				map.addOverlay(addIcon(187, 4, -40.341796875, 58.38134765625, 0));
				map.addOverlay(addIcon(188, 4, -47.933349609375, 33.68408203125, 0));
				map.addOverlay(addIcon(189, 4, -49.7021484375, 46.16455078125, 0));
				map.addOverlay(addIcon(190, 4, -51.1083984375, 25.3125, 0));
				map.addOverlay(addIcon(191, 4, -51.15234375, 32.3876953125, 0));
				map.addOverlay(addIcon(192, 4, -53.822021484375, 41.46240234375, 0));
				map.addOverlay(addIcon(193, 4, -53.031005859375, 56.77734375, 0));
				map.addOverlay(addIcon(194, 4, -47.3291015625, 57.98583984375, 0));
				map.addOverlay(addIcon(195, 4, -55.645751953125, -57.32666015625, 0));
				map.addOverlay(addIcon(196, 4, -55.887451171875, -48.251953125, 0));
				map.addOverlay(addIcon(197, 4, -57.996826171875, -36.650390625, 0));
				map.addOverlay(addIcon(198, 4, -55.9423828125, -22.82958984375, 0));
				map.addOverlay(addIcon(199, 4, -62.567138671875, -63.896484375, 0));
				map.addOverlay(addIcon(200, 4, -60.029296875, -44.6484375, 0));
				map.addOverlay(addIcon(201, 4, -60.172119140625, -27.4658203125, 0));
				map.addOverlay(addIcon(202, 4, -62.611083984375, -33.55224609375, 0));
				map.addOverlay(addIcon(203, 4, -65.401611328125, -49.74609375, 0));
				map.addOverlay(addIcon(204, 4, -70.697021484375, -56.09619140625, 0));
				map.addOverlay(addIcon(205, 4, -69.180908203125, -49.3505859375, 0));
				map.addOverlay(addIcon(206, 4, -68.75244140625, -45.15380859375, 0));
				map.addOverlay(addIcon(207, 4, -70.477294921875, -31.8603515625, 0));
				map.addOverlay(addIcon(208, 4, -73.685302734375, -63.0615234375, 0));
				map.addOverlay(addIcon(209, 4, -74.344482421875, -27.70751953125, 0));
				map.addOverlay(addIcon(210, 4, -62.81982421875, -19.31396484375, 0));
				map.addOverlay(addIcon(211, 4, -63.1494140625, -9.68994140625, 0));
				map.addOverlay(addIcon(212, 4, -63.358154296875, -0.32958984375, 0));
				map.addOverlay(addIcon(213, 4, -62.24853515625, 4.32861328125, 0));
				map.addOverlay(addIcon(214, 4, -60.523681640625, 10.08544921875, 0));
				map.addOverlay(addIcon(215, 4, -66.59912109375, -13.7109375, 0));
				map.addOverlay(addIcon(216, 4, -70.631103515625, 6.50390625, 0));
				map.addOverlay(addIcon(217, 4, -61.7431640625, 22.8515625, 0));
				map.addOverlay(addIcon(218, 4, -64.0283203125, 40.71533203125, 0));
				map.addOverlay(addIcon(219, 4, -61.336669921875, 41.98974609375, 0));
				map.addOverlay(addIcon(257, 4, -54.070312567055225, 19.149169921875, 0));
			break;
			case "cc6":
				map.addOverlay(addIcon(262, 6, 53.562744073569775, -54.1845703125, 0));
				map.addOverlay(addIcon(265, 6, 68.94360344856977, 17.24853515625, 0));
				map.addOverlay(addIcon(280, 6, 32.436035089194775, 2.7685546875, 0));
				map.addOverlay(addIcon(286, 6, 33.095214776694775, 47.109375, 0));
				map.addOverlay(addIcon(290, 6, 14.462402276694775, -55.70068359375, 0));
				map.addOverlay(addIcon(299, 6, -17.167236395180225, -57.9638671875, 0));
				map.addOverlay(addIcon(306, 6, -19.617187567055225, 31.35498046875, 0));
				map.addOverlay(addIcon(323, 6, -61.156494207680225, -55.39306640625, 0));
				map.addOverlay(addIcon(329, 6, -66.21020514518023, 32.32177734375, 0));
			break;
			case "cc7":
				map.addOverlay(addIcon(258, 7, 73.01953118294477, -60.84228515625, 0));
				map.addOverlay(addIcon(259, 7, 68.98754876106977, -35.13427734375, 0));
				map.addOverlay(addIcon(260, 7, 56.166503839194775, -51.87744140625, 0));
				map.addOverlay(addIcon(261, 7, 55.243652276694775, -24.80712890625, 0));
				map.addOverlay(addIcon(263, 7, 69.16333001106977, -15.88623046875, 0));
				map.addOverlay(addIcon(264, 7, 67.88891594856977, -1.1865234375, 0));
				map.addOverlay(addIcon(266, 7, 63.472412042319775, 12.01904296875, 0));
				map.addOverlay(addIcon(267, 7, 62.077148370444775, -3.1640625, 0));
				map.addOverlay(addIcon(268, 7, 61.198242120444775, 14.87548828125, 0));
				map.addOverlay(addIcon(269, 7, 56.034667901694775, 14.91943359375, 0));
				map.addOverlay(addIcon(270, 7, 69.07543938606977, 47.96630859375, 0));
				map.addOverlay(addIcon(271, 7, 56.001708917319775, 45.02197265625, 0));
				map.addOverlay(addIcon(272, 7, 50.860107354819775, -58.42529296875, 0));
				map.addOverlay(addIcon(273, 7, 47.234619073569775, -29.2236328125, 0));
				map.addOverlay(addIcon(274, 7, 43.850830011069775, -47.43896484375, 0));
				map.addOverlay(addIcon(275, 7, 34.523437432944775, -58.77685546875, 0));
				map.addOverlay(addIcon(276, 7, 34.468505792319775, -23.466796875, 0));
				map.addOverlay(addIcon(277, 7, 50.387695245444775, -6.87744140625, 0));
				map.addOverlay(addIcon(278, 7, 41.587646417319775, 16.962890625, 0));
				map.addOverlay(addIcon(279, 7, 39.994628839194775, -17.40234375, 0));
				map.addOverlay(addIcon(281, 7, 49.343994073569775, 26.455078125, 0));
				map.addOverlay(addIcon(282, 7, 46.959960870444775, 38.38623046875, 0));
				map.addOverlay(addIcon(283, 7, 48.805663995444775, 63.25927734375, 0));
				map.addOverlay(addIcon(284, 7, 35.534179620444775, 25.42236328125, 0));
				map.addOverlay(addIcon(285, 7, 34.973876886069775, 47.3291015625, 0));
				map.addOverlay(addIcon(287, 7, 28.843505792319775, -35.39794921875, 0));
				map.addOverlay(addIcon(288, 7, 26.250732354819775, -47.92236328125, 0));
				map.addOverlay(addIcon(289, 7, 24.459960870444775, -59.74365234375, 0));
				map.addOverlay(addIcon(291, 7, 11.660888604819775, -29.64111328125, 0));
				map.addOverlay(addIcon(292, 7, 28.788574151694775, 19.70947265625, 0));
				map.addOverlay(addIcon(293, 7, 25.239990167319775, -3.62548828125, 0));
				map.addOverlay(addIcon(294, 7, 18.593261651694775, 20.36865234375, 0));
				map.addOverlay(addIcon(295, 7, 18.263671807944775, 3.75732421875, 0));
				map.addOverlay(addIcon(296, 7, 28.667724542319775, 37.24365234375, 0));
				map.addOverlay(addIcon(297, 7, 19.823730401694775, 55.56884765625, 0));
				map.addOverlay(addIcon(298, 7, 11.869628839194775, 35.2001953125, 0));
				map.addOverlay(addIcon(300, 7, -27.494384832680225, -54.60205078125, 0));
				map.addOverlay(addIcon(301, 7, -28.582031317055225, -42.42919921875, 0));
				map.addOverlay(addIcon(302, 7, -14.189941473305225, -7.1630859375, 0));
				map.addOverlay(addIcon(303, 7, -14.849121160805225, 17.05078125, 0));
				map.addOverlay(addIcon(304, 7, -26.362793035805225, -4.482421875, 0));
				map.addOverlay(addIcon(305, 7, -17.529785223305225, 50.009765625, 0));
				map.addOverlay(addIcon(307, 7, -27.823974676430225, 29.35546875, 0));
				map.addOverlay(addIcon(308, 7, -26.934082098305225, 33.46435546875, 0));
				map.addOverlay(addIcon(309, 7, -28.032714910805225, 45.68115234375, 0));
				map.addOverlay(addIcon(310, 7, -30.823242254555225, 43.330078125, 0));
				map.addOverlay(addIcon(311, 7, -38.337890692055225, -49.8779296875, 0));
				map.addOverlay(addIcon(312, 7, -42.435791082680225, -37.81494140625, 0));
				map.addOverlay(addIcon(313, 7, -45.336181707680225, -28.80615234375, 0));
				map.addOverlay(addIcon(314, 7, -51.334716863930225, -47.7685546875, 0));
				map.addOverlay(addIcon(315, 7, -36.613037176430225, -15.57861328125, 0));
				map.addOverlay(addIcon(316, 7, -35.789062567055225, 13.68896484375, 0));
				map.addOverlay(addIcon(317, 7, -39.073974676430225, 15.6005859375, 0));
				map.addOverlay(addIcon(318, 7, -49.357177801430225, -16.72119140625, 0));
				map.addOverlay(addIcon(319, 7, -37.887451238930225, 24.10400390625, 0));
				map.addOverlay(addIcon(320, 7, -34.404785223305225, 54.38232421875, 0));
				map.addOverlay(addIcon(321, 7, -50.280029363930225, 44.84619140625, 0));
				map.addOverlay(addIcon(322, 7, -57.168457098305225, -50.2294921875, 0));
				map.addOverlay(addIcon(324, 7, -65.29833991080523, -43.681640625, 0));
				map.addOverlay(addIcon(325, 7, -70.08837897330523, -26.279296875, 0));
				map.addOverlay(addIcon(326, 7, -57.520019598305225, -14.8974609375, 0));
				map.addOverlay(addIcon(327, 7, -63.057128973305225, -12.85400390625, 0));
				map.addOverlay(addIcon(328, 7, -58.629638738930225, 43.57177734375, 0));
				map.addOverlay(addIcon(330, 7, -71.57153327018023, 30.56396484375, 0));
				map.addOverlay(addIcon(331, 7, -69.50610358268023, 42.82470703125, 0));
				map.addOverlay(addIcon(332, 7, -70.80249030143023, 56.27197265625, 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,"<a href=\"http://www.msxbox-world.com\">msxbox-world.com</a>");
		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

				
	}
}