///////////////////////////////////////////////////////////////////////////////
// Bibliotheques de fonctions Javascript d'aide utilisee par ma fonction
// de verification de formulaires "verifie_le_form()".
//		(derniere modification le 02/04/2002)
//		- ...
///////////////////////////////////////////////////////////////////////////////


// VARIABLE DECLARATIONS

var digits = "0123456789";
var lowercaseLetters = "abcdefghijklmnopqrstuvwxyz"
var uppercaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

// whitespace characters
var whitespace = " \t\n\r";

// decimal point character differs by language and culture
var decimalPointDelimiter = "."

var defaultEmptyOK = false


function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}


function isWhitespace (s)
{   var i;
    if (isEmpty(s)) return true;
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (whitespace.indexOf(c) == -1) return false;
    }
    return true;
}


function isEmail (s)
{   if (isEmpty(s)) 
       if (isEmail.arguments.length == 1) return defaultEmptyOK;
       else return (isEmail.arguments[1] == true);
    if (isWhitespace(s)) return false;
    var i = 1;
    var sLength = s.length;
    while ((i < sLength) && (s.charAt(i) != "@"))
    {  if ( (s.charAt(i) == ";") || (s.charAt(i) == " ")) return false;
       i++
    }
    if ((i >= sLength) || (s.charAt(i) != "@")) return false;
    else i += 2;
    while ((i < sLength) && (s.charAt(i) != "."))
    {  if ( (s.charAt(i) == ";") || (s.charAt(i) == " ")) return false;
       i++
    }
    if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;
    else return true;
}


function stripCharsInBag (s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}


function getRadioButtonValue (radio)
{   for (var i = 0; i < radio.length; i++)
    {   if (radio[i].checked) { break }
    }
    return radio[i].value
}


function getSelectValue (monSelect) {
  for (var i = 0; i < monSelect.options.length; i++) {
    if (monSelect.options[i].selected) { break }
  }
  return monSelect.options[i].value
}


function testSiPasVide( monElement ) {
  if ( monElement.length == 0 )
    return 0 ;
  return 1 ;
}


function StringOfDigits( theString ) {
	var	validDigits	=	"0123456789";
	var	i			=	0;
	if ( theString.length == 0 )
		return false;	// blank entry is not a string of digits
	for( i = 0; i < theString.length; i++ )	{
		var	thisChar	=	theString.charAt(i);
		if ( validDigits.indexOf( thisChar ) == -1 )	{
			return false;
		} // end if
	} // end for
	return true;
}


function ValidateInteger( theElement )	{
	if ( theElement.value.length == 0 )
		return false;	// blank entry is not a valid integer
	if ( theElement.value.charAt(0) == '-' )	{
		return StringOfDigits( theElement.value.substring( 1, theElement.value.length - 1 ) );
	} else	{
		return StringOfDigits( theElement.value );
	} // end if
} 
