// JavaScript Document
// --------------------- AJAX -------------------------------------------------------------------------------------//
var LoginIsValide=false;
var EmailIsValide=false;

var xhr 		= null;
var msg_return 	= '';
var page_contenu= '';

function getXhr(){

   if(window.XMLHttpRequest)
   { // Mozilla, Safari, ...
       xhr = new XMLHttpRequest();
   }
   else if(window.ActiveXObject)
   { // Internet Explorer
       xhr = new ActiveXObject("Microsoft.XMLHTTP");
   }		
}
//------------------------------------------------------------------------------------------------------------------//

//-------------------Liste des sous catégories ---------------------------------------------------------------------//
function GetSousCategories(id_categorie,TypeSousCateg)
{
	if (id_categorie > 0)
	{
		document.getElementById('LstSCategContent'+TypeSousCateg).innerHTML='<img src="imgelements/ajaxloader.gif" width="128" height="15" >';
		getXhr();
		xhr.onreadystatechange= function()
		{
			if(xhr.readyState==4)
			{
				if(xhr.status==200)
				{
					page_contenu = xhr.responseText;
					document.getElementById('LstSCategContent'+TypeSousCateg).innerHTML=' ';
					document.getElementById('LstSCategContent'+TypeSousCateg).innerHTML=page_contenu;
				}
			}
		}
	}else
	{
		document.getElementById('LstSCategContent'+TypeSousCateg).innerHTML='<select name="ListeSCategories" id="ListeSCategories"><option value="0" >Sous cat\351gorie</option></select>';
	}
	
	
	xhr.open("GET","phpelements/lstsouscateg.php?categorieid="+id_categorie,true);
	xhr.send(null);
}
//------------------------------------------------------------------------------------------------------------------//

//-----------------------------------------------------------------------------------//
function Preload_Images(){
	
	var chemin 			= "imgelements/";
	var liste_images	= new Array('ajaxloader.gif','checker.gif','erreur.gif','accepted.gif','barreloader.gif');
	
	document.image_chargee = new Array();
	for ( i = 0; i < liste_images.length; i++ ) {
		document.image_chargee[i] 		= new Image;
		document.image_chargee[i].src 	= chemin + liste_images[i];
	}	
}
//-----------------------------------------------------------------------------------//


//-----------------------------------------------------------------------------------//
var RechercheVisible=false;
function RechercheAnnoncee(){
	
	var objet = document.getElementById('RechercheBloc'); // entre les deux ' tu mes le nom du div que tu veux faire apparaître !
	
	if(RechercheVisible==false){
		
		objet.style.display = "block";
		objet.style.overflow = "hidden"; 
       
        var hFinal      =     200;  //Hauteur finale (la hauteur une fois que ça aura fini de déplier !)
        var hActuel     =     0;	 	//Hauteur initiale (la hauteur dès le début !)
       
        var timer;
        var fct =        function ()
        {
                hActuel  +=       20;     //Augmente la hauteur de 20px (tu peux modifier) tous les 40ms !
				
                objet.style.height     =	 hActuel      +     'px';
				
                if( hActuel > hFinal)
                {
                        clearInterval(timer);   //Arrête le timer
                        objet.style.overflow    =   'inherit';
                }
        };
        fct();

		timer = setInterval(fct,40);    //Toute les 40 ms
		RechercheVisible=true;
	}else{
		
		var hFinal      =     0;  //Hauteur finale (la hauteur une fois que ça aura fini de déplier !)
        var hActuel     =     200;	 	//Hauteur initiale (la hauteur dès le début !)
       
        var timer;
        var fct =        function ()
        {
                hActuel  -=   20;     //Augmente la hauteur de -20px (tu peux modifier) tous les 40ms !
				
                objet.style.height     =	 hActuel      +     'px';
				
                if( hActuel < hFinal)
                {
                        clearInterval(timer);   //Arrête le timer
                        objet.style.overflow    =   'inherit';
						objet.style.display     =   "none";
                }
        };
        fct();
		timer = setInterval(fct,40);    //Toute les 40 ms
		RechercheVisible=false;
	}
}
//-----------------------------------------------------------------------------------//
//-----------------------------------------------------------------------------------//
function DBChecker(CElement)
{
	var Compte			=	document.getElementById('Compte').value;	
	var AdresseEmail	=	document.getElementById('AdresseEmail').value;
	document.getElementById('C'+CElement).innerHTML='<img src="imgelements/checker.gif" width="16" height="16" >';
	getXhr();
	xhr.onreadystatechange= function()
	{
		if(xhr.readyState==4)
		{
			if(xhr.status==200)
			{
				page_contenu = xhr.responseText;
				if (page_contenu=='-1' || page_contenu== "1"){
					document.getElementById('C'+CElement).innerHTML='<img src="imgelements/erreur.gif" >';
					if (CElement=='C') LoginIsValide=false;
					if (CElement=='E') EmailIsValide=false;
				}else
				if (page_contenu=='0'){
					document.getElementById('C'+CElement).innerHTML='<img src="imgelements/accepted.gif" >';
					if (CElement=='C') LoginIsValide=true;
					if (CElement=='E') EmailIsValide=true;					
				}
				
			}
		}
	}
	
	xhr.open("GET","checker.php?compte="+Compte+"&email="+AdresseEmail+"&Element="+CElement,true);
	xhr.send(null);
}
//-----------------------------------------------------------------------------------//
//DEBUT : champs obligatoires ------------------------------------------------------//

