/*********************************************************************/ 
/* Fonction qui modifie nom et contenu d'une frame si elle existe.   */
/* Paramètres :                                                      */
/*    name1 : Nom de la frame recherchée.                            */
/*    name2 : Nouveau nom de la frame.                               */
/*    script : Nom du script à exécuter dans la frame.               */
/*    frame : Nom de la frame courante (ex: début avec 'top').       */
/* Retour :                                                          */
/*    true en cas de succés, false sinon.                            */
/*********************************************************************/
function changeFrame(name1, name2, script, frame) {
	// On se trouve dans la frame recherchée
	if(frame.name == name1) {
		frame.name = name2;
		// Méthode replace() utilisable si l'objet images est défini
		if (document.images)
    			frame.location.replace(script);
		else
			frame.location.href = script;
		return true;
	}
	
	// On ne se trouve pas dans la frame recherchée
	var bool = false;
	if(frame.frames.length == 0)
		return bool;
	// Parcourt des frames filles
	for(var i=0; i<frame.frames.length; i++) {
		bool = bool || changeFrame(name1, name2, script, frame.frames[i]);
	}
	return bool;
}



/*********************************************************************/ 
/* Ouvre une nouvelle fenêtre.                                       */
/* Paramètres :                                                      */
/*    url : Adresse de la page à afficher                            */
/*    windowName : Nom de la fenêtre                                 */
/*    settings : Propriétés de la nouvelle fenêtre                   */
/*********************************************************************/
function openWindow(url, windowName, settings) {
	window.open(url, windowName, settings);
}



/*********************************************************************/ 
/* Ouvre une nouvelle fenêtre.                                       */
/* Paramètres :                                                      */
/*    wurl : Adresse de la page à afficher                           */
/*    wnom : Nom de la fenêtre                                       */
/*    w : largeur de la nouvelle fenêtre                             */
/*    h : hauteur de la nouvelle fenêtre                             */
/*    ws : scrollbar de la nouvelle fenêtre                          */
/*********************************************************************/
function twNeowin(wurl,wnom,w,h,ws) { 
	var options = "toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=0, scrollbars="+ws+",width="+w+",height="+h;
	var twNeowin = window.open(wurl, wnom, options);
	if(twNeowin.focus) {
		twNeowin.focus();
	}
}



/*********************************************************************/ 
/* Ecrit un message dans la barre de status.                         */
/* Paramètres :                                                      */
/*    txt : message                                                  */
/*********************************************************************/
function ecrireStatus(txt) { 
	window.status = txt;
}



/*********************************************************************/ 
/* Accède à une balise HTML par son ID.                              */
/* Paramètres :                                                      */
/*    nom : paramètre ID d'une balise                                */
/*********************************************************************/
function objetById(nom) { 
	if(document.getElementById) {
		return(document.getElementById(nom));
	} else {
		if(document.all) {
			if(typeof document.all[nom] != "undefined") {
				return document.all[nom];
			} else {
				return null;
			}
		} else {
			if(document.layers) {
				if(typeof document[nom] != "undefined") {
					return document[nom];
				} else {
					return null;
				}
			} else {
				return null;
			}
		}
	}
}



/*********************************************************************/ 
/* Supprime les espaces autour d'un texte.                           */
/* Paramètres :                                                      */
/*    txt : message                                                  */
/*********************************************************************/
function trim(txt) {
	var regExpBeginning = /^\s+/;
	var regExpEnd = /\s+$/;
	return txt.replace(regExpBeginning, "").replace(regExpEnd, "");
}



/*********************************************************************/ 
/* Affiche les images PNG dans IE5.5 et IE6 avec transparence.       */
/* Paramètres :                                                      */
/*    img : objet IMG                                                */
/*********************************************************************/
function transparencePNG(img) {
	if(document.all && (IEver=parseFloat(navigator.appVersion.split("MSIE")[1])) && (IEver>=5.5) && (IEver<7) && document.body.filters && img) {
		imgName = img.src.toUpperCase();
		if(imgName.substring(imgName.length-3,imgName.length) == "PNG") {
			img.outerHTML =
				"<span "+(img.id?"id='"+img.id+"' ":"")+(img.className?"class='"+img.className+"' ":"")+(img.title?"title=\""+img.title+"\" ":"")
				+"style=\"width:"+img.width+"px;height:"+img.height+"px;"+(img.align=="left"?"float:left;":(img.align=="right"?"float:right;":""))
				+(img.parentElement.href?"cursor:hand;":"")+"display:inline-block;"+img.style.cssText+";"
				+"filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+img.src+"',sizingMethod='scale');\"></span>";
		}
	}
}

/*********************************************************************/ 
/* Test les champs de saisie avant de valider le formulaire.         */
/*********************************************************************/
function validerEnvoyerMessage() {
	var nomObj = '';
	var valeur = '';
	var valider = true;
	
	// Champ Nom
	nomObj = 'envoyermessage_nom';
	valeur = trim(objetById(nomObj).value);
	if(valider == true) {
		// Texte vide
  		if(valeur.length <= 0) {
			objetById(nomObj).focus(); 
			alert("Saisissez votre nom !");
			valider = false;
		}
	}
	
	// Champ E-mail
	nomObj = 'envoyermessage_email';
	valeur = trim(objetById(nomObj).value);
	if(valider == true) {
		// Texte vide
  		if(valeur.length <= 0) {
			objetById(nomObj).focus(); 
			alert("Saisissez votre adresse e-mail !");
			valider = false;
		} else {
			var verif = /^[^@]+@(([\w\-]+\.){1,4}[a-zA-Z]{2,4}|(([01]?\d?\d|2[0-4]\d|25[0-5])\.){3}([01]?\d?\d|2[0-4]\d|25[0-5]))$/
			if(verif.test(valeur) == false) {
				objetById(nomObj).focus(); 
				alert("l'adresse e-mail est invalide !");
				valider = false;
			}
		}
	}
	
	// Champ Objet
	nomObj = 'envoyermessage_objet';
	valeur = trim(objetById(nomObj).value);
	if(valider == true) {
		// Texte vide
  		if(valeur.length <= 0) {
			objetById(nomObj).focus(); 
			alert("Saisissez l'objet du message !");
			valider = false;
		}
	}
	
	// Champ Message
	nomObj = 'envoyermessage_text';
	valeur = trim(objetById(nomObj).value);
	if(valider == true) {
		// Texte vide
  		if(valeur.length <= 0) {
			objetById(nomObj).focus(); 
			alert("Saisissez votre message !");
			valider = false;
		}
	}
	
	return valider;
}

