var multiple_select = 0;

function security(key) {
	//code = md5(key);
	code=key;
	document.write("<input type=hidden name=security value='" + code + "'>")
}

function save_my_map() {
	
var title  = document.getElementById('mapTitle').value;
document.getElementById('save_map_title').value = title;

var description  = document.getElementById('map_description').value;
document.getElementById('save_map_description').value = description;

document.getElementById('save_countries_selected').value = dump(countries);


var key  = document.getElementById('key_red').value;
document.getElementById('save_key_red').value = key;

var key  = document.getElementById('key_blue').value;
document.getElementById('save_key_blue').value = key;

var key  = document.getElementById('key_green').value;
document.getElementById('save_key_green').value = key;

var key  = document.getElementById('key_yellow').value;
document.getElementById('save_key_yellow').value = key;

var key  = document.getElementById('key_maroon').value;
document.getElementById('save_key_maroon').value = key;

}



function select_tab(continent) {
switch (continent){
case 'africa':
activate_tab(2);
break;
case 'asia':
activate_tab(3);
break;
case 'central-america-caribbean':
activate_tab(4);
break;
case 'europe':
activate_tab(5);
break;
case 'north-america':
activate_tab(6);
break;
case 'middle-east':
activate_tab(7);
break;
case 'oceania':
activate_tab(8);
break;
case 'south-america':
activate_tab(9);
break;
default : alert(continent);activate_tab(1);
}

}


function deactivate_tab(tab) {
	var mytab = document.getElementById('menu_content_'+tab);
	mytab.className = 'toselect';
	var mytab = document.getElementById('content_'+tab);
	mytab.style.display = 'none';
	mytab.style.visibility = 'hidden';
}

function activate_tab(tab) {
	for(var i=0;i < tabs.length;i++)  {
		deactivate_tab(tabs[i]);
	}
	// now activate tab
	var mytab = document.getElementById('menu_content_'+tab);
	mytab.className = 'selected';
	var mytab = document.getElementById('content_'+tab);
	mytab.style.display = 'block';
	mytab.style.visibility = 'visible';
}

function country(key,code,name,display,added,color) { // constructor
this.key = key;
this.code = code;
this.name = name;
this.display = display;
this.added = added;
this.color = color;
}


function deselect_country(countrySelected) {
// And remove from the select...
var cc = country_codes[countrySelected]
var pos = added[countrySelected];
countries=unset(countries, pos, 1, 1)
added=unset(added, countrySelected, 1, 1)
j = countries.length;
render_countries();
}


function select_country(countrySelected) {
// put in the actions based on country_codes[countrySelected] here.
// UPDATE THIS - if file not found then don't display

var cc = country_codes[countrySelected]
var name = codes_to_country[cc];

if (added[countrySelected]) return;
thisCountry = new country(countrySelected,cc,name,true,j,'maroon');
countries[j] = thisCountry; // replace with whatever... level of colour etc.
added[countrySelected] = j;
j++;
if (! multiple_select) render_countries();
}

function country_color(name,color) {
colors[name] = color;
dump(countries);
countries[added[name]].color = color;
render_countries();
}

function toggle_country(key) {
if (! added[key]) {
	select_country(key);
} else {
	deselect_country(key);
}
}

function multiple_selected_countries() {
	multiple_select = 1;
	var menu = document.getElementById('countries_select_menu');
	var vals = getSelectedValues(menu); 
	for(var i in vals) {
		select_country_cc(vals[i]);
	}
	render_countries();
	multiple_select = 0;
}

function select_country_cc(cc) {
	var name = country_cc_codes[cc];
	
	select_country(name);
}

function sortByCountry(a, b) {
    var x = a.name.toLowerCase();
    var y = b.name.toLowerCase();
    return ((x < y) ? -1 : ((x > y) ? 1 : 0));
}

function render_countries() {
	var area = document.getElementById('countries_selected');
	var flagHTML = ''; var mapHTML = '';
	area.innerHTML = '<b>Rendering countries</b>';
	totalCountries  = count_array(country_codes);
	var html = '' + count_array(countries) + ' of 263 <span title="Territories and Countries">Territories</span><br>';
	countries.sort(sortByCountry); 
	var link = new Array();
	for(var i in countries) {
		link[countries[i].key] = i;
		cc = countries[i].code;
		name = countries[i].key;
		country_name = codes_to_country[cc];
		if (codes_to_maps[cc]) {
			html = html + "<br><div style='float:right;'><a href='' onClick='country_color(\""+ countries[i].key +"\",\"yellow\");return false;'><img src='/pix/tiles/yellow.gif' style='width:10px;height:10px;border:0;'></a><a href='' onClick='country_color(\""+ countries[i].key +"\",\"blue\");return false;'><img src='/pix/tiles/blue.gif' style='width:10px;height:10px;border:0;'></a><a href='' onClick='country_color(\""+ countries[i].key +"\",\"red\");return false;'><img src='/pix/tiles/red.gif' style='width:10px;height:10px;border:0;'></a><a href='' onClick='country_color(\""+ countries[i].key +"\",\"green\");return false;'><img src='/pix/tiles/green.gif' style='width:10px;height:10px;border:0;'></a><a href='' onClick='country_color(\""+ countries[i].key +"\",\"maroon\");return false;'><img src='/pix/tiles/maroon.gif' style='width:10px;height:10px;border:0;'></a></div><a href='' onClick='deselect_country(\""+ countries[i].key +"\");return false;'>Del</a> <b>" + country_name + "</b>";
		} else {
			html = html + "<br> <a href='' onClick='deselect_country(\""+ countries[i].key +"\");return false;'>Del</a> <b>" + country_name + '</b> ';
		}
		flagHTML += "<a href='' onClick='deselect_country(\""+ countries[i].key +"\");return false;'><img src='/pix/24x16-flags/"+cc+"-flag.gif' style='border:1px solid #ddf;width:24px;height:16px;' title='"+countries[i].name+"' alt='"+countries[i].name+"'></a>";

		if (codes_to_maps[cc]) {
			mapHTML += "<img src='/pix/dynamic/382-" + countries[i].color + "/" + cc + ".gif' style='position:absolute;'>";
		}
	}	


	mapHTML += "<img src='/pix/shim.gif' style='position:absolute;width:377px;height:202px;border:0;' usemap='#worldhotspots377'>";
	var dynamap = document.getElementById('map_layer_cake');
	dynamap.innerHTML = mapHTML;
	var flagmap = document.getElementById('flag_layer_cake');
	flagmap.innerHTML = flagHTML;
	area.innerHTML = html;
	added = link;
	document.getElementById('debug').innerHTML = dump(countries) + dump(added) + dump(colors);
}

