// FCT.JS

// Fonctions pour vérifier les formulaires
// testées et approuvées - merci à toutjavascript.com

// Téléphone en 10 chiffres
function is_tel(chaine) {
      var chiffres = new RegExp("^[0-9]{10}$","");
      if (chiffres.test(chaine)) { return 1; }
      else { return 0; }
}

// Caractères alphabétiques majuscules et minuscules et caractères accentués en un seul mot
function is_txt_only_sw(chaine) {
      var txt_only_sw = new RegExp("^[a-zéèâêîôäëïö]+$","i");
      if (txt_only_sw.test(chaine)) { return 1; }
      else { return 0; }
}

// Entre 6 et 10 caractères alphabétiques minuscules en un seul mot
function is_login(chaine) {
      var login = new RegExp("^[a-z-]{6,10}$","");
      if (login.test(chaine)) { return 1; }
      else { return 0; }
}

function is_pass(chaine) {
    var pass = new RegExp("^[a-z0-9]{7}$","i");
    if (pass.test(chaine)) return 1;
    else return 0;
}

// Caractères alphanumériques majuscules et minuscules et caractères accentués et poncutation courante % € ? , : ! () . = - + * /
function is_alphanum(chaine) {
      var alphanum = new RegExp("^[0-9a-zéèàùâêîôäëïö,;:\\./\\*\\s\\-\\+\\=\\?\\%\\(\\)\\!\\€\"']+$", "i");
      if (alphanum.test(chaine)) { return 1; }
      else { return 0; }
}

// nom ou prénom avec les accents composé ou non (séparé par espace ou tiret)
function is_nom(chaine) {
      var nom = new RegExp("^([a-zéèâêîôäëïö]+[ |-]?)+[a-zéèâêîôäëïö]*$","i");
      if (nom.test(chaine)) { return 1; }
      else { return 0; }
}

// adresse mail (courtesy of rOblOche)
function is_mail(chaine) {
      var mail = new RegExp("^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)*\\.[\\w-]{2,}$","i");
      if (mail.test(chaine)) { return 1; }
      else { return 0; }
}

// nombre
function is_nombre(chaine) {
      var nombre = new RegExp("^[0-9]+$","");
      if (nombre.test(chaine)) { return 1; }
      else { return 0; }
}

// montant
function is_montant(chaine) {
      var nombre = new RegExp("^[0-9]+([\.|,][0-9]{2})?$","");
      if (nombre.test(chaine)) { return 1; }
      else { return 0; }
}

// Code postal
function is_CP(chaine) {
      var nombre = new RegExp("^[0-9]{5}$","");
      if (nombre.test(chaine)) { return 1; }
      else { return 0; }
}

// date : jj/mm/aaaa
function is_date(chaine) {
      var t_time = new Array();
      var ok=true;
      t_date=chaine.split("/");
      if (t_date.length>3) { ok=false; }
      if ((t_date[0]<1) || (t_date[0]>31)) { ok=false; }
      if ((t_date[1]<1) || (t_date[1]>12)) { ok=false; }
      if ((t_date[2]<2005) || (t_date[2]>2050)) { ok=false; }

      if (ok) { return 1; }
      else { return 0; }

}

// heure : hh:mm
function is_time(chaine) {
      var t_time = new Array();
      var ok=true;
      t_time=chaine.split(":");
      if (t_time.length>2) { ok=false; }
      if ((t_time[0]<0) || (t_time[0]>23)) { ok=false; }
      if ((t_time[1]<0) || (t_time[1]>59)) { ok=false; }
      if (ok) { return 1; }
      else { return 0; }
}

// renvoie la date du jour jj/mm/aaaa
function aujourd() {
    var ajd=new Date();
    var d=ajd.getDate();
    var m=ajd.getMonth();
    var y=ajd.getFullYear();
    
    if (d<10) d="0"+d;
    m++;
    if (m<10) m="0"+m;

    var ret=d+"/"+m+"/"+y;
    return ret;
}

// Fonction pour ouvrir un popup
function popup(title,url,w,h) {
      var windim="width="+w+",height="+h+",screenX=100,screenY=100,";
      var winopt="directories=no,hotkeys=no,location=no,menubar=no,personalbar=no,scrollbars=no";
      var winopts=windim+winopt;
      var pop=window.open(url,'curpop',winopts);
      return pop;
}

function sw_image(element,fichier) {
    var img=document.getElementById(element);

    img.src=fichier;
}

function askmail() {
    var mail=prompt("Adresse mail :");
    var txt=prompt("Texte alternatif","Envoyer un mail");
    if (!is_mail(mail)) {
        alert("Adresse non valide");
        return 0;
    }

    var mail_elements=mail.split("@");
    var bbalise="[mail user="+mail_elements[0]+" host="+mail_elements[1]+"]"+txt;
    TAinsert(bbalise,"[/mail]");
}


// Macromedia images

function MM_preloadImages() {
  var d=document;
  if(d.images){
    if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments;
    for(i=0; i<a.length; i++) {
      if (a[i].indexOf("#")!=0){
        d.MM_p[j]=new Image;
        d.MM_p[j++].src=a[i];
      }
    }
  }
}


function MM_swapImgRestore() {
  var i,x,a=document.MM_sr;
  for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) {
  var p,i,x;
  if(!d) d=document;
  if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document;
    n=n.substring(0,p);
  }
  if(!(x=d[n])&&d.all) x=d.all[n];
  for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n);
  return x;
}

function MM_swapImage() {
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array;

  for(i=0;i<(a.length-2);i+=3) {
    if ((x=MM_findObj(a[i]))!=null) {
      document.MM_sr[j++]=x;
      if(!x.oSrc) x.oSrc=x.src;
      x.src=a[i+2];
    }
  }
}