// ========================================================================
//
//                	contact_co.js 
//
//	Fonctions Javascript pour le formulaire de contact
//
//	------------------------------ Historique ------------------------------
//
// 04/11/08	Création
//
//	------------------------------------------------------------------------
//	Auteur : Corinne Mérandon - Copyright CycWeb Sarl - http://www.cycweb.fr
// ========================================================================  

//-----------------------------------------------------------------
// Vérifie la validité des Emails saisis
//    - longueur > 6 et < 255
//    - contient un @ et un "."
//
// Entree :
//    - valeur de l'email à vérifier
//
// Sortie :
//    - Code d'erreur (0 OK, 1 KO)
//-----------------------------------------------------------------
function Verif_Email ( Email )
{
   var Err = 0

   with (document.FORM)
   { 
      if ( (Email.length < 6) || (Email.length > 255) ||
           (Email.indexOf("@")  == -1 ) || ( Email.indexOf("@") == 0 ) || 
           (Email.indexOf("@")  != Email.lastIndexOf("@") ) || 
           (Email.indexOf(".")  == Email.indexOf("@") -1 )  || 
           (Email.indexOf(".")  == Email.indexOf("@") +1 )  || 
           (Email.lastIndexOf(".")  == Email.indexOf("@") -1 )  || 
           (Email.lastIndexOf(".")  == Email.indexOf("@") +1 )  || 
           (Email.lastIndexOf(".")  < Email.indexOf("@") )  || 
           (Email.indexOf("@")  == Email.length -1 )        || 
           (Email.indexOf (".") == -1 ) || (Email.lastIndexOf (".") == Email.length -1 ) )
      {
          Err = 1
      }
   } 

   return Err
} 

//------------------------------------------------------------------
// Verifie les données saisie
//------------------------------------------------------------------
function Verif_Champ ()
{   		    
   var Texte_Vide = /\s/g
   
   var Err_Msg_Label = 'Les champs suivant sont obligatoires :\n\n'
   var Tab_Label     = new Array (  "Nom Prénom  ",
   		    	      			      "Email",
   		    	      			      "Votre demande")   
   		    	      			         
   var Err_Msg_Email    = "\nL'Email est invalide.\n\n"
   var Err_Msg_Fic    = "\nVotre fichier joint doit être de type jpg ou gif.\n\n"

   var Err_Msg       = ''
   var Err_Msg_1     = ''
   var Err_Msg_2     = ''

   with (document.FORM)
   {
				
      var Tmp_Str = nom.value.replace(Texte_Vide,'')
      if (!Tmp_Str) 
      {
          Err_Msg = Err_Msg + "    - " + Tab_Label[0] +  "\n" 
      }

      var Tmp_Str = email.value.replace(Texte_Vide,'')
      if (!Tmp_Str) 
      {
          Err_Msg = Err_Msg + "    - " + Tab_Label[1] +  "\n" 
      }
      else {
 			Rc = Verif_Email ( Tmp_Str ) 
      	if (Rc != 0) { Err_Msg_1 = Err_Msg_Email }    	
      }	
      
      var Tmp_Str = demande.value.replace(Texte_Vide,'')
      if (!Tmp_Str) 
      {
          Err_Msg = Err_Msg + "    - " + Tab_Label[2] +  "\n" 
      }    
 
       var Tmp_Str = fic_joint.value.replace(Texte_Vide,'')

      if (Tmp_Str) 
      {
			// Vérifie l'extension du fichier
      	Tab_Tmp_Str = Tmp_Str.split('.')
			last 		= Tab_Tmp_Str.length - 1; 
			Extension = Tab_Tmp_Str[last].toLowerCase()

			if ((Extension != 'jpg') && (Extension != 'gif') ) { Err_Msg_2 = Err_Msg_Fic } 
      }         		     
 
     	if (Err_Msg) { Err_Msg = Err_Msg_Label + Err_Msg } 
     	    
      // Crée le  message d'erreur
      if ( (Err_Msg) || (Err_Msg_1) || (Err_Msg_2) ) {
    
      	Err_Msg = Err_Msg + Err_Msg_1 + Err_Msg_2 
      }
   }
   return Err_Msg
}

//------------------------------------------------------------------
// Pour Ajax
//------------------------------------------------------------------

function getXhr(){
	
   var xhr = null; 
	if(window.XMLHttpRequest) {// Firefox , Mozilla, safari et autres
	   xhr = new XMLHttpRequest(); 
      if (xhr.overrideMimeType) {
      	xhr.overrideMimeType('text/xml'); 
      }
	} 
	else if(window.ActiveXObject){ // Internet Explorer 
	   try {
         xhr = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (e) {
          xhr = new ActiveXObject("Microsoft.XMLHTTP");
      }
	}
	else { // XMLHttpRequest non supporté par le navigateur 
	   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
	   xhr = false; 
	} 
   return xhr
}

//------------------------------------------------------------------
// Verifie les données saisie
//------------------------------------------------------------------
function Verif_Saisie ()
{   		    
   var Texte_Vide = /\s/g;
	var Message_Err = '';
	var Err	= '';
	
	var Msg_Code_KO = "Le code de securite est incorrect, veuillez le resaisir.";
	
	// Vérifie les champs autre que le code	
	// ------------------------------------
	Message_Err = Verif_Champ();

/*
	
	var xhr = getXhr();                                                           

	// On défini ce qu'on va faire quand on aura la réponse                      
	xhr.onreadystatechange = function(){                                         
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok

		if (xhr.readyState == 4) {

	alert("status= " + xhr.status);
			if (xhr.status != 200) {
				alert("l'url n'existe pas !");
				return false;
			}
			else {
				Err =  xhr.responseText;
   			if (Err != "OK") {
          		Message_Err = Message_Err + '\n' + Msg_Code_KO;
          		alert(Message_Err);
          		return false 
          	}				
			}
			return true			
		}
	}
	
	// Vérif du code de sécurité
	// --------------------------
   var antibotcode =  document.getElementById("antibotcode").value.replace(Texte_Vide,'')
   if (!antibotcode) {
          Message_Err = Message_Err + '\n' + Msg_Code_KO;
          alert(Message_Err);
          return false
    }
    else {

		var Post_Url = "verif=code&antibotcode=" + antibotcode;
   	
		xhr.open("POST","/contact_co.php",true);                                             
   	
		// Attention si on ne le met pas n'envoie les variables en post
		xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
   	
		if (!xhr.send(Post_Url)) { return false;  }  	   	

	}
*/      		     
    // Envoie un message d'erreur
   if (Message_Err)  {
      		 
   	alert(Message_Err)
       return false
   }
   
   return true
}
