function IsNumeric(strString)
//  check for valid numeric strings	
{
   var strValidChars = "0123456789";
   var strChar;
   var blnResult = true;

   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;
}

function IsNumericForPhone(strString)
//  check for valid numeric strings	
{
   var strValidChars = "0123456789 .-/";
   var strValidChars2 = "0123456789";
   var strChar;
   var blnResult = true;
   var cpt = 0;

   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;
      }
	  if (strValidChars2.indexOf(strChar) != -1)
      {
         cpt = cpt + 1;
      }
   }
   if(cpt != 10)
	return false;
   return blnResult;
}

function CheckformTD(form,type)
{
  var msg="Le formulaire comporte les erreurs suivantes:\n";
  var bool;
  var modele = /^[a-zA-Z0-9\.\-_]+@[a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,5}$/i;

  if (form.etat_civil[0].checked==false && form.etat_civil[1].checked==false && form.etat_civil[2].checked==false)
  {
    msg=msg+"- Merci de renseigner une civilité\n";
    bool=false;
  }

  form.nom.value = form.nom.value.replace(/;/g, ',');
  if (form.nom.value=="")
  {
    msg=msg+"- Merci de renseigner un champ \"nom\" valide\n";
    bool=false;
  }

  form.prenom.value = form.prenom.value.replace(/;/g, ',');
  if (form.prenom.value=="")
  {
    msg=msg+"- Merci de renseigner un champ \"prénom\" valide\n";
    bool=false;
  }

  if (!modele.test(form.email.value))
  {
    msg=msg+"- Merci de renseigner une adresse email valide\n";
    bool=false;
  }
  
  form.adresse.value = form.adresse.value.replace(/;/g, ',');
  if (form.adresse.value=="")
  {
    msg=msg+"- Merci de renseigner un champ \"adresse\" valide\n";
    bool=false;
  }
  
  form.cp.value = form.cp.value.replace(/ /g, '');
  if (form.cp.value=="")
  {
    msg=msg+"- Merci de renseigner un champ \"code postal\"\n";
    bool=false;
  }
  
  form.ville.value = form.ville.value.replace(/;/g, ',');
  if (form.ville.value=="")
  {
    msg=msg+"- Merci de renseigner un champ \"ville\" valide\n";
    bool=false;
  }
  
  form.tel.value = form.tel.value.replace(/[\-\.\/]/g, '');
  if (form.tel.value!="")
  {
    var tel_verify=/^\d{10}$/;
    var tel_digits = form.tel.value.replace(/\s+/g, '');
    form.tel.value = tel_digits;
    for(var samecount = 0; samecount < tel_digits.length; ++samecount) {
      if (tel_digits.charAt(samecount) != tel_digits.charAt(0))
	break;
    }
    if ((samecount == 10) || !tel_digits.match(tel_verify)) {
      msg=msg+"- Merci de renseigner un telephone valide\n";
      bool=false;
    }
  }

  if (type=="inscription"){

    if (form.pass.value=="")
    {
      msg=msg+"- Merci de renseigner un mot de passe\n";
      bool=false;
    }

    if ((form.cp.value.length != 5) || (IsNumeric(form.cp.value) == false))
    {
      msg=msg+"- Merci de renseigner un code postal valide\n";
      bool=false;
    }
	
	/*if (IsNumeric(form.cp.value) == false)
    {
      msg=msg+"- Merci de renseigner un code postal valide\n";
      bool=false;
    }*/
	
	/*if (IsNumeric(form.tel.value) == false)
    {
      msg=msg+"- Merci de renseigner un téléphone valide\n";
      bool=false;
    }*/
	
    if(form.pass.value.length<5)
    {
      msg=msg+"- Merci de renseigner un mot de passe de 5 caractères minimum\n";
      bool=false;
    }
    if ((form.parrain.checked==true)&&(!modele.test(form.mailparrain.value)))
    {
      msg=msg+"- Merci de vérifier l'adresse email de votre parrain\n";
      bool=false;
    }
  }

  if (bool==false) {
    alert(msg);
    return false;
  }
  else
  {
    return true;
  }

}

