
/***********************************************************************************************/
/* les fonctions suivantes servent sur la page géographie                                       */
/***********************************************************************************************/

function MontrerCarte(lettre)
{
	var urlImg = "";
	
	switch(lettre)
	{
		case "E":
			urlImg = "Europe";
			break;
		case "M":
			urlImg = "Monde";
			break;
		case "P":
			urlImg = "Peninsule";
			break;
	}
	
	var image = new Image();
	
	image.src = '../images/geographie/Map/' + urlImg + '.png';
	
	document.images["imgMapGeo"].src = image.src;
}

/***********************************************************************************************/
/* les fonctions suivantes servent aux listes deroulantes avec le +/- pr les regions/districts */
/***********************************************************************************************/

function DistrictPlus(nom, regionNom)
{
	this.RegionNom = regionNom;
	this.Nom = nom;
	this.Municipalite = new Array();
}

function DeplierDistrict(nom,regionNom)
{
	var listeMunicip;
	
	switch(regionNom)
	{
		case 'AltoTrasOsMontes_Bragance':
			listeMunicip = new Array('Alfândega da Fé','Bragança','Macedo de Cavaleiros','Miranda do Douro','Mirandela','Mogadouro','Vila Flor','Vimioso','Vinhais');
			break;
		case 'AltoTrasOsMontes_VilaReal':
			listeMunicip = new Array('Boticas','Chaves','Montalegre','Ribeira de Pena','Valpaços','Vila Pouca de Aguiar');
			break;
		case 'Ave_Braga':
			listeMunicip = new Array('Cabeceiras de Basto','Fafe','Guimarães','Póvoa de Lanhoso','Vieira do Minho','Vila Nova de Famalicão','Vizela');
			break;
		case 'Ave_VilaReal':
			listeMunicip = new Array('Mondim de Basto');
			break;
		case 'Cavado_Braga':
			listeMunicip = new Array('Amares','Barcelos','Braga','Esposende','Terras de Bouro','Vila Verde');
			break;
		case 'Douro_Bragance':
			listeMunicip = new Array('Carrazeda de Ansiães','Freixo de Espada à Cinta','Torre de Moncorvo');
			break;
		case 'Douro_Guarda':
			listeMunicip = new Array('Vila Nova de Foz Côa');
			break;
		case 'Douro_VilaReal':
			listeMunicip = new Array('Alijó','Mesão Frio','Murça','Peso da Régua','Sabrosa','Santa Marta de Penaguião','Vila Real');
			break;
		case 'Douro_Viseu':
			listeMunicip = new Array('Armamar','Lamego','Moimenta da Beira','Penedono','São João da Pesqueira','Sernancelhe','Tabuaço','Tarouca');
			break;
		case 'EntreDouroEVouga_Aveiro':
			listeMunicip = new Array('Arouca','Oliveira de Azeméis','Santa Maria da Feira','São João da Madeira','Vale de Cambra');
			break;
		case 'GrandePorto_Aveiro':
			listeMunicip = new Array('Espinho');
			break;
		case 'GrandePorto_Porto':
			listeMunicip = new Array('Gondomar','Maia','Matosinhos','Porto','Póvoa de Varzim','Santo Tirso','Trofa','Valongo','Vila do Conde','Vila Nova de Gaia');
			break;
		case 'MinhoLima_VianadoCastelo':
			listeMunicip = new Array('Arcos de Valdevez','Caminha','Melgaço','Monção','Paredes de Coura','Ponte da Barca','Ponte de Lima','Valença','Viana do Castelo','Vila Nova de Cerveira');
			break;
		case 'Tamega_Aveiro':
			listeMunicip = new Array('Castelo de Paiva');
			break;
		case 'Tamega_Braga':
			listeMunicip = new Array('Celorico de Basto');
			break;
		case 'Tamega_Porto':
			listeMunicip = new Array('Amarante','Baião','Felgueiras','Lousada','Marco de Canaveses','Paços de Ferreira','Paredes','Penafiel');
			break;
		case 'Tamega_Viseu':
			listeMunicip = new Array('Cinfães','Resende');
			break;
		case 'AlentejoCentral_Portalegre':
			listeMunicip = new Array('Sousel');
			break;
		case 'AlentejoCentral_Evora':
			listeMunicip = new Array('Alandroal','Arraiolos','Borba','Estremoz','Évora','Montemor-o-Novo ','Mourão','Portel','Redondo','Reguengos de Monsaraz','Vendas Novas','Viana do Alentejo','Vila Viçosa');
			break;
		case 'AlentejoLitoral_Beja':
			listeMunicip = new Array('Odemira');
			break;
		case 'AlentejoLitoral_Setubal':
			listeMunicip = new Array('Alcácer do Sal','Grândola','Santiago do Cacém','Sines');
			break;
		case 'AltoAlentejo_Portalegre':
			listeMunicip = new Array('Alter do Chão','Arronches','Avis','Campo Maior','Castelo de Vide','Crato','Elvas','Fronteira','Gavião','Marvão','Monforte','Nisa','Ponte de Sor','Portalegre');
			break;
		case 'AltoAlentejo_Evora':
			listeMunicip = new Array('Mora');
			break;
		case 'BaixoAlentejo_Beja':
			listeMunicip = new Array('Aljustrel','Almodôvar','Alvito','Barrancos','Beja','Castro Verde','Cuba','Ferreira do Alentejo','Mértola','Moura','Ourique','Serpa','Vidigueira');
			break;
		case 'LeziriaDoTejo_Lisboa':
			listeMunicip = new Array('Azambuja');
			break;
		case 'LeziriaDoTejo_Santarem':
			listeMunicip = new Array('Almeirim','Alpiarça','Benavente','Cartaxo','Chamusca','Coruche','Golegã','Rio Maior','Salvaterra de Magos','Santarém');
			break;
		case 'BaixoVouga_Aveiro':
			listeMunicip = new Array('Águeda','Albergaria-a-Velha','Anadia','Aveiro ','Estarreja','Ílhavo','Murtosa','Oliveira do Bairro','Ovar','Sever do Vouga ','Vagos');
			break;
		case 'BeiraInteriorNorte_Guarda':
			listeMunicip = new Array('Almeida','Celorico da Beira','Figueira de Castelo Rodrigo','Guarda','Manteigas','Meda','Pinhel','Sabugal','Trancoso');
			break;
		case 'CovaDaBeira_CasteloBranco':
			listeMunicip = new Array('Belmonte','Covilhã','Fundão');
			break;
		case 'BeiraInteriorSul_CasteloBranco':
			listeMunicip = new Array('Castelo Branco','Idanha-a-Nova','Penamacor','Vila Velha de Ródão');
			break;
		case 'DaoLafoes_Guarda':
			listeMunicip = new Array('Aguiar da Beira');
			break;
		case 'DaoLafoes_Viseu':
			listeMunicip = new Array('Carregal do Sal','Castro Daire','Mangualde','Nelas','Oliveira de Frades','Penalva do Castelo','Santa Comba Dão','São Pedro do Sul','Sátão','Tondela','Vila Nova de Paiva','Viseu','Vouzela');
			break;
		case 'MedioTejo_Santarem':
			listeMunicip = new Array('Abrantes','Alcanena','Constância','Entroncamento','Ferreira do Zêzere','Ourém','Sardoal','Torres Novas','Tomar','Vila Nova da Barquinha');
			break;
		case 'Oeste_Leiria':
			listeMunicip = new Array('Alcobaça','Bombarral','Caldas da Rainha','Nazaré','Óbidos','Peniche');
			break;
		case 'Oeste_Lisboa':
			listeMunicip = new Array('Alenquer','Arruda dos Vinhos','Cadaval','Lourinhã','Sobral de Monte Agraço','Torres Vedras');
			break;
		case 'BaixoMondego_Viseu':
			listeMunicip = new Array('Mortágua');
			break;
		case 'BaixoMondego_Coimbra':
			listeMunicip = new Array('Cantanhede','Coimbra','Condeixa-a-Nova','Figueira da Foz','Mira','Montemor-o-Velho','Penacova','Soure');
			break;
		case 'BaixoMondego_Aveiro':
			listeMunicip = new Array('Mealhada');
			break;
		case 'SerraDaEstrela_Guarda':
			listeMunicip = new Array('Fornos de Algodres','Gouveia','Seia');
			break;
		case 'PinhalLitoral_Leiria':
			listeMunicip = new Array('Batalha','Leiria','Marinha Grande','Pombal','Porto de Mós');
			break;
		case 'PinhalInteriorSul_Santarem':
			listeMunicip = new Array('Mação');
			break;
		case 'PinhalInteriorSul_CasteloBranco':
			listeMunicip = new Array('Oleiros','Proença-a-Nova','Sertã','Vila de Rei');
			break;
		case 'PinhalInteriorNorte_Coimbra':
			listeMunicip = new Array('Arganil','Góis','Lousã','Miranda do Corvo','Oliveira do Hospital','Pampilhosa da Serra','Penela','Tábua','Vila Nova de Poiares');
			break;
		case 'PinhalInteriorNorte_Leiria ':
			listeMunicip = new Array('Alvaiázere','Ansião','Castanheira de Pêra','Figueiró dos Vinhos','Pedrógão Grande');
			break;			
		case 'Algarve_Faro':
			listeMunicip = new Array('Aljezur','Albufeira','Alcoutim','Castro Marim','Faro','Lagoa','Lagos','Loulé','Monchique','Olhão','Portimão','São Brás de Alportel','Silves','Tavira','Vila do Bispo','Vila Real de Santo António');
			break;
		case 'GrandeLisboa_Lisboa':
			listeMunicip = new Array('Amadora','Cascais','Lisboa','Loures','Mafra','Odivelas','Oeiras','Sintra','Vila Franca de Xira');
			break;
		case 'PeninsulaDeSetubal_Setubal':
			listeMunicip = new Array('Alcochete','Almada','Barreiro','Moita','Montijo','Palmela','Seixal','Sesimbra','Setúbal');
			break;
	}
	
	var elementMunicipalite = '<ul>';
	for(var i=0; i<listeMunicip.length; i++)
	{
		elementMunicipalite += '<li id="Municip_' + listeMunicip[i] + '">Municipalité : '+ listeMunicip[i] + '</li>';
	}
	elementMunicipalite += '</ul>';
	document.getElementById('district_' + regionNom).innerHTML = '<a class="Plus" href="javascript:;" OnClick="ReplierDistrict(\'' + nom + '\',\'' + regionNom + '\')">-</a> District : '+ nom + elementMunicipalite;
}

