var changeColor = false;
var CouleurInvalide = "#ffdabf";
var CouleurValide = "#ffffff";

/************************/
/* Fonctions génériques */
/************************/

function markValid(obj)
{
  obj.style.backgroundColor = CouleurValide;
}

function markInvalid(obj)
{
  obj.style.backgroundColor = CouleurInvalide;
}

Array.prototype.inArray = function(val)
{
  for(var i=0 ; i<this.length ; i++)
  {
    if(this[i] == val)
      return true;
  }

  return false;
}

function isEmpty(obj)
{
  if (obj.type == 'text' ||
      obj.type == 'textarea' ||
      obj.type == 'password')
  {
    if (obj.value.length < 1)
    {
      return (true);
    }
  }
  else if (obj.type == 'select-one')
  {
    if (obj.options[0].selected)
      return (true);
  }
  else if (obj.type == 'checkbox')
  {
    if (!obj.checked)
      return (true);
  }
  else if (obj.type == 'radio')
  {
      return (isEmptyRadio(obj));
  }

  return (false);
}

function isEmptyRadio(obj)
{
  select = false;
  for(i=0; i<obj.length; i++)
  {
    if(obj[i].checked)
      select = true;
  }
  if(!select)
  {
    return (true);
  }
  return (false);
}

function mailIsValid(obj)
{
  var regex = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$/i
  if (!regex.test(obj.value))
    return (false);
  return (true);
}

function cpIsValid(obj)
{
  var regex = /^(2[ab]|0[1-9]|[1-8][0-9]|9[0-578])[0-9]{3}$/i
  if (!regex.test(obj.value))
    return (false);
  return (true);
}

function passwordIsValid(obj)
{
  if (obj.value.length < 5)
    return (false);
  return (true);
}

function dateIsValid(obj_j, obj_m, obj_a)
{
  if (obj_j.value.length != 2)
    return (false);
  if (obj_m.value.length != 2)
    return (false);
  if (obj_a.value.length != 4)
    return (false);
  if (obj_j.value < 1 || obj_j.value > 31)
    return (false);
  if (obj_m.value < 1 || obj_m.value > 12)
    return (false);
  if (obj_a.value < 1900 || obj_a.value > 2008)
    return (false);
  return (true);
}

function popup(mypage, myname, w, h, scroll, pos)
{
  if (pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}

  if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;}
  else if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20}

  settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=yes';

  win = window.open(mypage,myname,settings);
}

/****************************/
/* Fin Fonctions génériques */
/****************************/

/*****************************************/
/* Fonctions spécifiques aux formulaires */
/*****************************************/

function verif_mail_pass_lost(form)
{
  var msg = "";

  if (!mailIsValid(form.send_password_mail))
  {
    if (changeColor)
      markInvalide(form.send_password_mail);
    msg += ('Veuillez saisir une adresse e-mail valide' + "\n");
  }

  /** Envoi du résultat  **/
  if(msg == "")
  {
    return(true);
  }
  else
  {
    alert(msg);
    return(false);
  }
}

function verif_login(form)
{
  var msg = "";

  if (!mailIsValid(form.login))
  {
    if (changeColor)
      markInvalide(form.login);
    msg += ('Veuillez saisir une adresse e-mail valide' + "\n");
  }

  if (!passwordIsValid(form.password))
  {
    if (changeColor)
      markInvalide(form.password);
    msg += ('Votre mot de passe devrait contenir au moins 5 caractères' + "\n");
  }

  /** Envoi du résultat  **/
  if(msg == "")
  {
    return(true);
  }
  else
  {
    alert(msg);
    return(false);
  }
}

// Verifie les champs du formulaire d'enregistrement
function verif_inscr(form)
{
  var msg = "";
  
  /** Vérification du mail  **/
  if (!mailIsValid(form.mail))
  {
    if (changeColor)
      markInvalide(form.mail);
    msg += ('Invalid e-mail' + "\n");
  }

  /** Vérification du tél  **/
  if (isEmpty(form.tel))
  {
    if (changeColor)
      markInvalide(form.tel);
    msg += ('Invalid telephone number' + "\n");
  }

  /** Vérification de la civilite  **/
  if (isEmptyRadio(form.civilite))
  {
    msg += ('Invalid civility' + "\n");
  }

  /** Vérification du nom  **/
  if (isEmpty(form.nom))
  {
    if (changeColor)
      markInvalide(form.nom);
    msg += ('Invalid name' + "\n");
  }

  /** Vérification du prénom  **/
  if (isEmpty(form.prenom))
  {
    if (changeColor)
      markInvalide(form.prenom);
    msg += ('Invalid lastname' + "\n");
  }

  /** Vérification de l'adresse  **/
  if (isEmpty(form.adresse))
  {
    if (changeColor)
      markInvalide(form.adresse);
    msg += ("Invalid adress " + "\n");
  }

  /** Vérification de la ville  **/
  if (isEmpty(form.ville))
  {
    if (changeColor)
      markInvalide(form.ville);
    msg += ('Invalid city' + "\n");
  }

  /** Vérification du mot de passe  **/
  if (!passwordIsValid(form.pass))
  {
    if (changeColor)
    {
      markInvalide(form.pass);
    }
    msg += ('Your passwodr is too short (5 caracters minimum)' + "\n");
  }

  /** Envoi du résultat  **/
  if(msg == "")
  {
    return(true);
  }
  else
  {
    alert(msg);
    return(false);
  }
}