function Checkform(form,type)
{
  var msg="Le formulaire comporte les erreurs suivantes:\n";
  var bool;
  var modele = /^[a-zA-Z0-9\.\-_]+@[a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,5}$/i;

  if (form.etat_civil[0].checked==false && form.etat_civil[1].checked==false && form.etat_civil[2].checked==false)
  {
    msg=msg+"- Merci de renseigner une civilité\n";
    bool=false;
  }

  form.nom.value = form.nom.value.replace(/;/g, ',');
  if (form.nom.value=="")
  {
    msg=msg+"- Merci de renseigner un champ \"nom\" valide\n";
    bool=false;
  }

  form.prenom.value = form.prenom.value.replace(/;/g, ',');
  if (form.prenom.value=="")
  {
    msg=msg+"- Merci de renseigner un champ \"prénom\" valide\n";
    bool=false;
  }

  if (!modele.test(form.email.value))
  {
    msg=msg+"- Merci de renseigner une adresse email valide\n";
    bool=false;
  }
  
  form.adresse.value = form.adresse.value.replace(/;/g, ',');
  if (form.adresse.value=="")
  {
    msg=msg+"- Merci de renseigner un champ \"adresse\" valide\n";
    bool=false;
  }
  
  form.complement.value = form.complement.value.replace(/;/g, ',');

  form.cp.value = form.cp.value.replace(/ /g, '');
  if (form.cp.value=="")
  {
    msg=msg+"- Merci de renseigner un champ \"code postal\"\n";
    bool=false;
  }
  
  form.ville.value = form.ville.value.replace(/;/g, ',');
  if (form.ville.value=="")
  {
    msg=msg+"- Merci de renseigner un champ \"ville\" valide\n";
    bool=false;
  }
  
  form.tel.value = form.tel.value.replace(/[\-\.\/]/g, '');
  if (form.tel.value!="")
  {
    var tel_verify=/^\d{10}$/;
    var tel_digits = form.tel.value.replace(/\s+/g, '');
    form.tel.value = tel_digits;
    for(var samecount = 0; samecount < tel_digits.length; ++samecount) {
      if (tel_digits.charAt(samecount) != tel_digits.charAt(0))
	break;
    }
    if ((samecount == 10) || !tel_digits.match(tel_verify)) {
      msg=msg+"- Merci de renseigner un telephone valide\n";
      bool=false;
    }
  }

  if (type=="inscription"){

    if (form.pass.value=="")
    {
      msg=msg+"- Merci de renseigner un mot de passe\n";
      bool=false;
    }

    if ((form.cp.value.length != 5) || (IsNumeric(form.cp.value) == false))
    {
      msg=msg+"- Merci de renseigner un code postal valide\n";
      bool=false;
    }
	
	/*if (IsNumeric(form.cp.value) == false)
    {
      msg=msg+"- Merci de renseigner un code postal valide\n";
      bool=false;
    }*/
	
	/*if (IsNumeric(form.tel.value) == false)
    {
      msg=msg+"- Merci de renseigner un téléphone valide\n";
      bool=false;
    }*/
	
    if (form.confirmation.value=="")
    {
      msg=msg+"- Merci de confirmer votre mot de passe\n";
      bool=false;
    }

    if (form.pass.value!=form.confirmation.value)
    {
      msg=msg+"- Vous devez entrer deux mots de passes identiques\n";
      bool=false;
    }

    if(form.pass.value.length<5)
    {
      msg=msg+"- Merci de renseigner un mot de passe de 5 caractères minimum\n";
      bool=false;
    }
    if ((form.parrain.checked==true)&&(!modele.test(form.mailparrain.value)))
    {
      msg=msg+"- Merci de vérifier l'adresse email de votre parrain\n";
      bool=false;
    }
  }

  if (bool==false) {
    alert(msg);
    return false;
  }
  else
  {
    return true;
  }

}


function Checkmail(email){
  var msg="Merci de vérifier l'adresse email\n";
  var modele = /^[a-zA-Z0-9\.\-_]+@[a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,5}$/i;
  if (!modele.test(email))
  {
    alert(msg);
    return false;
  }
}



