var indw = 0;
var ie = /MSIE/.test(navigator.userAgent);
var moz = !ie && navigator.product == "Gecko";
var form1;
// -----------------------------------------------------------------------------
function emulateEventHandlers(eventNames) 
// -----------------------------------------------------------------------------
{
   for (var i = 0; i < eventNames.length; i++) {	
      document.addEventListener(eventNames[i], function (e) {
         window.event = e;
      }, true); 
   }
}
if ( moz) emulateEventHandlers(["click"]);
// -----------------------------------------------------------------------------
function registerAjaxStuff() 
// -----------------------------------------------------------------------------
{
	rep = location.pathname.split('/');
    ajaxEngine.registerRequest( 'validation', '/' + rep[1] + '/ab_validate.php' );
    ajaxEngine.registerAjaxElement( 'mess', document.getElementById('mess') );
    ajaxEngine.registerAjaxElement( 'erreur', document.getElementById('erreur') );
}

// -----------------------------------------------------------------------------
function parametres(form1)
// -----------------------------------------------------------------------------
{
    var elements = form1.elements;
    var pairs = new Array();

    for (var i = 0; i < elements.length; i++) {
        if ( elements[i].checked == false && elements[i].type == 'radio' ) continue;  
        if ((name = elements[i].name) && (value = elements[i].value))
        {
            pairs.push(name + "=" + encodeURIComponent(escape(value)));
	    }
     }

    if ( document.getElementById('P1') ) pairs.push("P1=" + document.getElementById('P1').value);
    if ( document.getElementById('P2') ) pairs.push("P2=" + document.getElementById('P2').value);


return pairs;
}
// -----------------------------------------------------------------------------
function validajax(form1) 
// -----------------------------------------------------------------------------
{
    pairs = parametres(form1);
    ajaxEngine.sendRequest1( 'validation',"P1=PBP&PG=ID_ABO&" + pairs.join("&"));

    if ( document.getElementById('mess_id') ) champ_message = document.getElementById('mess_id');
       else champ_message = document.getElementById('mess');
       
	if ( document.getElementById('erreur').innerHTML != "0") 
	    {
	    value_message = document.getElementById('mess').innerHTML;
	    champ_message.innerHTML = value_message;
	    champ_message.style.display="block";
	    return false;
	    }
	
return true;	
}
// -----------------------------------------------------------------------------
function validform(form1)
// -----------------------------------------------------------------------------
{
  form1 = document.form1;
  var chp; var isOk = true; var errDesc = ' ';
  var reg = new RegExp('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$', 'i');

  for (var i = 0; isOk && (i < form1.elements.length); i++) {
      if (form1.elements[i].className) {
          chp = form1.elements[i];
          if (chp.value == '') {
              if (chp.className.substr(0, 1) == 'o' || chp.className.substr(0, 1) == 'O') {
                  isOk = false;
                  errDesc = 'Ce champ est obligatoire';
              }
          } else {
              switch (chp.className.toLowerCase()) {
                  case 'oliste':
                  case 'liste':
                  case 'onombre':
                  case 'nombre':
                      if (isNaN(parseInt(chp.value))) {
                          isOk = false;
                          errDesc = 'Merci de donner un nombre valide';
                      } else {
                          chp.value = parseInt(chp.value);
                      }
                      break;
                  case 'omail':
                  case 'mail':
                      if (!(reg.test(chp.value))) {
                          isOk = false;
                          errDesc = 'Cette adresse mail est invalide';
                      }
                      break;
                  case 'otexte':
                  case 'texte':
                      if (chp.value) {
                          chp.value = chp.value.replace(';',',');
                          chp.value = chp.value.replace('\s',' ');
                          while (chp.value.search('  ') != -1)
                               chp.value = chp.value.replace('  ',' ');
                      }
                      break;
                  default:
                      break;
              }
          }
      }
  }
  document.getElementById("mess").innerHTML = "" ;
  if (!isOk) 
  {
  alert(errDesc);
  chp.focus();
  rc = isOk;
  }
  else
  {
  rc = validajax(form1) ;
  if ( rc == false ) return rc;
  }
  
return rc;
}
// -----------------------------------------------------------------------------
window.onload = function()
// -----------------------------------------------------------------------------
{
	registerAjaxStuff();
   	if (  document.getElementById('mess').innerHtml != '' )  document.getElementById('mess').style.display="inline";
    var form1 = document.form1;

	form1.onclick = function (e) { 
	                if (!e) e = window.event.srcElement ;
	                    else e = e.target ;
	                if (e.name == "valider" )  { return validform();} 
	                }
}

