//////////////////////  PROTECTIONS DIVERSES ///////////////////////////////
<!-- PROTECTIONS EN FONCTION SUR CE SCRIPT:
<!-- code pour insertion: <SCRIPT LANGUAGE="JavaScript" SRC="protectpages.js"><script/>
<!-- pas de clic droit ni gauche + droit
<!-- pas de shift ni control...
<!-- frames obligatoires
<!-- pour empêcher d'enregistrer la page dans cache: <meta http-equiv="Pragma" content="no-cache">
<!-- pour empêcher d'enregistrer la page dans l'historique: <meta http-equiv="Cache-Control" content="no-cache">
<!-- pour non-surligner: <BODY oncontextmenu="return false" ondragstart="return false" onselectstart="return false">
<!--
<!--
<!--
<!--
//////////////////  ROLL DES BOUTONS
<!--
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
//////////////////  FIN DE ROLL DES BOUTONS


<!-- rollstatus
var text  = "Bienvenue sur le site Echangia.com! Partagez vos passions..."
var speed = 50
var x = 0

function bb() {
var a = text.substring(0,x)
var b = text.substring(x,x+1).toUpperCase()
var c = text.substring(x+1,text.length)
window.status = a + b + c
if (x == text.length) {
x = 0
}
else {
x++
}
setTimeout("bb()",speed)
}

bb();


/////////////////////// ANTICLIC //////////////////////////////////////////

<!-- pas de clic droit ni gauche ou du moins pas en même temps...
function click() {
if (event.button==2) {
alert('Copyright © Echangia.com 2005\n         Tous Droits Réservés')
}
if (event.button==1+2) {
alert('Copyright © Echangia.com 2005\n         Tous Droits Réservés')
}
}
document.onmousedown=click
// -->
<!-- pas de clavier
function keypressed() {
		// si ShiftKey

		if (event.shiftKey==16)
		{
		return false;
		}
		// si Ctrl
		if (event.keyCode==17){
		return false;
		}

//alert(event.keyCode);
}
document.onkeydown=keypressed;


function stop_clic()
{
	alert('Copyright © Echangia.com 2005\n         Tous Droits Réservés');
	return false;
}


function disableselect(e){
	return false
}
function reEnable(){
	return true
}
document.onselectstart=new Function ("return false");
document.oncontextmenu=stop_clic;
//document.ondragstart=return false;
//document.onselectstart="return false";
if (window.sidebar){
document.onmousedown=disableselect
document.onclick=reEnable
}






////////////////////  ANTIFRAMES /////////////////////////////////////////
//		A REACTIVER EN PRODUCTION!!!



var frame_url = encodeURI(window.location.pathname+window.location.search);
var frame_host =  window.location.hostname;
if (parent.frames.length < 1)
{
// PRODUCTION (à vérifier):
//document.location.href = "http://"+frame_host+"/index.php?page="+frame_url;
// DEVELOPEMENT:
//document.location.href = "http://127.0.0.1//ECHANGIA.COM/index.htm";
document.location.href = "http://www.echangia.com/index.php";
}






///////////////////////////////////////////////////////////////////////////
///////////		FONCTIONS APPELS DE  PAGES 	//////////////////////////////

