var repBNFn, repBNFc, typec, typen, vilBNF, autre_dir, mes_vilBNF, col_img, lig_img, col1, lig1 ;
var repBNF, typ_cart, nbcol, nblig, chg1col, chg1lig, chg2col, chg2lig, colnavig, lignavig, combo ; 
var cass_num2, cible_x, cible_y, img_cible, commentaire ;
var col_t = 1; var ordre = 0;
var ma_fen, cass_num, edition, mos, car_dem, n_com, type_cible, com_x, com_y, car12, car2, img_dem, cass_img, cible_visible, num_dep_insee, largeur, hauteur, longc, latc, insee_cp, ray;
var list_liens='';var site_ext=""; var drap_t="Marquer cette commune";
var text_edition="Basculer vers 2ème édition (N&B)";
var chem1 = "http://gallica.bnf.fr/Fonds_ImagesZoom/077/";
var chem2 = "/0000001/TileGroup";
var c_bord = 1; // avec Bordure par défaut
var coul_bord = "#008000";
var lien_a_cass = "Afficher la carte de Cassini"; var lien_m_cass = "Masquer la carte de Cassini";
var lien_a_ext = "Afficher les sites externes"; var lien_m_ext = "Masquer les sites externes";
// (essai affichage communes dépts limitrophes) var lien_a_com = "Afficher communes autres dépts"; var lien_m_com = "Masquer communes autres dépts";
var text_bord = "Masquer le quadrillage";
var t_mos = 1; // type mosaique 1 par défaut
var mos = (t_mos * 2)+1; // mosaique 3 x 3 par défaut
var text_mos = "Basculer en mode 5 images x 5 images";
var edition = "c";
// 3 types de coord fixes pr carré de navigation
var chaine_navig1 = "2;8;14;20";
var chaine_navig2 = "2;7;12;17";
var chaine_navig3 = "2;6;10;14";

	declare_carte_cass() ; // lecture array des cartes de cassini
	type_carte() ; // lecture array des types de cartes de cassini
	init_combo() ; // construction liste déroulante de toutes les cartes de cassini

// DEPT - Affiche la position d'une commune sur la carte d'un département
function com_dep(source, formulaire, num_dep_insee, code_insee) { 
	if (source == 0) {
		selection = 0;
		if (code_insee != "") {
			var trouve_insee="n";
			nb_elem = document.f_com_dep.list_com_dep.length;
			for (i = 0; i < nb_elem ; i++) {
				var com_en_cours = document.f_com_dep.list_com_dep.options[i].value ;
				var eclate_com = com_en_cours.split(";") ;
				var insee      = eclate_com[0] ;
				if (insee == code_insee) {
					selection = i;
					var trouve_insee="o";
					break ;
					}
				}
			if (trouve_insee=="n") {alert("Code Insee ["+code_insee+"] inconnu dans ce département !");}
			}
		document.f_com_dep.list_com_dep.options.selectedIndex = selection ;
		var donnee = document.f_com_dep.list_com_dep.options[document.f_com_dep.list_com_dep.selectedIndex].value ;
		var nom_com = document.f_com_dep.list_com_dep.options[document.f_com_dep.list_com_dep.selectedIndex].text ;
	}
	if (source == 1) {
		var donnee = formulaire.list_com_dep.options[formulaire.list_com_dep.selectedIndex].value ;
		var nom_com = formulaire.list_com_dep.options[formulaire.list_com_dep.selectedIndex].text ;
		}
eclat_don(donnee, nom_com, num_dep_insee) ;
}

function eclat_don(donnee, nom_com, num_dep_insee) {
	var eclate_com = donnee.split(";") ;
	var insee = eclate_com[0] ;
	var pop   = eclate_com[1] ;
	var superf  = eclate_com[2] ;
	largeur = parseFloat(eclate_com[3]) ;
	hauteur = parseFloat(eclate_com[4]) ;
	var cass_a  = eclate_com[5] ;
	var cass_n  = eclate_com[6] ;
	com_x  = eclate_com[7] ;
	com_y  = eclate_com[8] ;
	fich_com  = eclate_com[9] ;
	longc = parseFloat(eclate_com[10]) ;
	latc = parseFloat(eclate_com[11]) ;
	cpost = eclate_com[12] ;
	var div1 = document.getElementById("ptlum") ;
	var objet;
	objet = new Array(div1) ;
	objet[0].style.left = largeur - 4 ;
	objet[0].style.top  = hauteur - 4 ;
	// Affichage des infos de la commune
	var text_bout='&nbsp;'
	affiche_retour(num_dep_insee, pop, superf, insee, nom_com, text_bout, cass_a, cass_n, com_x, com_y, fich_com, cpost) ;
	}	

// Affiche Infos d'une commune ds dept
function affiche_retour(num_dep_insee, pop, superf, insee, nom_com, text_bout, cass_a, cass_n, com_x, com_y, fich_com, cpost) {
	declare_dep();
	for (i = 0; i < depart.length ; i++) {
		var dep_en_cours = new String(depart[i]) ;
		var eclate_depart = dep_en_cours.split(";") ;
		var num_dep       = eclate_depart[1] ;
		if (num_dep == num_dep_insee) {
			var nom_dep       = eclate_depart[0] ;
			var cible       = eclate_depart[4] ; // utilisé uniquement pour une montée en charge par dpt (pointage com puis cassini par exemple)
			var region       = eclate_depart[6];
			break ;
			}
		}
	
	var superf_t = '';
	if (superf=='') {
		superf_t += ': <span class=don>non renseign&eacute;e<\/span>' ;
		}
	else {
		superf_t += '(approximative) : <span class=don>'+Math.round(superf/10)/10 +'<\/span> km²';
		}	
	var dens = '<span class=don>';
	if (superf=='' || pop=='') {
		dens += 'non renseign&eacute;e<\/span>' ;
		}
	else {
		dens += Math.round(pop/(Math.round(superf/10)/10)) +'<\/span> habitants / km²';
		}

	if (cpost.length>5) {cpost = (cpost.split("-")).join(" - "); tpost = "odes postaux";}
	else {tpost = "ode postal";}
	insee_cp=insee;
	document.getElementById("r_com").innerHTML = nom_com ;
	document.getElementById("r_insee").innerHTML = insee ;
	document.getElementById("r_dep").innerHTML = nom_dep+' ('+num_dep_insee+')' ;
	document.getElementById("r_reg").innerHTML = region ;
	document.getElementById("r_pop").innerHTML = (pop=='' ? 'non renseignée' : pop) ;
	document.getElementById("r_dens").innerHTML = dens ;
	document.getElementById("r_superf").innerHTML = superf_t ;
	document.getElementById("r_post").innerHTML = cpost ;
	document.getElementById("t_post").innerHTML = tpost;
/*	var result = '<table cellspacing="0" cellpadding="0" border="0" width="265">'
	+'<tr><td width="265" colspan="2">'
	+'Commune: <span class=don>'+nom_com+'<\/span>'
	+'<br>Code INSEE: <span class=don>'+insee+'<\/span>'
	+'<br>D&eacute;pt: <span class=don>'+nom_dep+' ('+num_dep_insee+')<\/span>'
	+'<br>R&eacute;gion: <span class=don>'+region+'<\/span>'
	+'<br>Population 1990 : <span class=don>'+(isNaN(pop) || pop=='' ? 'non renseignée' : pop)+'<\/span>'
	+'<br>Densité : '+dens
	+'<br>Superficie '+superf_t
	+'<br><br><a href="loc_listcomf1.htm">Recherche d\'une commune</a>'
	+'<br><a href="loc_ancmen.htm">Historique des communes</a>'
	+'<\/td><\/tr><\/table><br>';
*/

	nv_nom = nom_com.replace(RegExp("'","g"),"£");
	if(site_ext=="geneanet") document.form_gen.place.value=nom_com;
	if(site_ext!="") {choix_site(site_ext, insee, nv_nom, num_dep_insee, fich_com)};
	list_liens = '<div class="cent b">Quelques sites externes en rapport avec la commune ou le département</div><div class="noir t8n" style="line-height:1.4em; margin-left:10px">';
	list_liens +='<br><span class="b" style="margin-left:-7px">Patrimoine</span>';
	list_liens +='<br><a href="#" onmouseover="popup(\'memoire\',\''+insee+'\');">Base Mémoire</a>';
	list_liens +='<br><a href="#" onmouseover="popup(\'merimee\',\''+insee+'\');">Base Mérimée<\/a>';
	list_liens +='<br><a href="#" onmouseover="popup(\'palissy\',\''+insee+'\');">Base Palissy</a>';
	list_liens +='<br><a href="#" onmouseover="popup(\'archidoc\',\'\',\''+nv_nom+'\');">Base Archidoc<\/a>';
	list_liens +='<br><a href="#" onmouseover="popup(\'cdf\',\'\',\'\',\''+num_dep_insee+'\');">Clochers de France</a>';
	list_liens +='<br><br><span class="b" style="margin-left:-7px">Généalogie</span>';
	list_liens +='<br><a href="#" onmouseover="popup(\'dgw\',\'\',\'\',\''+num_dep_insee+'\');">DépartementGenWeb</a>';
	list_liens +='<br><a href="#" onmouseover="popup(\'cgw\',\'\',\'\',\''+num_dep_insee+'\');">CousinsGenWeb</a>';
	list_liens +='<br><a href="#" onmouseover="popup(\'ariane\',\'\',\'\',\''+num_dep_insee+'\');">Le Fil d\'Ariane</a>';
	list_liens +='<br><a href="#" onmouseover="popup(\'geneanet\',\'\',\''+nv_nom+'\',\''+num_dep_insee+'\');">GeneaNet</a>';
	list_liens +='<br><a href="#" onmouseover="popup(\'gencom\',\''+insee+'\');">GenCom</a>';
	list_liens +='<br><span class="b">(Portails)</span>';
	list_liens +='<br><a href="#" onmouseover="popup(\'fgw\');">FranceGenWeb</a>';
	list_liens +='<br><a href="#" onmouseover="popup(\'geneapass\');">GénéaPass</a>';
	list_liens +='<br><br><span class="b" style="margin-left:-7px">Divers</span>';
	list_liens +='<br><a href="#" onmouseover="popup(\'ign\',\'\',\''+nv_nom+'\',\'\');">IGN</a>';	
	list_liens +='<br><a href="#" onmouseover="popup(\'insee\',\''+insee+'\',\'\',\''+num_dep_insee+'\');">Insee</a>';
	list_liens +='<br><a href="#" onmouseover="popup(\'poste\',\'\',\''+nv_nom+'\',\''+num_dep_insee+'\');">La Poste</a>';	
	list_liens +='<br><a href="#" onmouseover="popup(\'michelin\',\'\',\''+nv_nom+'\',\''+num_dep_insee+'\');">ViaMichelin</a>';
	list_liens +='<br><a href="#" onmouseover="popup(\'pagesj\',\'\',\''+nv_nom+'\',\''+num_dep_insee+'\');">Pages Jaunes</a>';	
	list_liens +='<br><a href="#" onmouseover="popup(\'ehess\',\'\',\'\',\'\',\''+fich_com+'\');">Notice communale</a>';	
	
	if (nba_lien > 0)	{
		list_liens +='<br><br><span class="b vert" style="margin-left:-7px">Bonus</span>';
		for (i = 1; i < nba_lien ; i++) {
			var autr_lien_en_cours = new String(autr_lien[i]) ;
			var eclate_autr_lien = autr_lien_en_cours.split(";") ;
			var nom_lien = eclate_autr_lien[0] ;
			list_liens += '<br><a href="#" onmouseover="popup(\'bonus'+i+'\',\''+insee+'\',\''+nv_nom+'\',\''+num_dep_insee+'\',\''+fich_com+'\');">'+nom_lien+'</a>';
			}
		}
	
	list_liens +='</div>';
	//document.getElementById("infos").innerHTML = result ;
	document.getElementById("c_liens").innerHTML = list_liens;

	if (cass_n!="") { // si existence carte Cassini
		if (affcass=="O") {document.getElementById("carte_cass").innerHTML=lien_m_cass;}
		prepa(cass_n,cass_a,nom_com,com_x,com_y,cible);
		document.getElementById("carte_cass").style.visibility = "visible"; affcass="N";
		}
	else {
		document.getElementById("cassini").innerHTML = "" ;
  		document.getElementById("carte_cass").style.visibility = "hidden";
		}
	document.getElementById("ptlum").innerHTML = '<img src="loc_ptlum.gif" width="9" height="9" border="0">';	
}

