
if (window.addEventListener) {

	window.addEventListener("load", mapa_init, false);
	
}

else if (window.attachEvent) {

	window.attachEvent("onload", mapa_init);
	
}






var localizaciones = { 
	averno : { id : 'averno', div : null, mostrado : 0, x : 74, y : 44 }, 
	coorhagen : { id : 'coorhagen', div : null, mostrado : 0, x : 27, y : 15 }, 
	cronoplasto : { id : 'cronoplasto', div : null, mostrado : 0, x : 39, y : 12 }, 
	dumah_terrotorio : { id : 'dumah-terrotorio', div : null, mostrado : 0, x : 44, y : 24 }, 
	eden_oscuro : { id : 'eden-oscuro', div : null, mostrado : 0, x : 52, y : 5 }, 
	elzevir_casa : { id : 'elzevir-casa', div : null, mostrado : 0, x : 81, y : 25 }, 
	freeport : { id : 'freeport', div : null, mostrado : 0, x : 11, y : 85 }, 
	fragua_aire : { id : 'fragua-aire', div : null, mostrado : 0, x : 71, y : 18 }, 
	fragua_fuego : { id : 'fragua-fuego', div : null, mostrado : 0, x : 78, y : 13 }, 
	fragua_luz : { id : 'fragua-luz', div : null, mostrado : 0, x : 55, y : 63 }, 
	fragua_oscuridad : { id : 'fragua-oscuridad', div : null, mostrado : 0, x : 41, y : 42 }, 
	hylden_ciudad : { id : 'hylden-ciudad', div : null, mostrado : 0, x : 50, y : 98 }, 
	humanos_ciudadela : { id : 'humanos-ciudadela', div : null, mostrado : 0, x : 37, y : 22 }, 
	janos : { id : 'janos', div : null, mostrado : 0, x : 80, y : 15 }, 
	lago_almas : { id : 'lago-almas', div : null, mostrado : 0, x : 80, y : 20 }, 
	lago_lagrimas : { id : 'lago-lagrimas', div : null, mostrado : 0, x : 12, y : 55 }, 
	lago_muertos : { id : 'lago-muertos', div : null, mostrado : 0, x : 40, y : 35 }, 
	lago_serenidad : { id : 'lago-serenidad', div : null, mostrado : 0, x : 75, y : 70 }, 
	lago_sur : { id : 'lago-sur', div : null, mostrado : 0, x : 50, y : 65 }, 
	malek : { id : 'malek', div : null, mostrado : 0, x : 36, y : 20 }, 
	kain_mausoleo : { id : 'kain-mausoleo', div : null, mostrado : 0, x : 12, y : 67 }, 
	melchiah : { id : 'melchiah', div : null, mostrado : 0, x : 16, y : 27 }, 
	meridian : { id : 'meridian', div : null, mostrado : 0, x : 22, y : 90 }, 
	nachtholm : { id : 'nachtholm', div : null, mostrado : 0, x : 27, y : 52 }, 
	nupraptor_retiro : { id : 'nupraptor-retiro', div : null, mostrado : 0, x : 15, y : 31 }, 
	nemesis_tierra : { id : 'nemesis-tierra', div : null, mostrado : 0, x : 93, y : 18 }, 
	moebius_cueva : { id : 'moebius-cueva', div : null, mostrado : 0, x : 40, y : 18 }, 
	pilares : { id : 'pilares', div : null, mostrado : 0, x : 28, y : 60 }, 
	prision_eterna : { id : 'prision-eterna', div : null, mostrado : 0, x : 25, y : 97 }, 
	provance : { id : 'provance', div : null, mostrado : 0, x : 24, y : 83 }, 
	rahab_territorio : { id : 'rahab-territorio', div : null, mostrado : 0, x : 51, y : 61 }, 
	raziel_territorio : { id : 'raziel-territorio', div : null, mostrado : 0, x : 37, y : 28 }, 
	sarafan_fortaleza : { id : 'sarafan-fortaleza', div : null, mostrado : 0, x : 53, y : 67 }, 
	stalhberg : { id : 'stalhberg', div : null, mostrado : 0, x : 92, y : 44 }, 
	steinchencroe : { id : 'steinchencroe', div : null, mostrado : 0, x : 23, y : 44 }, 
	termangente : { id : 'termangente', div : null, mostrado : 0, x : 38, y : 50 }, 
	turel_territorio : { id : 'turel-territorio', div : null, mostrado : 0, x : 53, y : 15 }, 
	uschtenheim : { id : 'uschtenheim', div : null, mostrado : 0, x : 63, y : 36 }, 
	vampiros_ciudadela : { id : 'vampiros-ciudadela', div : null, mostrado : 0, x : 13, y : 49 }, 
	vasserbunde : { id : 'vasserbunde', div : null, mostrado : 0, x : 29, y : 31 }, 
	vorador_mansion : { id : 'vorador-mansion', div : null, mostrado : 0, x : 47, y : 40 }, 
	willendorf : { id : 'willendorf', div : null, mostrado : 0, x : 73, y : 62 }, 
	zephon_territorio : { id : 'zephon-territorio', div : null, mostrado : 0, x : 60, y : 45 }, 
	ziegsturhl : { id : 'ziegsturhl', div : null, mostrado : 0, x : 22, y : 69 }
};



