

<!--


/********************************************************************************
* Permet d'imprimer la page en cours						*
*										*
										*
* Version 1.0 du 22 juin 2002							*
*********************************************************************************
* Auteur: Laurent BONNIN							*
* Web: http://www.AutourDuPC.com						*
********************************************************************************/
function printit()
{  
if (NS)
   {
   window.print();
   }
else
   {
   var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID=\"CLSID:8856F961-340A-11D0-A96B-00C04FD705A2\"></OBJECT>';
   document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
   WebBrowser1.ExecWB(6, 2);	//Use a 1 vs. a 2 for a prompting dialog box
   WebBrowser1.outerHTML = "";
   }
}

function DoPrint()
{  
var NS = (navigator.appName == "Netscape");

if (NS)
   {
   window.print();
   }
else
   {
   var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
   document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
   WebBrowser1.ExecWB(6, 2);	//Use a 1 vs. a 2 for a prompting dialog box
   WebBrowser1.outerHTML = "";
   }
}







/********************************************************************************
* Champs : document à ouvrir							*
* CountField : 									*
* Maxlimit : 									*
*										*
* Permet d'ouvrir une fenêtre popup						*
*										*
										*
* Version 1.0 du 22 juin 2002							*
*********************************************************************************
* Auteur: Laurent BONNIN							*
* Web: http://www.AutourDuPC.com						*
********************************************************************************/
function TextCounter(Champs, CountField, Maxlimit)
{
if (Champs.value.length > Maxlimit) 
   Champs.value = Champs.value.substring(0, Maxlimit);
else 
   CountField.value = Maxlimit - Champs.value.length;
}





/********************************************************************************
* lien : document à ouvrir							*
*										*
* Permet d'ouvrir une fenêtre popup						*
*										*
										*
* Version 1.0 du 22 juin 2002							*
*********************************************************************************
* Auteur: Laurent BONNIN							*
* Web: http://www.AutourDuPC.com						*
********************************************************************************/
function popup(lien,x,y)
{
window.open (lien, 'LB', 'scrollbars=yes,status=no,resizable=yes,width='+ x +',height='+ y);
}




/********************************************************************************
* FillSelectFromArray								*
* selectCtrl  : Nom du sélect dont les valeurs doivent être modifiées		*
* itemArray   : Tableau des valeurs à afficher dans le sélect "selectCTRL"	*
* goodPrompt  :									*
* badPrompt   :									*
* defaultItem :									*
*										*
* Permet d'fiicher un select en fonction du choix effectué dans un autre sélect	*
*										*
* Utilisée dans An_TabCreeAnInfo.php						*
*										*
*										*
* Version 1.0 du 22 juin 2002							*
*********************************************************************************
* Auteur: Jerome Caron								*
* Web: http://javascript.internet.com						*
********************************************************************************/
function FillSelectFromArray(selectCtrl, itemArray, goodPrompt, badPrompt, defaultItem)
{
var i, j;
var prompt;

// Vide les éléments existants
for (i = selectCtrl.options.length; i >= 0; i--) {selectCtrl.options[i] = null;}
prompt = (itemArray != null) ? goodPrompt : badPrompt;
if (prompt == null) {j = 0;}
else
   {
   selectCtrl.options[0] = new Option(prompt);
   j = 1;
   }

if (itemArray != null)
   {
   // Ajout des nouvelles valeurs
   for (i = 0; i < itemArray.length; i++)
       {
       selectCtrl.options[j] = new Option(itemArray[i][0]);
       if (itemArray[i][1] != null)
          {
          selectCtrl.options[j].value = itemArray[i][1];
          }
       j++;
       }
   // Sélectionne le premier élément (prompt) pour la sous-liste
   selectCtrl.options[0].selected = true;
   }
}






/********************************************************************************
* VerifierSelect								*
* oVal_p : Chaine à traiter							*
* nDef_p : Valeur défaut sélect							*
*										*
* Version 1.0 du 11 juin 2002							*
*********************************************************************************
********************************************************************************/
function VerifierSelect( oVal_p, nDef_p )
{
var num = oVal_p.value;

if (num==nDef_p)
   {
   oVal_p.style.background='#FF0000';
   alert("ERREUR !!! Cette sélection n'est pas permise !");
   oVal_p.style.background='#FFFFFF';
   oVal_p.focus();
   return false;
   }
return true;
}