function prepa(t_cass_n,t_cass_a,t_nom_com,t_com_x,t_com_y,t_cible) {
	cass_num = t_cass_n;
	car_dem = cass_num ;
	cass_img = t_cass_a;
	img_dem = cass_img ;
	n_com = t_nom_com;
	com_x = t_com_x;
	com_y = t_com_y;
	type_cible = t_cible;
	img_cible = (type_cible=="O") ? "cible1":"cible0" ;
	if (document.getElementById("carte_cass").innerHTML==lien_m_cass) {
		affiche_cassini(cass_num, cass_img,1);
		}
	}

function verif_cassini() {
	var code_insee=document.getElementById('r_insee').innerHTML;
	var gp_url="http://www.geoportail.fr/?c="+gp[code_insee]+"&z=9&l=Cassini(100)";
	geop=window.open(gp_url,"geoportail");
	geop.focus();
	return;
	if (document.getElementById("carte_cass").innerHTML==lien_a_cass) {
		document.getElementById("carte_cass").innerHTML = lien_m_cass;
		affiche_cassini(cass_num, cass_img,1)
		}
	else {
		document.getElementById("carte_cass").innerHTML = lien_a_cass;
		document.getElementById("cassini").innerHTML = "" ;
		document.getElementById("ptlum").innerHTML = '<img src="loc_ptlum.gif" width="9" height="9" border="0">';
		}
	}

function verif_liens() {
	if (document.getElementById("liens").innerHTML==lien_a_ext) {
		document.getElementById("liens").innerHTML = lien_m_ext;
		document.getElementById("c_liens").style.visibility = "visible";
		//document.getElementById("drap0").style.visibility = "hidden";
		}
	else {	
		document.getElementById("liens").innerHTML = lien_a_ext;
		document.getElementById("c_liens").style.visibility = "hidden";
		document.getElementById("c_aide").style.visibility = "hidden";
		//document.getElementById("drap0").style.visibility = "visible";
		document.getElementById("ptlum").innerHTML = '<img src="loc_ptlum.gif" width="9" height="9" border="0">';
		site_ext="";
		}
	}

/* (essai affichage communes dépts limitrophes)
function verif_com_lim() {
	if (document.getElementById("com_lim").innerHTML==lien_a_com) {
		document.getElementById("com_lim").innerHTML = lien_m_com;
		document.getElementById("courseau").style.visibility = "visible";
		document.getElementById("ptlum").innerHTML = '<img src="loc_ptlum.gif" width="9" height="9" border="0">';	
		}
	else {
		document.getElementById("com_lim").innerHTML = lien_a_com;
		document.getElementById("courseau").style.visibility = "hidden";
		document.getElementById("ptlum").innerHTML = '<img src="loc_ptlum.gif" width="9" height="9" border="0">';		
		}
	}

function vasy2(num_dpt,num) { // Quand clic sur area commune autres dpts carte gif
	var fich_dep = "loc_listcomd"+num_dpt+".htm?code_insee="+num ;
	location = fich_dep ;
	}
*/	
function vasy(num_dpt,num) { // Quand clic sur area commune du dpt carte gif
	com_dep(0,'',num_dpt, num) ;
}

function NewWindow(url_ext){ // Nvlle fenêtre vers site externe
	if(ma_fen) ma_fen.close();
	ma_fen = window.open(url_ext,"toto"); ma_fen.focus();
}

function popup(sit_ext, insee_ext, com_ext, dpt_ext, fich_com) { // affichage ou non infos sur site externe (à la place carte gif)
	choix_site(sit_ext, insee_ext, com_ext, dpt_ext, fich_com);
	document.getElementById("c_aide").innerHTML=commentaire;
	document.getElementById("c_aide").style.visibility="visible";
	site_ext=sit_ext;
	}