var categorias = {

	ciudades : {
		
		visible : false,
		localizaciones : [
			'averno', 
			'coorhagen', 
			'freeport', 
			'hylden_ciudad', 
			'humanos_ciudadela', 
			'meridian', 
			'nachtholm', 
			'provance', 
			'stalhberg', 
			'steinchencroe', 
			'uschtenheim', 
			'vampiros_ciudadela', 
			'vasserbunde', 
			'willendorf', 
			'ziegsturhl'
		]}

	, bo1 : {
		
		visible : false,
		localizaciones : [
			'averno', 
			'coorhagen', 
			'eden_oscuro', 
			'elzevir_casa', 
			'malek', 
			'kain_mausoleo', 
			'nachtholm', 
			'nupraptor_retiro', 
			'nemesis_tierra', 
			'moebius_cueva', 
			'pilares', 
			'stalhberg', 
			'steinchencroe', 
			'termangente', 
			'uschtenheim', 
			'vasserbunde', 
			'vorador_mansion', 
			'willendorf', 
			'ziegsturhl'
		]}

	, def : {
		
		visible : false,
		localizaciones : [
			'averno', 
			'kain_mausoleo', 
			'pilares', 
			'sarafan_fortaleza', 
			'vampiros_ciudadela', 
			'vorador_mansion'
		]}

	, lugares : {
		
		visible : false,
		localizaciones : [
			'cronoplasto', 
			'dumah_terrotorio', 
			'eden_oscuro', 
			'elzevir_casa', 
			'fragua_aire', 
			'fragua_fuego', 
			'fragua_luz', 
			'fragua_oscuridad', 
			'janos', 
			'malek', 
			'kain_mausoleo', 
			'melchiah', 
			'nupraptor_retiro', 
			'nemesis_tierra', 
			'moebius_cueva', 
			'pilares', 
			'prision_eterna', 
			'rahab_territorio', 
			'raziel_territorio', 
			'sarafan_fortaleza', 
			'turel_territorio', 
			'vorador_mansion', 
			'zephon_territorio'
		]}

	, sr1 : {
		
		visible : false,
		localizaciones : [
			'cronoplasto', 
			'dumah_terrotorio', 
			'humanos_ciudadela', 
			'lago_muertos', 
			'melchiah', 
			'nupraptor_retiro', 
			'moebius_cueva', 
			'pilares', 
			'rahab_territorio', 
			'raziel_territorio', 
			'sarafan_fortaleza', 
			'turel_territorio', 
			'zephon_territorio'
		]}

	, bo2 : {
		
		visible : false,
		localizaciones : [
			'freeport', 
			'hylden_ciudad', 
			'meridian', 
			'pilares', 
			'prision_eterna', 
			'provance'
		]}

	, sr2 : {
		
		visible : false,
		localizaciones : [
			'fragua_aire', 
			'fragua_fuego', 
			'fragua_luz', 
			'fragua_oscuridad', 
			'janos', 
			'lago_almas', 
			'pilares', 
			'sarafan_fortaleza', 
			'uschtenheim'
		]}

	, orografia : {
		
		visible : false,
		localizaciones : [
			'lago_almas', 
			'lago_lagrimas', 
			'lago_muertos', 
			'lago_serenidad', 
			'lago_sur', 
			'termangente'
		]}

		
	

};



function mapa_init( e ) {

	var mapa = document.getElementById("plano");
	
	for (var localizacion in localizaciones) {
	
		localizaciones[localizacion].div = document.getElementById('localizacion-' + localizaciones[localizacion].id);
		
		if (localizaciones[localizacion].div != null) {
		
				posicionar_porcentaje( localizaciones[localizacion].div, mapa, localizaciones[localizacion].x, localizaciones[localizacion].y, CAP_DEBAJO | CAP_DERECHA, -5, -5 );
				
		}
		
	}
		
	var form = document.forms['mapa'];
	
	var objetivos = {
	
		ciudades  : form.elements['ciudades'],
		lugares   : form.elements['lugares'],
		orografia : form.elements['orografia'],
		bo1       : form.elements['bo1'],
		sr1       : form.elements['sr1'],
		sr2       : form.elements['sr2'],
		bo2       : form.elements['bo2'],
		def       : form.elements['def']
		
	};
	
	objetivos.ciudades.checked =
	objetivos.lugares.checked = true;
	
	objetivos.orografia.checked =
	objetivos.bo1.checked =
	objetivos.sr1.checked =
	objetivos.sr2.checked =
	objetivos.bo2.checked =
	objetivos.def.checked = false;
	
	mapa_alternar2( 'ciudades' );
	mapa_alternar2( 'lugares' );



	for (var o in objetivos) {

		if (window.addEventListener) {
			
			objetivos[o].addEventListener( "click", mapa_alternar, false );
		
		}
		
		else if (window.attachEvent) {
		
			objetivos[o].attachEvent( "onclick", mapa_alternar );
		
		}
		
	}
		

	return true;

}



function mapa_alternar( e ) {

	var categoria = null;
	
	if ( e.target ) {
	
		categoria = e.target.id;
		
	}
	
	else if ( e.srcElement ) {
	
		categoria = e.srcElement.id;
		
	}
	
	if ( categoria != null ) {

		mapa_alternar2(categoria);
		
	}
	
	return true;
	
}

function mapa_alternar2( categoria ) {

	categorias[categoria].visible = !categorias[categoria].visible;

	for (var id_loc in categorias[categoria].localizaciones) {
		
		var localizacion = localizaciones[categorias[categoria].localizaciones[id_loc]];
		
		if (categorias[categoria].visible) {
			
			localizacion.mostrado++;
			
		}
			
		else {
			
			localizacion.mostrado = Math.max(0, localizacion.mostrado - 1);
			
		}
		
		localizacion.div.style.visibility = (localizacion.mostrado == 0) ? 'hidden' : 'visible';
		
	}
	
	return true;
	
}