function ForceEntry(len,val,objname,str) {
	if (val.length<len) {
				//document.objname.focus();
				//document.objname.style.backgroundColor = "#FFFFCC";				
                alert(str);
                return false;
    } else
				return true;	       
}
//FIN   : champs obligatoires --------------------------------------------------------//
//DEBUT : vérification d'adresse email entrée ----------------------------------------//
function isEmail(val, str) {
	var verif = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,3}$/;
          if (verif.exec(val) == null)
		  {
			  //style.backgroundColor = "#FFFFCC";
			  alert(str);
			  return false;	  
    	  } else
		      return true;
}
//FIN   : vérification d'adresse email entrée ----------------------------------------//
//DEBUT : Vérification du login (caractere autorisés) ------------------------------//
function isLogin(len,val,str1)
{
	var verif = /[a-zA-Z0-9_-]/;
	for (i = 0; i < val.length; i++)
     {
          var c = val.charAt(i);
          if (verif.exec(c) == null)
		  {
			  alert(str1);
			  return false;
		  }
     }
	 
	if (val.length<len) {
                alert(str1);
                return false;
    } else
		        return true;
	
}
//FIN   : Vérification du login (caractere autorisés) ------------------------------//
//DEBUT : Vérification de selection dans une liste -------------------------------//
function isSelected(id,str){
	var val = document.getElementById(id).value;
		if (val == 0){
			alert(str);
			return false;
		}else
	return true;
}
//FIN   : Vérification de selection dans une liste -------------------------------//
//DEBUT : Confrmation du mot de passe ----------------------------------------------//
function isPasswordConfirmed(val1,val2,str) {
	if (val1!=val2)  {
         		 alert(str);
          		 return false;
    } else
				 return true;
}
//FIN   : Confrmation du mot de passe ----------------------------------------------//
//Debut : Vérification des champs du formulaire contact -----------------------------//
function validateFormContact()
{
  CanSubmit = ForceEntry(5,document.form_contact.textenom.value,'textenom',"Veuillez saisir votre nom (Min. 5 caract\350res).");
  if (!CanSubmit) return CanSubmit;
  CanSubmit = isEmail(document.form_contact.textemail.value,"Veuillez saisir une adresse email valide.");
  if (!CanSubmit) return CanSubmit;

  CanSubmit = ForceEntry(10,document.form_contact.textsujet.value,'textsujet',"Veuillez saisir le sujet de votre message (Min. 10 caract\350res).");
  if (!CanSubmit) return CanSubmit;
  
    CanSubmit = ForceEntry(30,document.form_contact.textmessage.value,'textmessage',"Veuillez saisir le message (Min. 30 caract\350res).");
  if (!CanSubmit) return CanSubmit;
}
//FIN   : Vérification des champs du formulaire contact -----------------------------//

