var digits = "0123456789";
var lowercaseLetters = "abcdefghijklmnopqrstuvwxyz";
var uppercaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var whitespace = " \t\n\r";
var defaultEmptyOK = false;

function redirect2Guestbook()
{
	document.location.href="guestbook.php";
}

// Check whether string s is empty.
function isEmpty(s)
{
   return((s == null) ||(s.length == 0));
}

// Returns true if string s is empty or 
// whitespace characters only.
function isWhitespace(s)
{
   var i;
   // Is s empty?
   if(isEmpty(s))
   		return true;
   
   // Search through string's characters one by one
   // until we find a non-whitespace character.
   // When we do, return false; if we don't, return true.
   for(i = 0; i < s.length; i++)
   {
      // Check that current character isn't whitespace.
      var c = s.charAt(i);
      if(whitespace.indexOf(c) == - 1)
      		return false;
   }
   // All characters are whitespace.
   return true;
}

// isEmail (STRING s [, BOOLEAN emptyOK])
// 
// Email address must be of form a@b.c -- in other words:
// * there must be at least one character before the @
// * there must be at least one character before and after the .
// * the characters @ and . are both required
//
// For explanation of optional argument emptyOK,
// see comments of function isInteger.
function isEmail(s)
{
   if(isEmpty(s))
   if(isEmail.arguments.length == 1)
   return defaultEmptyOK;
   else 
   return(isEmail.arguments[1] == true);
   // is s whitespace?
   if(isWhitespace(s))
   return false;
   // there must be >= 1 character before @, so we
   // start looking at character position 1 
   // (i.e. second character)
   var i = 1;
   var sLength = s.length;
   // look for @
   while((i < sLength) &&(s.charAt(i) != "@"))
   {
      i++;
   }
   if((i >= sLength) ||(s.charAt(i) != "@"))
   return false;
   else i += 2;
   // look for .
   while((i < sLength) &&(s.charAt(i) != "."))
   {
      i++;
   }
   // there must be at least one character after the .
   if((i >= sLength - 1) ||(s.charAt(i) != "."))
   return false;
   else 
   return true;
}
	    
function verifIdentite(identite)
{
	if(isWhitespace(identite))
	{
		window.alert("Votre identité n'est pas renseigné");
		return false;
    }
    return true;
}

function verifCommentaire(commentaire)
{
	if(isWhitespace(commentaire))
	{
		window.alert("Votre commentaire n'est pas renseigné");
		return false;
    }
	return true;
}

function verifCaptcha(code)
{
	if(isWhitespace(code))
	{
		window.alert("Le code présent sur l'image (dernière ligne) n'est pas renseigné");
		return false;
    }
	return true;
}

function verifForm()
{
	var id = false, comm = false, capt = false;
        
	id=verifIdentite(document.formGuestbook.identite.value);
	if(id)
		comm=verifCommentaire(document.formGuestbook.commentaire.value);

	if(id&&comm)
		capt=verifCaptcha(document.formGuestbook.code.value);
		
	return(id&&comm&&capt);
}

function validForm() {
	var isValid;
	
	isValid = verifForm();

	if(isValid)
		document.formGuestbook.submit();
}

function verifMessage(message)
{
	if(isWhitespace(message))
	{
		window.alert("Votre message n'est pas renseigné");
		return false;
    }
	return true;
}

function verifFormEmail()
{
	var id = false, mess = false, email = true;
	var emailEmptyOK = 1;
        
	id=verifIdentite(document.formEmail.identite.value);
	if(id)
		mess=verifMessage(document.formEmail.message.value);

	if(id&&mess) {
		email = isEmail(document.formEmail.email.value, emailEmptyOK);
		if(!email) alert("Votre email est invalide");
	}
		
	return(id&&mess&&email);
}

function validFormEmail() {
	var isValid;
	
	isValid = verifFormEmail();

	if(isValid)
		document.formEmail.submit();
}
