//<![CDATA[

  //fct externe utilise : aucune

  var contact_form=function()
  {
    var render=new Array();
    render['start']="<img src='"; //Debut du inner HTML
    render['end']=" width='21' height='21' align='top'>"; //Fin du inner HTML
    render['good']="/pic/form/valL.png"; //scr valide
    render['bad']="/pic/form/delL.png"; //src invalide
    var validity=true;
    return{
      renderHTML:function(bool, obj, attadd) //fct de rendu HTML attadd attribut additif
      {
	if(bool==true){ obj.innerHTML=render['start']+render['good']+"'"+attadd+render['end'];}
	else{ obj.innerHTML=render['start']+render['bad']+"'"+attadd+render['end'];}
      },
      mail:function()
      {
	var obj=IDOB("mail"); //Prise en compte de l'element HTMl sans passage en argument
	var obj_render=IDOB("mail_val"); //Pour inner HTML de l'icon
	var bool=validation.mail(obj);
	var attadd;
	if(bool==true){ attadd=" onmouseover=\"BOv('E-Mail valide')\" onmouseout='BOu()'";}
	else{ attadd=" onmouseover=\"BOv('E-Mail invalide')\" onmouseout='BOu()'"; validity=false;}
	contact_form.renderHTML(bool, obj_render, attadd);
      },
      name_:function()//Verification du nom ou pseudo
      {
	var obj=IDOB("name");
	var obj_render=IDOB("name_val");
	var bool=validation.length_(obj, 3);
	var attadd;
	if(bool==true){ attadd=" onmouseover=\"BOv('Nom valide')\" onmouseout='BOu()'";}
	else{ attadd=" onmouseover=\"BOv('3 caract&egrave;res minimum')\" onmouseout='BOu()'"; validity=false;}
	contact_form.renderHTML(bool, obj_render, attadd);
      },
      object:function()
      {
	var obj=IDOB("object");
	var obj_render=IDOB("object_val");
	var bool;
	if(obj.selectedIndex<=3){ bool=true;}else{ bool=false;}
	var attadd;
	if(bool==true){ attadd=" onmouseover=\"BOv('Object s&eacute;lectionn&eacute;')\" onmouseout='BOu()'";}
	else{ attadd=" onmouseover=\"BOv('Object non s&eacute;lectionn&eacute;')\" onmouseout='BOu()'"; validity=false;}
	contact_form.renderHTML(bool, obj_render, attadd);
      },
      subject:function()
      {
	var obj=IDOB("subject");
	var obj_render=IDOB("subject_val");
	var bool=validation.length_(obj, 5);
	var attadd;
	if(bool==true){ attadd=" onmouseover=\"BOv('Indiquez le sujet')\" onmouseout='BOu()'";}
	else{ attadd=" onmouseover=\"BOv('5 caract&egrave;res minimum')\" onmouseout='BOu()'"; validity=false;}
	contact_form.renderHTML(bool, obj_render, attadd);
      },
      submit_:function()
      {
	var submit_obj=IDOB("sub1");
	submit_obj.src="/pic/form/load.gif";
	submit_obj.alt="Verification des donnees";
	submit_obj.title="Verification des donnees";
	//On reverifie toute les donnees
	validity=true;
	contact_form.mail();
	contact_form.name_();
	contact_form.subject();
	if(IDOB("message").value==""){ validity=false;}//Verifie si le textarea n'est pas vide
	if(validity===true)
	{
	  var name_value=Array_form("form1");
	  var data_=make_data_string(name_value);
	  submit_obj.alt="Envoie en cours";
	  submit_obj.title="Envoie en cours";
	  var result=ajaxPost(data_, "ajax_POST.php");
	  if(result=="registrered")
	  {
	    var form_obj=IDOB("form1");
	    form_obj.innerHTML="";
	    var texta=document.createElement("span");	form_obj.appendChild(texta);	texta.innerHTML="<br><br>Votre demande &agrave; &eacute;tait prise en compte.<br>Redirection automatique dans ";
	    var chrono=document.createElement("span");	form_obj.appendChild(chrono);	chrono.innerHTML=10;
	    var textb=document.createElement("span");	form_obj.appendChild(textb);	textb.innerHTML=" secondes.<br><center><img src='/pic/form/load.gif' width='32' height='32'></center>";
	    setTimeout(function(){redirecTime(chrono)}, 1000);
	    setTimeout(function(){window.location.replace("/")}, 10000);
	  }else{ validity=false;}
	}
	if(validity===false)
	{
	  IDOB("sub1").src="/pic/form/val.png";
	  submit_obj.alt="Envoyer";
	  submit_obj.title="Envoyer";
	  alert("Il y a une ou des erreurs");
	}
      }
    };
  }();

  var validation=function()
  {
    return{
      mail:function(obj){
	var regex=/^[a-z0-9.-_]{2,}@[a-z0-9.-]{2,}$/i;
	if(regex.test(obj.value)){ return(true);}else{return(false);}	//Test de regex retour true si la structure est celle d'un e-mail false sinon
      },
      length_:function(obj, nb)
      {
	if(obj.value.length<nb){return(false);}else{return(true);} //false si trop petit true sinon
      }
    };
  }();

  function IDOB(id)
  {
    return(document.getElementById(id));
  }

function Array_form(id)// Retourne un array name => value
{
  var form_obj=IDOB(id);
  var input_ar=form_obj.getElementsByTagName("input");
  var textarea_ar=form_obj.getElementsByTagName("textarea");
  var select_ar=form_obj.getElementsByTagName("select");
  var global_ar=new Array();
  for(key in input_ar)
  {
    var value_=input_ar[key].value;
    var name_=input_ar[key].name;
    if(name_!=null && value_!=null && name_!="" && value_!="" )
    { global_ar[name_]=value_;}
  }
  for(key in textarea_ar)
  {
    var value_=textarea_ar[key].value;
    var name_=textarea_ar[key].name;
    if(name_!=null && value_!=null)
    { global_ar[name_]=value_;}
  }
 for(key in select_ar)
  {
    var value_=select_ar[key].value;
    var name_=select_ar[key].name;
    if(name_!=null && value_!=null)
    { global_ar[name_]=value_;}
  }
  return(global_ar);
}

function make_data_string(ar)
{
  var result=new String();
  var i=true;
  for(name_ in ar)
  {
    if(i===true){ result=name_+"="+escape(ar[name_]); i=false;}//Premier exe donc pas de &au debut
    else{ result+="&"+name_+"="+escape(ar[name_]);}
  }
  return(result);
}

function ajaxPost(data, file)
{
	try
	{
		var xhr = new ActiveXObject("Microsoft.XMLHTTP");
	}
	catch(e)
	{
		var xhr = new XMLHttpRequest();
	}
	xhr.open("POST", file, false);
	xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	xhr.send(data);
	if(xhr.readyState == 4){return(xhr.responseText);}
	else{return(false);}
}

function redirecTime(obj)
{
	if(obj.innerHTML>0){obj.innerHTML=obj.innerHTML-1; setTimeout(function(){redirecTime(obj)}, 1000);}
}

//]]-->