/* CE JS TRAITE LES DIFFERENTS CONTROLES LOCAUX RELATIFS AUX CHAINES DE CARACTERES
 EN CAS DE MAUVAISE SAISIE DE CES CHAMPS UN MESSAGE D ERREUR EST AFFICHE EN POP-UP
 INPUTS : NOM DU FORMULAIRE,
	    NOM DES CHAMP n,
	    NATURE DE LA CHAINE A CONTROLER (CHAINE OU NUM)
	    INTITULE DU MESSAGE
 EXEMPLE : CHAINE('RECHERCHER,AEROPORT_DEPART,CHAINE,ERREURAEROPORTDEPART,AEROPORT_ARRIVEE,NUM,ERREURAEROPORTARRIVEE');
 DONC A SAISIR SANS ESPACE LES ARGUMENTS*/

function ControleLongueurChaineMiniMacIe(num, numchamp,message,image)
{
	return ControleLongueurChaineMiniMacIe2(num, document.forms[0].elements[numchamp], message, image);
}

function ControleLongueurChaineMiniMacIe2(num,champ,message,image)
{
	if (champ.value.length<num){
	   MessageChaine += message +"\n";
	   DstepRoll(image,ImgON,0);

	   if (document.showError) {
	      document.showError(champ, image, message);
	   }
	}
}

function ControleMailMacIe(form, numchamp, libellechamp, ImgName)
{
	return ControleMailMacIe2(form, document.forms[0].elements[numchamp], libellechamp, ImgName);
      
}

/*
Supprime les espaces doublés dans un chaine de caractere
et fait un trim devant et derriere
*/
function SupprimeEspaceEnTrop(form, numchamp)
{

	var val = document.forms[0].elements[numchamp].value;
	var ret = "";
        var bfound = 0;
        for(var i=0;i<val.length;i++)
	{
		if(val.charAt(i)==" ")
		{
			bfound = bfound+1; /*On a trouvé un espace*/
                }
                else
		{
			bfound = 0
		}
		if(bfound<2)
			ret +=val.charAt(i);
        }
	return trim(ret);
}


function ControleMailMacIe2(form, champ, libellechamp, ImgName)
{

      var Motif = /^(\w[-._\w]*@\w[-._\w]*\w\.\w{2,6})$/;
      if( !Motif.test(champ.value)){
	MessageChaine += libellechamp + "\n";
	DstepRoll(ImgName,ImgON,0);

	if (document.showError) {
	  document.showError(champ, ImgName, libellechamp);
	}
      } else {
        /* n'autorise pas les paires  .-  -.  --  ..  ._  -_  _.  _-  __ */
        Motif = /(\.-|-\.|--|\.\.|\._|-_|_\.|_-|__)/;
        if (Motif.test(champ.value)) {
	  MessageChaine += libellechamp + "\n";
	  DstepRoll(ImgName,ImgON,0);

	  if (document.showError) {
	    document.showError(champ, ImgName, libellechamp);
	  }
        }
      }
}

/* depreciee ODA */
function ControleAlphaNumAvecEspace(form, champ, libellechamp, ImgName)
{
      var Instruction = "";
      var Chaine = "";
      var Motif = /[^a-zA-Z0-9 \n\r]/i;	
      Instruction = "document.forms[\"" + form + "\"].elements[\"" + champ + "\"].value";	
      Chaine = eval(Instruction);
 
      if (Chaine != "")
      {
      	if ((Motif.test(Chaine)))
      	{
             MessageChaine += libellechamp + "\n";
	     DstepRoll(ImgName,ImgON,0);
      	}
      }
}

function ControleAlphaNumAvecEspaceByIndice(numForm, numChamp, libellechamp, ImgName)
{
      var Instruction = "";
      var Chaine = "";
      var Motif = /[^a-zA-Z0-9 \n\r]/i;	
      Chaine = document.forms[numForm].elements[numChamp].value;
 
      if (Chaine != "")
      {
      	if ((Motif.test(Chaine)))
      	{
             MessageChaine += libellechamp + "\n";
	     DstepRoll(ImgName,ImgON,0);
      	}
      }
}

function ControleAlphaNumAvecEspaceByObject(champ, message, ImgName)
{
      var Instruction = "";
      var Chaine = "";
      var Motif = /[^a-zA-Z0-9 \n\r]/i;	
      Chaine = champ.value;
 
      if (Chaine != "")
      {
      	if ((Motif.test(Chaine)))
      	{
          MessageChaine += message + "\n";
	  DstepRoll(ImgName,ImgON,0);

	     if (document.showError) {
		document.showError(champ, ImgName, message);
             }
      	}
      }
}