//DEBUT : Vérification du formulaire d'inscription avant la validation dans la BD-//
function checkformulaire(wtest) {
	

	
	CanSubmit = isLogin(4,document.frminscription.Compte.value,"Le compte est invalide, veuillez saisir votre compte (Entre 4 et 15 caract\350res).");
	if (!CanSubmit) return CanSubmit;
	  
  	if (LoginIsValide==false) 
	{
		alert('Le compte existant, veuillez choisir un autre.');return false;
	}
					
	CanSubmit = isEmail(document.frminscription.AdresseEmail.value,"Veuillez entrer une adresse email valide.");
	if (!CanSubmit) return CanSubmit; 
	if (EmailIsValide==false)
	{
		alert('Adresse email existante, veuillez choisir une autre.'); return false;
	}
	
	CanSubmit = ForceEntry(5,document.frminscription.Mot2Passe.value,'Mot2Passe',"Veuillez saisir un mot de passe valide (Min. 5 chiffres ou caract\350res).");
	if (!CanSubmit) return CanSubmit; 

	CanSubmit = isPasswordConfirmed(document.frminscription.Mot2Passe.value,document.frminscription.Cmot2Passe.value,"Les mots de passe ne correspondent pas.");
	if (!CanSubmit) return CanSubmit;
	
	if (document.getElementById('Code').value.length != 5) 
	{
			alert("vous devez reinscrivez le code afficher sur l'image (contient 5 caract\350res).");
			return(false);	
	}
	
	CanSubmit = isSelected('LstCategories',"Merci de choisir la cat\351gorie de votre annonce.");
	if (!CanSubmit) return CanSubmit; 
	
	CanSubmit = isSelected('LstVilles',"Merci de choisir la ville.");
	if (!CanSubmit) return CanSubmit;	
	
	CanSubmit = ForceEntry(25,document.frminscription.DescriptionAnnonce.value,'DescriptionAnnonce',"Veuillez saisir la description de votre annonce (Min. 25 caract\350res)");
	if (!CanSubmit) return CanSubmit;


	
	var CodeAntiSpam	=	document.getElementById('Code').value;
	
	getXhr();
	xhr.onreadystatechange= function()
	{
		if(xhr.readyState==4)
		{
			if(xhr.status==200)
			{
				page_contenu = xhr.responseText;
				
				if (page_contenu=="")
				{
					document.frminscription.submit();
				}else
				{
					
					DBChecker('C');
					alert(page_contenu);
					DBChecker('E');
				}
				
			}
		}
	}
	xhr.open("GET","antispamchecker.php?code="+CodeAntiSpam+"&compte="+document.frminscription.Compte.value+"&email="+document.frminscription.AdresseEmail.value,true);
	xhr.send(null);
	return false
}
//FIN   : Vérification du formulaire d'inscription avant la validation dans la BD-//
//Debut : Regénration d'une nouvelle image antispam ---------------------------------//
function antispamregen(){
	document.getElementById('imgantispam').src	=	'imgelements/antispam.jpg?rnd='+Math.random(0,50000);;
}
//Fin   : Regénration d'une nouvelle image antispam ---------------------------------//

//DEBUT : Connexion du membre ------------------------------------------------------//
function MConnect()
{
	var Login	=	document.getElementById('compte').value;
	var Pass	=	document.getElementById('mdp').value;
	if ((Login=='Compte' && Pass=='Mot de passe') || Login=='' || Pass=='')
	{
		alert('Veuillez entrer votre Compte/ Mot de passe');
		return false;
	}else
	{
		document.getElementById('TDconnect').style.background='url(imgelements/barreloader.gif)';
		getXhr();
		xhr.onreadystatechange= function()
		{
			if(xhr.readyState==4)
			{
				if(xhr.status==200)
				{
					page_contenu = xhr.responseText;
					if (page_contenu =='True')
					{
						
						window.location='';
					}else
					{
						document.getElementById('TDconnect').style.background='';
						alert('Le nom d\'utilisateur ou le mot de passe que vous avez saisi est incorrect.');	
					}
				}
				document.getElementById('TDconnect').style.background='';	
			}
		}
		xhr.open("GET","mconnect.php?MLogin="+Login+"&MPass="+Pass,true);
		xhr.send(null);		
	}
}
//FIN   : Connexion du membre ------------------------------------------------------//
////////////////////////////////////////////////////////////////////////////////////////////////
function submitenter(myfield,e)
{
	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return true;
	
	if (keycode == 13)
	{
	   MConnect();
	   return false;
	}
	else
	{   
		return true;
	}
}
////////////////////////////////////////////////////////////////////////////////////////////////

