preload = function (o, img_src, w, h) {
    var img = new Image ();
    img.onload = function () {
      o.onload = null;
      if (w) o.width  = w;
      if (h) o.height = h;
      o.src = img.src
    };
    img.src = img_src;
  }
// JavaScript Document

function UpperText(elem,form)
	{//met en majuscules
	var obj = document.getElementById(form);
	var tempo = FormatText (obj.elements[elem].value);
	obj.elements[elem].value = tempo.toUpperCase();
	}
	
function UpperPrenom(elem,form)
	{//met la premiere lettre en majuscule
	var obj = document.getElementById(form);
	var tempo = FormatText (obj.elements[elem].value);
	var init = tempo.substr(0,1);
	var reste = tempo.substr(1, tempo.length-1);
	obj.elements[elem].value=init.toUpperCase()+reste.toLowerCase();
	}
//=============================================================================================
function upperlettre(elem)
// Passe la première lettre de la  chaine elem reçu en majuscule
	{
	var tempo = FormatText (elem);
	var init = tempo.substr(0,1);
	var reste = tempo.substr(1, tempo.length-1);
	return(init.toUpperCase()+reste.toLowerCase());
	}
//=============================================================================================
function FormatText(texte)
// Formatte la chaine texte en remplaçant les caractères , / _ et ' par des espaces
	{
	var tex;
	var i=0;
	while ( i < texte.length-1)
		{
		if ( (texte.charAt(i) == ",") || (texte.charAt(i) == "/") || (texte.charAt(i) == "_") || (texte.charAt(i) == "'") )
			{
			tex = texte.substring(0,i) + " " + texte.substring(i+1, texte.length);
			texte = tex;
			}
		else i++;
		}
	return(texte);
	}
//=============================================================================================
function remplacer(charA,charB,Chaine)
// Remplace le caractere charA par le caractère charB dans la chaine Chaine
	{
	var  tmp;
	tmp = "";
	for (var i = 0; i < Chaine.length; i++)
		{
		tmp = tmp + Chaine.charAt(i);
		if( Chaine.charAt(i) == charA) tmp = tmp.replace(charA,charB);
		}
	return(tmp);
	}
//=============================================================================================
function NonKeyDown() 
// Empêche le clic droit de la souris pour sélectionner une partie de la page
	{
	var flag;
    	 	if ( (event.altKey) || ((event.keyCode == 8) && 
    	 			(event.srcElement.type != "text" &&
    	 			event.srcElement.type != "textarea" &&
    	 			event.srcElement.type != "password")) || 
    	 			((event.ctrlKey) && ((event.keyCode == 78) || (event.keyCode == 82)) ) ||	
    	 			(event.keyCode == 116) ) flag=1;
					
					if(flag==1)
						{
    	 				event.keyCode = 0;
    	 				event.returnValue = false;
    	 				}
    	 }
//=============================================================================================
function remplacer_chaine(chaine,a,b)
// Remplace la chaine a par la chaine b dans la chaine chaine
		{
		var i=0;
		while(i!=-1)
			{
			i=chaine.indexOf(a,i);
			if(i>=0)
				{
				chaine = chaine.substring(0,i)+b+chaine.substring(i+a.length);
				i+=b.length;
				}
			}
		return chaine;
		}

//============================================================================================	
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
//============================================================================================	
function center_popup(windowWidth, windowHeight)
	{
	if (parseInt(navigator.appVersion) >= 4) window.moveTo((screen.width/2)-(windowWidth/2+10),(screen.height/2)-(windowHeight/2+20));
	}
