var xmlHttp = createXmlHttpRequestObject();
var asyncTimeout = 1;
var url = null;
var user = null;

var rempli_tel = false;
var check_tel = false;
var rempli_email = false;
var check_email = false;

function init()
{
if(window.XMLHttpRequest && window.XSLTProcessor && window.DOMParser)
	{
        rewriteLinks();
        return;
	}
// test if user has Internet Explorer with proper XSLT support
if (window.ActiveXObject && createMsxml2DOMDocumentObject())
	{
        rewriteLinks();
        return;
	}
}

//
function checkform()
{
f = document.getElementById("analyse");
disableInputs(f);
errp = document.getElementById("err");

errp.innerHTML = "";
url = null;
// check mail
if (f.email.value != "" )
	{
        var reg = new RegExp('^[a-zA-Z0-9\-_]+[a-zA-Z0-9\.\-_]*@[a-zA-Z0-9\-_]+\.[a-zA-Z\.\-_]{1,}[a-zA-Z\-_]+');
        if (!reg.test(f.email.value))
           {
           errp.innerHTML = "Le format de votre email est incorrect.";
           enableInputs(f);
           return false;
           }
	}
	else
	{
        errp.innerHTML = "Vous devez entrer votre email.";
        enableInputs(f);
        return false;
        }
// check URL
if (f.url.value == "" || f.url.value == "http://" )
	{
        errp.innerHTML = "Vous devez entrer l'URL du site à analyser.";
        enableInputs(f);
        return false;
        }
url = f.url.value;
var query = "gateway.php?action=checkurl&url="  +  f.url.value + "&email=" + f.email.value ;
//alert(query);
errp.innerHTML = "Vérification URL en cours...";
xmlHttp.open("GET", query, true);
xmlHttp.onreadystatechange = handleCheckUrl;
xmlHttp.send(null);
return false;
}

//
function handleCheckUrl()
{
errp = document.getElementById("err");
f = document.getElementById("analyse");
if (xmlHttp.readyState == 4)
   {
   if (xmlHttp.status == 200)
      {
      	response = xmlHttp.responseText;
	//alert(response);
	//server error?
	if (response.indexOf("ERRNO") >= 0 || response.indexOf("error") >= 0 || response.length == 0)
           {
            //alert(response.length == 0 ? "Erreur serveur." : response);
            errp.innerHTML = "Erreur serveur.";
            enableInputs(f);
            return;
      	   }

        xmlResponse = xmlHttp.responseXML;
        xmlRoot = xmlResponse.documentElement;
        result = xmlRoot.getElementsByTagName("result");
        id = xmlRoot.getElementsByTagName("id");
        if (id.length == 1)
           {
           user = id[0].firstChild.data;
           }
        if (result.length == 1)
            {
            resultString = result[0].firstChild.data;
            if (resultString != 'OK')
               {
               errp.innerHTML = "Impossible d'accéder à " + url;
               enableInputs(f);
               }
               else
               {
               errp.innerHTML = "Lancement de l'analyse (user " + user + ")";
               f.user.value= user;
               f.hemail.value= f.email.value;
               f.hurl.value= f.url.value;
               f.submit();
               }
            }

      }
      else
      {
       errp.innerHTML = "Impossible d'accéder à " + url;
       enableInputs(f);
      }
   }
}

//
function disableInputs(f)
{
f.email.disabled = true;
f.url.disabled = true;
}

//
function enableInputs(f)
{
f.email.disabled = false;
f.url.disabled = false;
}

// PAGE DETAIL RESULT
//
function showPageDetail(p)
{
  pdetail = document.getElementById(p);
  pdetail.style.display = 'block';
}

//
function hidePageDetail(p)
{
  pdetail = document.getElementById(p);
  pdetail.style.display = 'none';
}

//
function checkTel()
{
var form = document.forms.contact;
check_span = document.getElementById("check_tel");
if (form.tel.value != "" )
   {
   rempli_tel = true;
   expr = /^[0-9]{2}\s{0,1}[0-9]{2}\s*[0-9]{2}\s*[0-9]{2}\s*[0-9]{2}$/;
   if (expr.test(form.tel.value))
      {
      check_span.innerHTML = '<img src="images/check_vert.gif">';
      check_tel = true;
      }
      else
      {
      check_span.innerHTML = '<img src="images/check_rouge.gif">';
      checkError = "Le format du champ Tel est incorrect (Ex: O3 85 20 92 65).";
      check_tel = false;
      }
   }
   else
   {
   rempli_tel = false;
   check_tel = false;
   check_span.innerHTML = '';
   }
}

//
function checkMail()
{
var form = document.forms.contact;
check_span = document.getElementById("check_email");
if (form.emailc.value != "" )
   {
   rempli_email = true;
   var reg = new RegExp('^[a-zA-Z0-9\-_]+[a-zA-Z0-9\.\-_]*@[a-zA-Z0-9\-_]+\.[a-zA-Z\.\-_]{1,}[a-zA-Z\-_]+');
   if (reg.test(form.emailc.value))
      {
      check_span.innerHTML = '<img src="images/check_vert.gif">';
      check_email = true;
      }
      else
      {
      check_span.innerHTML = '<img src="images/check_rouge.gif">';
      checkError = "Le format du champ E-mail est incorrect.";
      check_email = false;
      }
   }
   else
   {
   rempli_email = false;
   check_email = false;
   check_span.innerHTML = '';
   }
}

//
function checkformC()
{
errp = document.getElementById("errC");
var f = document.forms.contact;
if (check_email == false && check_tel == false)
   {
   errp.innerHTML = "Vous devez fournir au moins votre téléphone ou votre email."
   return false;
   }
f.submit();
}
