/* catsat.js : fonctions utilitaires JavaScript du site Catsat.			**
**************************************************************************
** ouvreCadre(url) - ouvre une fenetre non navigable sur la page 'url'	**
** changeLangue(languecible) - bascule la page vers une autre langue (fr/en/es) **
** lienMail (nom,nomMail,url) - compose un lien d'adresse e-mail
** lienContact (user,url) - compose un lien d'adresse e-mail avec bcc au webmaster
*************************************************************************/
// donne un nom a la fenetre (base target du plan et du glossaire)
window.name="catsat";

/* 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)
*********************************************************************/
function ouvreCadre(url) {
	// calcul du nom simple de la page a partir de l'url
	var fin = url.indexOf(".html");
	var nom;
	// page html : nom du fichier (plan, glossaire,...)
	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";
	}
    // traitement des parametres facultatifs de taille
    var w = arguments[1];
    var h = arguments[2];
    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 (fr/en/es). 
** Retour :	false si aucune action (document ni '_fr', ni '_en', ni '_es'
**                               ou languecible ni 'fr', ni 'en', ni 'es')
**			true si le document alternatif est charge.
***************************************************************/
function changeLangue(languecible) {          // languecible = 'fr' ou 'en' ou 'es'
	var nom = document.location.toString();
    // memorisation de l'extension
	var indExt = nom.lastIndexOf(".");
    var ext = nom.substring(indExt);

  	var newExt;
	indExt = nom.indexOf("_en");
	if (indExt==-1) {indExt = nom.indexOf("_fr")} 
	if (indExt==-1) {indExt = nom.indexOf("_es")}
	if (indExt==-1) {return};
	if ((languecible!="fr") && (languecible!="en") && (languecible!="es")) { return }
	newExt = "_" + languecible + ext;
	// 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)
**   nomMail = identifiant de messagerie (john.smith)
**   url = url de l'adresse e-mail (catsat.com)
**   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('>'+nom+'</a>')
}

/* Compose un lien d'adresse e-mail avec bcc au webmaster
** Parametres :
**   user = identifiant de messagerie (john.smith)
**   url = url de l'adresse e-mail (catsat.com)
**   classe = classe de style (class="classe", facultatif)
***************************************************************/
function lienContact (user,url)	{
    // traitement du parametre facultatif de style
    var classe = arguments[2];
	document.write('<a href="&#109;&#97;&#105;'+'&#108;&#116;&#111;&#58;'+user+'&#64;'+url+'?bcc=webmaster'+'&#64;'+'catsat.com"')
	if (!classe) { }
	else {
		document.write(' class="'+classe+'"')
	}
	document.write('>'+user+'&#64;'+url+'</a>')
}

/* Affiche la date de derniere modification du document, 
** selectionne l'anglais si son nom est de type '_en'.
*******************************************************/
function lastModif() {
	var date = new Date(document.lastModified);
	var annee = date.getFullYear(); 
	var jour = date.getDate();
	var mois = date.getMonth()+1;
	if (jour < 10) { jour="0"+jour; }
	if (mois < 10) { mois="0"+mois; }
	if ((annee<1970)&&(annee>=1900)) {annee+=100}
	// version anglaise (_en dans le nom du document)
	var nom = document.location.toString();
	
	if (nom.indexOf("_en") != -1) {
		document.write(annee + "/" + mois + "/" + jour);
	// sinon version francaise
	} else {
		document.write(jour + "/" + mois + "/" + annee);
	}
}
