_global = this;

this.line = "a_cdI|g_L~_tIsfaKlkgAk}uGpj_@{zrBrdtErmT|cgAznyCj`qGpm{Bds~G_{KjlaClmbFdxiNxjfDprgVmmbF|g`KpqnBl_fHbfd[bprKluhEvjfBbldEphhJhtcAdlfFtfzG|}jGr}gAh|iJhroSjagVn~aOpm{LnquEd_pFex}C`hcI_wX~rtKftcAdrdHx~lE|ubBmioFz~tC|flAvj|B}flAev}@eypNyoeG{clLrg{Ii|bTyeoCk_cIfyxA{llBsb~Js|mJaqiAq`hMqgfD{hyBwfG{xlD`oiO{g_Lt`pEddwBrwpAn}nDgbbApzgLbmnF|p_Bhh`AkhCdkm@|trAty`Gs_NnhVoquEouo@g~vAtzxIncoE`jzDgf}@hjeAyzyEnqgCgxv@lreCtpmHrpGf~vA????g_{Fkn|SgpmGhvIgkeK?iwq@upmHlftIh|i@|jV|nr@fwqCrwg@d~o@ra{@|etB_wX}oGynyCy`PqeuCyp~Q}sxJcw|Em{hFfwMoy{D}mpGyb`Ejr|C}oeKilyAevpBqub@}}kK`mfFyvfFgpIfl}AqzOc`kF??vrdHtz`Ir~r`@t|mJncA`tqGzehDfnc@lzKwdmFjomI{zrBtw}Cfjp@t~lElwuFresDu{sSubhBqa{@mwg@ytyDmknAylsEzb}Lp}gAj~lHhjp@";

this.countries = {
GB:{
name:'UNITED KINGDOM',
lon:'55.378051',
lat:'-3.435973',
capital:'London'},
FR:{
name:'FRANCE',
lon:'46.227638',
lat:'2.213749',
capital:'Paris'},
ES:{
name:'SPAIN',
lon:'40.463667',
lat:'-3.74922',
capital:'Madrid'},
MA:{
name:'MOROCCO',
lon:'31.791702',
lat:'-7.09262',
capital:'Rabat'},
EH:{
name:'WESTERN SAHARA',
lon:'24.215527',
lat:'-12.885834',
capital:''},
MR:{
name:'MAURITANIA',
lon:'21.00789',
lat:'-10.940835',
capital:'Nouakchott'},
SN:{
name:'SENEGAL',
lon:'14.497401',
lat:'-14.452362',
capital:'Dakar'},
GM:{
name:'GAMBIA',
lon:'13.443182',
lat:'-15.310139',
capital:'Banjul'},
ML:{
name:'MALI',
lon:'17.570692',
lat:'-3.996166',
capital:'Bamako'},
NE:{
name:'NIGER',
lon:'17.607789',
lat:'8.081666',
capital:'Niamey'},
BF:{
name:'BURKINA FASO',
lon:'12.238333',
lat:'-1.561593',
capital:'Ouagadougou'},
GH:{
name:'GHANA',
lon:'7.946527',
lat:'-1.023194',
capital:'Accra'},
TG:{
name:'TOGO',
lon:'8.619543',
lat:'0.824782',
capital:'Lome'},
BJ:{
name:'BENIN',
lon:'9.30769',
lat:'2.315834',
capital:'Porto-Novo'},
NG:{
name:'NIGERIA',
lon:'9.081999',
lat:'8.675277',
capital:'Abuja'},
CM:{
name:'CAMEROON',
lon:'7.369722',
lat:'12.354722',
capital:'Yaounde'},
GA:{
name:'GABON',
lon:'-0.803689',
lat:'11.609444',
capital:'Libreville'},
CG:{
name:'CONGO',
lon:'-0.228021',
lat:'15.827659',
capital:'Brazzaville'},
CD:{
name:'CONGO, THE DEMOCRATIC REPUBLIC OF THE',
lon:'-4.038333',
lat:'21.758664',
capital:'Kinshasa'},
KE:{
name:'KENYA',
lon:'-0.023559',
lat:'37.906193',
capital:'Nairobi'}
};
 

