//*******************************************************************************//
//*Fonction qui vÃƒÂ©rifie la saisie d'un numÃƒÂ©rique                                // 
//*******************************************************************************//
function alphaOnly(myfield, e)
  {
    var key;
    var keychar;
 
    if (window.event)
      key = window.event.keyCode;
    else 
      if (e)
        key = e.which;
      else
        return true;

    keychar = String.fromCharCode(key);

    // control keys
    if ((key==null) || (key==32) || (key==8) || (key==127) || (key==37) || (key==39))
      return true;
    else
      // Alpha + -
      if ((("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-éèàêùç'").indexOf(keychar) > -1))
        return true;
      else
        return false;
  }

function alphanumericOnly(myfield, e)
  {
    var key;
    var keychar;
 
    if (window.event)
      key = window.event.keyCode;
    else 
      if (e)
        key = e.which;
      else
        return true;

    keychar = String.fromCharCode(key);

    // control keys
    if ((key==null) || (key==32) || (key==8) || (key==127) || (key==37) || (key==39))
      return true;
    else
      // Alphanumeric + -
      if ((("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-éèàêùç").indexOf(keychar) > -1))
        return true;
      else
        return false;
  }

function alphanumspecOnly(myfield, e)
  {
    var key;
    var keychar;
 
    if (window.event)
      key = window.event.keyCode;
    else 
      if (e)
        key = e.which;
      else
        return true;

    keychar = String.fromCharCode(key);

    // control keys
    if ((key==null) || (key==32) || (key==8) || (key==127) || (key==37) || (key==39))
      return true;
    else
      // Alphanumeric + speciaux
      if ((("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-/_éèàêùç'").indexOf(keychar) > -1))
        return true;
      else
        return false;
  }
  
  function alphanumcodposOnly(myfield, e)
  {
    var key;
    var keychar;
 
    if (window.event)
      key = window.event.keyCode;
    else 
      if (e)
        key = e.which;
      else
        return true;

    keychar = String.fromCharCode(key);

    // control keys
    if ((key==null) || (key==32) || (key==8) || (key==127) || (key==37) || (key==39))
      return true;
    else
      // Alphanumeric + speciaux
      if ((("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-'").indexOf(keychar) > -1))
        return true;
      else
        return false;
  }
  
function caractemailOnly(myfield, e)
  {
    var key;
    var keychar;
 
    if (window.event)
      key = window.event.keyCode;
    else 
      if (e)
        key = e.which;
      else
        return true;

    keychar = String.fromCharCode(key);

    // control keys
    if ((key==null) || (key==32) || (key==8) || (key==127) || (key==37) || (key==39))
      return true;
    else
      // Caratcere autorise pour les emails seulement
      if ((("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_@.").indexOf(keychar) > -1))
        return true;
      else
        return false;
  }
  
function caractpseudoOnly(myfield, e)
  {
    var key;
    var keychar;
 
    if (window.event)
      key = window.event.keyCode;
    else 
      if (e)
        key = e.which;
      else
        return true;

    keychar = String.fromCharCode(key);

    // control keys
    if ((key==null) || (key==32) || (key==8) || (key==127) || (key==37) || (key==39))
      return true;
    else
      // Caratcere autorise pour les emails seulement
      if ((("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_@.éèàêùç").indexOf(keychar) > -1))
        return true;
      else
        return false;
  }
function numbersOnly(myfield, e)
  {
    var key;
    var keychar;
 
    if (window.event)
      key = window.event.keyCode;
    else 
      if (e)
        key = e.which;
      else
        return true;

    keychar = String.fromCharCode(key);

    // control keys
    if ((key==null) || (key==8) || (key==32) || (key==127) || (key==37) || (key==39))
      return true;
    else
      // numbers 
      if ((("0123456789").indexOf(keychar) > -1))
        return true;
      else
        return false;
  }

function numbersOnlyhors0(myfield, e)
  {
    var key;
    var keychar;
 
    if (window.event)
      key = window.event.keyCode;
    else 
      if (e)
        key = e.which;
      else
        return true;

    keychar = String.fromCharCode(key);

    // control keys
    if ((key==null) || (key==8) || (key==127) || (key==32) || (key==37) || (key==39))
      return true;
    else
      // numbers 
      if ((("123456789").indexOf(keychar) > -1))
        return true;
      else
        return false;
  }
  

