/* sberthelot 10/2007 */

var email_checked = '';

function EmailVerifier(emailId,emailConfirmId,siteId,provenance)
{
	this.ajax_url='/formulaires/doublon_webservice_pf.php';
	this.ajax_method='POST';

	this.emailId=emailId;
	this.emailConfirmId=emailConfirmId;

	this.siteId=siteId;
	this.provenance=provenance;

	var email=document.getElementById(this.emailId);
	email.email_verifier=this;
	
	var email_verifier_onkeyup=function()
	{
		this.email_verifier.onkeyup();
	}

	email.onkeyup=email_verifier_onkeyup;
	email.onblur=email_verifier_onkeyup;
	email.onmousedown=email_verifier_onkeyup;

	email_confirm=document.getElementById(this.emailConfirmId);
	email_confirm.email_verifier=this;
	email_confirm.onkeyup=email_verifier_onkeyup;
	email_confirm.onblur=email_verifier_onkeyup;

}

EmailVerifier.prototype.onkeyup = function()
{
	var email=document.getElementById(this.emailId);
	var emailconfirm=document.getElementById(this.emailConfirmId);

	if (email.value == emailconfirm.value && email.value != "" && email.value != email_checked)
	{
		email_checked = email.value;
		this.remoteCheck(email.value);
	}
}

EmailVerifier.prototype.remoteCheck = function(email)
{
	var xmlobject=this.getHttpRequestObject();

	xmlobject.open(this.ajax_method,this.ajax_url,true);
	xmlobject.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	var data='email='+encodeURIComponent(email)+'&site_id='+encodeURIComponent(this.siteId) + '&provenance=' + encodeURIComponent(this.provenance);
	//window.open(this.ajax_url + '?' + data,'_blank');
	var email_verifier=this;

	xmlobject.onreadystatechange=function()
	{
	  if (xmlobject.readyState == 4)
        	{
           	if (xmlobject.status == 200)
           		{
				try {
					var result_text=xmlobject.responseText;
					email_verifier.remoteCheckAction(result_text);
				} catch (e) {
				// en cas d'exception, principalement xmlhttprequest, on ne fait rien
				}
			}
		}
	}

	xmlobject.send(data);
}

EmailVerifier.prototype.getHttpRequestObject = function()
{
         var obj;

	   try {
	    obj=new XMLHttpRequest();
	   }
	   catch(ex)
	   {
	    obj=null;
	   }
	   

          if (!obj) {
	  var servers =
          [
            "MSXML2.XMLHTTP.3.0",
            "MSXML2.XMLHTTP.6.0",
            "MSXML2.XMLHTTP.4.0",
            "MSXML2.XMLHTTP",    // v3.0
            "Microsoft.XMLHTTP"  // v2.x
          ];

 
          var server;

          for (var i=0, l=servers.length; i<l; i++)
          {
            server = servers[i];

            try
            {
              obj = new ActiveXObject(server);
              break;
            }
            catch(ex)
            {
              obj = null;
            }
          }
	  }
          return obj;
}

EmailVerifier.prototype.remoteCheckAction=function(result_text)
{
	if (result_text != "")
	{
		document.location=result_text+'&provenance='+this.provenance+'#HautForm';
	}
}
