// JavaScript Document

// Initialisation
var isIE= navigator.appName == "Microsoft Internet Explorer"; /* IE */
var isNS= navigator.appName == "Netscape"; /* Netscape, Mozilla Firefox */


/* ***************************** */
/*  Fonctions Utiles Génériques  */
/* ***************************** */

// Ajouter aux Favoris
function fav() {
 
    siteURL = "http://www.annuaire-ce.com/"
    siteNOM = "Annuaire-CE.com :: L'Annuaire des Fournisseurs de comités d'entreprise"
    
    /*-- MESSAGE --*/
    function myMessage (raccourciClavier) {
        alert ("Utilisez '" + raccourciClavier + "'\npour ajouter " + siteNOM + " dans vos favoris !");
    }
    
    /*-- TRAITEMENT DES NAVIGATEURS --*/
    //Konqueror /*Test a effectuer avant tout les autres car repond TRUE aux differents tests sans pouvoir les exploiter */
    if (navigator.userAgent.indexOf('Konqueror') >= 0)					{ myMessage("CTRL + B"); }
    /* Internet Explorer 4+, et ses dérivés (Crazy Browser, Avent Browser ...) */
    else if (window.external)											{ window.external.AddFavorite(siteURL,siteNOM); }
	/* Internet Explorer Mac */
    else if (document.all && (navigator.userAgent.indexOf('Win') < 0))	{ myMessage("POMME + D"); }
   	/* Opera 6+ */
    else if (window.opera && window.print)								{ myMessage("CTRL + T"); }
    /* Netscape 6+ ; Mozilla, FireFox et compagnie (K-Meleon ...) */
    else if (window.sidebar)											{ window.sidebar.addPanel(siteNOM,siteURL,""); }
    /* Netsccape 4 */
    else if (document.layers)											{ myMessage("CTRL + D"); }
}

/** TRAITEMENT DE CHAINES DE CARACTERES **/

// Supprime les espaces de début et de fin de chaine
String.prototype.trim = function()			{ return this.replace(/(^\s*)|(\s*$)/g, ""); }

// Première Lettre en Majuscule
String.prototype.ucfirst = function()		{ return this.charAt(0).toUpperCase() + this.substr(1, this.length); }

// Corrige la chaine si elle n'est pas une URL valide
String.prototype.validWeb = function()		{ if ( this.substr(0, 6) != "http://" ) return "http://"+this; else return this; }
 
/** VERIFICATION DE CHAINES DE CARACTERES **/
 
// Date au format JJ/MM/AAAA (à utiliser éventuellement avec completeDate())
// Vérifie si la date existe.
String.prototype.isDate = function() {
    if (/^\d{2}[\/]\d{2}[\/]\d{4}$/.test(this)) {
        var dat1 = this.split("/");
        var dat2 = new Date(dat1[2], dat1[1] - 1, dat1[0]);
        return (dat2.getDate() == dat1[0] && dat2.getMonth() == dat1[1]-1 && dat2.getFullYear() == dat1[2]);
    }
    return false;
}
 
// Caractères alphabétiques (accents pris en charge + espaces)
String.prototype.isAlpha = function()		{ return /^[A-Za-zÀÂÇÈÉÊËÎÔÙÛàâçèéêëîôùû\s]+$/.test(this); }
 
// Caractères alphanumériques (+ accents + espaces)
String.prototype.isAlphaNum = function()	{ return /^[\wÀÂÇÈÉÊËÎÔÙÛàâçèéêëîôùû\s]+$/.test(this); }
 
// Caractères numériques (= nombre positif)
String.prototype.isNumeric = function()		{ return /^\d+$/.test(this); }
 
// La chaine représente un nombre (positif ou négatif)
String.prototype.isNumber = function()		{ return /^[-]?\d+$/.test(this); }
 
// La chaine n'est pas constituée que de caractères d'espacement
String.prototype.isNotEmpty = function()	{ return !/^\s*$/.test(this); }
 
// E-mail (vérifie juste que l'adresse est conforme puisque l'utilisateur peut toujours
// s'arranger pour donner une fausse adresse, ou une adresse temporaire...;-)
String.prototype.isEmail = function()		{ return /^[\w\._\-]+@[\w\._\-]{2,}[.][A-Za-z]{1,6}$/.test(this); }
 
// Numéro de téléphone 
// Formats: 
//			0NNNNNNNNN, 
//			0N-NN-NN-NN-NN, 0N.NN.NN.NN.NN et 0N NN NN NN NN 
// 			0N-NN-NNN-NNN, 0N.NN.NNN.NNN et 0N NN NNN NNN)
// Le '0' initial peut être remplacé par +NN ou 00NN (indicatif pays)

String.prototype.isNoTel = function() {
	return /^((0|\+\d{2}|00\d{2})\d{9})|((0|\+\d{2}|00\d{2})\d[ \.-]\d{2}[ \.-]\d{2}[ \.-]\d{2}[ \.-]\d{2})|((0|\+\d{2}|00\d{2})\d[ \.-]\d{2}[ \.-]\d{3}[ \.-]\d{3})$/.test(this);
}

/* ************************* */
/*  Fonctions de Navigation  */
/* ************************* */

/**
 * Ouvre l'URL dans une fenetre Pop-up centré sur l'écran
 * @param url page : L'URL de la page à ouvrir
 * @param int largeur : la largeur de la fenetre
 * @param int hauteur : la hauteur de la fenetre
 * @param string options : les options à appliquer (cf. window.open())
 */
function PopupCenter(page,largeur,hauteur,options)
{
  var top=(screen.height-hauteur)/2;
  var left=(screen.width-largeur)/2;
  window.open(page,"","top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
}

/**
 * Ouvre l'URL dans une fenetre Pop-up centré sur l'écran
 * @param url page : L'URL de la page à ouvrir
 * @param int largeur : la largeur de la fenetre
 * @param int hauteur : la hauteur de la fenetre
 * @param string options : les options à appliquer (cf. window.open())
 */
function PopupCentrer(page,largeur,hauteur,options)
{ 
	  PopupCenter(page,largeur,hauteur,options)
//  var to//p=(screen.height-hauteur)/2;
//  var left=(screen.width-largeur)/2;
//  window.open(page,"","top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
}

/**
 * Ouvre l'URL dans une fenetre Pop-up en 785x450, centré sur l'écran
 * @param url page : L'URL de la page à ouvrir
 */
function ClassicPopup(page)
{
	if ( document.all ) PopupCenter(page,785,450,"menubar=no,scrollbars=yes,statusbar=no");
	else PopupCenter(page,780,450,"menubar=no,scrollbars=yes,statusbar=no");
}

/**
 * Fonction pour le menu du site
 */
window.onload=montre;
function montre(id)
{
	var d = document.getElementById(id);
	for (var i = 1; i<=10; i++)
	{
		if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
	}
	if (d) {d.style.display='block';}
}

/**
 * Ajoute une stat pour un clic vers le site Web d'une fiche
 */
function ficheAddWeb(root, id)
{
	if(document.images)
	(new Image()).src=root + "/fiche_addWeb.php?id=" + id;
	return true;
}

/**
 * Ajoute une stat pour un clic vers le site Web d'une Offre
 */
function offre_addWeb(id)
{
	if(document.images)
	(new Image()).src=root + "/offre_addWeb.php?id=" + id;
	return true;
}

/**
 * Ajoute une stat pour un clic vers le site Web d'une Offre
 */
function banAddClic(id)
{
	if(document.images)
	(new Image()).src=root + "/ban_addClic.php?id=" + id;
	return true;
}
