////////////////////////////////////////////////////////////////
//
// (C)2008 WACAN COMMUNICATION - TOUS DROITS RÉSERVÉS
//
// -------------------------------------------------------------
// Source  : js/lib-form.js
// Date    : ??/??/2006
// Auteurs : Franck Priola
// -------------------------------------------------------------
//
// FONCTIONS DIVERSES POUR LA GESTION DES FORMULAIRES
//
////////////////////////////////////////////////////////////////



//--------------------------------------------------------------
// RETOURNE VRAI SI LA CHAÎNE PASSÉE EN PARAMÈTRE CONTIENT
// UNIQUEMENT DES MINUSCULES
//--------------------------------------------------------------
function isLowerCase( str ) {
  if( str == str.toLowerCase() ) return true;
  return false;
}

//--------------------------------------------------------------
// RETOURNE VRAI SI LA CHAÎNE PASSÉE EN PARAMÈTRE CONTIENT
// UNIQUEMENT DES MAJUSCULES
//--------------------------------------------------------------
function isUpperCase( str ) {
  if( str == str.toUpperCase() ) return true;
  return false;
}

//--------------------------------------------------------------
// MET EN MAJUSCULES LE CONTENU D'UN CHAMP PASSÉ EN PARAMÈTRE
//--------------------------------------------------------------
function toUpperCase( obj ) {
  obj.value = obj.value.toUpperCase();
}

//--------------------------------------------------------------
// MET EN MINUSCULES LE CONTENU D'UN CHAMP PASSÉ EN PARAMÈTRE
//--------------------------------------------------------------
function toLowerCase( obj ) {
  obj.value = obj.value.toLowerCase();
}

//--------------------------------------------------------------
// CONTRÔLE SI UN CHAMP EST NUMÉRIQUE
// POSSIBILITE DE PASSER DES CARACTERES AUTRES
//--------------------------------------------------------------
function isNumeric( strString )
{
  var strValidChars = "0123456789";
  var blnResult     = true;
  var strChar;

  //--- 2nd paramètre de la fonction optionnel
  //    => Autres caractères autorisés (exemple "-,." pour accepter les nombre négatifs et à virgule)
  if( arguments.length == 2 ) strValidChars += arguments[1];

  if( strString.length == 0 ) return false;

  //--- test strString consists of valid characters listed above
  for( i = 0; i < strString.length && blnResult == true; i++ ) {
    strChar = strString.charAt( i );
    if( strValidChars.indexOf(strChar) == -1 ) blnResult = false;
  }

  return blnResult;
}

//--------------------------------------------------------------
// RETOURNE VRAI SI LA CHAINE NE CONTIENT QUE DES CHIFFRES
//--------------------------------------------------------------
function isInteger( s )
{
	var i;

  for( i = 0; i < s.length; i++ ) {
    // Check that current character is number.
    var c = s.charAt(i);
    if (((c < "0") || (c > "9"))) return false;
  }

  return true;
}

//--------------------------------------------------------------
// TRIM
//--------------------------------------------------------------
function trim( String ) {
  return string.replace(/(^\s*)|(\s*$)/g,'');
}

//--------------------------------------------------------------
// RETOURNE UN NOMBRE ALEATOIRE
//--------------------------------------------------------------
function getRandomNum( lbound, ubound ) {
  return ( Math.floor(Math.random() * (ubound - lbound)) + lbound );
}

//--------------------------------------------------------------
// RETOURNE UN CARACTERE ALEATOIRE
//--------------------------------------------------------------
function getRandomChar( number, lower, upper, other, extra )
{
  var numberChars = "23456789";
  var lowerChars  = "abcdefghjkmnpqrstwxyz";
  var upperChars  = "ABCDEFGHJKMNPQRSTWXYZ";
  var otherChars  = "`~!@#$%^&*()-_=+[{]}\\|;:'\",<.>/? ";
  var charSet     = extra;
  
  if( number == true ) charSet += numberChars;
  if( lower == true )  charSet += lowerChars;
  if( upper == true )  charSet += upperChars;
  if( other == true )  charSet += otherChars;
  
  return charSet.charAt( getRandomNum(0, charSet.length) );
}

//--------------------------------------------------------------
// GENERE UN MOT DE PASSE
//--------------------------------------------------------------
function getPassword( length, number, lower, upper, other, extra )
{
  var rc = "";
  if( length > 0 ) {
    for( var idx = 1; idx <= length; ++idx ) {
      rc = rc + getRandomChar( number, lower, upper, other, extra );
    }
  }
  
  return rc;
}