function choix_site(site_ext, insee_ext, com_ext, dpt_ext, fich_com) { // Récup commentaire et lien vers site externe
	fl_liens='<img src="fle_liens.gif" width="16" height="9">&nbsp;&nbsp;'
	site_ex=site_ext;
	if (site_ext.slice(0,5)=="bonus") {site_ex="bonus"; num_site=site_ext.slice(5,6);};
	switch(site_ex)
		{
		case "memoire":
			url_ext='http://www.culture.gouv.fr/public/mistral/memoire_fr?ACTION=CHERCHER&FIELD_1=INSEE&VALUE_1='+insee_ext;
			commentaire="<br><div class=\"t12 cent\">Mémoire : base iconographique</div><br><div class=\"just noir marg10\">La base Mémoire est un catalogue d'images fixes provenant de la médiathèque de l'Architecture et du Patrimoine ainsi que des services régionaux de l'Inventaire général, des monuments historiques et de l'archéologie...<P>Les images qu'elle propose ont été réalisées à partir de documents très divers : photographies, gravures, plans, dessins et autres documents graphiques.<br>Ces documents illustrent des thèmes variés : architecture civile et religieuse (France et anciennes colonies), patrimoine mobilier, expositions universelles, événements historiques (autochromes de la première guerre mondiale), reportages (voyage de Paul Nadar au Turkestan), portraits de célébrités et d'anonymes (Sarah Bernhardt par Félix Nadar), etc.</div><P class=\"cent b\">Source: Base de données Mémoire<br>Ministère de la Culture et de la Communication<br>Direction de l'Architecture et du Patrimoine.<br><P class=\"cent\">"+fl_liens+"<a href=\"Javascript:NewWindow(url_ext)\">Accès aux (éventuelles) données<br>de la commune.</a>" ;
			break;
		case "palissy":
			url_ext='http://www.culture.gouv.fr/public/mistral/palissy_fr?ACTION=CHERCHER&FIELD_1=INSEE&VALUE_1='+insee_ext;
			commentaire="<br><div class=\"t12 cent\">Palissy : patrimoine mobilier</div><br><div class=\"just noir marg10\">La base Palissy recense le patrimoine mobilier français dans toute sa diversité : meubles et objets religieux, domestiques, scientifiques et industriels.<br>Elle contient environ <nobr>260 000</nobr> notices, dont près de <nobr>15 000</nobr> illustrées, réparties en deux fonds interrogeables séparément ou simultanément.<br>Le premier s'enrichit à mesure des enquêtes de l'Inventaire sur le terrain (dossiers d'inventaire complets disponibles dans les centres de documentation de l'architecture et du patrimoine).<br>Le second, constitué à partir des mesures nationales de protection au titre de la loi de 1913 sur les Monuments historiques, est mis à jour annuellement.</div><P class=\"cent b\">Source: Base de données Palissy<br>Ministère de la Culture et de la Communication<br>Direction de l'Architecture et du Patrimoine.<br><P class=\"cent\">"+fl_liens+"<a href=\"Javascript:NewWindow(url_ext)\">Accès aux (éventuelles) données<br>de la commune.</a>" ;
			break;
		case "merimee":
			url_ext='http://www.culture.gouv.fr/public/mistral/merimee_fr?ACTION=CHERCHER&FIELD_1=INSEE&VALUE_1='+insee_ext;
			commentaire="<br><div class=\"t12 cent\">Mérimée : patrimoine architectural</div><br><div class=\"just noir marg10\">Riche d'environ <nobr>160 000</nobr> notices, la base Mérimée recense le patrimoine monumental français dans toute sa diversité : architecture religieuse, domestique, agricole, scolaire, militaire et industrielle. Elle est mise à jour périodiquement...</div><P class=\"cent b\">Source: Base de données Mérimée<br>Ministère de la Culture et de la Communication<br>Direction de l'Architecture et du Patrimoine.<br><P class=\"cent\">"+fl_liens+"<a href=\"Javascript:NewWindow(url_ext)\">Accès aux (éventuelles) données<br>de la commune.</a>" ;
			break;
		case "archidoc":
			nv_nom2 = com_ext.replace(RegExp("£","g"),"''");
			url_ext='http://www.culture.gouv.fr/public/mistral/chastel_fr?ACTION=CHERCHER&FIELD_1=COM&VALUE_1='+"'"+nv_nom2+"'";
			commentaire="<br><div class=\"t12 cent\">Archidoc : base bibliographique</div><br><div class=\"just noir marg10\">Cette base de données est composée de notices issues de différents dépouillements de sources documentaires: bibliographiques, sources imprimées, revues, sources manuscrites, iconographiques. Chaque notice contient des informations localisées sur une oeuvre architecturale ou un objet mobilier ou un site.</div><P class=\"cent b\">Source: Base de données Archidoc<br>Ministère de la Culture et de la Communication<br>Direction de l'Architecture et du Patrimoine.<br><P class=\"cent\">"+fl_liens+"<a href=\"Javascript:NewWindow(url_ext)\">Accès aux (éventuelles) données<br>de la commune.</a>" ;
			break;
		case "gencom":
			url_ext='http://www.gencom.org:2325/cgi-bin/Communes/Cgi/inform_communes.cgi?INSEE='+insee_ext;
			commentaire="<br><div class=\"t12 cent\">GenCom<br><span class=\"t10\">(recherche les communes de France)</span></div><br><div class=\"just noir marg10\">Ce site recense toutes les informations liées aux communes françaises grâce à l'apport des données de nombreux contributeurs.<br></div><P class=\"cent b\"><br><img src=\"logo_gencom.jpg\"  width=\"165\" height=\"50\"><P class=\"cent\">"+fl_liens+"<a href=\"Javascript:NewWindow(url_ext)\">Accès à la commune.</a>" ;
			break;
		case "geneanet":
			msq=saisie_geneanet(com_ext, dpt_ext);
			commentaire="<br><div class=\"t12 cent\">GeneaNet</div><br><div class=\"just noir marg10\">GeneaNet a pour mission de donner accès à toutes les données généalogiques existantes dans le monde, accessibles ou non sur Internet, gratuites ou payantes afin de rendre la pratique de la généalogie accessible à tous.</div><P class=\"cent b\">Source: GeneaNet<br>(Toute la généalogie sur Internet !)<br><br>"+msq; 
			break;
		case "ariane":
			if (dpt_ext=='2A' || dpt_ext=='2B') dpt_ext='20';
			url_ext='http://www.entraide-genealogique.net/dem.php?departement='+dpt_ext;
			commentaire="<br><div class=\"t12 cent\">Le Fil d'Ariane</div><br><div class=\"just noir marg10\">Vous recherchez un acte d'état-civil, notarial, etc... Mais vous ne pouvez pas vous déplacer.<br>Leurs bénévoles se chargent de le retrouver pour vous.<p>Vous avez un acte difficile à lire, une photo d'un de vos ancêtres en uniforme dont vous voulez retrouver le régiment, un habit religieux qui vous intrigue, un problème de blason, soumettez les à la sagacité de leurs bénévoles.</div><P class=\"cent b\">Source: Le Fil d'Ariane<br>(L'entraide généalogique sur Internet)<br><br><img src=\"logo_fda.gif\"  width=\"130\" height=\"40\"><P class=\"cent\">"+fl_liens+"<a href=\"Javascript:NewWindow(url_ext)\">Accès à la page d'entraide du département.</a>" ;
			break;
		case "cgw":
			url_ext='http://www.francegenweb.org/cgw/'+dpt_ext+'.htm';
			commentaire="<br><div class=\"t12 cent\">CousinsGenWeb</div><br><div class=\"just noir marg10\">Les pages de CousinsGenWeb présentent les données que certains généalogistes internautes ont accepté de lui confier. L'objectif est d'échanger des informations dans le but, bien entendu, de découvrir de nouveaux cousins et\/ou de progresser dans vos recherches.</div><P class=\"cent b\">Source: CousinGenWeb<br>Un service de FranceGenWeb<br><br><img src=\"logo_cgw.gif\"  width=\"130\" height=\"40\"><P class=\"cent\">"+fl_liens+"<a href=\"Javascript:NewWindow(url_ext);\">Accès au site du département.</a>" ;
			break;
		case "dgw":
			url_ext='http://www.francegenweb.org/dept/'+dpt_ext+'.htm';
			commentaire="<br><div class=\"t12 cent\">DépartementGenWeb</div><br><div class=\"just noir marg10\">Chaque département métropolitain ainsi que les Dom-Tom possèdent leur site départemental.<br>Ces sites présentent des ressources et des adresses pour les recherches généalogiques dans un département donné, ainsi que de nombreux renseignements locaux et\/ou historiques.</div><P class=\"cent b\">Source: DépartementGenWeb<br>Un service de FranceGenWeb<br><br><img src=\"logo_dgw.gif\"  width=\"130\" height=\"40\"><P class=\"cent\">"+fl_liens+"<a href=\"Javascript:NewWindow(url_ext);\">Accès au site du département.</a>" ;
			break;
		case "cdf":
			url_ext='http://clochers.org/Fichiers_HTML/Accueil/Accueil_clochers/'+dpt_ext+'/accueil_'+dpt_ext+'.htm';
			commentaire="<br><div class=\"t12 cent\">Clochers de France</div><br><div class=\"just noir marg10\">Ce site, avec l'aide de tous ses contributeurs bénévoles, vous propose des photos de nos clochers de France.<br>Son objectif premier est de vous apporter une satisfaction visuelle, en vous faisant découvrir pour certains, revoir pour d'autres, ces œuvres d'art et ces témoignages de foi chrétienne qui dominent nos villes et nos villages.</div><P class=\"cent b\">Source: Clochers de France<br>(Regardez et voyez)<br><br><img src=\"logo_clocher.jpg\"  width=\"130\" height=\"80\"><P class=\"cent\">"+fl_liens+"<a href=\"Javascript:NewWindow(url_ext)\">Accès à la page du département.</a>" ;
			break;
		case "michelin":
			nv_nom2 = com_ext.replace(RegExp("£","g"),"%27");
			url_ext='http://www.viamichelin.fr/viamichelin/fra/dyn/controller/mapPerformPage?strAddress=&strCP='+dpt_ext+'&strLocation=\''+nv_nom2+"\'";
			commentaire="<br><div class=\"t12 cent\">ViaMichelin</div><br><div class=\"just noir marg10\">Itinéraires, cartes et plans, tourisme, hôtels et restaurants en Europe.</div><P class=\"cent noir\">Localisation de la commune par<br>"+fl_liens+"<a href=\"Javascript:NewWindow(url_ext);\">accès à la rubrique &quot;Cartes & Plans&quot;</a>" ;
			break;
		case "ign":
			nv_nom2 = com_ext.replace(RegExp("£","g")," ");
			nv_nom2 = nv_nom2.replace(RegExp("-","g")," ");
			if (nv_nom2.indexOf("(") != -1) { // si parenthèse
				var art=nv_nom2.slice(nv_nom2.indexOf("(")+1,nv_nom2.indexOf(")"));// Mémo contenu entre parenthèses;
				if (art=="La" || art=="Le" || art=="Les" || art=="Los" || art=="Aux" || art=="L ") { // si article
					art= art.replace(" ",""); // si espace dans article ( [L'] devenu [L ] ) alors sup espace
					nv_nom2= art+" "+nv_nom2.substr(0,nv_nom2.indexOf("(")); // commune = article +espace+restant du nom (sans entre parenthèses)
					}
				else { // pas un article (canton de ... Arrondissement ...)
					nv_nom2=nv_nom2.substr(0,nv_nom2.indexOf("(")); // commune = uniquement nom
					}
				if (nv_nom2.lastIndexOf(" ") == nv_nom2.length-1) { nv_nom2 = nv_nom2.substr(0,nv_nom2.lastIndexOf(" "))}; // si dernier caractère = espace, sup de cet espace
				}
			url_ext='http://www.ign.fr/rubrique.asp?rbr_id=903&saisie='+nv_nom2;
			commentaire="<br><div class=\"t12 cent\">IGN</div><br><div class=\"just noir marg10\">L'IGN a pour missions principales d'assurer la production, l'entretien et la diffusion de l'information géographique de référence en France.<br>Au-delà de ces activités, il assure la formation des ingénieurs et techniciens, il conduit les actions de recherche dans le domaine géographique et il tient à jour la documentation institutionnelle...</div><P class=\"cent b\">Source: IGN<br>(Institut Géographique National)<P class=\"cent noir\">"+fl_liens+"<a href=\"Javascript:NewWindow(url_ext);\">Données géographiques de la commune</a>" ;
			break;
		case "insee":
			if (dpt_ext.substr(0,2) =="97") {
 				dpt_ext = "9"+String.fromCharCode(parseInt(dpt_ext.substr(2,1))+64)
 				insee_ext = dpt_ext+insee_ext.substr(2,3)
 			}
			//http:www.insee.fr/fr/nom_def_met/nomenclatures/cog/affichecommune.asp?numdep=14&valcode=697
			url_ext1='http://www.recensement.insee.fr/RP99/rp99/c_affiche.affiche?nivgeo=';
			url_ext2='&produit=P_POPA&theme=ALL&typeprod=ALL&lang=FR';
			url_extC=url_ext1+'C&codgeo='+insee_ext+url_ext2;
			url_extD=url_ext1+'D&codgeo='+dpt_ext+url_ext2;
			url_cog ='http://www.insee.fr/fr/nom_def_met/nomenclatures/cog/affichecommune.asp?numdep='+dpt_ext+'&valcode='+insee_ext.substr(2,3);
			commentaire="<br><div class=\"t12 cent\">Insee</div><br><div class=\"just noir marg10\">L'Institut national de la statistique et des études économiques (Insee) collecte, produit et diffuse des informations sur l'économie et la société française afin que tous les acteurs intéressés (administration, entreprises, chercheurs, médias, enseignants, particuliers) puissent les utiliser pour effectuer des études, faire des prévisions et prendre des décisions.</div><P class=\"cent b\">Source: INSEE (Institut national de la statistique<br>et des études économiques)<p><div class=\"cent noir b\">P_POPA - Fiche profil - Evolutions démo 1962 - 1999</div><P class=\"cent noir\">"+fl_liens+"<a href=\"Javascript:NewWindow(url_extD);\">accès aux données du département</a><br>"+fl_liens+"<a href=\"Javascript:NewWindow(url_extC);\">accès aux données de la commune</a><p><br><div class=\"cent noir b\">Code officiel géographique 2006</div><P class=\"cent noir\">"+fl_liens+"<a href=\"Javascript:NewWindow(url_cog);\">accès aux données de la commune</a>" ;
			break;
		case "ehess":
			url_ext1='http://cassini.ehess.fr/';
			url_ext2a='http://cassini.ehess.fr/cassini/fr/html/fiche.php?select_resultat='+fich_com; txt_lien="Accès à la notice communale";
			url_ext2b='<a  href=\"Javascript:NewWindow(url_ext2a);\">'
			if (fich_com=="") {url_ext2b=""; txt_lien="<span class=\"roug b\">Pas de notice communale pour cette commune</span>";}
			commentaire="<br><div class=\"t12 cent\">Notice communale de l'EHESS</div><br><div class=\"just noir marg10\">Les principaux domaines de recherche et d'enseignement de l'Ecole des Hautes Etudes en Sciences Sociales sont l'histoire, la sociologie, l'économie, l'anthropologie, la démographie, la géographie, l'archéologie, la psychologie, la linguistique, la philosophie, le droit, les mathématiques.</div><P class=\"cent b\">Source: EHESS<br>(Ecole des Hautes Etudes en Sciences Sociales)<div class=\"just marg10\">En partenariat, entre autres, avec la BNF, le CNRS et l'INED, l'EHESS a développé un site Web sur les communes françaises :</div><div class=\"cent b\"><a href=\"Javascript:NewWindow(url_ext1);\">Des villages de Cassini aux communes d'aujourd'hui.</a></div><div class=\"just marg10\">Pour chaque commune, <span class=\"b\">la notice communale</span> fournit plusieurs indications très utiles telles que la superficie, l'altitude mini et maxi, la longitude et latitude, les coordonnées Lambert II, l'arrondissement, le canton, les changements de noms, l'évolution démographique sur 2 siècles...</div><P class=\"cent noir\">"+fl_liens+url_ext2b+txt_lien+"</a>" ;
			document.getElementById("c_aide").innerHTML=commentaire;
			break;
		case "poste":
			nv_nom2 = com_ext.replace(RegExp("£","g")," ");
			nv_nom2 = nv_nom2.replace(RegExp("-","g")," ");
			nv_nom2 = nv_nom2.replace(RegExp("Sainte ","g"),"ste ");
			nv_nom2 = nv_nom2.replace(RegExp("Saint ","g"),"st ");
			if (nv_nom2.indexOf("(") != -1) { // si parenthèse
				var art=nv_nom2.slice(nv_nom2.indexOf("(")+1,nv_nom2.indexOf(")"));// Mémo contenu entre parenthèses;
				if (art=="La" || art=="Le" || art=="Les" || art=="Los" || art=="Aux" || art=="L ") { // si article
					art= art.replace(" ",""); // si espace dans article ( [L'] devenu [L ] ) alors sup espace
					nv_nom2= art+" "+nv_nom2.substr(0,nv_nom2.indexOf("(")); // commune = article +espace+restant du nom (sans entre parenthèses)
					}
				else { // pas un article (canton de ... Arrondissement ...)
					nv_nom2=nv_nom2.substr(0,nv_nom2.indexOf("(")); // commune = uniquement nom
					}
				if (nv_nom2.lastIndexOf(" ") == nv_nom2.length-1) { nv_nom2 = nv_nom2.substr(0,nv_nom2.lastIndexOf(" "))}; // si dernier caractère = espace, sup de cet espace
				}
			if (dpt_ext=='2A' || dpt_ext=='2B') dpt_ext='20'; 
			//(ancien code) url_ext='http://www.laposte.fr/codepostal_groupe.php3?txtCP='+dpt_ext+'&txtCommune='+nv_nom2+'&selCritere=CP';
			url_ext='http://www.laposte.fr/particulier_outils_pratiques_acceder_aux_outils_outils_trouvez_un_code_postal_274.html'; // ne permet plus de se positionner directement sur la commune sélectionnée
			commentaire="<br><div class=\"t12 cent\">La Poste</div><br><div class=\"just noir marg10\">Toutes les informations utiles sur les produits et services du groupe La Poste.</div><P class=\"cent\">"+fl_liens+"<a href=\"Javascript:NewWindow(url_ext);\">Code postal de la commune</a><p class=\"t8n cent\">(Formulaire à remplir manuellement)" ;
			break;
		case "pagesj":
			nv_nom2 = com_ext.replace(RegExp("£","g")," ");
			nv_nom2 = nv_nom2.replace(RegExp("-","g")," ");
			nv_nom2 = nv_nom2.replace(RegExp("Sainte ","g"),"ste ");
			nv_nom2 = nv_nom2.replace(RegExp("Saint ","g"),"st ");
			if (nv_nom2.indexOf("(") != -1) { // si parenthèse
				var art=nv_nom2.slice(nv_nom2.indexOf("(")+1,nv_nom2.indexOf(")"));// Mémo contenu entre parenthèses;
				if (art=="La" || art=="Le" || art=="Les" || art=="Los" || art=="Aux" || art=="L ") { // si article
					art= art.replace(" ",""); // si espace dans article ( [L'] devenu [L ] ) alors sup espace
					nv_nom2= art+" "+nv_nom2.substr(0,nv_nom2.indexOf("(")); // commune = article +espace+restant du nom (sans entre parenthèses)
					}
				else { // pas un article (canton de ... Arrondissement ...)
					nv_nom2=nv_nom2.substr(0,nv_nom2.indexOf("(")); // commune = uniquement nom
					}
				if (nv_nom2.lastIndexOf(" ") == nv_nom2.length-1) { nv_nom2 = nv_nom2.substr(0,nv_nom2.lastIndexOf(" "))}; // si dernier caractère = espace, sup de cet espace
				}
			if (dpt_ext=='2A' || dpt_ext=='2B') dpt_ext='20'; 
			//(ancien code) url_ext='http://www.laposte.fr/codepostal_groupe.php3?txtCP='+dpt_ext+'&txtCommune='+nv_nom2+'&selCritere=CP';
			url_ext='http://www.pagesjaunes.fr/pj.cgi?FRM_ACTIVITE=mairie&FRM_NOM=mairie&FRM_LOCALITE='+nv_nom2+'&FRM_DEPARTEMENT='+dpt_ext;
			commentaire="<br><div class=\"t12 cent\">Pages Jaunes</div><br><div class=\"just noir marg10\">Par le lien ci-dessous, vous accéderez à la page d'accueil de PagesJaunes.fr, le formulaire étant pré-rempli.<br>Un clic sur le bouton [Rechercher] vous permettra, certes, d'obtenir les coordonnées de la Mairie mais surtout, d'accéder au lien [vue aérienne] et de survoler ainsi la commune. Très simple d'emploi, vous pourrez, à loisir, zoomer et vous déplacer comme bon vous semble.</div><P class=\"cent\">"+fl_liens+"<a href=\"Javascript:NewWindow(url_ext);\">Coordonnées de la Mairie</a><br>(et surtout vue aérienne de la localité)" ;
			break;
		case "fgw":
			url_ext='http://www.francegenweb.org/';
			commentaire="<br><div class=\"t12 cent\">FranceGenWeb<br><span class=\"t10\">(Votre service bénévole d'assistance généalogique<br>fait par et pour des généalogistes amateurs)</span></div><br><div class=\"just noir marg10\">Gérés par des bénévoles, tous les services de FGW sont gratuits. En voici quelques-uns :<br><ul><li><b>MémorialGenWeb</b> : Recensement des personnes \"Mortes pour la France\" lors des principaux conflits dans lesquelles la France a été impliquée (guerre de 1870, 14-18, 39-45, d'Algérie ...)</li><li><b>La FayetteGenWeb</b> : Relevé des soldats français engagés dans la guerre d'indépendance américaine (1775-1783)</li><li><b>CimGenWeb</b> : Relevé des cimetières</li><li><b>Et bien d'autres</b> : Culte, Photo, Communes, Annu, Entraide, Régions, Maires, Notaires, Protestants, Biblio, Cousins, Départements, Listes, Archives, Traductions, Héraldique ... <b>GenWeb</b></li></ul></div><P class=\"cent\"><img src=\"logo_fgw.gif\"  width=\"130\" height=\"40\"><P class=\"cent\">"+fl_liens+"<a href=\"Javascript:NewWindow(url_ext)\">Accès au site</a>" ;
			break;
		case "geneapass":
			url_ext='http://www.geneapass.org/';
			commentaire="<br><div class=\"t12 cent\">GénéaPass</div><br><div class=\"just noir marg10\">Cet index de sites est un passeport pour accéder à des sources intéressantes et qui bien souvent, renvoient vers les spécialistes.<br>Geneapass ne prétend pas être exhaustif, mais aller à l'essentiel afin de rester de consultation souple et facile.<br>Le propos est d'aider les chercheurs débutants avec les \"petits papiers\" et de mettre à portée de tous les adresses les plus utiles en un clic.</div><P class=\"cent b\">Source: GénéaPass<br>(Passeport pour la Généalogie)<br><br><img src=\"logo_pass.gif\"  width=\"130\" height=\"40\"><P class=\"cent\">"+fl_liens+"<a href=\"Javascript:NewWindow(url_ext)\">Accès au site</a>" ;
			break;
		case "bonus":
			var autr_lien_en_cours = new String(autr_lien[num_site]) ;
			var eclate_autr_lien = autr_lien_en_cours.split(";") ;
			var nom_lien = eclate_autr_lien[0] ;
			var lien = eclate_autr_lien[1] ;
			var type_lien = eclate_autr_lien[2] ;
			var aide_lien = eclate_autr_lien[3] ;
			url_ext=lien; if (type_lien=="I") {url_ext += insee_ext};
			commentaire = aide_lien+"<P class=\"cent\">"+fl_liens+"<a href=\"Javascript:NewWindow(url_ext)\">";
			commentaire += (type_lien=="I") ? "Accès à la commune" : "Accès au site";
			commentaire += "</a>";
			break;
			}
	}