//============================================================================================	
function PopupCentrer(page,largeur,hauteur,options) {
  var top=(screen.height-hauteur)/2;
  var left=(screen.width-largeur)/2;
  window.open(page,"admin","top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
}
//============================================================================================	
function detectv4(){
alert('Plug-in Flash MX nécessaire !\n\nTéléchargement du plug-in Flash MX...');
window.open('http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash&P5_Language=English');
}
function detectv5(){
detectv4();
}
function detectv6(){
}
//=============================================================================================================================
//fonctions traitant les dates en javascript
//=============================================================================================================================
function DecomposeDate(LeParam1){ 

// Sépare les jours, les mois et les années dans une date de type "22/05/1981"
// Renvoye le tout dans un tableau de taille 3

LeRetour = new Array(3);
LeJour="";
LeMois="";
LeAnnee="";

// Extraction du jour
i=0;
while((LeParam1.charAt(i)!="/")&&(i<10)){
LeJour+=LeParam1.charAt(i);
i++;
}
if(LeJour.charAt(0)=="0"){
LeJour=LeJour.charAt(1);
}
LeParam1=LeParam1.substring(i+1,LeParam1.length);

// Extraction du mois
i=0;
while((LeParam1.charAt(i)!="/")&&(i<10)){
LeMois+=LeParam1.charAt(i);
i++;
}
if(LeMois.charAt(0)=="0"){
LeMois=LeMois.charAt(1);
}
LeParam1=LeParam1.substring(i+1,LeParam1.length);


// Extraction de l'année
LeAnnee=LeParam1;
LeRetour[0]=LeJour;
LeRetour[1]=LeMois;
LeRetour[2]=LeAnnee;
return LeRetour;
}



// -------------------------------------------



function DateMachine(LeParam1){

// Renvoye une date sans les 0 dans les mois ou les jours "02/03/1981" -> "2/3/1981"

LaDate = new Array(3);
LaDate = DecomposeDate(LeParam1);
LeRetour = LaDate[0]+"/"+LaDate[1]+"/"+LaDate[2];
return LeRetour;
}

// Renvoye une date en format anglais avec le séparateur choisi "02/03/1981" -> "1981-3-2"
// Le premier paramètre est la date a convertir, le second est le caractère de séparation choisi
function DateAnglaise(LeParam1,LeParam2){

LaDate = new Array(3);
LaDate = DecomposeDate(LeParam1);

LeRetour = LaDate[2]+LeParam2+LaDate[1]+LeParam2+LaDate[0];
return LeRetour;
}



// -------------------------------------------



function ComparerDates(LeParam1,LeParam2){

// Compare 2 dates au format jj/mm/aaaa
// Renvoye 0 si égalité, 1 si la première est supérieure, sinon 2
var LeParam1 = DateAnglaise(LeParam1,"/");// Ne pas oublier d'utiliser cette fonction
// pour convertir en date anglaise, sinon le 05/07/2003 sera compris "7 mai 2003" par JavaScript

var LeParam2 = DateAnglaise(LeParam2,"/");
LeParam1 = Date.parse(LeParam1);
LeParam2 = Date.parse(LeParam2);

if (LeParam1 == LeParam2) { 
return 0;
}

if (LeParam1 > LeParam2){
return 1;
}else{
return 2;
}
}



// -------------------------------------------



function VerifierDates(LeParam1,LeParam2,LeParam3,LeParam4){

// Vérifie les dates de début et de fin des courses
// Cette fonction est un exemple de script tests complets sur des dates
// LeParam1 = date de début entrée par l'utilisateur
// LeParam2 = date de fin entrée par l'utilisateur
// LeParam3 = date de début minimale
// LeParam4 = date de fin maximale

ErreurDate=0;
var LaDateDebut = new Array(3);
var LaDateFin = new Array(3);

LaDateDebut=DecomposeDate(LeParam1);
LaDateFin=DecomposeDate(LeParam2);

// Vérification des dates
if(isNaN(LaDateDebut[0])||isNaN(LaDateDebut[1])||isNaN(LaDateDebut[2])||
LaDateDebut[0]==""|| LaDateDebut[1]==""||LaDateDebut[2]==""){
window.alert("La date de début des courses est érronnée, veuillez la corriger.");
ErreurDate=1;
}

if(isNaN(LaDateFin[0])||isNaN(LaDateFin[1])||isNaN(LaDateFin[2])||
LaDateFin[0]==""||LaDateFin[1]==""||LaDateFin[2]==""){
window.alert("La date de fin des courses est érronnée, veuillez la corriger.");
ErreurDate=1;
}

LeParam1=DateMachine(LeParam1);
LeParam2=DateMachine(LeParam2);

var LaDate=new Date;// Dans cette variable, nous allons attribuer notre date décomposée.
// Ainsi, si la date que l'on attribue (comme le 30/02/2003), JavaScript la corriger à la date la plus proche

LaDate.setDate(LaDateDebut[0]);
LaDate.setMonth(LaDateDebut[1]-1);// On enlève 1 car les mois sont indicés à partir de 0 en JavaScript
LaDate.setYear(LaDateDebut[2]);
if(LeParam1!=(LaDate.getDate()+"/"+(LaDate.getMonth()+1)+"/"+LaDate.getFullYear())){
// Ici nous comparons la date corrigée par JavaScript avec celle entrée par l'utilisateur. Si elles sont différente,
// celà signifie que JavaScript à été obligé de la corriger car la date entrée par l'utilisateur n'existe pas.


// On préviens donc que la date est fausse.
window.alert("La date de début des courses est érronnée, veuillez la corriger.");
ErreurDate=1;
}

var LaDate=new Date;
LaDate.setDate(parseInt(LaDateFin[0]));
LaDate.setMonth(parseInt(LaDateFin[1])-1);
LaDate.setYear(parseInt(LaDateFin[2]));
if(LeParam2!=(LaDate.getDate()+"/"+(LaDate.getMonth()+1)+"/"+LaDate.getFullYear())){
window.alert("La date de fin des courses est érronnée, veuillez la corriger.");
ErreurDate=1;
}

if(ErreurDate==0){
if(ComparerDates(LeParam1,LeParam3)==2){
window.alert("La date de début des courses est trop ancienne.");
ErreurDate=1;
}
if(ComparerDates(LeParam2,LeParam4)==1){
window.alert("La date de fin des courses est trop récente.");
ErreurDate=1;
}
}

return ErreurDate;
}
//------------------------------------------------------------------------------------------------------
function verif(email) {
         var arobase = email.indexOf("@"); var point = email.lastIndexOf(".")
         if((arobase < 3)||(point + 2 > email.length)||(point < arobase+3)) return false
         else return true
         }
		 
		 
function mailtest(email) {
                  if(!verif(email.value)) { alert('E-mail invalide !');email.value='';email.focus();return false }
                  else return true
                  }