function Checkpwd(pwd1, pwd2){
  if(pwd1!=pwd2){
    alert("Merci d'entrer deux mots de passe identiques");
    return false;
  }

}

function CenterPop(page,width,height,options) {
  var top=(screen.height-height)/2;
  var left=(screen.width-width)/2;
  window.open(page,"","top="+top+",left="+left+",width="+width+",height="+height+","+options);
}




var ns6=document.getElementById&&!document.all
function restrictinput(maxlength,e,placeholder){
	if (window.event&&event.srcElement.value.length>=maxlength)
	return false
	else if (e.target&&e.target==eval(placeholder)&&e.target.value.length>=maxlength){
	var pressedkey=/[a-zA-Z0-9\.\,\/]/
	if (pressedkey.test(String.fromCharCode(e.which)))
	e.stopPropagation()
	}
}

function countlimit(maxlength,e,placeholder){
  var theform=eval(placeholder)
  var lengthleft=maxlength-theform.value.length
  var placeholderobj=document.all? document.all[placeholder] : document.getElementById(placeholder)
  if (window.event||e.target&&e.target==eval(placeholder)){
    if (lengthleft<0)
      theform.value=theform.value.substring(0,maxlength)
    placeholderobj.innerHTML=lengthleft
  }
}
//found on: www.portugal-tchat.com//

function displaylimit(thename, theid, thelimit){
  var theform=theid!=""? document.getElementById(theid) : thename;
  var limit_text='<b><span id="'+theform.toString()+'">'+(thelimit - theform.value.length)+'</span></b> caractères restants.';
  if (document.all||ns6)
    document.write(limit_text)
  if (document.all){
    eval(theform).onkeypress=function(){ return restrictinput(thelimit,event,theform)}
    eval(theform).onkeyup=function(){ countlimit(thelimit,event,theform)}
  }
  else if (ns6){
    document.body.addEventListener('keypress', function(event) { restrictinput(thelimit,event,theform) }, true);
    document.body.addEventListener('keyup', function(event) { countlimit(thelimit,event,theform) }, true);
  }
}


function CheckFormContact(form)
{
  var bool;

  if ((form.profil.value==0) | (form.demande.value==0) | (form.contenu.value==""))
  {
    bool=false;
  }

  if (bool==false) {
    alert("Merci de renseigner tous les champs");
    return false;
  }
  else
  {
    return true;
  }
}

function VerifyCharacters(theform)
{
  for (dex = 0; dex < theform.elements.length; dex++)
  {
    if (theform.elements[dex].type == "text")
    {
      if (theform.elements[dex].value.indexOf("<") != -1 ||
      theform.elements[dex].value.indexOf(">") != -1 ||
      theform.elements[dex].value.indexOf("&") != -1 ||
      theform.elements[dex].value.indexOf('"') != -1 ||
      theform.elements[dex].value.indexOf("/") != -1)
      {
        alert("Vous ne pouvez pas utiliser les caractères <, >, &, /, et " + '"' + ". Merci de corriger votre saisie");
        return false;
      }
    }
  }
  return true;
}

function CheckInsformTD(form,type, theform)
{
  if (!VerifyCharacters(theform))
    return false;
  return CheckformTD(form, type);
}

function CheckInsform(form,type, theform)
{
  if (!VerifyCharacters(theform))
    return false;
  return Checkform(form, type);
}

/* Countdown for displaying min left before emptying basket*/
function countdown(spanId){
  var min = document.getElementById(spanId).innerHTML;
  var newMin = 1;
  if(min >= 2){
    newMin = min - 1;
    document.getElementById(spanId).innerHTML = newMin;
    setTimeout("countdown('"+ spanId +"')",60000);
  }
}

document.getElementsByClassName = function(clsName){
    var retVal = new Array();
    var elements = document.getElementsByTagName("*");
    for(var i = 0;i < elements.length;i++){
        if(elements[i].className.indexOf(" ") >= 0){
            var classes = elements[i].className.split(" ");
            for(var j = 0;j < classes.length;j++){
                if(classes[j] == clsName)
                    retVal.push(elements[i]);
            }
        }
        else if(elements[i].className == clsName)
            retVal.push(elements[i]);
    }
    return retVal;
}