if (GBrowserIsCompatible()) {

	var c = 0;

	function countryZoom(country) {
  
		map.closeInfoWindow(); // else get problems
		GEvent.trigger(_global[country], 'click');
    	}

	function getCountryMarkers() {
		
		for(country in manager.countries) {
			
			country = country.toUpperCase();

			if(!this.countries[country]) {
				continue;
			}
			var country_name = this.countries[country].name;
			var flagIcon = new GIcon();
			flagIcon.image = url + "flag/" + country.toLowerCase() + ".png";
			flagIcon.iconSize = new GSize(16, 11);
			flagIcon.iconAnchor = new GPoint(6, 20);
			flagIcon.infoWindowAnchor = new GPoint(5, 1);
		
			// Set up our GMarkerOptions object literal
			x = this.countries[country].lat;
			y = this.countries[country].lon;
			capital = this.countries[country].capital;
			var html = "<a href='http://macclesfieldsfinest.co.uk/category/"+country+"'><b>"+country_name+"</b></a><br />";

			var count = 0;
			if(manager.countries[country]) {
				for(i=0; i < manager.countries[country].posts.length; i++) {

					count++;
				/*var id = manager.countries[country].posts[i];
				if(manager.posts[id] && manager.posts[id].link && manager.posts[id].title) {
					html += "<a href='"+manager.posts[id].link+"'>"+manager.posts[id].title+"</a><br />";	
				}*/
				}
			}
			html += "Capital: "+capital+"<br />";
			html += "<a href='http://macclesfieldsfinest.co.uk/category/"+country+"'>Posts("+count+")</a>";

			var markerName = country;
			_global[markerName] = new GMarker(new GLatLng(y, x), { title: country_name, icon:flagIcon });
			_global[markerName].html = html;
			_global[markerName].name = country;

			GEvent.addListener(_global[markerName], 'click', function() {
				if(_global[this.name].isHidden() == false) { 
					_global[this.name].openInfoWindowHtml(this.html);
				} else { 
					map.setCenter(_global[this.name].getLatLng(), 3);
					setTimeout("_global['"+this.name+"'].openInfoWindowHtml(\""+this.html+"\");", 500); 
				}
			});
			mgr.addMarker(_global[markerName], 1, 4);
		}		
	}

	function getBlogMarkers() {
		for(blog in manager.posts) {

			var flagIcon = new GIcon();
			flagIcon.image = url + "icons/flag_red" + ".png";

			if(manager.countries[cur_slug]) {

				for(i = 0; i < manager.countries[cur_slug].posts.length; i++) {
				
					if(manager.countries[cur_slug].posts && (manager.countries[cur_slug].posts[i] == cur_post)) {
						flagIcon.image = url + "icons/flag_yellow" + ".png";
					}
				}
			}

			if(blog == cur_post) {
				flagIcon.image = url + "icons/flag_blue" + ".png";
			}

			flagIcon.iconSize = new GSize(16, 16);
			flagIcon.iconAnchor = new GPoint(6, 20);
			flagIcon.infoWindowAnchor = new GPoint(5, 1);

			var title = manager.posts[blog].title;
			var link = manager.posts[blog].link;
			var markerName = 'blog' + blog;

			_global[markerName] = new GMarker(
				new GLatLng(manager.posts[blog].latitude, manager.posts[blog].longitude), { title: title, icon:flagIcon}
			);

			_global[markerName].link = manager.posts[blog].link;
			GEvent.addListener(_global[markerName], "click", function() {
				window.location = this.link;
			});
			mgr.addMarker(_global[markerName], 5);
		}
	}

	/*var encodedPolyline = new GPolyline.fromEncoded({
		color: "#000000",
    		weight: 2,
    		points: this.line,
    		levels: "BBB",
    		zoomFactor: 32,
    		numLevels: 4
	});*/

	var map = new GMap2(document.getElementById('map'));
	// set to currently viewed country or blog
 	map.setCenter(new GLatLng(cur_lat, cur_lon), cur_zoom);
	map.addControl(new GSmallMapControl());
	mgr = new MarkerManager(map);
	getCountryMarkers();
	getBlogMarkers();
	/*map.addOverlay(encodedPolyline);*/
	mgr.refresh();

}