function ReplierDistrict(nom, regionNom)
{
	var elementDistrict;
	
	elementDistrict = '<a class="Plus" href="javascript:;" OnClick="DeplierDistrict(\'' + nom + '\',\'' + regionNom + '\')">+</a>District : '+ nom;
	
	document.getElementById('district_' + regionNom).innerHTML = elementDistrict;
}

function SousRegionPlus(nom, listeDistrict)
{
	this.Nom = nom;
	this.District = listeDistrict;
}

function DeplierSousRegion(nom)
{
	var sousRegion;
	var listeDistrict = new Array();
	var listeMunicip;
	
	switch(nom)
	{
		case 'Alto Trás-os-Montes':
			listeDistrict[0] = new DistrictPlus('Bragance', 'AltoTrasOsMontes_Bragance');
			listeDistrict[1] = new DistrictPlus('Vila Real', 'AltoTrasOsMontes_VilaReal');
			sousRegion = new SousRegionPlus('Alto Trás-os-Montes', listeDistrict);
			break;
		case 'Ave':
			listeDistrict[0] = new DistrictPlus('Braga', 'Ave_Braga');
			listeDistrict[1] = new DistrictPlus('Vila Real', 'Ave_VilaReal');
			sousRegion = new SousRegionPlus('Ave', listeDistrict);
			break;
		case 'Cávado':
			listeDistrict[0] = new DistrictPlus('Braga', 'Cavado_Braga');
			sousRegion = new SousRegionPlus('Cávado', listeDistrict);
			break;
		case 'Douro':
			listeDistrict[0] = new DistrictPlus('Bragance', 'Douro_Bragance', listeMunicip);
			listeDistrict[1] = new DistrictPlus('Guarda', 'Douro_Guarda');
			listeDistrict[2] = new DistrictPlus('Vila Real', 'Douro_VilaReal');
			listeDistrict[3] = new DistrictPlus('Viseu', 'Douro_Viseu');
			sousRegion = new SousRegionPlus('Douro', listeDistrict);
			break;
		case 'Entre Douro e Vouga':
			listeDistrict[0] = new DistrictPlus('Aveiro', 'EntreDouroEVouga_Aveiro');
			sousRegion = new SousRegionPlus('Entre Douro e Vouga', listeDistrict);
			break;
		case 'Grande Porto':
			listeDistrict[0] = new DistrictPlus('Aveiro', 'GrandePorto_Aveiro');
			listeDistrict[1] = new DistrictPlus('Porto', 'GrandePorto_Porto');
			sousRegion = new SousRegionPlus('Grande Porto', listeDistrict);
			break;
		case 'Minho-Lima':
			listeDistrict[0] = new DistrictPlus('Viana do Castelo', 'MinhoLima_VianadoCastelo');
			sousRegion = new SousRegionPlus('Minho-Lima', listeDistrict);
			break;
		case 'Tâmega':
			listeDistrict[0] = new DistrictPlus('Aveiro', 'Tamega_Aveiro');
			listeDistrict[1] = new DistrictPlus('Braga', 'Tamega_Braga');
			listeDistrict[2] = new DistrictPlus('Porto', 'Tamega_Porto');
			listeDistrict[3] = new DistrictPlus('Viseu', 'Tamega_Viseu');
			sousRegion = new SousRegionPlus('Tâmega', listeDistrict);
			break;
		case 'Algarve':
			listeDistrict[0] = new DistrictPlus('Faro', 'Algarve_Faro');
			sousRegion = new SousRegionPlus('Algarve', listeDistrict);
			break;
		case 'Grande Lisboa':
			listeDistrict[0] = new DistrictPlus('Lisboa', 'GrandeLisboa_Lisboa');
			sousRegion = new SousRegionPlus('Grande Lisboa', listeDistrict);
			break;
		case 'Península de Setúbal':
			listeDistrict[0] = new DistrictPlus('Setúbal', 'PeninsulaDeSetubal_Setubal');
			sousRegion = new SousRegionPlus('Península de Setúbal', listeDistrict);
			break;
		case 'Alentejo Central':
			listeDistrict[0] = new DistrictPlus('Portalegre','AlentejoCentral_Portalegre');
			listeDistrict[1] = new DistrictPlus('Évora','AlentejoCentral_Evora');
			sousRegion = new SousRegionPlus('Alentejo Central', listeDistrict);
			break;
		case 'Alentejo Litoral':
			listeDistrict[0] = new districtPlus('Beja','AlentejoLitoral_Beja');
			listeDistrict[1] = new districtPlus('Setúbal','AlentejoLitoral_Setubal'); 
			sousRegion = new SousRegionPlus('Alentejo Litoral', listeDistrict);
			break;
		case 'Alto Alentejo':
			listeDistrict[0] = new districtPlus('Portalegre', 'AltoAlentejo_Portalegre');
			listeDistrict[0] = new districtPlus('Évora','AltoAlentejo_Evora');
			sousRegion = new SousRegionPlus('Alto Alentejo', listeDistrict);
			break;
		case 'Baixo Alentejo':
			listeDistrict = new DistrictPlus('Beja','BaixoAlentejo_Beja');
			sousRegion = new SousRegionPlus('Baixo Alentejo',listeDistrict);
			break;
		case 'Lezíria do Tejo':
			listeDistrict[0] = new DistrictPlus('Lisboa','LeziriaDoTejo_Lisboa');
			listeDistrict[1] = new DistrictPlus('Santarém','LeziriaDoTejo_Santarem');
			sousRegion = new SousRegionPlus('Lezíria do Tejo',listeDistrict);
			break;
		case 'Baixo Vouga':
			listeDistrict[0] = new DistrictPlus('Aveiro','BaixoVouga_Aveiro');
			sousRegion = new SousRegionPlus('Baixo Vouga', listeDistrict);
			break;
		case 'Beira Interior Norte':
			listeDistrict[0] = new DistrictPlus('Guarda','BeiraInteriorNorte_Guarda');
			sousRegion = new SousRegionPlus('Beira Interior Norte', listeDistrict);
			break;			
		case 'Cova da Beira':
			listeDistrict[0] = new DistrictPlus('Castelo Branco','CovaDaBeira_CasteloBranco');
			sousRegion = new SousRegionPlus('Cova da Beira', listeDistrict);
			break;
		case 'Beira Interior Sul':
			listeDistrict[0] = new DistrictPlus('Castelo Branco','BeiraInteriorSul_CasteloBranco');
			sousRegion = new SousRegionPlus('Beira Interior Sul', listeDistrict);
			break;		
		case 'Dão-Lafões':
			listeDistrict[0] = new DistrictPlus('Guarda','DaoLafoes_Guarda');
			listeDistrict[1] = new DistrictPlus('Viseu','DaoLafoes_Viseu');
			sousRegion = new SousRegionPlus('Dão-Lafões', listeDistrict);
			break;
		case 'Medio Tejo':
			listeDistrict[0] = new DistrictPlus('Santarém','MedioTejo_Santarem');
			sousRegion = new SousRegionPlus('Medio Tejo', listeDistrict);
			break;
		case 'Oeste':
			listeDistrict[0] = new DistrictPlus('Leiria','Oeste_Leiria');
			listeDistrict[1] = new DistrictPlus('Lisboa','Oeste_Lisboa');
			sousRegion = new SousRegionPlus('Oeste', listeDistrict);
			break;
		case 'Baixo Mondego':
			listeDistrict[0] = new DistrictPlus('Viseu','BaixoMondego_Viseu');
			listeDistrict[1] = new DistrictPlus('Coimbra','BaixoMondego_Coimbra');
			listeDistrict[2] = new DistrictPlus('Aveiro','BaixoMondego_Aveiro');
			sousRegion = new SousRegionPlus('Baixo Mondego', listeDistrict);
			break;
		case 'Serra da Estrela':
			listeDistrict[0] = new Districtplus('Guarda','SerraDaEstrela_Guarda');
			sousRegion = new SousRegionPlus('Serra da Estrela',listeDistrict);
			break;
		case 'Pinhal Litoral':
			listeDistrict[0] = new DistrictPlus('Leiria','PinhalLitoral_Leiria');
			sousRegion = new SousRegionPlus('Pinhal Litoral', listeDistrict);
			break;
		case 'Pinhal Interior Sul':
			listeDistrict[0] = new DistrictPlus('Santarém','PinhalInteriorSul_Santarem');
			listeDistrict[1] = new DistrictPlus('Castelo Branco','PinhalInteriorSul_CasteloBranco');
			sousRegion = new SousRegionPlus('Pinhal Interior Sul', listeDistrict);
			break;
		case 'Pinhal Interior Norte':
			listeDistrict[0] = new DistrictPlus('Coimbra','PinhalInteriorNorte_Coimbra');
			listeDistrict[1] = new DistrictPlus('Leiria','PinhalInteriorNorte_Leiria');
			sousRegion = new SousRegionPlus('Pinhal Interior Norte', listeDistrict);
			break;
	}
		
	var elementDistrict = '<ul>';
	
	for(var i=0; i<sousRegion.District.length; i++)
	{
		elementDistrict += '<li id="district_' + (sousRegion.District[i]).RegionNom + '"><a class="Plus" href="javascript:;" OnClick="DeplierDistrict(\'' + (sousRegion.District[i]).Nom + '\',\'' + (sousRegion.District[i]).RegionNom + '\')">+</a>District : '+ (sousRegion.District[i]).Nom + '</li>';
	}
	elementDistrict += '</ul>';
	
	document.getElementById('sousRegion' + nom).innerHTML = '<a class="Plus" href="javascript:;" OnClick="ReplierSousRegion(\'' + nom + '\')">-</a> Sous-Région : '+ nom + elementDistrict;
}

