<!-- Vérification de formulaire
//Remplace toutes les occurrences d'un caractère dans une chaîne donnée 
//par un autre caractère.
function replaceCharacters(conversionString,inChar,outChar)
{
  var convertedString = conversionString.split(inChar);
  convertedString = convertedString.join(outChar);
  return convertedString;
}
//Supprime le caractère (tel qu'un espace) qui apparaît éventuellement 
//au début ou à la fin de la chaîne donnée.
function jsTrim (inputString) 
{
        var returnString = inputString;
		var removeChar = ' ';
        if (removeChar.length)
        {
          while(''+returnString.charAt(0)==removeChar)
                {
                  returnString=returnString.substring(1,returnString.length);
                }
                while(''+returnString.charAt(returnString.length-1)==removeChar)
          {
            returnString=returnString.substring(0,returnString.length-1);
          }
        }
        return returnString;
}

function isInteger(inputString)
{
	if (inputString.length == 0)
		return false;
	var searchForNonDigits = /[^0-9]/;
	return (!searchForNonDigits.test(inputString));
}
function isFloat(inputString)
{
	if (inputString.length == 0)
		return false;
	var searchForNonDigits = /[^0-9\.]/;
	return (!searchForNonDigits.test(inputString));
}



//Menu Date
function getYear(d) { 
   return (d < 1000) ? d + 1900 : d;
}
//Est date
function isDate (year, month, day) {
	// month argument must be in the range 1 - 12
	month = month - 1;  // javascript month range : 0- 11
	var tempDate = new Date(year,month,day);
	if ( (getYear(tempDate.getYear()) == year) &&
		(month == tempDate.getMonth()) &&
		(day == tempDate.getDate()) )
		return true;
	else
	  return false
}
//CheckDate
function jsCheckDate(madate)
{
	day = madate.substr(0,2);		
	month = madate.substr(3,2);
	year = madate.substr(6,4);
	month = month - 1;  // javascript month range : 0- 11
	var tempDate = new Date(year,month,day);
	if ( (getYear(tempDate.getYear()) == year) &&
		(month == tempDate.getMonth()) &&
		(day == tempDate.getDate()) )
		return true;
	else
	  return false;
}
function jsCheckRadio(elt)
{
	var selection=false;
	for (i=0; i<elt.length; i++) {
		if (elt[i].checked)	
			selection=true;
	}
	return selection;
}
function jsCheckCheckBox(elt)
{
	var selection=false;
	for (i=0; i<elt.length; i++) {
		if (elt[i].checked)	
			selection=true;
	}
	return selection;
}

/////
function DeplaceCritere(from, to) {
	index=0;
	while (index<from.options.length) {
		if (from.options[index].selected) {
			var newElem = new Option(from.options[index].text, from.options[index].value);
			to.options[to.length]=newElem;
			from.options[index]=null;
		}
		else {
			index++;
		}
	}
	Trie(to);
}
//
function Trie(obj) {
	modif = true;
	while (modif) {
		modif = false;
  		for (var i=0; i<(obj.options.length-1); i++) {
			if (obj.options[i].text > obj.options[i+1].text) {
				tempTxt = obj.options[i].text;
        		tempVal = obj.options[i].value;
        		obj.options[i].text=obj.options[i+1].text;
        		obj.options[i].value=obj.options[i+1].value;
        		obj.options[i+1].text=tempTxt;
        		obj.options[i+1].value=tempVal;
		    	modif=true;
			}
		}
	}
}

function isUrl(obj, nom, obligatoire) {
	if (obligatoire && obj.value == "") {
		alert('Vous devez preciser le champ ' + nom + '.');
		obj.focus();
		return false;
	} else if (obj.value == "") {
		return true;
	} else if (obj.value =="http://") {
		obj.value="";
		return true;
	}
	var i = obj.value.indexOf("@");
	var j = obj.value.indexOf(".");
	var k = obj.value.indexOf("http");
	var l = obj.value.indexOf("://");
	var m = obj.value.indexOf(" ");
	
	if ((i > 0) || (j == -1) || (j + 3 > obj.value.length) || (k != 0) || ((l != 4) && (l != 5)) || (m > 0) )  {
		alert('Le champ ' + nom + ' n\'est pas une url valide');
		obj.select();
		return false;			
	}
	return true;	
}

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) {
	alert("L'adresse email que vous avez saisie est incorrecte\n (Vérifier la présence de @ et les .)")
	return false
}
var user=matchArray[1]
var domain=matchArray[2]

// See if "user" is valid 
if (user.match(userPat)==null) {
    // user is not valid
    alert("La partie gauche de l'adresse email que vous avez saisie est incorrecte !")
    return false
}

var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) {
    // this is an IP address
	  for (var i=1;i<=4;i++) {
	    if (IPArray[i]>255) {
	        alert("L'adresse IP de destination n'est pas correcte !")
		return false
	    }
    }
    return true
}

// Domain is symbolic name
var domainArray=domain.match(domainPat)
if (domainArray==null) {
	alert("Le domaine de l'adresse email que vous avez saisie est incorrect !")
    return false
}

var atomPat=new RegExp(atom,"g")
var domArr=domain.match(atomPat)
var len=domArr.length
if (domArr[domArr.length-1].length<2 || 
    domArr[domArr.length-1].length>4) {
   alert("L'adresse email que vous avez saisie est incorrecte. Elle doit se terminer par 2,3 ou 4 lettres !\n(Exemple : .com ou .fr)")
   return false
}

// Make sure there's a host name preceding the domain.
if (len<2) {
   var errStr="Le domaine de l'adresse email que vous avez saisie est incorrect !"
   alert(errStr)
   return false
}
return true;
}

//  End -->