/********************************************************************************
* VerifierString								*
* oVal_p : Chaine à traiter							*
* nMax_p : Taille maximale de la chaine						*
*										*
* Version 1.0 du 11 juin 2002							*
*********************************************************************************
********************************************************************************/
function VerifierString( oVal_p, nMax_p )
{
var num = oVal_p.value;
oVal_p.value = num;
 
nTailleChamp_l = oVal_p.size;
 
if (oVal_p.style.background=="#ff0000")
   {
   oVal_p.style.background='#FFFFFF';  
   oVal_p.style.size = nTailleChamp_l; 
   }

// --- Vérifier si chaine vide
if (num=="")
   {
   oVal_p.style.background='#FF0000';
   alert('ERREUR !!! Vous devez saisir une valeur.');   
   oVal_p.style.background='#FFFFFF';
   oVal_p.focus();
   oVal_p.select();
   return false;
   }

// --- Vérifier taille chaine
if (num.length > nMax_p )
   {
   oVal_p.style.background='#FF0000';
   alert('ERREUR !!! Valeur trop grande (max '+ nMax_p +' caractères).');
   oVal_p.style.background='#FFFFFF';
   oVal_p.focus();
   oVal_p.select();   
   return false; 
   } 
 
// --- Vérifier les caractères interdits
for(i=0;i<num.length;i++)
   {
   sVal_l = oVal_p.value.substr(i,1); 
   if ((sVal_l=='') || (sVal_l=='') || (sVal_l =='') || (sVal_l ==''))
      {
      oVal_p.style.background='#FF0000';   
      alert('ERREUR !!! Il y a au-moins un caractère interdit.');   
      oVal_p.style.background='#FFFFFF';
      oVal_p.focus();
      oVal_p.select();   
      return false;
      }
   } 
return true;
}






/********************************************************************************
* VERIFIER LES VALEURS NUMERIQUES						*
* oVal_p     : Valeur à vérifier						*
* nMax_p     : Taille max de la chaine 123,12 (Max = 6)				*
* bVirgule_p : Si true alors float sinon entier					*
*										*
* Version 1.0 du 11 juin 2002							*
*********************************************************************************
********************************************************************************/
function VerifierNumerique( oVal_p, nMax_p, bVirgule_p )
{
var bFloat_l = false;
var num = oVal_p.value;
oVal_p.style.background='#FFFFFF'

// --- Vérifier si chaine vide
if (num=="")
   {
   oVal_p.style.background='#FF0000';
   alert('ERREUR !!! Vous devez saisir une valeur.');   
   oVal_p.style.background='#FFFFFF';
   oVal_p.focus();
   oVal_p.select();
   return false;
   }

// --- Vérifier taille chaine
if (num.length > nMax_p )
   {
   oVal_p.style.background='#FF0000';
   alert('ERREUR !!! Valeur trop grande (max '+ nMax_p +' caractères).');   
   oVal_p.style.background='#FFFFFF';
   oVal_p.focus();
   oVal_p.select();
   return false; 
   } 
// --- Vérifier caractéres
for(i=0;i<num.length;i++)
   {
   sVal_l = oVal_p.value.substr(i,1); 
   if (((sVal_l >=0) && (sVal_l<=9)) || (sVal_l =='.') || (sVal_l ==','))
      {   
      if ((sVal_l == '.') || (sVal_l == ','))
         {
         bFloat_l = true;
         }
      }
  else
     {
     oVal_p.style.background='#FF0000';
     alert('ERREUR !!! Vous devez saisir une valeur numérique.');   
     oVal_p.style.background='#FFFFFF';
     oVal_p.focus();
     oVal_p.select();
     return false;
     }
   }
// --- Vérifier format du numérique
if (bVirgule_p)
   {
   if (bFloat_l==true)
      {
      num = num.replace(',','.');
      oVal_p.value=num;  
      return true;
      }
   else
      {
      oVal_p.value=num + '.00';
      return true;
      }
   }
 // --- Si un entier
else
   {
   if (bFloat_l == true)
      {
      oVal_p.style.background='#FF0000';
      alert('ERREUR !!! Vous devez saisir une valeur numérique entière.');   
      oVal_p.style.background='#FFFFFF';
      oVal_p.focus();
      oVal_p.select();
      return false;
      }
   else
      {  
      return true;
      }
   }
}