function ReplierSousRegion(nom)
{
	var elementSousRegion;
	
	elementSousRegion = '<a class="Plus" href="javascript:;" OnClick="DeplierSousRegion(\'' + nom + '\')">+</a>Sous-Région : '+ nom;
	
	document.getElementById('sousRegion' + nom).innerHTML = elementSousRegion;
}

function RegionPlus(nom, listeSousRegion)
{
	this.Nom = nom;
	this.SousRegion = listeSousRegion;
}

function DeplierRegion(nom)
{
	var region;
	var sousRegion;
	var listeSousRegion = new Array();
	var listeDistrict = new Array();
	var listeMunicip;
	
	switch(nom)
	{
		case 'Norte':
			listeSousRegion = new Array('Alto Trás-os-Montes','Ave','Cávado','Douro','Entre Douro e Vouga','Grande Porto','Minho-Lima','Tâmega');
			region = new RegionPlus('Norte', listeSousRegion);
			break;
		case 'Centro':
			listeSousRegion = new Array('Baixo Mondego', 'Baixo Vouga', 'Beira Interior Norte', 'Beira Interior Sul', 'Cova da Beira', 'Dão-Lafões', 'Médio Tejo', 'Oeste', 'Pinhal Interior Norte', 'Pinhal Interior Sul', 'Pinhal Litoral', 'Serra da Estrela');
			region = new RegionPlus('Centro', listeSousRegion);
			break;
		case 'Lisboa':
			listeSousRegion = new Array('Grande Lisboa','Península de Setúbal');
			region = new RegionPlus('lisboa', listeSousRegion);
			break;
		case 'Alentejo':
			listeSousRegion = new Array('Alentejo Central', 'Alentejo Litoral', 'Alto Alentejo', 'Baixo Alentejo', 'Lezíria do Tejo');
			region = new RegionPlus('Alentejo', listeSousRegion);
			break;
		case 'Algarve':
			listeSousRegion = new Array('Algarve');
			region = new RegionPlus('Algarve', listeSousRegion);
			break;
	}
	
	var elementSousRegion = '<ul>';
	
	for(var i=0; i<region.SousRegion.length; i++)
	{
		elementSousRegion += '<li id="sousRegion' + region.SousRegion[i] + '"><a class="Plus" href="javascript:;" OnClick="DeplierSousRegion(\'' + region.SousRegion[i] + '\')">+</a>Sous-Région : '+ region.SousRegion[i] + '</li>';
	}
	
	elementSousRegion += '</ul>';
	
	document.getElementById('region' + nom).innerHTML = '<a class="Plus" href="javascript:;" OnClick="ReplierRegion(\'' + nom + '\')">-</a> Région : '+ nom + elementSousRegion;
}

function ReplierRegion(nom)
{
	var elementRegion;
	
	elementRegion = '<a class="Plus" href="javascript:;" OnClick="DeplierRegion(\'' + nom + '\')">+</a> Région : '+ nom;
	
	document.getElementById('region' + nom).innerHTML = elementRegion;
}