function decimalsOnly(myfield, e, dec)
  {
    var key;
    var keychar;
 
    if (window.event)
      key = window.event.keyCode;
    else 
      if (e)
        key = e.which;
      else
        return true;

    keychar = String.fromCharCode(key);

    // control keys
    if ((key==null) || (key==0) || (key==8) || (key==9) ||   (key==13) || (key==27) || (key==127) || (key==37) || (key==39))
      return true;
    else
      // numbers 
      if ((("0123456789").indexOf(keychar) > -1))
        return true;
      else
      // decimal point jump
      if (keychar == ".")
      {
        return true;
      }
      else
        return false;
  }

function maxLength(a,size)
{	
    if (window.event)
      key = window.event.keyCode;
    else 
      if (e)
        key = e.which;
      else
        return true;

    keychar = String.fromCharCode(key);

    // control keys
    if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) || (key==127) || (key==37) || (key==39))
      return true;

	if (a.value.length<size)
		return true;
	return false;
}

function emailValidation_nomessage(arr)
{
	var dot=".";
	var at="@";
	var lat=arr.indexOf(at);
	var lstr=arr.length;
	var ldot=arr.indexOf(dot);
					
	 if (arr.indexOf(at)==-1){
		return false
	  }
	  
	 if (arr.indexOf(at)==-1 || arr.indexOf(at)==0 || arr.indexOf(at)==lstr){
		return false
	 }
	 
	if (arr.indexOf(dot)==-1 || arr.indexOf(dot)==0 || arr.indexOf(dot)==lstr){
		return false
	}
	
	if (arr.indexOf(at,(lat+1))!=-1){
		return false
	}

	if (arr.substring(lat-1,lat)==dot || arr.substring(lat+1,lat+2)==dot){
		return false
	}

	if (arr.indexOf(dot,(lat+2))==-1){
		return false
	}
				
	if (arr.indexOf(" ")!=-1){
		return false
	}
	
	return true;
}

function emailValidation(arr, msg)
{
	var dot=".";
	var at="@";
	var lat=arr.indexOf(at);
	var lstr=arr.length;
	var ldot=arr.indexOf(dot);
					
	 if (arr.indexOf(at)==-1){
		alert(msg);
		return false
	  }
	  
	 if (arr.indexOf(at)==-1 || arr.indexOf(at)==0 || arr.indexOf(at)==lstr){
		alert(msg);
		return false
	 }
	 
	if (arr.indexOf(dot)==-1 || arr.indexOf(dot)==0 || arr.indexOf(dot)==lstr){
		alert(msg);
		return false
	}
	
	if (arr.indexOf(at,(lat+1))!=-1){
		alert(msg);
		return false
	}

	if (arr.substring(lat-1,lat)==dot || arr.substring(lat+1,lat+2)==dot){
		alert(msg);
		return false
	}

	if (arr.indexOf(dot,(lat+2))==-1){
		alert(msg);
		return false
	}
				
	if (arr.indexOf(" ")!=-1){
		alert(msg);
		return false
	}
	
	return true;
}
			
function checkMaxLength(field, maxlimit) 
  {
	if (field.value.length > maxlimit)
		field.value = field.value.substring(0, maxlimit);
  } 		

