/* Utilitaires du site MERCATOR :
*************************************************************************/

// donne un nom a la fenetre (base target du plan et du glossaire)
window.name="mercator";

/** afficheDate(date) - retourne 'date' au format 'jour mois annee'
*****************************************************************/
function afficheDate(date) {
	var months = new Array("janvier", "f&eacute;vrier", "mars", "avril", "mai", "juin", "juillet", "ao&ucirc;t",
		"septembre", "octobre", "novembre", "d&eacute;cembre");
	var lmonth = months[date.getMonth()];
	var day = date.getDate();
	var fyear = date.getYear();
	if ((fyear < 2000) && (fyear > 99)) fyear = fyear + 1900;
	else if (fyear < 10) fyear= "200" + fyear;
	else if (fyear < 100) fyear= "20" + fyear;
	return (day + " " + lmonth  + " " + fyear);
}

/* Ouvre une fenetre sans barres de navigation, mais redimensionnable.
** Le nom de la fenetre est calcule d'apres l'url afin de n'ouvrir
** qu'une fenetre par service (1 plan, 1 glossaire, etc...)
** Parametres :
**   url = url de la page a afficher
**   w, h = largeur et hauteur (par défaut (650x500)
**   target = cible (par défaut nom du fichier, 'images' ou '_blank')
*********************************************************************/
function ouvreCadre(url) {
    // calcul du nom simple de la page a partir de l'url
    var fin = url.indexOf(".html");
    // traitement des parametres facultatifs de taille
    var w = arguments[1];
    var h = arguments[2];
    var nom = arguments[3];;
    // page html : nom du fichier (plan, glossaire,...)
    if (!nom) {
        if (fin != -1) {
            var deb = url.lastIndexOf("/");
            nom = url.substring(deb + 1, fin);
        } else {
            // image (gif, jpg) : fenetre 'images'
            fin = url.indexOf(".gif");
            if (fin == -1) fin = url.indexOf(".jpg");
            if (fin != -1) nom = "images";
            // sinon nouvelle fenetre
            else nom = "_blank";
        }
    }
    if (!w) w = 650;
    if (!h) h = 500;
    // ouverture 
    var win = window.open(url, nom, "resizable=yes,scrollbars=yes,toolbar=no,width=" + w + ",height=" + h);
    if (win.opener == null) win.opener = this;
    // focus (si la fenetre est deja ouverte)
    win.focus();
}

/* Ouvre une image .gif, .jpg ou .png via la page /tools/popup_image.php3
** sans barres de navigation, redimensionnee automatiquement
** a la taille de l'image.
** Par defaut le nom de la fenetre est fixe, toutes les images s'ouvrent
** donc dans ma meme fenetre.
** Parametres :
**   url = url absolue de l'image à afficher (pas de http://.. ni de relatif)
**   target = cible (par défaut 'imagesautoresize')
*********************************************************************/
function ouvreImage(urlImage) {
    // traitement des parametres facultatifs de taille
    var nom = arguments[1];
    // page html : nom du fichier (plan, glossaire,...)
    if (!nom) {
		nom = "imagesautoresize";
    }
    w = 650;
    h = 500;
	url = "/tools/popup_image.php3?"+ urlImage; 
    // ouverture 
    var win = window.open(url, nom, "resizable=yes,scrollbars=no,toolbar=no,status=yes,left=20,top=20,width=" + w + ",height=" + h);
    if (win.opener == null) win.opener = this;
    // focus (si la fenetre est deja ouverte)
    win.focus();
}

/* Insere dans une page l'icone d'ouverture de la fenetre Glossaire.
** glossaire(ancre) ouvre le glossaire sur l'ancre specifiee).
** glossaire(ancre, nom) affiche l'intitule d'un sigle dans une bulle.
** Parametres :
**   ancre = ancre dans la page glossaire (lettre ou mot)
**   nom = intitule affiche dans une bulle sur rollover (optionnel).
*********************************************************************/
function glossaire(ancre) {
		document.write('<A HREF="javascript:ouvreCadre(\'/html/support/glossaire_fr.html#' + ancre
			+ '\')"><IMG SRC="/images/information/support/glossaire.gif" WIDTH="16" HEIGHT="16" BORDER="0"');
		if (arguments.length > 1) document.write(' ALT="' + arguments[1] + '" TITLE="' + arguments[1] + '"');
		document.write('></A>');
}