/********************************************************************************
* Gestion du formulaire d'envoi de mails					*
* Poste aussi le formulaire							*
*										*
* Version 1.0 du 20 octobre 2002						*
*********************************************************************************
* Auteur: Laurent BONNIN							*
* Web: http://www.AutourDuPC.com						*
********************************************************************************/

function TestMail()
{
var msg;
msg="";


if (false==Test_email(document.Form.De.value))
   {
   msg="L'adresse de réponse est erronée !";
   document.Form.De.focus();
   }

if (document.Form.Message.value.length < 3) 
   {
   msg="Vous n'avez pas spécifié de message !";
   document.Form.Message.focus();
   }
if (document.Form.Message.value.length > 2000)
   {
   msg="Le message est trop long ! (2000 caractères maxi)";
   document.Form.Message.focus();
   }

if (document.Form.Sujet.value.length > 100)
   {
   msg="Le sujet est trop long !";
   document.Form.Sujet.focus();
   }
if (document.Form.Sujet.value.length < 2)
   {
   msg="Le sujet doit être spécifié !";
   document.Form.Sujet.focus();
   }


if (msg=="") {return true;}
else {alert(msg);return false;}
}






/********************************************************************************
* Teste la validité d'une adresse mail						*
* 										*
*										*
* Version 1.0 du 25 octobre 2002						*
*********************************************************************************
* Web: http://www.biblioscript.com						*
********************************************************************************/

function Test_email(adresse)
{
if (adresse.length >=100)
   {
   return false;
   }
var reg = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,3}$/
if (reg.exec(adresse)!=null) return true;
return false;
}





/********************************************************************************
* Gestion du formulaire d'Upload de fichiers					*
* 										*
*										*
* Version 1.0 du 9 mai 2003							*
*********************************************************************************
* Auteur: Laurent BONNIN							*
* Web: http://www.AutourDuPC.com						*
********************************************************************************/

function TestUpload()
{
var msg;
msg="";

var FileName=document.Form.TheFile.value;
alert(FileName);
var i = FileName.indexOf('gif');
if (i >= 0) msg="";
else
   i = FileName.indexOf('png');
   if (i >= 0) msg="";
   else
      i = FileName.indexOf('jpg');
      if (i >= 0) msg="";
      else
         i = FileName.indexOf('jpeg');
         if (i >= 0) msg="";
         else
            i = FileName.indexOf('bmp');
            if (i >= 0) msg="";
            else msg="Ce format de fichier est interdit";

if (msg=="") {return true;}
else {alert(msg);return false;}
}



/********************************************************************************
* Permet d'effectuer le choix de l'action à mener dans l'espace annonceur	*
* Poste aussi le formulaire							*
*										*
* Version 1.0 du 22 mai 2002							*
*********************************************************************************
* Auteur: Laurent BONNIN							*
* Web: http://www.AutourDuPC.com						*
********************************************************************************/

