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); // using capture
   }
}

if ( moz) emulateEventHandlers(["click"]);

function registerAjaxStuff() 
{

    rep = location.pathname.split('/');
    ajaxEngine.registerRequest( 'validation', '/' + rep[1] + '/ab_validate.php' );
    ajaxEngine.registerRequest( 'setEmail', '/' + rep[1] + '/ab_validate_mailchg.php' );
    
    ajaxEngine.registerAjaxElement( 'mess', document.getElementById('mess') );
    ajaxEngine.registerAjaxElement( 'erreur', document.getElementById('erreur') );
    
    if ( isObject(document.getElementById('CLI_EMAIL')))
    ajaxEngine.registerAjaxElement( 'email', document.getElementById('CLI_EMAIL') );
    if ( document.getElementById('MAIL_NOMAIL') )
    ajaxEngine.registerAjaxElement( 'nomail', document.getElementById('MAIL_NOMAIL') );
    if ( document.getElementById('V_NOECH') )
    ajaxEngine.registerAjaxElement( 'noech', document.getElementById('V_NOECH') );
}

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 + "=" + escape(value));
	    }
     }
return pairs;
}

function validajax(form1) 
{
    pairs = parametres(form1);
    ajaxEngine.sendRequest1( 'validation',"PG=ID_REA&" + 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") 
	    {
	    document.getElementById('mess').style.display="block";
	    if ( document.getElementById('erreur').innerHTML == 'BAD_EMAIL'&& document.getElementById("modifmail") ) 
	        document.getElementById("modifmail").style.display="block";
	    if ( document.getElementById('erreur').innerHTML == 'NO_EMAIL'&& document.getElementById("creamail") ) 
	        document.getElementById("creamail").style.display="block";
	    return false;
	    }
    if ( document.getElementById('V_NOECH') && document.getElementById('V_NOECH').value != 'N' 
         && document.getElementById("echmail") 
         && document.getElementById("echmail").style.display=="none" ) 
	    {
	    document.getElementById("echmail").style.display="block";
	    var elements = form1.elements;
	    for (var i = 0; i < elements.length; i++) 
		{
		if ( elements[i].name == 'MAIL_NOECH' && elements[i].type == 'radio' )   
	                {
	        	if ( elements[i].value == document.getElementById("V_NOECH").value )
				elements[i].checked = true;
		        }
	        }  
	    return false;
	    }
return true;	
}

function validajax01(form1) 
{

    pairs = parametres(form1);

    ajaxEngine.sendRequest1( 'setEmail',"P1=PRL&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 modifmail(form1) 
{
  form1 = document.getElementsByTagName("form")[0] ;
  pairs = parametres(form1);
  form1.action = "../abovision2.php?PG_PREV=PG&PG=MAIL_CHG&" + pairs.join("&")
  return true;
}

function creamail(form1) 
{
   form1 = document.getElementsByTagName("form")[0] ;
   pairs = parametres(form1);
   form1.action = "../abovision2.php?PG_PREV=PG&PG=MAIL_NEW&" + pairs.join("&");
   return true;
}

function gotoespace() 
{

  if ( validform() )
  {
  pairs = parametres(form1);
  form1.action = form1.action + "&" + pairs.join("&")
  form1.submit();
  return true;
  }
return false;
}



function validform(form1) {
  
  form1 = document.getElementsByTagName("form")[0] ;
  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';
                      }
                      isOk = true;
                      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;
  

  for (var i = 0; isOk && (i < form1.elements.length); i++) 
      {
      if (form1.elements[i].className) 
         {
          chp = form1.elements[i];

          if ( chp.name == 'MAIL_NOECH' )
          {
              if ( form1.MAIL_NOECH[0].checked == false && form1.MAIL_NOECH[1].checked == false && ( chp.className.substr(0, 1) == 'o' || chp.className.substr(0, 1) == 'O')) 
                 {
                  isOk = false;
                  errDesc = 'Acceptez vous de recevoir des offres de nos partenaires ?';
                 }
          }
        }
     } 

  }

  if (!isOk) 
  {
  alert(errDesc);
  chp.focus();
  rc = isOk;
  }
  else
  {
  rc = validajax01(form1) ;
  if ( rc == false ) return rc;
  }
return rc ;
}
  
window.onload = function() {
    registerAjaxStuff();
    if (  document.getElementById('mess') &&  document.getElementById('mess').innerHtml != '' ) 
       document.getElementById('mess').style.display="inline";

    var form1 = document.getElementsByTagName("form")[0];
				if ( document.getElementById('MAIL_NOECH') != null ) 
				{
				form1.MAIL_NOECH[0].checked = true;
				}
				if ( document.getElementById('MAIL_NOMAIL') != null ) 
				{
				form1.MAIL_NOMAIL[0].checked = true;
				}
				
	form1.onclick = function (e) { 
	                if (!e) e = window.event.srcElement ;
	                    else e = e.target ;

	                if (e.name == "valider" )  { return validform(form1);} 
	                if (e.name == "modifmail") { return modifmail(form1);}
	                if (e.name == "creamail")  { return creamail(form1); }
	                }
/*
document.getElementsByTagName("form")[0].onsubmit = 
	function () { return validform(this); }
*/
}