/* Identique a glossaire(ancre) pour le glossaire anglais.
** Parametres :
**   ancre = ancre dans la page glossaire (lettre ou mot)
**   nom = intitule affiche dans une bulle sur rollover (optionnel).
*******************************************************************/
function glossary(ancre) {
		document.write('<A HREF="javascript:ouvreCadre(\'/html/support/glossaire_en.html#' + ancre
			+ '\')"><IMG SRC="/images/information/support/glossaire.gif" WIDTH="16" HEIGHT="16" BORDER="0"');
		if (arguments.length > 1) document.write(' ALT="' + arguments[1] + '" TITLE="' + arguments[1] + '"');
		document.write('></A>');
}


/* Mise en surbrillance de la rubrique active dans le menu
 *
 * ID de la rubrique active du menu defini par
 * <img name="nom_id_rubrique"> et <href id="nom_id_rubrique"> dans le menu de gauche */

// Affichage du curseur devant la rubrique active
function AfficheCurseurMenu (RubriqueActive) {
	if (RubriqueActive!="off") { 
		Curseur=new Image ();
		Curseur.src="/charte/images/menu_curseur.gif";
		if (document.images[RubriqueActive]) {
			document.images[RubriqueActive].src = Curseur.src;
		}
	}
}

// Surbrillance du texte de la rubrique active
function Surbrillance (RubriqueActive) {
	if (RubriqueActive!="") { 
		document.write("<style><"+"!--\n");
		document.write("#"+RubriqueActive+"{color:#FFFFCC;font-style:italic}\n");
		document.write("--"+">\n</style>");
	}
}

/* Bascule vers l'autre version de la page (anglaise/francaise). 
** Retour :	false si aucune action (document ni '_fr', ni '_en')
**			true si le document alternatif est charge.
***************************************************************/
function changeLangue() {
	var nom = document.location.toString();
    // memorisation de l'extension
	var indExt = nom.lastIndexOf(".");
    var ext = nom.substring(indExt);

  	// version courante anglaise (_en dans le nom du document)
	var newExt;
	indExt = nom.lastIndexOf("_en.");
	if (indExt != -1) newExt = "_fr" + ext;
	else {
		// version courante francaise (_fr dans le nom du document)
		indExt = nom.lastIndexOf("_fr.");
		if (indExt != -1) newExt = "_en" + ext;
		// sinon aucune action
		else return;
	}
	// page affichee dans la fenetre courante
	document.location = nom.substring(0, indExt) + newExt;
}

/* Compose un lien d'adresse e-mail (pour tenter de minimiser les spams)
** Parametres :
**   nom = Nom qui apparait en lien (John SMITH)
**         Si nom = "adresse" le nom affiche sera l'adresse email
**   nomMail = identifiant de messagerie (john.smith)
**   url = url de l'adresse e-mail (mercator-ocean.fr)
**   classe = classe de style (class="classe", facultatif)
***************************************************************/
function lienMail (nom,nomMail,url)	{
    // traitement du parametre facultatif de style
    var classe = arguments[3];
	document.write('<a href="&#109;&#97;&#105;'+'&#108;&#116;&#111;&#58;'+nomMail+'&#64;'+url+'"')
	if (!classe) { }
	else {
		document.write(' class="'+classe+'"')
	}
	document.write('>')
	if (nom == "adresse") {
		document.write(nomMail+'&#64;'+url)
	}
	else {
		document.write(nom)
	}
	document.write('</a>')
}

/* Vérifie que le champ de recherche du moteur de recherche 
** interne est valide avant de lancer la recherche
*******************************************************/
function checkSearchForm(form) {
	var recherche = form.words.value;
	if ((recherche == "Rechercher...") || (recherche == "Search for...") || (recherche == "")) {
		return false;
	}
	else { return true; }
}