//DEBUT : Vérification du formulaire d'inscription avant la validation dans la BD-//
function CheckAnnonce() {

	CanSubmit = isSelected('LstCategories',"Merci de choisir la cat\351gorie de votre annonce.");
	if (!CanSubmit) return CanSubmit; 
	
	CanSubmit = isSelected('LstVilles',"Merci de choisir la ville.");
	if (!CanSubmit) return CanSubmit;	
	
	CanSubmit = ForceEntry(25,document.frmAnnonce.DescriptionAnnonce.value,'DescriptionAnnonce',"Veuillez saisir la description de votre annonce (Min. 25 caract\350res)");
	if (!CanSubmit) return CanSubmit;

	if (document.getElementById('Code').value.length != 5) 
	{
			alert("vous devez reinscrivez le code afficher sur l'image (contient 5 caract\350res).");
			return(false);	
	}

	var CodeAntiSpam	=	document.getElementById('Code').value;
	
	getXhr();
	xhr.onreadystatechange= function()
	{
		if(xhr.readyState==4)
		{
			if(xhr.status==200)
			{
				page_contenu = xhr.responseText;
				
				if (page_contenu=="")
				{
					document.frmAnnonce.submit();
				}else
				{
					alert(page_contenu);	
				}
			}
		}
	}
	xhr.open("GET","antispamchecker2.php?code="+CodeAntiSpam,true);
	xhr.send(null);
	return false
}
//FIN   : Vérification du formulaire d'inscription avant la validation dans la BD-//

//Debut : Vérification des champs du formulaire Reponse -----------------------------//
function validateFormReponse()
{

  CanSubmit = ForceEntry(3,document.Form_ReponseAnnonce.repondeur_nom.value,'repondeur_nom',"Veuillez saisir votre nom (Min. 5 caract\350res).");
  if (!CanSubmit) return CanSubmit;
  CanSubmit = isEmail(document.Form_ReponseAnnonce.repondeur_email.value,"Veuillez saisir une adresse email valide.");
  if (!CanSubmit) return CanSubmit;

  CanSubmit = ForceEntry(10,document.Form_ReponseAnnonce.repondeur_sujet.value,'repondeur_sujet',"Veuillez saisir le sujet de votre message (Min. 10 caract\350res).");
  if (!CanSubmit) return CanSubmit;
  
    CanSubmit = ForceEntry(20,document.Form_ReponseAnnonce.repondeur_message.value,'repondeur_message',"Veuillez saisir le message (Min. 30 caract\350res).");
  if (!CanSubmit) return CanSubmit;
  
  if (document.getElementById('repondeur_capchat').value.length != 5) 
	{
			alert("vous devez reinscrivez le code afficher sur l'images (contient 5 caract\350res).");
			return(false);	
	}

	var CodeAntiSpam	=	document.getElementById('repondeur_capchat').value;
	getXhr();
	xhr.onreadystatechange= function()
	{
		if(xhr.readyState==4)
		{
			if(xhr.status==200)
			{
				page_contenu = xhr.responseText;
				
				if (page_contenu=="")
				{
					document.Form_ReponseAnnonce.submit();
				}else
				{
					alert(page_contenu);	
				}
			}
		}
	}
	xhr.open("GET","antispamchecker3.php?code="+CodeAntiSpam,true);
	xhr.send(null);
	return false
}
//FIN   : Vérification des champs du formulaire Reponse -----------------------------//


//DEBUT : Recherche par critères ---------------------------------------------------//
function Recherche()
{
	var LsCateg		=	document.getElementById('ListeCategories').value;
	var LstSCateg	=	document.getElementById('ListeSCategories').value;
	var LstVille	=	document.getElementById('ListeVilles').value;
	var MotCle		=	document.getElementById('MotCle').value;
	var Periode		=	document.getElementById('PeriodeAnnonce').value;
	var AvecPhoto	=	0;
	
	if (document.getElementById('AvecPhoto').checked == true)
		AvecPhoto	=	1;
	
	if (LsCateg==0 && LstSCateg==0 && LstVille==0 && MotCle=='' && Periode==0 && AvecPhoto==0)
	{
		alert("D\351finissez les crit\350res de recherche qui vous int\351ressent puis lancez!");	
	}
	else
	{
			document.getElementById('FormSearch').submit();
	}
	
}
//FIN   : Recherche par critères ---------------------------------------------------//

//DEBUT : Page resultat de la recherche --------------------------------------------//
function GetPageRsult(PageNum)
{
	document.getElementById('PageNum').value=PageNum;
	Recherche();
	
}


//FIN   : Page resultat de la recherche --------------------------------------------//