function ControleAlphaNumAvecEspacePonctuation(form, champ, libellechamp, ImgName)
{
      var Instruction = "";
      var Chaine = "";
      var Motif = /[^a-zA-Z0-9!,:;?.' \n\r]/i;
      Instruction = "document.forms[\"" + form + "\"].elements[\"" + champ + "\"].value";
      Chaine = eval(Instruction);

      if (Chaine != "")
      {
        if ((Motif.test(Chaine)))
        {
             MessageChaine += libellechamp + "\n";
             DstepRoll(ImgName,ImgON,0);
        }
      }
}


/* depreciee ODA 
 num     : longueur minimal de la chaine
 champ   : nom du champ
 message : message d'erreur
 image   : nom de l'image*/
function ControleLongueurChaineMini(num, champ,message,image)
{
	var valC = eval(champ);
	if (valC.length<num)
	{
           
	   MessageChaine += message +"\n";
	   DstepRoll(image,ImgON,0);
        }
       
}

/* A utiliser*/
function ControleLongueurChaineMiniByIndice(num,numForm,numChamp,message,image)
{
	var valC = document.forms[numForm].elements[numChamp].value;
	if (valC.length<num)
	{
	   MessageChaine += message +"\n";
	   DstepRoll(image,ImgON,0);
        }
       
}

function ControleLongueurChaineMiniByObject(num,champ,message,image)
{
	var valC = champ.value;
	if (valC.length<num)
	{
	   MessageChaine += message +"\n";
	   DstepRoll(image,ImgON,0);

	     if (document.showError) {
		document.showError(champ, image, message);
             }
        }
       
}

/* depreciee ODA */
function ControleLongueurChainePlage(min,max,champ,message,image)
{
  var valC = eval(champ);
  if ((valC.length<min) || (valC.length>max))
  {
    MessageChaine += message +"\n";
    DstepRoll(image,ImgON,0);
  }
}

/* a utiliser ODA*/
function ControleLongueurChainePlageByIndice(min,max,numForm,numChamp,message,image)
{
  var valC = document.forms[numForm].elements[numChamp].value;
  if ((valC.length<min) || (valC.length>max))
  {
    MessageChaine += message +"\n";
    DstepRoll(image,ImgON,0);
  }
}

function ControleLongueurChainePlageByObject(min,max,champ,message,image)
{
  var valC = champ.value;
  if ((valC.length<min) || (valC.length>max))
  {
    MessageChaine += message +"\n";
    DstepRoll(image,ImgON,0);

     if (document.showError) {
	document.showError(champ, image, message);
     }

    return false;
  }
  return true;
}

/* depreciee ODA */
function ControleAlphaAvecEspace(form, champ, libellechamp, ImgName)
{
      var Instruction = "";
      var Chaine = "";
      var Motif = /[^a-zA-Z \n\r]/i;
      Instruction = "document.forms[\"" + form + "\"].elements[\"" + champ + "\"].value";
      Chaine = eval(Instruction);
      if (Chaine != "")
      {
      	if ((Motif.test(Chaine)))
      	{
             MessageChaine += libellechamp + "\n";
	     DstepRoll(ImgName,ImgON,0);
      	}
      }
}

/* a utiliser */
function nombreDigitCarteByObject(champ, msgCarteInvalide, ImgName)
{
	var Chaine = champ.value;
	var numRetour = "";
    if ( !Chaine.isNaN ) {
        if( (Chaine.length=="15") && (Chaine.substr(0,4)!="3749" )){
            MessageChaine += msgCarteInvalide + "\n";
            DstepRoll(ImgName,ImgON,0);

	     if (document.showError) {
		document.showError(champ, ImgName, msgCarteInvalide);
             }

        } else {
            var taille = Chaine.length;
            for (var i=taille;i<12;i++){
                numRetour = "0".concat(Chaine);
            }   
        }
    }
     else{
	 MessageChaine += msgCarteInvalide + "\n";
	 DstepRoll(ImgName,ImgON,0);

	 if (document.showError) {
		document.showError(champ, ImgName, msgCarteInvalide);
         }
     }
}

/*A utiliser*/
function ControleAlphaAvecEspaceByIndice(numForm, numChamp, libellechamp, ImgName)
{
      var Instruction = "";
      var Chaine = "";
	  if (navigator.appVersion.indexOf("Safari") != -1){
		var Motif = new RegExp("[0-9]");
	  } else {
        var Motif = /[^a-zA-Z\u00aa\u00c1\u00e1\u00c0\u00e0\u00c2\u00e2\u00c4\u00e4\u00c3\u00e3\u00c5\u00e5\u00e6\u00c6\u00c7\u00e7\u00d0\u00f0\u00c9\u00e9\u00c8\u00e8\u00ca\u00ea\u00cb\u00eb\u00cd\u00ed\u00cc\u00ec\u00ce\u00ee\u00ef\u00cf\u00d1\u00f1\u00d3\u00f3\u00d2\u00f2\u00d4\u00f4\u00d6\u00f6\u00d8\u00f8\u008c\u009c\u00df\u00de\u00fe\u00da\u00fa\u00d9\u00f9\u00db\u00fb\u00dc\u00fc\u00fd\u00dd\u009f\u00ff\u00b0\u00a3\-\'\/\\\"\[\]\(\)\+\*\#\{\}\=\@Â£%&$\.\?\| \n\r]/i;
	  }
      Chaine = document.forms[numForm].elements[numChamp].value;
      if (Chaine != "")
      {
      	if ((Motif.test(Chaine)))
      	{
             MessageChaine += libellechamp + "\n";
	     DstepRoll(ImgName,ImgON,0);
      	}
      }
} 

/*A utiliser*/
function ControleAlphaAvecEspaceByObject(Champ, libellechamp, ImgName, onlyLastNameChars)
{
      var Instruction = "";
      var Chaine = "";
	  if (navigator.appVersion.indexOf("Safari") != -1){
		var Motif = new RegExp("[0-9]");
	  } else {
	  	if (onlyLastNameChars) {
		   var Motif = /[^a-zA-Z\u00aa\u00c1\u00e1\u00c0\u00e0\u00c2\u00e2\u00c4\u00e4\u00c3\u00e3\u00c5\u00e5\u00e6\u00c6\u00c7\u00e7\u00d0\u00f0\u00c9\u00e9\u00c8\u00e8\u00ca\u00ea\u00cb\u00eb\u00cd\u00ed\u00cc\u00ec\u00ce\u00ee\u00ef\u00cf\u00d1\u00f1\u00d3\u00f3\u00d2\u00f2\u00d4\u00f4\u00d6\u00f6\u00d8\u00f8\u008c\u009c\u00df\u00de\u00fe\u00da\u00fa\u00d9\u00f9\u00db\u00fb\u00dc\u00fc\u00fd\u00dd\u009f\u00ff\u00b0\u00a3\-\' ]/i;
		} else {
		   var Motif = /[^a-zA-Z\u00aa\u00c1\u00e1\u00c0\u00e0\u00c2\u00e2\u00c4\u00e4\u00c3\u00e3\u00c5\u00e5\u00e6\u00c6\u00c7\u00e7\u00d0\u00f0\u00c9\u00e9\u00c8\u00e8\u00ca\u00ea\u00cb\u00eb\u00cd\u00ed\u00cc\u00ec\u00ce\u00ee\u00ef\u00cf\u00d1\u00f1\u00d3\u00f3\u00d2\u00f2\u00d4\u00f4\u00d6\u00f6\u00d8\u00f8\u008c\u009c\u00df\u00de\u00fe\u00da\u00fa\u00d9\u00f9\u00db\u00fb\u00dc\u00fc\u00fd\u00dd\u009f\u00ff\u00b0\u00a3\-\'\/\\\"\[\]\(\)\+\*\#\{\}\=\@Â£%&$\.\?\| \n\r]/i;
		}
	  }
      Chaine = Champ.value;
      if (Chaine != "")
      {
      	if ((Motif.test(Chaine)))
      	{
             MessageChaine += libellechamp + "\n";
	     DstepRoll(ImgName,ImgON,0);
	
	     if (document.showError) {
		document.showError(Champ, ImgName, libellechamp);
             }
      	}
      }
}


/* Petit Dev 379 */
function ControleAlphaNumSpecialCharsAvecEspaceByIndice(numForm, numChamp, libellechamp, ImgName)
{
	var champ = document.forms[numForm].elements[numChamp];
	ControleAlphaNumSpecialCharsAvecEspace(champ,libellechamp, ImgName);
}

function ControleAlphaNumSpecialCharsAvecEspace(champ, libellechamp, ImgName)
{

      var Instruction = "";
      var Chaine = "";
      var Motif1 = "";
      var Motif2 = "";
       
	  if (navigator.appVersion.indexOf("Safari") != -1){
                Motif1 = new RegExp("[\u0027\u002f\"\[\]+{}=@Â£.?|,\n\r]");
                Motif2 = new RegExp("[ a-zA-Z0-9\u00aa\*\$\'\#\&\%\)\(\-\u00c1\u00e1\u00c0\u00e0\u00c2\u00e2\u00c4\u00e4\u00c3\u00e3\u00c5\u00e5\u00e6\u00c6\u00c7\u00e7\u00d0\u00f0\u00c9\u00e9\u00c8\u00e8\u00ca\u00ea\u00cb\u00eb\u00cd\u00ed\u00cc\u00ec\u00ce\u00ee\u00ef\u00cf\u00d1\u00f1\u00d3\u00f3\u00d2\u00f2\u00d4\u00f4\u00d6\u00f6\u00d8\u00f8\u008c\u009c\u00df\u00de\u00fe\u00da\u00fa\u00d9\u00f9\u00db\u00fb\u00dc\u00fc\u00fd\u00dd\u009f\u00ff\u00b0\u00a3]");

	  } else {
                Motif1 = /[a-zA-Z0-9\u00aa\u00c1\u00e1\u00c0\u00e0\u00c2\u00e2\u00c4\u00e4\u00c3\u00e3\u00c5\u00e5\u00e6\u00c6\u00c7\u00e7\u00d0\u00f0\u00c9\u00e9\u00c8\u00e8\u00ca\u00ea\u00cb\u00eb\u00cd\u00ed\u00cc\u00ec\u00ce\u00ee\u00ef\u00cf\u00d1\u00f1\u00d3\u00f3\u00d2\u00f2\u00d4\u00f4\u00d6\u00f6\u00d8\u00f8\u008c\u009c\u00df\u00de\u00fe\u00da\u00fa\u00d9\u00f9\u00db\u00fb\u00dc\u00fc\u00fd\u00dd\u009f\u00ff\u00b0\u00a3\-\'\/\\\"\[\]\(\)\+\*\#\{\}\=\@Â£%&$\.\?\|\, \n\r]/i;
          }     
	  
	Chaine = champ.value;
      if (Chaine != ""){
        var i =0;
        while(i<Chaine.length){         
        Instruction = Chaine.charAt(i);
        if(!((Motif1.test(Instruction))||(Motif2 && Motif2.test(Instruction)))){
             MessageChaine += libellechamp + "\n";
	     			 DstepRoll(ImgName,ImgON,0);
	     			 if (document.showError) {
		           document.showError(champ, ImgName, libellechamp);
             }
        break;
      	}
        else{
           i++;
        }
       }
      }
}

function ControleAlphaSpecialCharsAvecEspaceByIndice(numForm, numChamp, libellechamp, ImgName)
{
	var champ = document.forms[numForm].elements[numChamp];
	ControleAlphaSpecialCharsAvecEspace(champ,libellechamp, ImgName);
}

function ControleAlphaSpecialCharsAvecEspace(champ, libellechamp, ImgName)
{
      var Instruction = "";
      var Chaine = "";
	  if (navigator.appVersion.indexOf("Safari") != -1){
		var Motif = new RegExp("[0-9]");
	  } else {
        var Motif = /[^a-zA-Z\u00aa\u00c1\u00e1\u00c0\u00e0\u00c2\u00e2\u00c4\u00e4\u00c3\u00e3\u00c5\u00e5\u00e6\u00c6\u00c7\u00e7\u00d0\u00f0\u00c9\u00e9\u00c8\u00e8\u00ca\u00ea\u00cb\u00eb\u00cd\u00ed\u00cc\u00ec\u00ce\u00ee\u00ef\u00cf\u00d1\u00f1\u00d3\u00f3\u00d2\u00f2\u00d4\u00f4\u00d6\u00f6\u00d8\u00f8\u008c\u009c\u00df\u00de\u00fe\u00da\u00fa\u00d9\u00f9\u00db\u00fb\u00dc\u00fc\u00fd\u00dd\u009f\u00ff\u00b0\u00a3\-\'\/\\\"\[\]\(\)\+\*\#\{\}\=\@Â£%&$\.\?\| \n\r]/i;
	  }  
	  Chaine = champ.value;
            
      if (Chaine != "")
      {
      	if ((Motif.test(Chaine)))
      	{
             MessageChaine += libellechamp + "\n";
	     DstepRoll(ImgName,ImgON,0);
	     if (document.showError) {
				document.showError(champ, ImgName, libellechamp);
       }
      	}
      }
}
/* depreciee */
function ControleAlphaNum(form, champ, libellechamp, ImgName)
{
      var Instruction = "";
      var Chaine = "";
      var Motif = /[^a-zA-Z0-9]/i;
      Instruction = "document.forms[\"" + form + "\"].elements[\"" + champ + "\"].value";
      Chaine = eval(Instruction);
      if (Chaine != "")
      {
      	if ((Motif.test(Chaine)))
      	{
             MessageChaine += libellechamp + "\n";
	     DstepRoll(ImgName,ImgON,0);
	     
      	}
      }
}

/* DEPRECIEE ODA ne fonctionne pour sous safari
A UTILISER ODA
 compatibilite navigateur accrue*/
function ControleAlphaNumByIndice(numForm,numChamp, libellechamp, ImgName)
{
      var Instruction = "";
      var Chaine = "";
      var Motif = /[^a-zA-Z0-9]/i;
      Chaine = document.forms[numForm].elements[numChamp].value;
      if (Chaine != "")
      {
      	if ((Motif.test(Chaine)))
      	{
             MessageChaine += libellechamp + "\n";
	     DstepRoll(ImgName,ImgON,0);
      	}
      }
}

function ControleAlphaNumByObject(champ, libellechamp, ImgName)
{
      var Instruction = "";
      var Chaine = "";
      var Motif = /[^a-zA-Z0-9]/i;
      Chaine = champ.value;
      if (Chaine != "")
      {
      	if ((Motif.test(Chaine)))
      	{
             MessageChaine += libellechamp + "\n";
	     DstepRoll(ImgName,ImgON,0);

	     if (document.showError) {
		document.showError(champ, ImgName, libellechamp);
             }
      	}
      }
}

function ControleChaineAvecEspace(form, champ, libellechamp, ImgName)
{
      var Longueur = "";
      var Instruction = "";
      var Chaine = "";
      var Motif = /[^a-zéè \n\r]/i;
      Instruction = "document.forms[\"" + form + "\"].elements[\"" + champ + "\"].value";
      Chaine = eval(Instruction);
      if ((Motif.test(Chaine)))
      {
            MessageChaine += libellechamp + "\n";
	    DstepRoll(ImgName,ImgON,0);		 
      }
}

function ControleChaineAvecEspaceByIndice(numForm, numChamp, libellechamp, ImgName)
{
      var Longueur = "";
      var Instruction = "";
      var Chaine = "";
      var Motif = /[^a-zéè \n\r]/i;
      Instruction = "document.forms[numForm].elements[numChamp].value";
      Chaine = eval(Instruction);
      if ((Motif.test(Chaine)))
      {
            MessageChaine += libellechamp + "\n";
	    DstepRoll(ImgName,ImgON,0);		 
      }
}


function ControleChaine(form, champ, libellechamp, ImgName)
{
      var Longueur = "";
      var Instruction = "";
      var Chaine = "";
      var Motif = /[^a-zéè]/i;
      Instruction = "document.forms[\"" + form + "\"].elements[\"" + champ + "\"].value";
      Chaine = eval(Instruction);
      if ((Motif.test(Chaine)))
      {
            MessageChaine += libellechamp + "\n";
	    DstepRoll(ImgName,ImgON,0);		 
      }
}

function ControleChaineByIndice(numForm, numChamp, libellechamp, ImgName)
{
      var Longueur = "";
      var Instruction = "";
      var Chaine = "document.forms[numForm].elements[numChamp].value";
      var Motif = /[^a-zéè]/i;
      Instruction = "";
      Chaine = eval(Instruction);
      if ((Motif.test(Chaine)))
      {
            MessageChaine += libellechamp + "\n";
	    DstepRoll(ImgName,ImgON,0);		 
      }
}

/* depreciee */
function ControleNum(form, champ, libellechamp, ImgName)
{
      var Instruction = "";
      var Chaine = "";
      var Motif = /[^0-9]/i;
      Instruction = "document.forms[\"" + form + "\"].elements[\"" + champ + "\"].value";
      Chaine = eval(Instruction);
      if (Chaine != "")
      {
      	if ((Motif.test(Chaine)))
      	{
             MessageChaine += libellechamp + "\n";
	     DstepRoll(ImgName,ImgON,0);
      	}
      }
}


/*a utiliser ODA*/
function ControleNumByIndice(numForm, numChamp, libellechamp, ImgName)
{
      var Instruction = "";
      var Chaine = "";
      var Motif = /[^0-9]/i;
	Chaine = document.forms[numForm].elements[numChamp].value;
      if (Chaine != "")
      {
      	if ((Motif.test(Chaine)))
      	{
             MessageChaine += libellechamp + "\n";
	     DstepRoll(ImgName,ImgON,0);
      	}
      }
}

/*a utiliser */
function ControleNumByObject(champ, libellechamp, ImgName)
{
      var Instruction = "";
      var Chaine = "";
      var Motif = /[^0-9]/i;
	Chaine = champ.value;
      if (Chaine != "")
      {
      	if ((Motif.test(Chaine)))
      	{
             MessageChaine += libellechamp + "\n";
	     DstepRoll(ImgName,ImgON,0);

	     if (document.showError) {
		document.showError(champ, ImgName, libellechamp);
             }
      	}
      }
}

function ControleNumMacIE(form, numChamp, libellechamp, ImgName)
{
	var Instruction = "";
	Instruction = "document.forms[\"" + form + "\"].elements[" + numChamp + "]";
	return ControleNumMacIE2(form, eval(Instruction), libellechamp, ImgName);
}

function ControleNumMacIE2(form, champ, libellechamp, ImgName)
{

      var Motif = /[^0-9]/i;
      if (champ.value != "")
      {
      	if ((Motif.test(champ.value)))
      	{
             MessageChaine += libellechamp + "\n";
	     DstepRoll(ImgName,ImgON,0);
      	}
      }
}

/* depreciee */
function ControleMail(form, champ, libellechamp, ImgName)
{
      var Instruction = "";
      var Chaine = "";
      var Motif = /^\S+@\S+\.\S+$/;
      Instruction = "document.forms[\"" + form + "\"].elements[\"" + champ + "\"].value";
      Chaine = eval(Instruction);
      if( !Motif.test(Chaine))
      {
		MessageChaine += libellechamp + "\n";
	        DstepRoll(ImgName,ImgON,0);
      }
}

/*a utiliser ODA*/
function ControleMailByIndice(numForm, numChamp, libellechamp, ImgName)
{
      var Instruction = "";
      var Chaine = "";
      var Motif = /^\S+@\S+\.\S+$/;
      Chaine = document.forms[numForm].elements[numChamp].value;
      if( !Motif.test(Chaine))
      {
		MessageChaine += libellechamp + "\n";
	        DstepRoll(ImgName,ImgON,0);
      }
}

function AfficheErreursChaines()
{
	if(!document.dontShowAlert && MessageChaine != "")
	{
		alert(MessageChaine);
	}
}

/*RECUPERE LES PARAMETRES PASSES DANS LE SUBMIT*/
function Chaines(ListeElements)
{
	var inString = ListeElements;
	var outString = "";
	var Cherche = ",";
        var Tableau = new Array;
	var Compteur = 0;
	var IndiceTableau = 0;
	var i = 0;
	var j= 0;
	var k = 0;
	
	if (!inString)
	{
             return "";
	}

	/* ON METS TOUS LES ELEMENTS DU FORMULAIRE DANS UN TABLEAU*/
	while(Compteur != -1)
	{
	       Compteur = inString.indexOf(Cherche);
	       Tableau[IndiceTableau] = inString.substring(0, Compteur);
	       
	       inString = inString.substring(Compteur+1,inString.length);
	       if(Compteur == inString.lastIndexOf(Cherche))
	       {
	              Tableau[IndiceTableau] = inString.substring(0, inString.length);
	       }
	       IndiceTableau++;
	}
	
	var NbElements = Tableau.length;
	
	/* ON CONTROLE LES CHAINES DE CARACTERES :*/
	for(i=0; i<NbElements; i++)
	{
	       if(Tableau[i] == "CFC")
	       {
	             while(document.forms[j].name != Tableau[0])
	             {
	                  j++;
	             }
	             while(document.forms[j].elements[k].name != Tableau[i-1])
	             {
	                  k++;
	             }
		     ControleChaine(j, k, Tableau[i+1], Tableau[i+2]);
	       }
	}

	/* ON CONTROLE LES CHAINES NUMERIQUES :*/
	j=0;k=0;
	for(i=0; i<NbElements; i++)
	{
	       if(Tableau[i] == "CFN")
	       {
	             while(document.forms[j].name != Tableau[0])
	             {
	                  j++;
	             }
	             while(document.forms[j].elements[k].name != Tableau[i-1])
	             {
	                  k++;
	             }
		     ControleNum(j, k, Tableau[i+1], Tableau[i+2]);
	       }
	}

	/* ON CONTROLE LES ADRESSES E-MAIL :*/
	j=0;k=0;
	for(i=0; i<NbElements; i++)
	{
	       if(Tableau[i] == "CFM")
	       {
	             while(document.forms[j].name != Tableau[0])
	             {
	                  j++;
	             }
	             while(document.forms[j].elements[k].name != Tableau[i-1])
	             {
	                  k++;
	             }
		     ControleMail(j, k, Tableau[i+1], Tableau[i+2]);
	       }
	}

	/* ON CONTROLE LES CHAINES ALPHANUMERIQUES :*/
	j=0;k=0;
	for(i=0; i<NbElements; i++)
	{
	       if(Tableau[i] == "CFAN")
	       {
	             while(document.forms[j].name != Tableau[0])
	             {
	                  j++;
	             }
	             while(document.forms[j].elements[k].name != Tableau[i-1])
	             {
	                  k++;
	             }
		     ControleAlphaNum(j, k, Tableau[i+1], Tableau[i+2]);
	       }
	}
}


function ControleChaineIdentique(champ1,champ2,image1,image2,message)
{

	if (champ1!= champ2)
	{
	   MessageChaine += message +"\n";
	   DstepRoll(image1,ImgON,0);
           DstepRoll(image2,ImgON,0);
        }
       
}

function ControleIdMotDePasse(champ1,champ2,image1,image2,message)
{

	if (champ1== champ2)
	{
	   MessageChaine += message +"\n";
	   DstepRoll(image1,ImgON,0);
           DstepRoll(image2,ImgON,0);
        }
       
}


/***********************/
function emailCheck(emailStr) 
{
  var emailPat=/^(.+)@(.+)$/;
  var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
  var validChars="\[^\\s" + specialChars + "\]";
  var quotedUser="(\"[^\"]*\")";
  var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
  var atom=validChars + '+';
  var word="(" + atom + "|" + quotedUser + ")";
  var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
  var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

  var matchArray=emailStr.match(emailPat);
  if (matchArray==null) 
	return false;

  var user=matchArray[1];
  var domain=matchArray[2];

  if (user.match(userPat)==null) 
    return false;

  var IPArray=domain.match(ipDomainPat);
  if (IPArray!=null) 
  {
    for (var i=1;i<=4;i++) 
    {
      if (IPArray[i]>255) 
	return false;
    }
    return true;
  }

  var domainArray=domain.match(domainPat);
  if (domainArray==null) 
    return false;

  var atomPat=new RegExp(atom,"g");
  var domArr=domain.match(atomPat);
  var len=domArr.length;
  if (domArr[domArr.length-1].length<2) 
    return false;

  if (len<2) 
    return false;

  return true;
}

function stringReplace(src,sCode,sRep)
{
	var s = src;
	var bfound = 1;
	var sRet = "";
	var sZap = "";
	for(var i=0;i<s.length;i++)
	{
		if(s.charAt(i)==sCode.charAt(0))
		{
			bfound = 1;
			sZap=sCode.charAt(0);
			for(var j=1;j<sCode.length;j++)
			{
				i++;
				if(i<s.length && s.charAt(i)!=sCode.charAt(j))
				{
					bfound=0;
					j=sCode.length;
				}
				sZap+=sCode.charAt(j);
			}
			if(bfound==1)
			{sRet+=sRep;i++;}
			else
			{sRet+=sZap;}
		}
		sRet+=s.charAt(i);
	}
	return sRet;
}

function ControleDateValiditeCB(mois, annee)
{
	var bReturn = true;
	d = new Date();
	moisCourant=d.getMonth() + 1; //car en javascript le mois commence a 0 !!!
	anneeCourant=d.getFullYear();
	if (annee < anneeCourant)
	{
		bReturn = false;
	}
	else if (annee == anneeCourant)
	{
		if (mois < moisCourant)
		{
			bReturn = false;
		}
	}
	return bReturn;
	
}


function ControleAvecExpReguliere(Motif,form, champ, libellechamp, ImgName)
{
      var Instruction = "";
      var Chaine = "";	
      Instruction = "document.forms[\"" + form + "\"].elements[\"" + champ + "\"].value";	
      Chaine = eval(Instruction);
 
      if (Chaine != "")
      {
      	if (!(Motif.test(Chaine)))
      	{
             MessageChaine += libellechamp + "\n";
	     DstepRoll(ImgName,ImgON,0);
      	}
      }
}

function ControleAvecExpReguliereByIndice(Motif,numForm, numChamp, libellechamp, ImgName)
{
      var Instruction = "";
      var Chaine = "";	
      Instruction = "document.forms[" + numForm + "].elements[" + numChamp + "].value";	
      Chaine = eval(Instruction);
 
      if (Chaine != "")
      {
      	if (!(Motif.test(Chaine)))
      	{
             MessageChaine += libellechamp + "\n";
	     DstepRoll(ImgName,ImgON,0);
      	}
      }
}

function ControlRegExpByObject(Motif, champ, message, ImgName)
{
      var Chaine = champ.value;
 
      if (Chaine != "")
      {
      	if (!(Motif.test(Chaine)))
      	{
             MessageChaine += message + "\n";
	     DstepRoll(ImgName,ImgON,0);

	     if (document.showError) {
		document.showError(champ, ImgName, message);
             }
      	}
      }
}

function trim(strText) {
    /* this will get rid of leading spaces*/
    while (strText.substring(0,1) == ' ')
        strText = strText.substring(1, strText.length);

    /*this will get rid of trailing spaces*/
    while (strText.substring(strText.length-1,strText.length) == ' ')
        strText = strText.substring(0, strText.length-1);

   return strText;
}


function ControleFormatEndDate(champ, message, img)
{
	var validCarte =/^(\d{2}[\/]\d{2})$/;
  if (!validCarte.test(champ.value)) {
      MessageChaine += message +"\n";
      DstepRoll(img,ImgON,0);
    } else {
      var mois = parseInt(champ.value.substr(0,2), 10);
      var annee = parseInt("20" + champ.value.substr(3,2), 10);
      
      if (!ControleDateValiditeCB(mois, annee)) {
        MessageChaine += message+"\n";
        DstepRoll(img,ImgON,0);
        if (document.showError) {
				  document.showError(champ, ImgName, message);
        }
      }
    }
}




/* verification du format de numero de carte de paiement */
/* Cette fonction permet d'ajouter un message d'erreur s'il nexiste pas déjà lorsque le startCode n'est pas correct */

function ControleFormatCarteBancaireDyn(champ, numCard,startCode,message, ImgName) {
  /* Constantes */
  var i = 0;
  var errorFound = false;
       
  /* Premier Test: permet de Comparer les chaines de caractères du numCard à la liste des StartCode possibles. Si false, on fait le TroisièmeTest, si true le startCode est correct on sort de la boucle*/  	      
  for(i=0; i < startCode.length; i++){
    var start = startCode[i];
    errorFound = (numCard.indexOf(startCode[i]) == -1);
    if (!errorFound) {
      break;
    }
  }		  

  /* Second Test : Test si le message que l'on veut ajouter existe, si non on l'ajoute en file */
  if (errorFound) {
    if (MessageChaine.indexOf(message) == -1) {  /* ajoute le message si n'existe pas déjà */
      MessageChaine += message + "\n";
    }
    DstepRoll(ImgName,ImgON,0);
    if (document.showError) {
      document.showError(champ, ImgName, message);
    }
  }
	
}


function ControleLongueurChaineDigit(codeCrypto,champ, numChamp,message,image){
 if(codeCrypto != numChamp.length){
    message = message.replace('\{1\}',codeCrypto);
    MessageChaine += message +"\n";
    DstepRoll(image,ImgON,0);
    if (document.showError) {
	document.showError(champ, image, message);
    }  
 }
}

function ControleLongueurChaineCard(min,max,champ,numChamp,message,image)
{
  if ((numChamp.length<min) || (numChamp.length>max))
  {
  message = message.replace('\{1\}',min);
  message = message.replace('\{2\}',max);
    MessageChaine += message +"\n";
    DstepRoll(image,ImgON,0);
    if (document.showError) {
	document.showError(champ, image, message);
        }
  }
}


function ControleAlphaAvecEspaceCard(champ,numChamp, message, ImgName)
{
      var Instruction = "";
      var Chaine = "";
      var Motif = /[^a-zA-Z \n\r]/i;	
 
      if (numChamp != "")
      {
      	if ((Motif.test(numChamp)))
      	{
             MessageChaine += message + "\n";
	     DstepRoll(ImgName,ImgON,0);
	     if (document.showError) {
	        document.showError(champ, ImgName, message);
        }
      	}
      }
}

function ControleNumCard(champ, numChamp, message, ImgName)
{
      var Motif = /[^0-9]/i;
      if (numChamp != "")
      {
      	if ((Motif.test(numChamp)))
      	{
             MessageChaine += message + "\n";
	     DstepRoll(ImgName,ImgON,0);
	     if (document.showError) {
				  document.showError(champ, ImgName, message);
        }
	     
      	}
      }
}




