
// var faxexp = new RegExp("...","...");  ne fonctionne pas dans tous les cas, il semblerait que la syntaxe qui suit fonctionne beaucoup mieux

var zipexp = /^[0-9]{4,5}$/;
// 92130
// 4, >>> pour la belgique

var emailexp = /^[a-z][a-z_0-9\.\-]+@[a-z_0-9\.\-]+\.[a-z]{2,9}$/i;
// toto@toto.free.fr [a-z]{2,9}$ à cause de .info

var faxexp = /^ *\+? *[0-9]{1,3} *\( *[0-9] *\) *[0-9]* *[0-9]{2} *[0-9]{2} *[0-9]{2} *[0-9]{2} *$|^ *\+? *[0-9]{1,3} *[0-9]{1,2} *[0-9]{2} *[0-9]{2} *[0-9]{2} *[0-9]{2} *$|^ *[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2} *$/;
// 01 02 03 04 05
// 01.02.03.04.05
// 01-02-03-04-05
// 0102030405
// +33 (0) 1 02030405
// 33 (1) 02 03 04 05
// +33 1 02 03 04 05
// +33 01 02 03 04 05

function isValid(mypattern, mystr) {
   return mypattern.test(mystr);
}

function isFax(el, str) {
   if (!isValid(faxexp, el.value)) {
      alert(str);
      el.focus();
      return false;
   }
   return true;
}

function isTel(el, str) {
   return isFax(el, str);
}

function isEMail(el, str) {
   if (!isValid(emailexp, el.value)) {
      alert(str);
      el.focus();
      return false;
   }
   return true;
}

function isZipCode(el, str) {
   if (!isValid(zipexp, el.value)) {
      alert(str);
      el.focus();
      return false;
   }
   return true;
}

function isEmpty(el, str) {
   if (el.value == "") {
      alert(str);
      el.focus();
      return true;
   }
   return false;
}

function isNotSelected(el, str) {
   if (el.options[el.selectedIndex].value == "") {
      alert(str);
      el.focus();
      return true;
   }
   return false;
}

function trim(val1) {
   var ch;
   var ln;
   var blnContinue;
   for(;;) {
      blnContinue = false;
      ch = val1.substr(0, 1);
      if (ch == ' ') {
         val1 = val1.substr(1);
         blnContinue = true;
      }
      ln = val1.length;
      ch = val1.substr(ln - 1);
      if (ch == ' ') {
         val1 = val1.substr(0, ln - 1);
         blnContinue = true;
      }
      if (!blnContinue) break;
   }
   return val1;
}
      
// 0 6...
// 06...
var mobilexp1 = /^ *0 *6.*/;
// +33 (0) 6...
var mobilexp2 = /^ *\+? *33 *\( *0 *\) *6.*/;
// 33 (6)...
var mobilexp3 = /^ *\+? *33 *\( *6 *\).*/;
// +33 6...
var mobilexp4 = /^ *\+? *33 *6.*/;
// +33 06...
var mobilexp5 = /^ *\+? *33 *06.*/;

function isFixe(el, str) {
   if (isValid(mobilexp1, el.value)) {
      alert(str);
      el.focus();
      return false;
   }
   if (isValid(mobilexp2, el.value)) {
      alert(str);
      el.focus();
      return false;
   }
   if (isValid(mobilexp3, el.value)) {
      alert(str);
      el.focus();
      return false;
   }
   if (isValid(mobilexp4, el.value)) {
      alert(str);
      el.focus();
      return false;
   }
   if (isValid(mobilexp5, el.value)) {
      alert(str);
      el.focus();
      return false;
   }
   return true;
}