function DoJob(Quoi)
{
var rep;
var Flag;
var i;

if (Quoi=="Mod")
   {
   Flag=0;
   // Cas particulier : si 1 seul élément, document.Form.Modif n'est pas un tableau...
   if (document.Form.Nb.value==1)
      {
      if (true==document.Form.Modif.checked) {Flag=1;}
      }
   if (document.Form.Nb.value>1)
      {
      for (i=0;i<document.Form.Nb.value;i++) {if (true==document.Form.Modif[i].checked) {Flag=1;}}
      }

   if (Flag==0)
      {
      alert("Vous devez sélectionner une annonce !");
      return false;
      }
   else {document.Form.action ="an_ModAn.php";}
   }

if (Quoi=="Del")
   {
   Flag=0;
   if (document.Form.Nb.value>=1)
      {
      for (i=0;i<document.Form.Nb.value;i++) {if (true==eval("document.Form.Del"+i+".checked")) {Flag=1;}}
      }
   if (Flag==0)
      {
      alert("Vous devez sélectionner une annonce au moins à effacer !");
      return false;
      }
   else
      {
      if (confirm('L\'effacement est irréversible ! Cliquez sur OK pour confirmer ou Annuler pour revenir'))
         document.Form.action ="an_DelAn.php";
      else return false;
      }
   }

if (Quoi=="Again")
   {
   Flag=0;
   if (document.Form.Nb.value>=1)
      {
      for (i=0;i<document.Form.Nb.value;i++) {if (true==eval("document.Form.All"+i+".checked")) {Flag=1;}}
      }
   if (Flag==0)
      {
      alert("Vous devez sélectionner une annonce au moins !");
      return false;
      }
   else
      {
      if (confirm('Notez qu\'il n\'est pas utile d\'allonger la parution d\'une annonce si le matériel n\'est plus disponible. Cliquez sur OK pour confirmer ou Annuler pour revenir'))
         document.Form.action ="an_DateAn.php";
      else return false;
      }
   }


if (Quoi=="New") {document.Form.action ="an_GetSection.php";}
document.Form.submit();
}





/********************************************************************************
* Permet de contrôler le formulaire de saisie des annonces à afficher		*
*										*
* Version 1.0 du 22 mai 2002							*
*********************************************************************************
* Auteur: Laurent BONNIN							*
* Web: http://www.AutourDuPC.com						*
********************************************************************************/

function TestAnSelectInfo()
{
if (false==VerifierSelect(document.Form.Categorie,1)) return false;
if (false==VerifierSelect(document.Form.Produit,5)) return false;
else if (false==VerifierSelect(document.Form.Produit,22)) return false;
if (false==VerifierSelect(document.Form.Action,23)) return false;
}




/********************************************************************************
* Permet de contrôler le formulaire de saisie d'une annonce			*
*										*
* Version 1.0 du 22 mai 2002							*
*********************************************************************************
* Auteur: Laurent BONNIN							*
* Web: http://www.AutourDuPC.com						*
********************************************************************************/

function TestAnInfo()
{
if (false==VerifierString(document.Form.Description,400)) return false;
if (false==VerifierNumerique(document.Form.Prix,10,true)) return false;
if (false==VerifierSelect(document.Form.Categorie,1)) return false;
if (false==VerifierSelect(document.Form.Produit,5))
   return false;
else
   if (false==VerifierSelect(document.Form.Produit,22))
      return false;
if (false==VerifierSelect(document.Form.Action,23)) return false;
if (false==TestUpload()) return false;
}




/********************************************************************************
* Permet de contrôler le formulaire de saisie d'un Annonceur			*
*										*
* Version 1.0 du 4 mai 2002							*
*********************************************************************************
* Auteur: Laurent BONNIN							*
* Web: http://www.AutourDuPC.com						*
********************************************************************************/

function TestUserInfo(Quoi)
{
var msg="";

if (Quoi=="New")
   {
   if (document.Profil.Pass.value != document.Profil.Pass1.value)
      {
      msg="Les mots de passe entrés ne concordent pas !";
      }
   else
      {
      if (document.Profil.Pass.value.length < 4) msg="Mot de passe trop court (mini 4 caractères) !";
      }
   if (false==VerifierString(document.Profil.Login,14)) return false;
   }



if (document.Profil.Dept.value=="") {msg="Le département doit être correctement sélectionné, il permet de situer l'annonce géographiquement.";}
if (false==VerifierString(document.Profil.Prenom,49)) return false;
// if (false==VerifierString(document.Profil.Nom,49)) return false;
// if (false==VerifierString(document.Profil.CP,9)) return false;
if (document.Profil.Pays.value=="") {msg="Le pays doit être correctement sélectionné, il permet de situer l'annonce géographiquement.";}
if (false==Test_email(document.Profil.Mail.value)) msg="Le champs Aresse mail est erroné !";

if (msg=="") {return true;}
else {alert(msg);return false;}
}





/********************************************************************************
* Permet de contrôler le formulaire de saisie de modification du mot de passe	*
*										*
* Version 1.0 du 17 mai 2002							*
*********************************************************************************
* Auteur: Laurent BONNIN							*
* Web: http://www.AutourDuPC.com						*
********************************************************************************/