function OpenAnnonce(id)
{
//alert("fonction lancée!" + id);
source = 'ViewAnnonce.php?idannonce='+id ;
	window.open(source,'Aperçuannonce','width=685,height=290,scrollbars=no,location=no,directories=no,menubar=no,resizable=no,status=no,toolbar=no');
// <a href='ViewAnnonce.php?idannonce=$annonceconcernee' OnClick='javascript:OpenAnnonce($annonceconcernee);' target='_blank'>?test?</a>
}
function OpenProfilEnvoyeur(reponse,annonceconcernee,idenvoyeur)
{
//alert("fonction lancée!" + id);
source = 'ViewProfil.php?reponse='+reponse+'&idannonce='+annonceconcernee+'&titulaire='+idenvoyeur ;

	window.open(source,'AperçuProfilEnvoyeur','width=530,height=500,scrollbars=no,location=no,directories=no,menubar=no,resizable=no,status=no,toolbar=no');
// // <a href='javascript:void(OpenProfilDestinataire(true,$annonceconcernee,$idenvoyeur));' >
// <a href='Viewprofil.php?reponse=true&idannonce=$annonceconcernee&titulaire=$idenvoyeur' target='_blank'>

}
function OpenProfilDestinataire(reponse,annonceconcernee,iddestinataire)
{
//alert("fonction lancée!" + id);
source = 'ViewProfil.php?reponse='+reponse+'&idannonce='+annonceconcernee+'&titulaire='+iddestinataire ;
	window.open(source,'AperçuProfilDestinataire','width=530,height=500,scrollbars=no,location=no,directories=no,menubar=no,resizable=no,status=no,toolbar=no');
// <a href='javascript:void(OpenProfilDestinataire(true,$annonceconcernee,$iddestinataire));' >
// <a href='Viewprofil.php?reponse=true&idannonce=$annonceconcernee&titulaire=$iddestinataire' target='_blank'>
// selon Messages envoyés ou reçus...
}
function OpenProfilByAdmin(reponse,annonceconcernee,iddestinataire)
{
//alert("fonction lancée!" + id);
source = '../ViewProfil.php?reponse='+reponse+'&idannonce='+annonceconcernee+'&titulaire='+iddestinataire ;
	window.open(source,'AperçuProfilDestinataire','width=530,height=500,scrollbars=no,location=no,directories=no,menubar=no,resizable=no,status=no,toolbar=no');
// <a href='javascript:void(OpenProfilDestinataire(true,$annonceconcernee,$iddestinataire));' >
// <a href='Viewprofil.php?reponse=true&idannonce=$annonceconcernee&titulaire=$iddestinataire' target='_blank'>
// selon Messages envoyés ou reçus...
}

function OpenLegal()
{
//alert("fonction lancée!" + id);
source = 'infolegale.php' ;
	window.open(source,'InfoLegale','width=600,height=500,scrollbars=yes,location=no,directories=no,menubar=no,resizable=no,status=no,toolbar=no');
// <a href='javascript:void(OpenProfilDestinataire(true,$annonceconcernee,$iddestinataire));' >
// <a href='Viewprofil.php?reponse=true&idannonce=$annonceconcernee&titulaire=$iddestinataire' target='_blank'>
// selon Messages envoyés ou reçus...
}

/*
Note pour les newbies:Toutes les propriétés doivent être séparées par des virgules
Propriétés: channelmode=yes|no -&gt;  //La fenêtre ouverte est en mode pleine ecran avec une bar de titre et une toolbar avec les icones en gros et sns legende
directories=yes|no -&gt;//Définit si la fenêtre ouverte possède une tollbar "Liens"
height=nombre -&gt;//Définit la hauteur de la fenêtre
left=nombre -&gt;//Définit la distance entre la gauche de l'ecran et la fenêtre
location=yes|no -&gt;//Définit si la fenêtre ouverte possède une toolbar "Adresse"
menubar=yes|no -&gt;//Définit si la fenêtre ouverte possède des menus
resizable=yes|no -&gt;//Définit si la fenêtre ouverte peut-être redimmensionnée
scrollbars=yes|no -&gt;//Définit si la fenêtre ouverte possède des scollbars
status=yes|no -&gt;//Définit si la fenêtre ouverte possède une barre de status
toolbar=yes|no -&gt;//Definit si la fenetre ouverte est dotée d'une toolbar ou non
top=nombre -&gt;//Définit la distance entre le haut de l'ecran et la fenêtre
width=nombre -&gt;//Définit la largeur de la fenêtre 
*/




//////////////////////////////   VERIFS CHAMPS ////////////////////////////
///////////////////////////////////////////////////////////////////////////

function remplace(avant,apres,zone)  //~~ remplacer caractères génants ~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{  var reg=new RegExp(avant,"g");
  return zone.replace(reg,apres);  }