// args : string moncontroletexte, int nbcar, string moncontroledecompte 
// return : aucun 
// Affecte à certains évènements d'un textarea, le contrôle de la longueur de son contenu 
function LimiterTextArea(nom_controletexte, nbcar, nom_controledecompte) 
{ 
	var moncontroletexte = document.getElementById(nom_controletexte);
	var moncontroledecompte = document.getElementById(nom_controledecompte);
	if (moncontroletexte && moncontroledecompte)
	{
		moncontroletexte.onclick = function(){TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)}; 
		moncontroletexte.onblur = function(){TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)}; 
		moncontroletexte.onkeyup = function(){TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)}; 
		moncontroletexte.onkeypress = function(){TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)}; 
		// *** Affichage du nombre de caractères restant 
		if(moncontroledecompte.type)
			moncontroledecompte.value = NbCarRestant(moncontroletexte, nbcar);			// Pour un input de formulaire		
		else
			moncontroledecompte.innerHTML = NbCarRestant(moncontroletexte, nbcar);	// Pour un élément HTML	
	}
} 
// TextAreaEstRempli 
// args : textarea moncontroletexte, int nbcar, element_HTML moncontroledecompte 
// return : bool 
// Renvoie vrai si le nombre de caractères maximum du textarea n'est pas atteint 
function TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte) 
{ 
	if (moncontroletexte) 
	{ 
		if (moncontroletexte.value.length <= nbcar) 
		{ 
			//alert("pas rempli"); 
			// mes actions ... 
			// *** Affichage du nombre de caractères restant
			if(moncontroledecompte.type)
				moncontroledecompte.value = NbCarRestant(moncontroletexte, nbcar);
			else
				moncontroledecompte.innerHTML = NbCarRestant(moncontroletexte, nbcar);
			return true; 
		} 
		else 
		{ 
			//alert("rempli"); 
			// mes actions ... 
			// Affichage du nombre de caractères restant 
			moncontroletexte.value = moncontroletexte.value.substr(0, nbcar); 
			// *** Affichage du nombre de caractères restant
			if(moncontroledecompte.type)
				moncontroledecompte.value = NbCarRestant(moncontroletexte, nbcar);
			else
				moncontroledecompte.innerHTML = NbCarRestant(moncontroletexte, nbcar);
				
			return false; 
		} 
	} 
} 
// NbCarRestant 
// args : textarea moncontroletexte, int nbcar 
// return : int 
// Renvoie le nombre de caractère à saisir 
function NbCarRestant(moncontroletexte, nbcar) 
{ 
	if (moncontroletexte.value.length)
		return new Number(nbcar - moncontroletexte.value.length); 
	else
		return new Number(nbcar);
} 

function LimiterChampsForm(moncontroletexte, nbcar) 
{ 
	if (moncontroletexte)
	{
		moncontroletexte.onclick = function(){ChampsFormEstRempli(moncontroletexte, nbcar)}; 
		moncontroletexte.onblur = function(){ChampsFormEstRempli(moncontroletexte, nbcar)}; 
		moncontroletexte.onkeyup = function(){ChampsFormEstRempli(moncontroletexte, nbcar)}; 
		moncontroletexte.onkeypress = function(){ChampsFormEstRempli(moncontroletexte, nbcar)}; 
	}
} 

function ChampsFormEstRempli(moncontroletexte, nbcar) 
{ 
	if (moncontroletexte) 
	{ 
		if (moncontroletexte.value.length <= nbcar) 
		{ 			
			return true; 
		} 
		else 
		{ 							
			return false; 
		} 
	} 
} 

//*******************************************************************************//
//                  Nouvelles versions validation formulaire                     //
//*******************************************************************************//


function isChrome(text) {
	var tmp = text;
	for (i=0; i<tmp.length; i++) {
		if (tmp.charAt(i) == 'C' && tmp.charAt(i+1) == 'h' && tmp.charAt(i+2) == 'r' && tmp.charAt(i+3) == 'o' && tmp.charAt(i+4) == 'm' && tmp.charAt(i+5) == 'e') {
			return "yes";
		}
	}
	return "no";
}

