/*********************************************************
Required field(s) validation- By NavSurf
Visit NavSurf.com at http://navsurf.com
Visit http://www.dynamicdrive.com for this script
---
Modifier par TriumpHS
http://www.devmen.net
Date: 20.09.2007 (EU date format)
**********************************************************/

  function formCheck(formobj){

    // Enter dialog messages
    var alertMsgOccurence = "";
    var alertMsgMistakeValue = "";

    var obj_is_set

    for (var i = 0; i < fieldRequired.length; i++){
      var obj = formobj.elements[fieldRequired[i]];
      var obj_value = fieldRequired[i];
      var obj_type = fieldTypeValue[i];
      obj_is_set = false;
/*
Contr™le si les champs obligatoires sont renseignˇs
*/
      if (obj){
switch(obj.type){
case "radio":
  case "select-one":
    if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
      alertMsgOccurence += " - " + fieldDescription[i] + "\n";
    }
    else{
      obj_is_set = true
    }
    break;
  case "select-multiple":
    if (obj.selectedIndex == -1){
      alertMsgOccurence += " - " + fieldDescription[i] + "\n";
    }
    else{
      obj_is_set = true
    }
    break;
  case "text":
  case "textarea":
  case "hidden":
    if (obj.value == "" || obj.value == null){
      alertMsgOccurence += " - " + fieldDescription[i] + "\n";
    }
    else{
      obj_is_set = true
    }
    break;
  default:
    if (obj.value == "" || obj.value == null){
      alertMsgOccurence += " - " + fieldDescription[i] + "\n";
    }
    else{
      obj_is_set = true
    }
}
/*
Contr™le du format des donnˇes saisies.
Le contr™le se fait sur chaque champ.
*/
var s;
var j = 0;
var ValueLength;
if(obj_is_set){
  switch(obj_type){
    case "eMail":
  // on choisit de ne pas tester les domaines...
  var testDomaine = false;
      var invalidaddress=new Array()
  invalidaddress[0]="hotmail"
  invalidaddress[1]="rocketmail"
  invalidaddress[2]="yahoo"
  invalidaddress[3]="zdnetmail"
  invalidaddress[4]="caramail"
  invalidaddress[5]="excite"
  invalidaddress[6]="mailexcite"
  //extend or shorten this list if neccessary

  var testresults
  var invalidcheck=0;
  var str=obj.value
  var filter=/^(\w+(?:\.\w+)*)@((?:\w+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
  if (filter.test(str)){
    var tempstring=str.split("@");
    tempstring=tempstring[1].split(".");
    for (index=0;index<invalidaddress.length;index++){
      if (testDomaine && tempstring[0]==invalidaddress[index]){
alertMsgMistakeValue += " - " + fieldDescription[i] + ": donnez une adresse\n" +
"    e-mail plus officielle ou privˇe.\n";
index = invalidaddress.length;
}
}
  }
  else{
alertMsgMistakeValue += " - " + fieldDescription[i] + ": donnez une adresse\n" +
"    e-mail correcte. Du type: pseudo@host.xx\n";
//testresults=false
  }

      break;
    case "noTelCH":
var regExpFilter = /^((\d{4}|\+\d{2})(\.|\/|\-| )\d{2}|\d{3})(\.|\/|\-| )\d{3}(\.|\/|\-| )\d{2}(\.|\/|\-| )\d{2}$/i ;
alert(obj.value+" : "+regExpFilter.test(obj.value));
if(!regExpFilter.test(obj.value))
alertMsgMistakeValue += " - " + fieldDescription[i] + ": saisissez un numˇro de \n" +
"    tˇlˇphone correct. \n" +
"    Du type: xxx.xxx.xx.xx ou +xx xx.xxx.xx.xx\n";
break;
    case "noTel":
var regExpFilter = /^(\((\+|\d|\.|\/|\-| )+\)|\+|\d){0,1}(\d|\.|\/|\-| )+$/i ;
alert(obj.value+" : "+regExpFilter.test(obj.value));
if(!regExpFilter.test(obj.value))
alertMsgMistakeValue += " - " + fieldDescription[i] + ": ce numˇro de tˇlˇphone ne \n" +
"    semble pas correct.";
      break;
case "email_msg":
// nop
break;
case "string":
// nop
break;
  }
}
/*
Fin du contr™le du format des donnˇes saisies.

*/
      }
    }


    var alertMsg = "";
    var alertMsg2 = "";

    if (alertMsgOccurence.length > 1){
      alertMsg = "Le ou les champs suivants n'ont pas ˇtˇ saisi:\n" + alertMsgOccurence;
    }
    else{
      alertMsg = "Tous les champs ont ˇtˇ initialisˇ...\n";
    }
    if (alertMsgMistakeValue.length > 0){
      alertMsg2 = "Les donnˇes suivantes sont incorrectes\n" +
  " ou mal saisies:\n" +
  alertMsgMistakeValue;
    }

    if (alertMsgOccurence.length == 0 && alertMsgMistakeValue.length == 0){
   return true;
    }
    else{
      alert(alertMsg + "\n" +alertMsg2);
      return false;
    }
  }