function saisie_geneanet(nv_nomg,num_dpt) {
	n_dpt="F"+num_dpt; pays="FRA";
	if (num_dpt=='2A' || num_dpt=='2B') n_dpt='F20'; 
	if (num_dpt>970) {
		switch(num_dpt)
			{
				case "971":
					pays="GLP";
					break;
				case "972":
					pays="MTQ";
					break;
				case "973":
					pays="GUY";
					break;
				case "974":
					pays="REU";
					break;
			}
		n_dpt='';
	}
	msq='<center>';
	msq+='<br><form method="get" action="http://search2.geneanet.org/result.php3" target="toto" name="form_gen" onSubmit="javascript:ma_fen=window.open(\'\',\'toto\');ma_fen.focus();" >';
	msq+='<table border="0" bordercolor="red" cellspacing="0" cellpadding="0" bgcolor="#85EAFF">';
	msq+='<tr>';
	msq+='<td height="5"><img src="http://www.geneanet.org/pics/commun/coin_hg.gif" width="5" height="5"></td>';
	msq+='<td height="5" colspan=3><img src="http://www.geneanet.org/pics/commun/vide.gif" width="5" height="5"></td>';
	msq+='<td height="5" align="right" valign="top"><img src="http://www.geneanet.org/pics/commun/coin_hd.gif" width="5" height="5"></td>';
	msq+='</tr>';
	msq+='<tr><td valign="middle" height="15" colspan=3><b><center><FONT face=Arial, Helvetica, sans-serif size=2 color="#2B4E6C"><i>Votre patronyme a-t-il déjà été étudié ?</b></i></center></td>';
	msq+='<td colspan=2><img src="http://www.geneanet.org/pics/commun/vide.gif" width="5" height="5"></td>';
	msq+='</tr><tr>';
	msq+='<td height="5"><img src="http://www.geneanet.org/pics/commun/vide.gif" width="5" height="5"></td>';
	msq+='<td><a href="http://www.geneanet.org/"> <img src="http://www.geneanet.org/pics/commun/minilogo4.gif" alt="Toute la généalogie sur Internet !" width="168" height="40" border=0></a></td>';
	msq+='<td valign="middle" align="center">';
	msq+='<font face="Arial, Helvetica, sans-serif" size="2" color="black"> Patronyme : <br>';
	msq+='<input type="text" name="name">';
	msq+='<br>';
	msq+='<input type="hidden" name="place" value="'+nv_nomg+'">';
	msq+='<input type="hidden" name="subregion" value="'+n_dpt+'"><input type="hidden" name="country" value="'+pays+'">';
	msq+='</td>';
	msq+='<td valign="middle" align="center">';
	msq+='<br>';
	msq+='<input type="image" name="recherche" src="http://www.geneanet.org/pics/boutons/go.gif" width="28" height="14" border=0>';
	msq+='</td>';
	msq+='<td><img src="http://www.geneanet.org/pics/commun/vide.gif" width="5" height="5"></td>';
	msq+='</tr><tr>';
	msq+='<td height="5"><img src="http://www.geneanet.org/pics/commun/coin_bg.gif" width="5" height="5"></td>';
	msq+='<td height="5" colspan=3><img src="http://www.geneanet.org/pics/commun/vide.gif" width="5" height="5"></td>';
	msq+='<td height="5" valign="bottom" align="right"><img src="http://www.geneanet.org/pics/commun/coin_bd.gif" width="5" height="5"></td>';
	msq+='</tr></table></form>';
	msq+='</center>';
	msq+='<div class="just marg10">Vous pouvez sélectionner une autre commune et/ou saisir un patronyme. La recherche se limitera à ce département et cette commune.<br>Sur GeneaNet, d\'autres formulaires vous permettront d\'élargir votre recherche.</div>';
	return msq ;
}