function NumericAlphaEmailOnly(evt, x, textBox)
 {

	var nav = navigator.appVersion;
	var isFirefox = false;
	if (navigator.appName == "Netscape") {
		if (isChrome(nav) == "yes") {
		} else {
			isFirefox = true;
		}
	}
	var keyCode;
	var charCode = 0;
	if (isFirefox) {
		if (evt.keyCode) {
			keyCode = evt.keyCode;
		} else {
			charCode = evt.which;
		}
	} else {
		if (evt.keyCode) {
			charCode = evt.keyCode;
		} else {
			charCode = evt.which;
		}
	}

	if (x == 1) {
		var nb = "0";
		var autorises = new Array(48,49,50,51,52,53,54,55,56,57);
		var autorisedKeys = new Array(8,9,11,37,39,46);
		for (i=0; i<autorises.length; i++) {
			if (charCode == autorises[i]) {
				nb = "1";
			}
		}
		for (i=0; i<autorisedKeys.length; i++) {
			if (keyCode == autorisedKeys[i]) {
				nb = "1";
			}
		}
		if (nb == "0") {
			return false;
		}
	} else if (x == 2) {

		var interdits = new Array(33,34,35,36,37,38,40,41,42,43,58,59,60,61,62,63,64,91,92,93,94,96,123,124,125,126,163,164,167,168,176,178,179,181);
		var accents = new Array(8,9,11,37,39,127,37,38,39,40,45,46,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,160,161,162,163,164,165);
		var isAccent = "0";
		var isRegular = "1";
		for (i=0; i<interdits.length; i++) {
			if (charCode == interdits[i]) {
				isRegular = "0";
				return false;
			}
		}

		for (i=0; i<accents.length; i++) {
			if (charCode == accents[i]) {
				isAccent = "1";
			}
		}

		if (isAccent == "0" && isRegular == "0") {
			return false;
		}

	} else if (x == 3)  {
		var isArobaz = getArobaz(textBox);
		if (isArobaz == "0") {
			var interdits = new Array(32,33,34,35,36,37,38,39,40,41,42,43,44,47,58,59,60,61,62,63,91,92,93,94,96,123,124,125,126);
		} else {
			var interdits = new Array(32,33,34,35,36,37,38,39,40,41,42,43,64,44,47,58,59,60,61,62,63,91,92,93,94,96,123,124,125,126);
		}
		for (i=0; i<interdits.length; i++) {
			if (charCode == interdits[i] || Number(charCode > 127)) {
				return false;
			}
		}

	} else if (x == 4)  {
		var typDecimal = getDecimals(textBox);

		var nb = "0";
		var autorisedKeys = new Array(8,9,11,37,39,46);
		if (typDecimal != "") {
			var autorises = new Array(37,39,127,8,37,45,48,49,50,51,52,53,54,55,56,57);
		} else {
			var autorises = new Array(37,39,127,8,37,45,46,44,46,48,49,50,51,52,53,54,55,56,57);
		}
		for (i=0; i<autorises.length; i++) {
			if (charCode == autorises[i]) {
				nb = "1";
			}
		}
		for (i=0; i<autorisedKeys.length; i++) {
			if (keyCode == autorisedKeys[i]) {
				nb = "1";
			}
		}
		if (nb == "0") {
			return false;
		}
	} else if (x == 5)  {
		var isSlash = "0";
		var text = textBox.value;
		for (i=0; i<text.length; i++) {
			if (text.charAt(i) == '/') {
				isSlash = "1";
			}
		}
		var autorisedKeys = new Array(8,9,11,37,39,46);
		if (isSlash == "0") {
			var autorises = new Array(8,40,41,45,47,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57);
		} else {
			var autorises = new Array(8,40,41,45,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57);
		}
		var nb = "0";
		for (i=0; i<autorises.length; i++) {
			if (charCode == autorises[i]) {
				nb = "1";
			}
		}
		for (i=0; i<autorisedKeys.length; i++) {
			if (keyCode == autorisedKeys[i]) {
				nb = "1";
			}
		}
		if (nb == "0") {
			return false;
		}
	}

}

function getArobaz(textBox) {
	var txt = textBox.value;
	var nbAt = 0;
	for (i=0; i<txt.length; i++) {
		if (txt.charAt(i) == '@') {
			nbAt++;
		}
	}
	if (nbAt > 1) {
		textBox.value = "";
	}
	if (Number(nbAt) > 0) {
		return "1";
	} else {
		return "0";
	}
}


function getDecimals(textBox) {
	var txt = textBox.value;
	var nbPoints = 0;
	var nbVirgules = 0;
	for (i=0; i<txt.length; i++) {
		if (txt.charAt(i) == '.') {
			nbPoints++;
		}
		if (txt.charAt(i) == ',') {
			nbVirgules++;
		}
	}
	if (nbPoints > 0 && nbVirgules > 0) {
		textBox.value = "";
	}
	if (Number(nbPoints) > 0 && Number(nbVirgules) == 0) {
		return "p";
	}
	if (Number(nbVirgules) > 0 && Number(nbPoints) == 0) {
		return "v";
	}
	if (Number(nbPoints) == 0 && Number(nbVirgules) == 0) {
		return "";
	}
}
