



/********************************************************************************
* 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 = "";
   }
}






/********************************************************************************
* 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, '', '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 (document.Form.Message.value.length < 2) msg="Vous n'avez pas spécifié de message !";
if (document.Form.Message.value.length > 2000) msg="Le message est trop long ! (2000 caractères maxi)";
if (document.Form.Sujet.value.length > 100) msg="Le sujet est trop long !";
if (document.Form.Sujet.value.length < 2) msg="Le sujet doit être spécifié !";
if (false==Test_email(document.Form.De.value)) msg="L'adresse de réponse est erronée !";

if (msg=="") {return true;}
else {alert(msg);return false;}
}






/********************************************************************************
* Teste la validité d'une adresse mail						*
* 										*
* Version 1.2 du 30 janvier 2003						*
*  Remplacament avec expression régulière.					*
*										*
* Version 1.1 du 13 janvier 2003						*
*  Ajout du test des caratères autorisés.					*
*										*
* Version 1.0 du 25 octobre 2002						*
*********************************************************************************
* 										*
* 										*
********************************************************************************/

function Test_email(adresse)
{
if (adresse.length >=100) return false;
var reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/
if (reg.exec(adresse)!=null) return true;
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_GetAnInfo.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;
}




/********************************************************************************
* 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="L'adresse mail est erronée !";
// if (document.Profil.Mail.value.length < 6) msg="Le champ Adr. mail est erroné !";
// else
//   {
//   if ((1 >= document.Profil.Mail.value.indexOf("@")) || (1 >= document.Profil.Mail.value.indexOf(".")))
//      {msg="L'adresse mail doit être valide. Elle est utilisée comme identifiant.";}
//   }

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.1 du 29 janvier 2003						*
*  Modification de OuvreDIV pour compatibilité Mozilla.				*
*										*
* 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";
   objImage.src = "./Images/minus.gif";
   }
else
   { 
   document.getElementById(objMenu).style.display = "none";
   objImage.src = "./Images/plus.gif";
   }
}