/******************************************************
QUERY STRING SCANNER PAR L'EDITEUR JAVASCRIPT
http://www.editeurjavascript.com
*******************************************************
MERCI DE LAISSER CET AVERTISSEMENT EN CAS D'UTILISATION
******************************************************/
ejs_list = new Array;
ejs_list_valeur = new Array;
ejs_place = document.location.href.indexOf("?",0); // emplacement du ?
if(ejs_place >= 0)	{ // si présence d'un ?
	ejs_query_string = document.location.href.substring(ejs_place+1, document.location.href.length); // se qui suit le ?
	ejs_place_and = ejs_query_string.indexOf("&",0); // emplacement d'un &
	if(ejs_place_and >= 0) // si présence d'un &
		ejs_list = ejs_query_string.split("&"); // séparation des chaines selon &
	else
		ejs_list[0] = ejs_query_string; // pas de & (seul 1 ?) 
	for (ejs_i=0;ejs_i<ejs_list.length;ejs_i++)
		{
		ejs_temp = ejs_list[ejs_i].split("="); // séparation dans la chaine du nom de variable de sa valeur
		ejs_variable = ejs_temp[0]; // 1er élément = nom de la variable
		ejs_valeur = ejs_temp[1]; // 2ème élément = valeur de la variable
		ejs_plus_place = ejs_valeur.indexOf("+",0); // emplacement d'un + dans la valeur
		while (ejs_plus_place >-1) {
			ejs_temp2 = ejs_valeur.substring(0,ejs_plus_place) + ' ' + ejs_valeur.substring(ejs_plus_place+1,ejs_valeur.length);
			ejs_valeur = ejs_temp2;
			ejs_plus_place = ejs_valeur.indexOf("+",ejs_plus_place+2);
			}
		ejs_list_valeur[ejs_variable] = ejs_valeur;
		}	
	}

function get(ejs_get)	{
	if (ejs_list_valeur[ejs_get])
		return(unescape(ejs_list_valeur[ejs_get]));
	else
		return("");
	}

////////////////////////////////////////////////////////////////
///////////////////////////// CASSINI //////////////////////////
////////////////////////////////////////////////////////////////

function affiche_cassini(cass_num, cass_img,chg) { // carte, image et chg (1= nvlle carte 2= chgt edition)
	if (chg == 1) recup_inf_cartes(); // si nvlle carte
	if (chg > 0) coord_navig() ; // si chgt edition (ou nvlle carte)

	// ident coord image sélectionnée
	sep_cass_img  = cass_img.split("-") ;
	col_img = parseInt(sep_cass_img[0],10);
	lig_img = parseInt(sep_cass_img[1],10);
	
	if (repBNFn == "" && edition=="n") { // si passage d'une carte N&B vers autre carte sans N&B
		edition="c";
		text_edition="Basculer vers 2ème édition (N&B)";
		chg_ed();
		}

	var lien_chgt_ed = '';
	chemin = chem1+repBNF+chem2;

	// Ident 1ère image haut-gauche
	col1 = col_img - t_mos;
	if (col1<0) col1=0;
	if (col_img+t_mos >nbcol) col1 = nbcol - (t_mos*2);
	lig1 = lig_img - t_mos;
	if (lig1<0) lig1=0;
	if (lig_img+t_mos >nblig) lig1 = nblig - (t_mos*2);
	
	//// ligne suivante à revoir - le nb d'images en N et B peut être <> de celui en couleur
	if (repBNFn) {
		var lien_chgt_ed = '<a href="JavaScript: chgt_edition('+cass_num+', \''+cass_img+'\','+2+');">'+text_edition+'<\/a>';
		}

	///////// Mémo tableau interne (TR et TD contenant les images)
	var tabl_int="";
	var groupe=0; cible_visible="hidden"
	for (i=1; i<=mos; i++) {
		tabl_int = tabl_int + '<tr>\n';
		for (j=1; j<=mos; j++) {
			car1 = col1+j-1;
			car2 = lig1+i-1;
			if ((i == (mos+1)/2) && (j == i)) var mos_c = car1+"-"+car2;
			if (car2>chg1lig || (car2==chg1lig && car1>=chg1col)) groupe=1;
			if (car1==chg2col && car2==chg2lig) groupe=2;

			if (num_carte_BNF==3 && edition=="c" && car2>=10) {
				tabl_int = tabl_int + '<td><a href="JavaScript: affiche_cassini('+cass_num+', \''+car1+"-"+car2+'\');"><img src="cass/5-' + car1+'-'+car2+'.jpg" alt="N° '+num_carte_BNF+' '+car1+'-'+car2+'" border="0"><\/a><\/td>\n';
				}
			else {		
				tabl_int = tabl_int + '<td><a href="JavaScript: affiche_cassini('+cass_num+', \''+car1+"-"+car2+'\');"><img src="' + chemin + groupe + '/5-' + car1+'-'+car2+'.jpg" alt="N° '+num_carte_BNF+' '+car1+'-'+car2+'" border="0"><\/a><\/td>\n';
				}

			if (c_bord==1 && edition=="c" && cass_num == car_dem && car1+"-"+car2 == img_dem) {cible_visible="visible"; position_cible();}
			}
		tabl_int = tabl_int + '<\/tr>\n';
		}

	
	///////// Mémo carré de navigation
	tab_navig='<center><table border="0" cellpadding="1" cellspacing="0">' ;
	for (lig=0; lig<lig_navig.length; lig++) {
		tab_navig += '<tr>';
		var lig_nav = parseInt(lig_navig[lig],10);
		for (col=0; col<col_navig.length; col++) {
			var col_nav = parseInt(col_navig[col],10);
			var cell_navig = col_nav+"-"+lig_nav ;
			if (lig_img >= lig_nav-3 && lig_img <= lig_nav+3 && col_img >= col_nav-3 && col_img <= col_nav+3) {
				img_navig="ptr";
				}
			else {
				img_navig="pty";
				}
			tab_navig += '<td height="5"><a href="JavaScript: affiche_navig('+cass_num+', \''+cell_navig+'\')"><img src="'+img_navig+'.gif" border="0" width="10" height="10"><\/a><\/td>';
			}
		tab_navig += '<\/tr>';
		}
		tab_navig += '<\/table><\/center>';

	///////// Mémo autres cartes N S O E
	if (autres_dir) {
		tabl_dir='<td align="center"><b>Vous pouvez choisir une autre carte située :<\/b><br>';
		for (i=0; i<autre_dir.length; i++) {
			var direction = autre_dir[i].charAt(0);
			var num_d_carte =autre_dir[i].substr(1,10);
				if (num_d_carte.substr(num_d_carte.length-1,1) == "+") {
					cass_num2 = parseFloat(num_d_carte.substr(0,num_d_carte.length-1)) + 200 ;
					}
				else {
					cass_num2 = num_d_carte ;
					}
			var infos2_carte = cass[cass_num2];
			var eclate_infos2  = infos2_carte.split(";") ;
			var type2c = eclate_infos2[2] ;
			var type2n = eclate_infos2[4] ;
			var typ2_cart = eval("type2"+edition);	
			if (type2n == "") typ2_cart = type2c ;
			var infos2_type = type_cart[typ2_cart];
			var eclate_type2  = infos2_type.split(";") ;
			var nbcol2 = parseInt(eclate_type2[0],10);
			var nblig2 = parseInt(eclate_type2[1],10);
			switch(direction)	{
				case "N":
					var num_dir = Math.round((col_img*nbcol2)/nbcol)+"-"+nblig2;
					var texte_direction = "<b>Au Nord<\/b> : ";
					break;
				case "S":
					var num_dir = Math.round((col_img*nbcol2)/nbcol)+"-0";
					var texte_direction = "<b>Au Sud<\/b> : ";
					break;
				case "O":
					var num_dir = nbcol2+"-"+Math.round((lig_img*nblig2)/nblig);
					var texte_direction = (autre_dir.length==4) ? "<br>" : "";
					texte_direction += "<b>A l\'Ouest<\/b> : ";
					break;
				case "E":
					var num_dir = "0-"+Math.round((lig_img*nblig2)/nblig);
					var texte_direction = "<b>A l\'Est<\/b> : ";
					break;
				}
			lien_dir = texte_direction+'<a href="JavaScript: change_cassini('+cass_num2+', \''+num_dir+'\','+1+');">'+num_d_carte+'<\/a>';
			tabl_dir = tabl_dir + lien_dir+"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
			}
		table_dir = tabl_dir+'<\/td>\n<td align="center">Navigation<br>'+tab_navig+'<\/td>';
		}
	else {
		table_dir='<td align="center">'+lien_chgt_ed+'<\/td><td>Navigation<br>'+tab_navig+'<\/td>';
		}

	///////// Construction tableau interne (TR et TD contenant les images)
	var cass_tabl_int = '<div id="tableau" style="z-index:12; position:relative; top:0px; left:0px;">\n<div id="cible" style="z-index:13; position:absolute; width:76px; height:76px; top:'+cible_y+'px; left:'+cible_x+'px; visibility:'+cible_visible+';"><img src="'+img_cible+'.gif" border="0"></div>\n<table cellspacing="0" cellpadding="0" border="'+c_bord+'" bordercolor="'+coul_bord+'">' + tabl_int+ '<\/table><\/div>\n';

	///////// Construction tableau externe (contenant cass_tabl_int)
	var cass_tabl_ext = '<table cellspacing="0" cellpadding="0" border="5" bordercolor="maroon" align="center">\n<tr>\n<td>\n' + cass_tabl_int	+ '<\/td>\n<\/tr>\n<\/table>\n\n';
	
	///////// pre-construction tableau liens(TR et TD) (liens : modif mosaique - quadrillage - retour locom)
	var cass_liens = '<tr><td align="left"><ul><li><a href="JavaScript: modif_mos('+cass_num+', \''+cass_img+'\');">'+text_mos+'<\/a><\/li>\n<li><a href="JavaScript: modif_bord('+cass_num+', \''+cass_img+'\');">'+text_bord+'<\/a><\/li>\n';
	if (lien_chgt_ed != '') {
		cass_liens+= '<li>'+lien_chgt_ed+'<\/li>';
		}
	cass_liens+= '<\/ul><\/td>';

	///////// ajout d une ligne (variable text_message : Commune demandée)
	cass_liens += table_dir+'<\/tr>\n';

	////// ajout combo
	cass_liens = cass_liens + '<tr><td align="center" colspan="3">'+combo+'<\/td><\/tr>\n';

	///////// construction tableau liens et message
	var cass_tabl_liens = '<center><span class=t14>Carte de Cassini<\/span><span class="t8n"><br>(Images BnF/Gallica)<\/span><br><table width="750" cellspacing="1" cellpadding="0" border="0" bordercolor="maroon">'+cass_liens+'<\/table><\/center><br>\n\n';

	///////// Construction finale
	var result = cass_tabl_liens + cass_tabl_ext + '<br>';



//copyclipboard(result); // uniquement IE

	document.getElementById("cassini").innerHTML = result ;

	document.getElementById("ptlum").innerHTML = '<img src="loc_ptlum.gif" width="9" height="9" border="0">';
	///////// Mise à jour combo
		for (i = 0; i < 181 ; i++) {
			var carte_en_cours = document.form_cassini.list_num_carte.options[i].value ;
			if (carte_en_cours == cass_num) {
				selection = i
				break ;
				}
			}
		document.form_cassini.list_num_carte.selectedIndex = selection ;
//		document.form_cassini.list_num_carte.blur() ;
}