// utilisée dans verif typerecherche et typepropose
function noguill(nomchamp,data)
{
data = remplace("[\"]","``",data); // spécification des caractères gênants
data = remplace("[']","`",data);
return data;
}






function confirmer(message)
{
//affichage de boite de confirmation

action = confirm(message + "\n\nCette opération est irréversible.\nCliquez OK pour VALIDER votre demande.\nCliquez sur ANNULER pour abandonner.")

		//si OK alors valider
		if(action=="1")
			{alert("L'opération a été acceptée.");
			return true;
			}
		//si ANNULER alors nothing
		if(action=="0")
			{alert("L'opération a été annulée.");
			return false;
			}
}//fin de fonction confirmation


//////////////////////////////////////
//************************************
//////////////////////////////////////

   
//VERIFICATION DU FORMULAIRE 
function verif(nomchamp,valeur) { 
// nécessite chemin du form dans la page.
// chemin="document.inscriptionform.";

		 // Pour chaque nom de champ, faire les vérifications:
		 switch(tableau[i]){
		// genre|nom|prenom|adresse|codepostal|ville|email|login|pass|confirmpass
/////////////////////////////////////////////////////////////////////////////////////

		 case "codesecu":
		 if (isNaN(valeur)){
		 alert("Veuillez recopier le code de sécurité à l'identique... \nN'oubliez pas, il ne s'agit QUE de chiffres... \nMerci");
		 return false;
		 }
		 else if(valeur.length!=6){
		 alert("Vérifiez votre code de sécurité. Il doit contenir 6 chiffres... \nMerci");		 
		 return false;
		 }
		 else{return true;}
		 
		 break;
//////////////////////////////////
		 case"nom":
		 case"prenom":
	 	  limiteinf = 3 ; 
		  limitesup = 50 ;     
	      if (valeur.length < limiteinf){ 
         alert("Le champ '" + nomchamp + "' ne peut avoir moins de  " + limiteinf + " caractères.\nVeuillez corriger le champ '" + nomchamp + "' s.v.p. pour valider le formulaire."); 
         return false; 
		  } 
		  else if (valeur.length > limitesup){ 
			 alert("Le champ '" + nomchamp + "' ne peut avoir plus de " + limitesup + " caractères.\nVeuillez corriger le champ '" + nomchamp + "' s.v.p. pour valider le formulaire.");
		return false; 
		  } 
		  else{ 
			 //SI TOUT OK ON RETOURNE TRUE 
			 return true; 
		  } 
		 break;
/////////////////////////////////////////////////////////////////////////////////////
		 case"adresse":
		  limiteinf = 6 ;
		  limitesup = 100 ; 	
		  if (valeur.length > limitesup){ 
			 alert("Le champ '" + nomchamp + "' ne peut avoir plus de " + limitesup + " caractères.\nVeuillez corriger le champ '" + nomchamp + "' s.v.p. pour valider le formulaire.");
			 return false; 
		  }
		  else if (valeur.length < limiteinf){ 
			 alert("Le champ '" + nomchamp + "' ne peut avoir moins de " + limiteinf + " caractères.\nVeuillez corriger le champ '" + nomchamp + "' s.v.p. pour valider le formulaire.");
			return false; 
		  } 
		  else{ 
			 //SI TOUT OK ON RETOURNE TRUE 
			 return true; 
		  } 
	   break; 
/////////////////////////////////////////////////////////////////////////////////////
		 case"codepostal":
		  limitesup = 5 ; 
		  if (valeur.length != limitesup){ 
			 alert("Le champ '" + nomchamp + "' attend " + limitesup + " caractères.\nPour les DOM & TOM, veuillez ajouter '00' à la fin..."); 
			 return false; 
		  } 
		  else if (isNaN(valeur)){
			alert("Le champ '" + nomchamp + "' ne doit contenir que des chiffres!\nVeuillez corriger le champ '" + nomchamp + "' s.v.p.");
			 return false;	  
		  }
		  else{ 
			 //SI TOUT OK ON RETOURNE TRUE 
			 return true; 
		  } 
	   break;
/////////////////////////////////////////////////////////////////////////////////////
		 case"ville":
	 	  limiteinf = 1 ; 
		  limitesup = 50 ;     
	      if (valeur.length < limiteinf){ 
         alert("Le champ '" + nomchamp + "' ne peut avoir moins de  " + limiteinf + " caractères.\nVeuillez corriger le champ '" + nomchamp + "' s.v.p. pour valider le formulaire."); 
         return false; 
		  } 
		  else if (valeur.length > limitesup){ 
			 alert("Le champ '" + nomchamp + "' ne peut avoir plus de " + limitesup + " caractères.\nVeuillez corriger le champ '" + nomchamp + "' s.v.p. pour valider le formulaire."); 
		return false; 
		  } 
		  else{ 
			 //SI TOUT OK ON RETOURNE TRUE 
			 return true; 
		  } 
		 break;
/////////////////////////////////////////////////////////////////////////////////////
		 case"email":
		  adresse = eval(chemin + nomchamp + ".value"); 
		  if (valeur.indexOf(" ")>=0){
		  alert("Une adresse mail ne possède pas d'espace.\nVeuillez corriger le champ '" + nomchamp + "' s.v.p. pour valider le formulaire."); 
		  return false;
		  }
		  taille = valeur.length; 
		   
		  validelog = false; 
		  validedom = false; 
		  valideext = false; 
		   
		  arob = adresse.lastIndexOf("@"); 
		  //ON DETERMINE LE LOGIN 
		  login = adresse.substring(0,arob); 
		  pointfinal = adresse.lastIndexOf("."); 
		  //ON DETERMINE L EXTENSION 
		  extension = adresse.substring(pointfinal,taille); 
		  //ON DETERMINE LE DOMAINE 
		  domaine = adresse.substring(arob+1,pointfinal); 
		   
		  //VERIFICATION DU LOGIN 
		  if ( login.length > 2 ) { 
			 validelog = true; 
		  } 
		  else { 
			 alert('Ceci n\'est pas une adresse e-mail.\nUne adresse e-mail comporte un arobase @ precede d\'un login \'convenable\'.'); 
			 validelog = false; 
		  } 
		   
		  //VERIFICATION DU DOMAINE 
		  if ( domaine.length > 1 ) { 
			 validedom = true; 
		  } 
		  else { 
			 alert('Ceci n\'est pas une adresse e-mail.\nLe nom de domaine n\'existe pas.'); 
			 validelog = false; 
		  } 
		   
		  //VERIFICATION DE L EXTENSION 
		  if ( pointfinal > -1 && (extension.length == 3 || extension.length == 4) ) { 
			 valideext = true; 
		  } 
		  else { 
			 alert('Ceci n\'est pas une adresse e-mail valide.\nL\'extension n\'est pas bonne.'); 
			 valideext = false; 
		  } 
		   
		  //TEST FINAL 
		  if (validelog == true && validedom == true && valideext == true ) { 
			 //LES TROIS TESTS SONT REUSSIS ON RETOURNE TRUE 
			 return true; 
		  } 
		  else { 
			 //LES TROIS TESTS ON ECHOUES ON RETOURNE FALSE 
			 return false; 
		  } 
	   break; 
		
		
/////////////////////////////////////////////////////////////////////////////////////
		 case"login":
	 	  limiteinf = 3 ; 
		  limitesup = 50 ;     
	      if (valeur.length < limiteinf){ 
         alert("Le champ '" + nomchamp + "' ne peut avoir moins de  " + limiteinf + " caractères.\nVeuillez corriger le champ '" + nomchamp + "' s.v.p. pour valider le formulaire."); 
         return false; 
		  } 
		  else if (valeur.length > limitesup){ 
		 alert("Le champ '" + nomchamp + "' ne peut avoir plus de " + limitesup + " caractères.\nVeuillez corriger le champ '" + nomchamp + "' s.v.p. pour valider le formulaire."); 
		 return false; 
		  } 
		  // si chaine contient des espaces
		  else if (valeur.indexOf(" ")>=0) {
		  alert("Le champ '" + nomchamp + "' ne doit pas contenir d'espaces ni de caractères spéciaux...\nVeuillez corriger le champ '" + nomchamp + "' s.v.p. pour valider le formulaire.");
		  return false;
		  }
		  else{ 
			 //SI TOUT OK ON RETOURNE TRUE 
			 return true; 
		  } 
		 break;
/////////////////////////////////////////////////////////////////////////////////////
		 case"pass":
		  limiteinf = 3 ; 
		  limitesup = 50 ;
		if (valeur.length < limiteinf){ 
         alert("Le champ '" + nomchamp + "' ne peut avoir moins de  " + limiteinf + " caractères.\nVeuillez corriger le champ '" + nomchamp + "' s.v.p. pour valider le formulaire."); 
         //LIMITE INF PAS BON ON RETOURNE FALSE 
         return false; 
		  }
		  else if (valeur.length > limitesup){ 
			 alert("Le champ '" + nomchamp + "' ne peut avoir plus de " + limitesup + " caractères.\nVeuillez corriger le champ '" + nomchamp + "' s.v.p. pour valider le formulaire.");
			 //newval = eval(chemin + nomchamp + ".value.substring(0, " + limitesup + ")"); 
			 //var mazone = eval(chemin + nomchamp) ; 
			 //mazone.value = newval ; 
		return false ;
		  } 
		 else{ return true;}
		 break;

		 case"confirmpass":
		  limiteinf = 3 ; 
		  limitesup = 50 ; 
		 if (valeur != document.inscriptionform.pass.value){
		 alert("Les champs Pass et Confirm pass ont une valeur différente!\nVeuillez corriger le champ '" + nomchamp + "' s.v.p. pour valider le formulaire.");
		 return false;}    
		 else if (valeur.length < limiteinf){ 
         alert("Le champ '" + nomchamp + "' ne peut avoir moins de  " + limiteinf + " caractères.\nVeuillez corriger le champ '" + nomchamp + "' s.v.p. pour valider le formulaire."); 
         //LIMITE INF PAS BON ON RETOURNE FALSE 
         return false; 
		  }
		  else if (valeur.length > limitesup){ 
			 alert("Le champ '" + nomchamp + "' ne peut avoir plus de " + limitesup + " caractères.\nVeuillez corriger le champ '" + nomchamp + "' s.v.p. pour valider le formulaire.");
			 //newval = eval(chemin + nomchamp + ".value.substring(0, " + limitesup + ")"); 
			 //var mazone = eval(chemin + nomchamp) ; 
			 //mazone.value = newval ; 
		return false ;
		  } 
		 else{ return true;}
		 break;
/////////////////////////////////////////////////////////////////////////////////////
// VALIDATION CREATION ANNONCE:
//  'typerecherche|domrecherche|sperecherche|detailrecherche|typepropose|dompropose|spepropose|detailpropose'

/////////////////////////////////////////////////////////////////////////////////////
		case "typerecherche":
		if(eval(chemin+"typerecherche[2].status")==true){ // si case argent propose cochee
			// verif argent debut
			if(isNaN(eval(chemin + "argentdebutrech.value")) || (eval(chemin + "argentdebutrech.value")=="")){
				alert("Section Recherche: \nVous devez indiquer une valeur numérique (en €uros) dans la case gauche.");
			return false ;
			} // fin de if isNaN argentdebutrech
			// verif argent fin
			else if(isNaN(eval(chemin + "argentfinrech.value")) || (eval(chemin + "argentfinrech.value")=="")){
				alert("Section Recherche: \nVous devez indiquer une valeur numérique (en €uros) dans la case droite.");
			return false ;
			} // fin de if isNaN argentfinrech
			else if (Number(eval(chemin + "argentfinrech.value")) < Number(eval(chemin + "argentdebutrech.value"))){
				alert("Section Recherche: \nVeuillez vérifier vos valeurs! La valeur de droite ("+ eval(chemin + "argentfinrech.value") + "€) doit être supérieure à la valeur de gauche ("+ eval(chemin + "argentdebutrech.value") + "€) .");
			return false ;
			} // fin de if argentfin < argent debut
			else{
			// vérifie le champ détail recherche pour voir s'il est bien rempli:			 `
					//detailrechnoguill = noguill('detailrecherche',detailrech); // remplace les " et les ' par des
					detailrech = eval(chemin + "detailrecherche.value");
					nbmotsdetailrecherche = detailrech.split(" ");
					nbmotsreal = 0 ;	
					// calcul si c est de vrais mots:
					   for(x=0;x<nbmotsdetailrecherche.length;x++){
						   if (nbmotsdetailrecherche[x].length >=3) {  // si au moins 3 caractères par mot trouvé alors ok... 
						   nbmotsreal = nbmotsreal + 1 ; }
					   } // fin du for  
					  if (nbmotsreal > 0){
							if (nbmotsreal <= 15){return true;}
							else{ // si nbmots > à 15
							alert("Pour garantir l'efficacité des recherches, le nombre de mots est limité à 15. \nVeuillez corriger le champ Détail Recherche pour continuer."); return false;}
					  }else{ // si nbmots < à 0
					  alert("Vous devez indiquer au moins un mot significatif dans le champ Détail Recherche (par exemple: 'prêt' ou 'espèces'). \nVeuillez corriger pour continuer.");
					  return false;}
			// fin de verif champ detail recherche
			//return true; // champs argentrech bien remplis
			}
		} // fin de if case argent cochee
		return true ;
		break;

		case "typepropose":
		if(eval(chemin+"typepropose[2].status")==true){ // si case argent propose cochee
			// verif argent debut
			if(isNaN(eval(chemin + "argentdebutprop.value")) || (eval(chemin + "argentdebutprop.value")=="")){
				alert("Section Proposition: \nVous devez indiquer une valeur numérique (en €uros) dans la case gauche.");
			return false ;
			} // fin de if isNaN argentdebutrech
			// verif argent fin
			else if(isNaN(eval(chemin + "argentfinprop.value")) || (eval(chemin + "argentfinprop.value")=="")){
				alert("Section Proposition: \nVous devez indiquer une valeur numérique (en €uros) dans la case droite.");
			return false ;
			} // fin de if isNaN argentfinrech
			
			else if (Number(eval(chemin + "argentfinprop.value")) < Number(eval(chemin + "argentdebutprop.value"))){
				alert("Section Proposition: \nVeuillez vérifier vos valeurs! La valeur de droite ("+ eval(chemin + "argentfinprop.value") + "€) doit être supérieure à la valeur de gauche ("+ eval(chemin + "argentdebutprop.value") + "€) .");
			return false ;
			} // fin de if argentfin < argent debut
			else{
			// vérifie le champ détail propose pour voir s'il est bien rempli:			
					detailprop = eval(chemin + "detailpropose.value");
					nbmotsdetailpropose = detailprop.split(" ");
					nbmotsreal = 0 ;	
					// calcul si c est de vrais mots:
					   for(z=0;z<nbmotsdetailpropose.length;z++){
						   if (nbmotsdetailpropose[z].length >=3) {  // si au moins 3 caractères par mot trouvé alors ok... 
						   nbmotsreal = nbmotsreal + 1 ; }
					   } // fin du for  
					  if (nbmotsreal > 0){
							if (nbmotsreal <= 15){return true;}
							else{ // si nbmots > à 15
							alert("Pour garantir l'efficacité des recherches, le nombre de mots est limité à 15. \nVeuillez corriger le champ Détail Proposition pour continuer."); return false;}
					  }else{ // si nbmots < à 0
					  alert("Vous devez indiquer au moins un mot significatif dans le champ Détail Proposition (par exemple: 'prêt' ou 'espèces'). \nVeuillez corriger pour continuer.");
					  return false;}
			// fin de verif champ detail recherche
			//return true; // champs argentprop bien remplis
			}
		} // fin de if case argent cochee   
		return true;
		break;

		case "domrecherche":
		if(eval(chemin+"typerecherche[2].status")!=true){ // si case argent recherche pas cochee
		valid = 0;
		if (valeur.length>0){ return true;valid=valid+1;}else{alert("Section Recherche:\nAprès avoir choisi le type de votre recherche (matériel ou service ou argent), \nvous devez spécifier un domaine pour enregistrer votre recherche");return false;valid=0;}
		}else{return true ; }
		break;

		case "sperecherche":
		if(eval(chemin+"typerecherche[2].status")!=true){ // si case argent recherche pas cochee
		detailrech = eval(chemin + "detailrecherche.value");
		nbmotsdetailrecherche = detailrech.split(" ");
		nbmotsreal = 0 ;	
		if (valeur.length>0){ // si rempli vérifier nb de mots
		// calcul si c est de vrais mots:
		   for(x=0;x<nbmotsdetailrecherche.length;x++){
			   if (nbmotsdetailrecherche[x].length >=3) {  // si au moins 3 caractères par mot trouvé alors ok... 
			   nbmotsreal = nbmotsreal + 1 ; }
		   } // fin du for  
		  if (nbmotsreal > 0){
				if (nbmotsreal <= 15){return true;}
				else{ // si nbmots > à 15
				alert("Pour garantir l'efficacité des recherches, le nombre de mots est limité à 15. \nVeuillez corriger le champ Détail Recherche pour continuer."); return false;}
		  }else{ // si nbmots < à 0
		  alert("Vous devez indiquer au moins un mot significatif dans le champ Détail Recherche. \nVeuillez corriger pour continuer.");
		  return false;}
		}else{  // si pas rempli renvoyer false
		alert("Section Recherche:\nVous devez spécifier une spécialité pour enregistrer votre recherche"); return false;}
		}else{return true ; }
		break;

		case "dompropose":
		if(eval(chemin+"typepropose[2].status")!=true){ // si case argent propose pas cochee
		if (valeur.length>0){ return true;valid=valid+1;}else{alert("Section Proposition:\nAprès avoir choisi le type de votre proposition (matériel ou service ou argent), \nvous devez spécifier un domaine pour enregistrer votre proposition");return false;valid=0;}
		}else{ return true ; }
		break;

		case "spepropose":
		if(eval(chemin+"typepropose[2].status")!=true){ // si case argent propose pas cochee
		detailprop = eval(chemin + "detailpropose.value");
		nbmotsdetailpropose = detailprop.split(" ");
		nbmotsreal = 0 ;	
		if (valeur.length>0){ // si rempli vérifier nb de mots
		// calcul si c est de vrais mots:
		   for(z=0;z<nbmotsdetailpropose.length;z++){
			   if (nbmotsdetailpropose[z].length >=3) {  // si au moins 3 caractères par mot trouvé alors ok... 
			   nbmotsreal = nbmotsreal + 1 ; }
		   } // fin du for  
		  if (nbmotsreal > 0){
				if (nbmotsreal <= 15){return true;}
				else{ // si nbmots > à 15
				alert("Pour garantir l'efficacité des recherches, le nombre de mots est limité à 15. \nVeuillez corriger le champ Détail Proposition pour continuer."); return false;}
		  }else{ // si nbmots < à 0
		  alert("Vous devez indiquer au moins un mot significatif dans le champ Détail Proposition. \nVeuillez corriger pour continuer.");
		  return false;}
		}else{  // si pas rempli renvoyer false
		alert("Section Proposition:\nVous devez spécifier une spécialité pour enregistrer votre proposition"); return false;}
		}else{return true ; }
		break;

//////////////////////////////////////////////////////////////////////////////////

		case "produitservice": // suggestdom
		if (  (eval(chemin+"produitservice[0].status")!=true) && (eval(chemin+"produitservice[1].status")!=true) ){ // si aucune case cochee
		alert("Vous devez indiquer s'il s'agit d'un PRODUIT ou d'un SERVICE...");
		return false;
		}
		else if(  (eval(chemin+"Domspe[0].status")!=true) && (eval(chemin+"Domspe[1].status")!=true) ){ // si aucune case cochee
		alert("Vous devez indiquer si vous proposez un DOMAINE ou une SPECIALITE...");
		return false;
		}
		else if( (eval(chemin+"NomDomSpe.value")=="")||(eval(chemin+"NomDomSpe.length")< 3)){
		alert("Vous n'avez pas indiqué de nom pour le nouveau Domaine ou la nouvelle Spécialité...");
		return false;
		}
		else{ // si tout est bon
		return true; }
		break;

///////////////  VERIFIE QUE PAS DE MATCHING EFFECTUE ENTRE AMITIE RENCONTRE ET ARGENT !!!
		case "meetmoney": // suggestdom
		var motinterdit = new RegExp("Rencontres") ;
		if ((motinterdit.test(document.SearchingFormulaire.domrecherche.value) == 1)&&(eval(chemin+"typepropose[2].status")==true)){ // si recherche rencontre et propose argent
		alert("                               --ATTENTION--\n\n\nVous ne devez pas proposer de l'argent contre une rencontre!!! \n\nIl s'agit d'un comportement hors-la-loi. \n\n\nMerci de corriger.");
		return false;
		}
		else if ((motinterdit.test(document.SearchingFormulaire.dompropose.value) == 1)&&(eval(chemin+"typerecherche[2].status")==true)){ // si propose rencontre et recherche argent
		alert("                               --ATTENTION--\n\n\nVous ne devez pas rechercher de l'argent contre une rencontre!!! \n\nIl s'agit d'un comportement hors-la-loi. \n\n\nMerci de corriger.");
		return false;
		}
		else { return true; }
		//}
		break;
/////////////////////////////////////////////////////////////////////////////////////


/////////////////////////////////////////////////////////////////////////////////////

 
		 } // fin du switch
		
} //fin de fonction verif