function TestChgPass()
{
var msg="";

if (document.Form.NPass.value != document.Form.NPass1.value) {msg="Les mots de passe entrés ne concordent pas !";}
else {if (document.Form.NPass.value.length < 4) {msg="Nouveau mot de passe trop court (mini 4 caractères) !";}}
if (document.Form.Pass.value.length < 4) {msg="Mot de passe trop court (mini 4 caractères) !";}

if (msg=="") {return true;}
else {alert(msg);return false;}
}





/********************************************************************************
* Permet de contrôler le formulaire d'authentification				*
*										*
* Version 1.0 du 22 mai 2002							*
*********************************************************************************
* Auteur: Laurent BONNIN							*
* Web: http://www.AutourDuPC.com						*
********************************************************************************/

function TestAuthent()
{
var msg="";

if (document.Form.Login.value.length < 1) {msg="Login incorrect";}
if (document.Form.Pass.value.length < 4) {msg="Mot de passe trop court (mini 4 caractères) !";}
if (msg=="") {return true;}
else {alert(msg);return false;}
}





/********************************************************************************
* Permet d'ouvrir et fermer les DIV						*
*										*
* Version 1.0 du 17 mai 2002							*
*********************************************************************************
* Auteur: Laurent BONNIN							*
* Web: http://www.AutourDuPC.com						*
********************************************************************************/

function OuvreDIV(objMenu,objImage)
{
if (document.getElementById(objMenu).style.display == "none")
   {
   document.getElementById(objMenu).style.display = "block";
//   objMenu.style.display = "block";
   objImage.src = "./Images/minus.gif";
   }
else
   { 
   document.getElementById(objMenu).style.display = "none";
//   objMenu.style.display = "none";
   objImage.src = "./Images/plus.gif";
   }
}


function OuvreNewDIV(obj)
{
Browser=new BrowserInfo();
if (Browser.code=='OP' && Browser.version < '7')
   {
   var msg="\nVotre version d'Opéra est trop ancienne et ne gère pas les ";
   msg+="nouvelles fonctionnalités de ce site.\n\n";
   msg+="Il serait préférable de télécharger la version 7.10 disponible sur http://www.opera.com";
   alert (msg);
   return;
   }

if (document.getElementById(obj).style.display == 'none')
   {
   document.getElementById(obj).style.display = 'block';
   }
else
   { 
   document.getElementById(obj).style.display = 'none';
   }

}





function OpenDIV(obj)
{
document.getElementById(obj).style.display = "block";
}

function CloseDIV(obj)
{
document.getElementById(obj).style.display = "none";
}