///////// Modification format mosaique (bascule 3 x 3 ou 5 x 5)
function modif_mos(cass_num,cass_img) {
	if (t_mos == 1) {
		t_mos=2;
		text_mos="Basculer en mode 3 images x 3 images";
		}
	else {
		t_mos=1;
		text_mos="Basculer en mode 5 images x 5 images";
		}
	mos = (t_mos * 2)+1;
	affiche_cassini(cass_num, cass_img);
}

///////// Modification affichage quadrillage (bascule 0 ou 1)
function modif_bord(cass_num,cass_img) {
	if (c_bord == 1) {
		c_bord=0;
		text_bord="Afficher le quadrillage";
		cible_visible="hidden";
		}
	else {
		c_bord=1;
		text_bord="Masquer le quadrillage";
		cible_visible="visible";
		}
	affiche_cassini(cass_num, cass_img);
}

///////// Changement carte N-S-O-E
function change_cassini(num_d_carte, num_dir) {
	cass_num = num_d_carte;
	cass_img = num_dir;
	affiche_cassini(cass_num, cass_img,1);
}

///////// Changement edition carte (1ère ou 2ème Edition)
function chgt_edition(cass_num,cass_img) {
	if (edition == "c") {
		edition="n";
		text_edition="Basculer vers 1ère édition (Couleur)";
		}
	else {
		edition="c";
		text_edition="Basculer vers 2ème édition (N&B)";
		}
	cass_img=chg_ed();
	affiche_cassini(cass_num, cass_img,2);
}

///////// Navigation carte
function affiche_navig(num_d_carte, num_dir) {
	var cass_num = num_d_carte;
	var cass_img = num_dir;
	affiche_cassini(cass_num, cass_img);
}

///////// Recup choix autre carte combo
function recup() {
	ind1 = document.form_cassini.list_num_carte.selectedIndex;
	valeur1 = document.form_cassini.list_num_carte.options[ind1].value;
	cass_num=valeur1;
	affiche_cassini(cass_num, "0-0",1);	
}

///////// vérif coord si chgt Edition
function chg_ed() {
	nbcol_av = nbcol ;
	nblig_av = nblig ;
	carte_type() ;
	cass_img=Math.round((col_img*nbcol)/nbcol_av)+"-"+Math.round((lig_img*nblig)/nblig_av); 
	return cass_img;
}

function recup_inf_cartes() {
	infos_carte = cass[cass_num];
	eclate_infos  = infos_carte.split(";") ;
	num_carte_BNF = eclate_infos[0] ;
	repBNFc = eclate_infos[1] ;
	typec = eclate_infos[2] ;
	repBNFn = eclate_infos[3] ;
	typen = eclate_infos[4] ;
	vilBNF = eclate_infos[5] ;	
	autres_dir = eclate_infos[6] ;
	if (autres_dir) autre_dir  = autres_dir.split("-") ;
	mes_vilBNF="";
	if (vilBNF) mes_vilBNF  = " ("+vilBNF+")";	
	
	inf_typec = type_cart[typec] ;
	sep_typec = inf_typec.split(";") ;
	nbcolc = parseInt(sep_typec[0],10) ;
	nbligc = parseInt(sep_typec[1],10) ;
	chg1colc = parseInt(sep_typec[2],10) ;
	chg1ligc = parseInt(sep_typec[3],10) ;
	chg2colc = parseInt(sep_typec[4],10) ;
	chg2ligc = parseInt(sep_typec[5],10) ;
	
	if (typen) {
		inf_typen = type_cart[typen] ;
		sep_typen = inf_typen.split(";") ;
		nbcoln = parseInt(sep_typen[0],10) ;
		nblign = parseInt(sep_typen[1],10) ;
		chg1coln = parseInt(sep_typen[2],10) ;
		chg1lign = parseInt(sep_typen[3],10) ;
		chg2coln = parseInt(sep_typen[4],10) ;
		chg2lign = parseInt(sep_typen[5],10) ;
	   }
	carte_type() ;
}

function carte_type() {
	typ_cart = eval("type"+edition);	
	nbcol = eval("nbcol"+edition);
	nblig = eval("nblig"+edition);
	chg1col = eval("chg1col"+edition);
	chg1lig = eval("chg1lig"+edition);
	chg2col = eval("chg2col"+edition);
	chg2lig = eval("chg2lig"+edition);
	repBNF = eval("repBNF" + edition);
}
///// selon type de carte, ident coord fixes pr carré de navigation
function coord_navig() {
	switch(typ_cart)
		{
		case "1":
			cols_navig = chaine_navig1 ;
			ligs_navig = chaine_navig3 ;
			break;
		case "2":
			cols_navig = chaine_navig3 ;
			ligs_navig = chaine_navig1 ;
			break;
		case "3":
			cols_navig = chaine_navig2 ;
			ligs_navig = chaine_navig3 ;
			break;
		case "4":
			cols_navig = chaine_navig3 ;
			ligs_navig = chaine_navig2 ;
			break;
		case "5":
			cols_navig = chaine_navig1 ;
			ligs_navig = chaine_navig3 ;
			break;
		case "6":
			cols_navig = chaine_navig2 ;
			ligs_navig = chaine_navig3 ;
			break;
		case "7":
			cols_navig = chaine_navig3 ;
			ligs_navig = chaine_navig3 ;
			break;
		case "8":
			cols_navig = chaine_navig3 ;
			ligs_navig = chaine_navig3 ;
			break;
			}
	col_navig  = cols_navig.split(";") ; // sépare les coord des colonnes
	lig_navig  = ligs_navig.split(";") ; // sépare les coord des lignes
}

function position_cible() {
	cible_x=((car1-col1)*(256+(2*c_bord)))+parseInt(com_x,10)+2-38;
	cible_y=((car2-lig1)*(256+(2*c_bord)))+parseInt(com_y,10)+2-38;
}