//////////////////////////////////////
//************************************
//////////////////////////////////////

//VERIFICATION DU FORMULAIRE 
function validform(champs) { 
    
   //DETERMINATION DES CHAMP OBLIGATOIRE 
   tableau = champs.split("|"); 
   //ON DETERMINE UNE VARIABLE ETAT PAR DEFAUT A TRUE 
   etat = true; 
    
   for(i=0;i<tableau.length;i++){ 
      //ON CHERCHE LA VALEUR DU CHAMP 
	  //alert("alert1avantverif"+ tableau[i] + "--" + etat);
	  val = eval(chemin + tableau[i] + ".value"); 
	  //alert ("champ " + tableau[i] + " --- Valeur :  " + eval(chemin + tableau[i] + ".value"));
      //alert(tableau[i] + '---' + val);
	  //ON VALORISE ETAT PUIS VERIFIE QUE LA VARIABLE ETAT EST TOUJOURS A TRUE 
	  etat = verif (tableau[i], val);
	  //alert("alert2aprèsverif"+ tableau[i] + "--" + etat);
	  if (etat == true){ 
 		//alert ("Ce champ était bien rempli!!!");
      } 
      else { 
         //LA VERIFICATION A TROUVER UNE ERREUR ON FAIT UNE ALERTE ET ON SORT DE LA BOUCLE FOR 
         //alert("Veuillez corriger les errreurs pour valider votre formulaire."); 
         break; 
      } // fin de else
   }  // fin du for

   //UNE FOIS TOUS LES CHAMPS OBLIGATOIRES VERIFIES ON REVERIFIE QUE LA VARIABLE ETAT SOIT TOUJOURS A TRUE 
   if (etat == true){ 
      //SI OUI ON ENVOI LE FORMULAIRE 
   	  //alert("form envoyé...");
	  eval(chemin + "submit()");
   }
   else{return false;} // si etat != true, on envoie pas le form...
} 