/* Utilitaires du site Bulletins MERCATOR
****************************************/
// donne un nom a la fenetre
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();
}

/* 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.indexOf("_en");
    if (indExt != -1) newExt = "_fr" + ext;
    else {
        // version courante francaise (_fr dans le nom du document)
        indExt = nom.indexOf("_fr");
        if (indExt != -1) newExt = "_en" + ext;
		// Cas particulier de la page d'accueil du site bulletin (pas de nom de fichier, basculement vers anglais)
        else if ((nom == "http://bulletin.mercator.com.fr/") || (nom == "http://bulletin.mercator.com.fr") || (nom == "http://bulletin.mercator-ocean.fr/") || (nom == "http://bulletin.mercator-ocean.fr")) {
			document.location = "http://bulletin.mercator-ocean.fr/html/welcome_en.jsp";
			return;
		}
        // sinon aucune action
		else return;
    }
    // page affichee dans la fenetre courante
    document.location = nom.substring(0, indExt) + newExt;
}

/* Affiche le bulletin correspondant a la date selectionnee.
** Parametres :
**   form = reference au formulaire source
**   lang = langue courante ('fr' ou 'en').
***********************************************************/
function changeBulletin(form, lang) {
    var index = form.bulletins.selectedIndex;
    var nomBull = form.bulletins.options[index].value;
    var produit = form.name;
    document.location = "/html/produits/" + produit + "/" + produit + "_courant_" + lang + ".jsp?nom=" + nomBull;
}

/* Affiche le bulletin correspondant a la date selectionnee.
** Pour pouvoir changer la date du bulletin au sein de la page global
** Parametres :
**   form = reference au formulaire source
**   lang = langue courante ('fr' ou 'en').
** créé pas SB pour le nouveau site produits le 18/11/03
***********************************************************/
function changeBulletinGlobal(form, lang) {
    var index = form.bulletins.selectedIndex;
    var nomBull = form.bulletins.options[index].value;
    var produit = form.name;
	var nomVarGlobal = "g";
	indBull = produit.indexOf("psy3");
    if (indBull != -1) nomVarGlobal = "glo";
    document.location = "/html/produits/" + produit + "/ocean/global/bull_ocean_"+nomVarGlobal+"_" + lang + ".jsp?nom=" + nomBull;
}

/* Affiche le bulletin correspondant a la date selectionnee.
** Pour pouvoir changer la date du bulletin au sein de la page section
** Parametres :
**   form = reference au formulaire source
**   lang = langue courante ('fr' ou 'en').
** créé pas SB pour le nouveau site produits le 18/11/03
***********************************************************/
function changeBulletinRegion(form, lang, coderegion) {
    var index = form.bulletins.selectedIndex;
    var nomBull = form.bulletins.options[index].value;
    var produit = form.name;
    document.location = "/html/produits/" + produit + "/ocean/regions/bull_ocean_"+ coderegion +"_" + lang + ".jsp?nom=" + nomBull + "#ici";
}

/* Affiche le bulletin correspondant a la date selectionnee.
** Pour pouvoir changer la date du bulletin au sein de la page section
** Parametres :
**   form = reference au formulaire source
**   lang = langue courante ('fr' ou 'en').
** créé pas SB pour le nouveau site produits le 18/11/03
***********************************************************/
function changeBulletinSection(form, lang, numsection) {
    var index = form.bulletins.selectedIndex;
    var nomBull = form.bulletins.options[index].value;
    var produit = form.name;
    document.location = "/html/produits/" + produit + "/ocean/sections/bull_ocean_s"+ numsection +"_" + lang + ".jsp?nom=" + nomBull + "#ici";
}

/* Affiche le bulletin correspondant a la date selectionnee.
** Pour pouvoir changer la date du bulletin au sein de la page mouillages
** Parametres :
**   form = reference au formulaire source
**   lang = langue courante ('fr' ou 'en').
** créé pas SB pour le nouveau site produits le 18/11/03
***********************************************************/
function changeBulletinMouillage(form, lang, numouillage) {
    var index = form.bulletins.selectedIndex;
    var nomBull = form.bulletins.options[index].value;
    var produit = form.name;
    document.location = "/html/produits/" + produit + "/ocean/mouillages/bull_ocean_m"+ numouillage +"_" + lang + ".jsp?nom=" + nomBull + "#ici";
}

/* Affiche le bulletin correspondant a la date selectionnee.
** Pour pouvoir changer la date du bulletin au sein de la page Armor
** Parametres :
**   form = reference au formulaire source
**   lang = langue courante ('fr' ou 'en').
** crée pas SB pour le nouveau site produits le 18/11/03
***********************************************************/
function changeBulletinArmor(form, lang) {
    var index = form.bulletins.selectedIndex;
    var nomBull = form.bulletins.options[index].value;
    var produit = form.name;
    document.location = "/html/produits/armor/armor_courant" +"_" + lang + ".jsp?nom=" + nomBull;

}

/* Affiche le bulletin correspondant a la date selectionnee.
** Pour pouvoir changer la date du bulletin au sein de la page Validation
** Parametres :
**   form = reference au formulaire source
**   lang = langue courante ('fr' ou 'en').
** créé pas SB pour le bulletin de validation le 15/10/04
***********************************************************/
function changeBulletinValidation(form, lang) {
    var index = form.bulletins.selectedIndex;
    var nomBull = form.bulletins.options[index].value;
	dateBullValid = nomBull.substring(5, 13);
    var produit = form.name;
	if (dateBullValid >= 20040901) {
	    document.location = "/html/produits/" + produit + "/ocean/modele2profil/bull_ocean_validation_" + lang + ".jsp?nom=" + nomBull;
	} else { 
		if (lang == "fr") { alert ("Les bulletins de validation ne sont disponibles qu'à partir du 01/09/2004.") }
		else { alert ("Not available before 2004/09/01.") }
	}
}

/* Affiche le bulletin correspondant a la date selectionnee.
** Pour pouvoir changer la date du bulletin au sein de la page Validation
** Parametres :
**   form = reference au formulaire source
**   lang = langue courante ('fr' ou 'en').
** créé pas SB pour le bulletin de validation PSY2V2 (sans test sur la date) le 26/01/06
****************************************************************************************/
function changeBulletinValidation2(form, lang) {
    var index = form.bulletins.selectedIndex;
    var nomBull = form.bulletins.options[index].value;
	dateBullValid = nomBull.substring(5, 13);
    var produit = form.name;
	    document.location = "/html/produits/" + produit + "/ocean/modele2profil/bull_ocean_validation_" + lang + ".jsp?nom=" + nomBull;
}

/* 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(\'http://www.mercator-ocean.fr/html/support/glossaire_fr.html#' + ancre
            + '\')"><img src="/images/charte/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(\'http://www.mercator-ocean.fr/html/support/glossaire_en.html#' + ancre
            + '\')"><img src="/images/charte/glossaire.gif" width="16" height="16" border="0"');
        if (arguments.length > 1) document.write(' ALT="' + arguments[1] + '" TITLE="' + arguments[1] + '"');
        document.write('></a>');
}

/* 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>')
}