///////// construction combo des cartes
function init_combo() {
combo='<br><b>Sélection d\'une autre carte puis bouton Validation.<\/b><form name="form_cassini">\n'
+'Carte N° <select name="list_num_carte" size=1>'
+'\n<option value="1">1 : Paris'
+'\n<option value="2">2 : Beauvais'
+'\n<option value="3">3 : Amiens'
+'\n<option value="4">4 : Abbeville - Arras'
+'\n<option value="5">5 : Saint-Omer'
+'\n<option value="6">6 : Dunkerque'
+'\n<option value="7">7 : Fontainebleau - Étampes'
+'\n<option value="8">8 : Orléans'
+'\n<option value="9">9 : Gien'
+'\n<option value="10">10 : Bourges'
+'\n<option value="11">11 : La Châtre'
+'\n<option value="12">12 : Évaux-Les-Bains'
+'\n<option value="13">13 : Aubusson'
+'\n<option value="14">14 : Mauriac'
+'\n<option value="15">15 : Aurillac'
+'\n<option value="16">16 : Rodez'
+'\n<option value="17">17 : Albi'
+'\n<option value="18">18 : Castres'
+'\n<option value="19">19 : Carcassonne'
+'\n<option value="20">20 : Mont-louis - Mousset'
+'\n<option value="220">20+ : Puigcerda - Prats-de-Mollo - Fort des Bains'
+'\n<option value="21">21 : Ambleteuse - Calais'
+'\n<option value="22">22 : Boulogne-sur-Mer'
+'\n<option value="23">23 : Dieppe'
+'\n<option value="24">24 : Forges-les-Eaux - Neufchâtel'
+'\n<option value="25">25 : Rouen'
+'\n<option value="26">26 : Evreux - Dreux'
+'\n<option value="27">27 : Chartres'
+'\n<option value="28">28 : Vendôme'
+'\n<option value="29">29 : Blois'
+'\n<option value="30">30 : Loches'
+'\n<option value="31">31 : Le Blanc - Châteauroux - Montmorillon'
+'\n<option value="32">32 : Le Dorat'
+'\n<option value="33">33 : Limoges'
+'\n<option value="34">34 : Tulle - Arnac - Pompadour'
+'\n<option value="35">35 : Sarlat-la-Canéda'
+'\n<option value="36">36 : Cahors'
+'\n<option value="37">37 : Montauban'
+'\n<option value="38">38 : Toulouse'
+'\n<option value="39">39 : Saint-Lizier - Saint-Martory - Pamiers'
+'\n<option value="40">40 : Ax-les-Thermes'
+'\n<option value="240">40+ : Andorre'
+'\n<option value="41">41 : Lille'
+'\n<option value="42">42 : Cambrai'
+'\n<option value="43">43 : Laon - Noyon'
+'\n<option value="44">44 : Soissons'
+'\n<option value="45">45 : Meaux'
+'\n<option value="46">46 : Sens'
+'\n<option value="47">47 : Auxerre'
+'\n<option value="48">48 : Vézelay - Cosne-Cours-sur-Loire'
+'\n<option value="49">49 : Nevers'
+'\n<option value="50">50 : Moulins'
+'\n<option value="51">51 : Gannat - Saint-Pourçain'
+'\n<option value="52">52 : Clermont-Ferrand'
+'\n<option value="53">53 : Brioude - Issoire'
+'\n<option value="54">54 : Saint-Flour'
+'\n<option value="55">55 : Mende'
+'\n<option value="56">56 : Nant - Millau'
+'\n<option value="57">57 : Lodève'
+'\n<option value="58">58 : Narbonne'
+'\n<option value="59">59 : Perpignan'
+'\n<option value="259">59+ : Bellegarde-sur-Azès'
+'\n<option value="60">60 : Le Havre'
+'\n<option value="61">61 : Lisieux - Honfleur'
+'\n<option value="62">62 : Argentan - Falaise'
+'\n<option value="63">63 : Alençon'
+'\n<option value="64">64 : Le Mans'
+'\n<option value="65">65 : Tours'
+'\n<option value="66">66 : Richelieu - Saumur'
+'\n<option value="67">67 : Poitiers'
+'\n<option value="68">68 : Charroux'
+'\n<option value="69">69 : Angoulême'
+'\n<option value="70">70 : Périgueux'
+'\n<option value="71">71 : Bergerac'
+'\n<option value="72">72 : Castillonnes - Villeneuve - La Réole'
+'\n<option value="73">73 : Agen'
+'\n<option value="74">74 : Auch'
+'\n<option value="75">75 : Tarbes'
+'\n<option value="76">76 : Bagnères-de-Luchon - Barèges - Bagnères-de-Bigorre'
+'\n<option value="77">77 : Rocroi'
+'\n<option value="78">78 : Charleville-Mézières - Sedan'
+'\n<option value="79">79 : Reims'
+'\n<option value="80">80 : Châlons-sur-Marne'
+'\n<option value="81">81 : Troyes'
+'\n<option value="82">82 : Tonnerre'
+'\n<option value="83">83 : Semur-en-Auxois - Montbard'
+'\n<option value="84">84 : Autun'
+'\n<option value="85">85 : Chalon-sur-Saône'
+'\n<option value="86">86 : Mâcon'
+'\n<option value="87">87 : Lyon'
+'\n<option value="88">88 : Saint-Etienne - Saint-Marcellin'
+'\n<option value="89">89 : Le Puy'
+'\n<option value="90">90 : Viviers'
+'\n<option value="91">91 : Nîmes'
+'\n<option value="92">92 : Montpellier'
+'\n<option value="93">93 : Saint-Vaast-la-Hougue'
+'\n<option value="94">94 : Bayeux - Caen'
+'\n<option value="95">95 : Vire - Avranches'
+'\n<option value="96">96 : Mayenne'
+'\n<option value="97">97 : Laval'
+'\n<option value="98">98 : Angers'
+'\n<option value="99">99 : Mortagne'
+'\n<option value="100">100 : Luçon'
+'\n<option value="101">101 : La Rochelle'
+'\n<option value="102">102 : Saintes'
+'\n<option value="103">103 : Blaye'
+'\n<option value="104">104 : Bordeaux'
+'\n<option value="105">105 : Bazas'
+'\n<option value="106">106 : Roquefort - Mont-de-Marsan'
+'\n<option value="107">107 : Aire - Orthez'
+'\n<option value="108">108 : Pau'
+'\n<option value="308">108+ : Cauterets'
+'\n<option value="109">109 : Montmédy - Longwy - Bouillon'
+'\n<option value="309">109+ : Saint-Hubert'
+'\n<option value="110">110 : Verdun'
+'\n<option value="111">111 : Toul'
+'\n<option value="112">112 : Joinville'
+'\n<option value="113">113 : Langres'
+'\n<option value="114">114 : Dijon'
+'\n<option value="115">115 : Dole - Auxonne'
+'\n<option value="116">116 : Tournus - Lons-le-Saunier'
+'\n<option value="117">117 : Bourg-en-Bresse'
+'\n<option value="118">118 : Belley'
+'\n<option value="119">119 : Grenoble'
+'\n<option value="120">120 : Valence'
+'\n<option value="121">121 : Vaison-la-Romaine'
+'\n<option value="122">122 : Avignon - Orange'
+'\n<option value="123">123 : Aix-en-Provence'
+'\n<option value="124">124 : Marseille'
+'\n<option value="125">125 : Cherbourg'
+'\n<option value="126">126 : Coutances'
+'\n<option value="127">127 : Saint-Malo - Grandville'
+'\n<option value="128">128 : Dinan'
+'\n<option value="129">129 : Rennes'
+'\n<option value="130">130 : Paimboeuf - Redon'
+'\n<option value="131">131 : Nantes'
+'\n<option value="132">132 : La Roche-sur-Yon - Les Sables-d\'Olonnes'
+'\n<option value="133">133 : Île-de-Ré'
+'\n<option value="134">134 : Île d\'Oléron'
+'\n<option value="135">135 : Côte de Médoc'
+'\n<option value="136">136 : La Teste-de-Buch'
+'\n<option value="137">137 : Cazau'
+'\n<option value="138">138 : Vieux-Boucau-les-Bains'
+'\n<option value="139">139 : Bayonne'
+'\n<option value="140">140 : Saint-Jean-Pied-de-Port'
+'\n<option value="141">141 : Metz'
+'\n<option value="341">141+ : Luxembourg'
+'\n<option value="142">142 : Nancy'
+'\n<option value="143">143 : Mirecourt - Epinal'
+'\n<option value="144">144 : Luxeuil-les-Bains'
+'\n<option value="145">145 : Vesoul'
+'\n<option value="146">146 : Besançon'
+'\n<option value="147">147 : Nozeroy - Les Rousses'
+'\n<option value="148">148 : Genève - Gex'
+'\n<option value="149">149 : Montmélian'
+'\n<option value="150">150 : Barraux'
+'\n<option value="151">151 : Briançon'
+'\n<option value="152">152 : Embrun - Gap'
+'\n<option value="153">153 : Digne-les-Bains'
+'\n<option value="154">154 : Lorgues'
+'\n<option value="155">155 : Toulon'
+'\n<option value="156">156 : Tréguier'
+'\n<option value="157">157 : Uzel'
+'\n<option value="158">158 : Vannes'
+'\n<option value="159">159 : Belle-Île'
+'\n<option value="161">161 : Landau - Wissembourg'
+'\n<option value="162">162 : Strasbourg'
+'\n<option value="163">163 : Colmar'
+'\n<option value="164">164 : Neuf-Brisach'
+'\n<option value="165">165 : Bâle'
+'\n<option value="166">166 : Queyras - Château-ville-Vieille'
+'\n<option value="167">167 : Larche'
+'\n<option value="168">168 : Vence'
+'\n<option value="169">169 : Antibes'
+'\n<option value="369">169+ : Cap Camarat'
+'\n<option value="170">170 : Saint-Pol-de-Léon'
+'\n<option value="171">171 : Carhaix-Plouguer - Brest'
+'\n<option value="172">172 : Quimperlé - Ile de Groix - Quimper'
+'\n<option value="173">173 : Philippsburg'
+'\n<option value="174">174 : Ouessant'
+'\n<option value="175">175 : Audierne - Rade de Brest'
+'\n<\/select>'
+'\n<input type="button" value="Validation" name="bouton" onClick="recup();">'
+'\n</form>'
}

function copyclipboard(intext) { 
   window.clipboardData.setData('Text', intext); 
}
 
function drap_rot(num_drap,num_rot) {
	var nom_com = document.f_com_dep.list_com_dep.options[document.f_com_dep.list_com_dep.selectedIndex].text ;
	var c_drap = document.getElementById("drap"+num_drap) ;
	drap=new Array(c_drap) ;
	num_rot ++ ;
	if (num_rot==5) {num_rot=1;}
	nv_drap=0; // par défaut
	if (parseFloat(drap[0].style.top)  == -10) {
		nv_drap=1;
		drap[0].style.left = largeur;
		drap[0].style.top  = hauteur -21;
		}
	else {
		cor_largeur = 0; cor_hauteur = 0;
		if (num_rot==1) {cor_largeur = 21}
		if (num_rot==2) {cor_hauteur = 21}
		if (num_rot==3) {cor_largeur = -21}
		if (num_rot==4) {cor_hauteur = -21}
		drap[0].style.left = parseFloat(drap[0].style.left) + cor_largeur;
		drap[0].style.top  = parseFloat(drap[0].style.top) + cor_hauteur;
		}
	c_drap.innerHTML = '<img src="loc_drap'+num_drap+num_rot+'.gif" alt="Clic droit pour pivoter" width="22" height="22" border="0"  onClick="drap_hid0('+num_drap+');" onContextMenu="drap_rot('+num_drap+','+num_rot+'); return false;">';
	if (nv_drap==1) {drap_hid(num_drap, nom_com);}
	document.getElementById("ptlum").innerHTML = '<img src="loc_ptlum.gif" width="9" height="9" border="0">';
	}

function drap_hid0(num_drap) {
	var drap_com = document.getElementById("drap_com"+num_drap) ;
	var c_drap = document.getElementById("drap"+num_drap) ;
	drap=new Array(c_drap) ;	
	drap[0].style.top = -10 ;
	c_drap.style.visibility = "hidden";
	drap_hid(num_drap) ;
	}

function drap_hid(num_drap, nom_com) {
	var drap_com = document.getElementById("drap_com"+num_drap) ;
	var drap_img = document.getElementById("drap_img"+num_drap) ;
	var c_drap = document.getElementById("drap"+num_drap) ;
	drap=new Array(c_drap) ;
	if (parseFloat(drap[0].style.top)  == -10) {drap_rot(num_drap,0);return;}
	if (c_drap.style.visibility == "visible") {
		c_drap.style.visibility = "hidden";
		drap[0].style.top = -10 ;
		drap_com.innerHTML = drap_t;
		drap_img.innerHTML = '<img src="loc_drap'+num_drap+'1.gif" alt="Clic droit pour pivoter" width="22" height="22" border="0">';
		document.getElementById("drap_calcul").innerHTML = "";
		}
	else {
		c_drap.style.visibility = "visible";
		drap_com.innerHTML = '<span class=don><a href="javascript: vasy(\''+num_dep+'\',\''+insee_cp+'\')">'+nom_com+'</a></span>';
		drap_img.innerHTML = '<img src="loc_drap'+num_drap+'1m.gif" width="22" height="22" border="0">';
		if (num_drap == 1) {
			longc1 = longc; latc1 = latc;
			}
		else {
			longc2 = longc; latc2 = latc;
			}
		if (document.getElementById("drap_com1").innerHTML != drap_t && document.getElementById("drap_com2").innerHTML != drap_t) {
			res=6378 * Math.acos(Math.round((Math.cos(latc1)*Math.cos(latc2)*Math.cos(longc1-longc2) + Math.sin(latc1)*Math.sin(latc2))*10000000000)/10000000000);
			dist = (res < 20) ? Math.round(res*10)/10 : Math.round(res);
			text_disp = (isNaN(dist)) ? 'distance entre communes non renseignée' :  'distantes d\'environ <span class=don>'+dist+'</span> km';
			document.getElementById("drap_calcul").innerHTML = text_disp;
			}
		}
	document.getElementById("ptlum").innerHTML = '<img src="loc_ptlum.gif" width="9" height="9" border="0">';
	}

// popup aide
function aide(page) {
	var largeur = 420; // 420
	var hauteur = 350; // 300
	var top=((screen.availHeight-hauteur)/2);
	var left=(screen.availWidth-largeur)/2;
	popup_aide = window.open(page,"popup","top="+top+", left="+left+", width="+largeur+", height="+hauteur+", toolbar=0, scrollbars=1");
	popup_aide.onLoad=popup_aide.focus(); // toujours en 1er plan même si appui nouveau sur lien Aide
	document.getElementById("ptlum").innerHTML = '<img src="loc_ptlum.gif" width="9" height="9" border="0">';
	}