function BrowserInfo()
{
 this.code = 'unknown';
 this.version = 0;
 this.platform = 'Win';
 var ua = navigator.userAgent;
 var i = ua.indexOf('WebTV');
 if (i >= 0)
  {
  this.code = 'WebTV';
  i += 6;
  }
 else
 {
  i = ua.indexOf('Opera');
  if (i >= 0)
  {
   this.code = 'OP';
   i = ua.indexOf(') ') + 2;
  }
  else
  {
   i = ua.indexOf('MSIE');
   if (i >= 0)
   {
    this.code = 'MSIE';
    i += 5;
   }
   else
   {
    i = ua.indexOf('Mozilla/');
    if (i >= 0)
    {
     this.code = 'NS';
     i += 8;
    }
   }
  }
 }
 this.version = parseFloat(ua.substring(i, i+4));
 if (ua.indexOf('Mac') >= 0) {this.platform = 'Mac';}
 if (ua.indexOf('OS/2') >= 0) {this.platform = 'OS/2';}
 if (ua.indexOf('X11') >= 0) {this.platform = 'UNIX';}
 var v = this.version;
 var p = this.platform;
 var NS = (this.code == 'NS');
 var IE = (this.code == 'MSIE');
 var WTV = (this.code == 'WebTV');
 var OP = (this.code == 'OP');
 var OP32up = (OP && (v >= 3.2));
 var OP5up = (OP && (v >= 5));
 var IE4up = (IE && (v >= 4));
 var NS3up = (NS && (v >= 3));
 var NS6up = (NS && (v >= 5));
 this.canCache = NS3up || IE4up || OP32up || WTV;
 this.canOnMouseOut = this.canCache;
 this.canOnError = NS3up || IE4up || OP32up;
 this.canJSVoid = !((NS && !NS3up) || (IE && !IE4up) || (OP && (v < 3.5)));
 this.lineByLine = (v < 4);
 this.mustMoveAfterLoad = NS3up || (IE4up && (p != 'Mac')) || WTV;
 if (NS6up == true)
 {
  this.reloadMethod = 'reload';
 }
 else
 {
  if (NS3up || IE4up || WTV || OP5up)
  {
   this.reloadMethod = 'replace';
  }
  else
  {
   this.reloadMethod = (NS && (v == 2.01) && (p != 'Win')) ? 'timeout' : 'href';
  }
 }
 this.needsMenuSearch = (OP && !OP5up);
 this.canFloat = NS || (IE && !((p == 'Mac') && (v >= 4) && (v < 5)));
 this.hasDHTML = ((NS || IE) && (v >= 4)) && !(IE && (p == 'Mac') && (v < 4.5));
 this.slowDHTML = IE4up || NS6up;
 this.hasW3CDOM = (document.getElementById) ? true : false;
 this.needLM = (!this.hasW3CDOM && NS) || (IE && (p == 'Mac') && (v >= 4.5));
 this.DHTMLRange = IE ? '.all' : '';
 this.DHTMLStyleObj = IE ? '.style' : '';
 this.DHTMLDivHeight = IE ? '.offsetHeight' : '.clip.height';
}






/********************************************************************************
* Contrôle du formulaire de saisie d'une annonce de l'agenda			*
*										*
* Version 1.0 du 18 avril 2003							*
*********************************************************************************
* Auteur: Laurent BONNIN							*
* Web: http://www.AutourDuPC.com						*
********************************************************************************/

function TestAGSaisie(sFullForm)
{
var msg='';
if (document.Form.Nom.value.length < 3) 
 {
 msg="Le nom est obligatoire !";
 document.Form.Nom.focus();
 }
else
  if (false==Test_email(document.Form.Mail.value))
   {
   msg="L'adresse mail est erronée !";
   document.Form.Mail.focus();
   }
  else
    if (document.Form.TitreAg.value.length < 3)
     {
     msg="Le titre est obligatoire !";
     document.Form.TitreAg.focus();
     }
    else
      if (document.Form.Ville.value.length < 2)
       {
       msg="La ville doit être spécifiée !";
       document.Form.Ville.focus();
       }
      else
        if (false==VerifierSelect(document.Form.Pays,0)) return false;
        else
          if (false==VerifierSelect(document.Form.Dept,0)) return false;
          else
            if (document.Form.TheDate.value.length < 5)
             {
             msg="La date de la manifestation est obligatoire !";
             document.Form.TheDate.focus();
             }
            else
              if (document.Form.Login.value.length < 4 && sFullForm=='1')
               {
               msg="Le login doit comporter 4 caractères au moins !";
               document.Form.Login.focus();
               }
              else
                if (document.Form.Pass.value.length < 4 && sFullForm=='1')
                 {
                 msg="Le mot de passe doit comporter 4 caractères au moins !";
                 document.Form.Pass.focus();
                 }
                else
                  if (document.Form.Pass.value != document.Form.Pass1.value && sFullForm=='1')
                   {
                   msg="Les mots de passe entrés ne concordent pas !";
                   document.Form.Pass1.focus();
                   }

if (msg=='') {return true;}
else {alert(msg);return false;}
}




/********************************************************************************
* Contrôle du formulaire de recherche des l'agenda				*
*										*
* Version 1.0 du 18 avril 2003							*
*********************************************************************************
* Auteur: Laurent BONNIN							*
* Web: http://www.AutourDuPC.com						*
********************************************************************************/

function TestAGRecherche()
{
if (false==VerifierSelect(document.Form.Pays,0)) return false;
else if (false==VerifierSelect(document.Form.Dept,0)) return false;
     else return true;
}


//-->