function saisie_cp() {
	document.getElementById("ptlum").innerHTML = '<img src="loc_ptlum.gif" width="9" height="9" border="0">';	
	document.getElementById("r_insee").innerHTML = insee_cp ;
	document.getElementById("r_post").innerHTML ='<input type="text" name="c_cp" size="6" value="'+cpost.substr(0,5)+'" maxlength="5"> <input type="submit" value="Ok">'
	document.f_infos.c_cp.focus();
}

function saisie_insee() {
	document.getElementById("ptlum").innerHTML = '<img src="loc_ptlum.gif" width="9" height="9" border="0">';
	document.getElementById("r_post").innerHTML = cpost ;
	document.getElementById("r_insee").innerHTML ='<input type="text" name="c_insee" size="6" value="" maxlength="5"> <input type="submit" value="Ok">'
	document.f_infos.c_insee.focus();
}

function ctrl_f_infos() {
	if (document.f_infos.elements[0].name == "c_cp") {
		if  (document.f_infos.c_cp.value.length == 5 || document.f_infos.c_cp.value.length == 0) {trt_cp();}
		else {alert("Code postal sur 5 caractères SVP\nou aucun caractère pour réinitialiser");vasy(num_dep,insee_cp);}
		}
	else if (document.f_infos.elements[0].name == "c_insee") {
		if  (document.f_infos.c_insee.value.length == 5) {trt_insee();}
		else {alert("Code Insee sur 5 caractères SVP"); vasy(num_dep,insee_cp);}
		}
	else if (document.f_infos.elements[0].name == "c_km") {
		ray = parseFloat(document.f_infos.c_km.value); trt_km();
		}
}

function trt_cp() {
	var cp_saisi = document.f_infos.c_cp.value; memo_insee1=""; memo_insee2="";
	for (i = 1; i < com.length ; i++) {
		var com_en_cours = new String(com[i]) ;
		var eclate_com = com_en_cours.split(";") ;
		var insee_com = eclate_com[0] ;
		var nom_com = eclate_com[9] ;
		nomb_com=nom_com;
		if (nomb_com.indexOf("'") != -1) { // si présence caractère ' dans le nom de la commune (pr area)
			var nomb_com_eclat = nomb_com.split("'"); // séparation en sous-chaines, séparateur '
			nomb_com = nomb_com_eclat.join("\\'"); // ajout de 2 "\"
			}		
		var c_post = eclate_com[13] ;
		img_pt = "pt.gif";
		if (c_post.lastIndexOf(cp_saisi) >-1 && cp_saisi !="") {
			img_pt = "pt2.gif"; memo_insee1=insee_com; if (memo_insee1==insee_cp) memo_insee2=memo_insee1;
			}
		id_cp="c"+(100+i);
		document.getElementById(id_cp).innerHTML= '<img src="'+img_pt+'" width="5" height="5" onclick="vasy(\''+num_dep+'\',\''+insee_com+'\')" onmouseover="bul_oui(\''+nomb_com+'\')" onmouseout="bul_non()">';
	}
	if (memo_insee1 == "" && cp_saisi !="") {
		alert("Code postal inconnu dans ce département !");
		}
	else {
		if (cp_saisi !="") {insee_cp = memo_insee1;}
		if (memo_insee2 !="") {insee_cp = memo_insee2;}
		}
	vasy(num_dep,insee_cp);
	document.getElementById("ptlum").innerHTML = '<img src="loc_ptlum.gif" width="9" height="9" border="0">';	
}

function trt_insee() {
	var insee_saisi = document.f_infos.c_insee.value.toUpperCase(); nb_com_insee=0;
	var dpt_insee_saisi=insee_saisi.substr(0,2);
	if (dpt_insee_saisi=="97") {dpt_insee_saisi=insee_saisi.substr(0,3);}
	if (dpt_insee_saisi == num_dep) { // même dpt
		for (i = 1; i < com.length ; i++) {
			var com_en_cours = new String(com[i]) ;
			var eclate_com = com_en_cours.split(";") ;
			var insee_com = eclate_com[0] ;
			if (insee_com==insee_saisi) {
				nb_com_insee=1;
				break;
				}
			}
		if (nb_com_insee==1) {
			vasy(num_dep,insee_com);
			}
		else {
			alert("Code Insee ["+insee_saisi+"] inconnu dans ce département !")
			vasy(num_dep,insee_cp);
			}
		}
	else { // dpt <>	
		if(dpt_insee_saisi == "2A" || dpt_insee_saisi == "2B" || (dpt_insee_saisi>1 && dpt_insee_saisi<96 && dpt_insee_saisi != 20) || (dpt_insee_saisi>970 && dpt_insee_saisi<975)) {
			nvlle_com="loc_listcomd"+dpt_insee_saisi+".htm?code_insee="+insee_saisi;
			location=nvlle_com;
			}
		else {	
			alert("Département non valide !")
			vasy(num_dep,insee_cp);
			}
		}
	document.getElementById("ptlum").innerHTML = '<img src="loc_ptlum.gif" width="9" height="9" border="0">';	
}

/*
function TouchePress(keyStroke){
 if (navigator.appName=='Netscape'){
  var touche_num=keyStroke.which;
 }
 else{
  var touche_num=event.keyCode;
  }
 if (touche_num==13) {
     alert("Validation obligatoire par le bouton 'Ok'");
    return false;
    }
 }
document.onkeypress =TouchePress;
*/

function trt_km() {
	longc1b = longc; latc1b = latc; Tab_km = new Array(); j=0; insee_ray = insee_cp;
	//com_ray=f_com_dep.list_com_dep.options[f_com_dep.list_com_dep.selectedIndex].text ;
	obj=document.getElementById("list_com_dep");
	com_ray=obj.options[obj.selectedIndex].text;
	for (i = 1; i < com.length ; i++) {
		var com_en_cours = new String(com[i]) ;
		var eclate_com = com_en_cours.split(";") ;
		var insee_com = eclate_com[0] ;
		nom_com = eclate_com[9] ;
		longc2b = parseFloat(eclate_com[11]) ;
		latc2b = parseFloat(eclate_com[12]) ;
		nomb_com=nom_com;
		if (nomb_com.indexOf("'") != -1) { // si présence caractère ' dans le nom de la commune (pr area)
			var nomb_com_eclat = nomb_com.split("'"); // séparation en sous-chaines, séparateur '
			nomb_com = nomb_com_eclat.join("\\'"); // ajout de 2 "\"
			}		
		img_pt = "pt.gif";
		if (ray != 0) {
			res=6378 * Math.acos(Math.round((Math.cos(latc1b)*Math.cos(latc2b)*Math.cos(longc1b-longc2b) + Math.sin(latc1b)*Math.sin(latc2b))*10000000000)/10000000000);
			dist = (res < 20) ? Math.round(res*10)/10 : Math.round(res);
			if (dist<=ray) {
				img_pt = "pt3.gif";
				Tab_km[j] = new Array(insee_com, nom_com,dist); j++;
				}
			}
		id_km="c"+(100+i);
		document.getElementById(id_km).innerHTML= '<img src="'+img_pt+'" width="5" height="5" onclick="vasy(\''+num_dep+'\',\''+insee_com+'\')" onmouseover="bul_oui(\''+nomb_com+'\')" onmouseout="bul_non()">';
	}
	if (Tab_km.length>0) {
		ordre=0; img_tri='<img src="fleche_'+ordre+'r.gif" alt="tri '+((ordre==0) ? '' : 'dé')+'croissant" border="0">';
		liste_km = '<br>'+img_tri+'&nbsp;<select name="com_km" size=1 onChange="vasy_km() ;">';
		for (i = 0; i < Tab_km.length ; i++) {
			liste_km += '<option value="'+Tab_km[i][0]+'">'+Tab_km[i][1]+' - '+Tab_km[i][2]+' km';
			}
		liste_km+='</select>';
		document.getElementById("r1_km").innerHTML = 'Communes à '+ray+' km maxi autour de :<br><a href="javascript: vasy(\''+num_dep+'\',\''+insee_ray+'\')">'+com_ray+'</a>';
		document.getElementById("r2_km").innerHTML = liste_km;
		document.getElementById("t_km_c").innerHTML = '<a class="b" href="javascript: tri(1)" onmouseover="bul_oui(\'Tri sur communes\');" onmouseout="bul_non()">C</a>';
		document.getElementById("t_km_r").innerHTML = '<a class="b" href="javascript: tri(2)" onmouseover="bul_oui(\'Tri sur km\');" onmouseout="bul_non()">R</a>';
		}
	else {
		document.getElementById("r1_km").innerHTML = "" ;
		document.getElementById("r2_km").innerHTML = "" ;
		document.getElementById("t_km_c").innerHTML = "C";
		document.getElementById("t_km_r").innerHTML = "r";
		}
}

function vasy_km() { // Quand choix d'une com selon rayon
	obj=document.getElementById("f_infos").com_km;
	//var num = formulaire.com_km.options[formulaire.com_km.selectedIndex].value ;	
	var num = obj.options[obj.selectedIndex].value ;	
	com_dep(0,'',num_dep, num) ;
}

// Pour tri tableau à 2 dimensions sur 2ème élément
function compare_com(p1, p2) { // Alpha
	elem1 = p1[col_t].toUpperCase();
	elem1 = (elem1.split("É")).join("E'"); elem1 = (elem1.split("Î")).join("I'");
	elem2 = p2[col_t].toUpperCase();
	elem2 = (elem2.split("É")).join("E'"); elem2 = (elem2.split("Î")).join("I'");
	if (elem1 < elem2) {var res_t = -1}
	else if (elem1 > elem2) {var res_t = 1}
	else {var res_t=0};
	return res_t*(1-ordre);
}

function compare(p1, p2) { // Num
	res_t = p1[col_t] - p2[col_t];
	return res_t*(1-ordre);
}

function tri(col_triee) {
	ordre = (ordre == 0) ? 2 : 0;
	img_tri='<img src="fleche_'+ordre+'r.gif" alt="tri '+((ordre==0) ? '' : 'dé')+'croissant" border="0">';
	col_t=col_triee;

	if(col_t==1) {
		Tab_km.sort(compare_com);
		}
	else {
		Tab_km.sort(compare);
		}
	//liste_km = '<br>'+img_tri+'&nbsp;<select name="com_km" size=1 onChange="vasy_km() ;">\n';
	liste_km = '<select name="com_km" size=1 onChange="vasy_km() ;">';
		for (i = 0; i < Tab_km.length ; i++) {
			var km_en_cours = new String(Tab_km[i]) ;
			var eclate_km = km_en_cours.split(";") ;
			liste_km += '<option value="'+Tab_km[i][0]+'">'+Tab_km[i][1]+' - '+Tab_km[i][2]+' km\n';
			}
		liste_km+='</select>';
		liste_km = (col_t == 1) ? '<br>'+img_tri+'&nbsp;'+liste_km : '<br>'+liste_km+'&nbsp;'+img_tri;
		document.getElementById("r2_km").innerHTML = liste_km;
		document.getElementById("ptlum").innerHTML = '<img src="loc_ptlum.gif" width="9" height="9" border="0">';
		vasy_km();
}

