function simulateClick(id) {

  var cb = document.getElementById(id);

  if (cb.dispatchEvent) {

    var evt = document.createEvent("MouseEvents");

    evt.initEvent("click", true, true);

    cb.dispatchEvent(evt);

  } else {

    cb.click();

  }

}

function caracteres_interdits(champ_value)
 {

 rejet = false;//variable qui nous pemettra de valider ou pas le formulaire
 falsechar="";//variable qui stockera les caracteres non valides trouvés
 var non = new Array("/","'","\"","\\"," ");//tableau des caracteres non valides, vous pouvez les modifier
 
 //----début de la boucle qui verifie un a un chaque caractere saisi dans le champ
 for (i=0 ; i <= champ_value.length ; i++)
 {
 
 	//----début de la boucle qui fait défiler les elements du tableau 'non' un a un pour les comparer aux caracteres du champ
 	for (y=0 ; y <= non.length ; y++)
 	{

 	//----debut de la condition (si le caractere i du champ correspond a la valeur y du tableau...)
 	if ((champ_value.charAt(i)==non[y]))
 	{
 rejet=true;//si un seul caractere invalide est trouvé l'envoi est arreté
 //----enregistrement des caracteres invalides dans la variable falsechar
 if (falsechar=="")
 {
 falsechar= non[y];
 }else{
 falsechar= falsechar+","+non[y];
 }
 //---fin enregistrement des caracteres invalides
 }
 //---fin de la condition de comparaison des elements saisi-tableau
 }
 //---fin de la boucle "éléments du tableau"
 }
 //---fin de la boucle "caracteres saisis"

 //-----si des caracteres invalides sont trouvés...
 if (rejet==true)
 {
 //---affichage de l'alerte
 //if (falsechar.length==1){alert("Le caractère "+falsechar+" n'est pas autorisé pour le login");}else{alert("Le caractère "+falsechar+" n'est pas autorisé pour le login");}
 return (false);
 //----si les caracteres sont valides....
 }else{
 //formulaire.submit();
 return (true);
 }
}

function limit(champ,limite)
{
	if(champ.value.length>limite)
	{
	champ.value=champ.value.substring(0,limite);
	}
}

function verif_int(champ)
{
	if(isNaN(champ.value)){alert('Ce champ ne peut contenir qu\'un nombre'); champ.value='1'; return false;}
	if(champ.value<=0){alert('Ce champ ne peut contenir qu\'un nombre compris entre 1 et 99'); champ.value='1'; return false;}
}

function verif_form(Form)
{

var div_alert=document.getElementById(Form.id+'_alert');

	switch(Form.id)
	{
		case 'form_ville_asavoir' :
		if(Form.titre.value==''){alert('Veuillez préciser le titre'); return false;}
		if(Form.texte.value==''){alert('Veuillez préciser le texte'); return false;}
		break;
		
		case 'form_pays_dico' :
		if(Form.mot.value==''){alert('Veuillez préciser le mot'); return false;}
		if(Form.traduction.value==''){alert('Veuillez préciser la traduction'); return false;}
		break;
		
		case 'form_offre_ajout' :
		if(Form.nom.value==''){alert('Veuillez préciser le nom'); return false;}
		if(Form.categorie.value==''){alert('Veuillez préciser la categorie'); return false;}
		break;
		
		case 'form_offre_infos' :

		tmp1=Form.date_debut.value.split('.'); 
		tmp2=Form.date_fin.value.split('.'); 
		
		if( (tmp2.length!=3)||(tmp2[0].length!=2)||(tmp2[1].length!=2)||(tmp2[2].length!=4) )
		{alert('La date de fin n\'est pas écrite dans le bon format');return false}
		if( (tmp1.length!=3)||(tmp1[0].length!=2)||(tmp1[1].length!=2)||(tmp1[2].length!=4) )
		{alert('La date de début n\'est pas écrite dans le bon format');return false}
		
		//alert(mktime(0,0,0,tmp2[1],tmp2[0],tmp2[2])+" / "+mktime(0,0,0,tmp1[1],tmp1[0],tmp1[2]));
		
		if( mktime(0,0,0,tmp2[1],tmp2[0],tmp2[2]) <= mktime(0,0,0,tmp1[1],tmp1[0],tmp1[2]) )
		{alert('La date de fin est antérieure ou égale à la date de début');return false;}
		break;
		
		//FORMULAIRE D'INSCRIPTION LAMBDA
		case 'form_inscription' :

		if(Form.prenom.value==""){div_alert.innerHTML='Veuillez indiquer votre prénom.';return false;}
		if(Form.nom.value==""){div_alert.innerHTML='Veuillez indiquer votre nom.';return false;}
		if(Form.email.value==""){div_alert.innerHTML='Veuillez indiquer votre email.';return false;}

		var re_email = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$/ ;
		t_email = re_email.test(Form.email.value);
		if ( (!t_email)&&(Form.email.value!="") ){div_alert.innerHTML="L'e-mail indiqué n'est pas correct.";return false;}
		if(!caracteres_interdits(Form.email.value)){div_alert.innerHTML="L'e-mail indiqué n'est pas correct.";return false;}
		
		if ( Form.password0.value=="" )	{div_alert.innerHTML='Veuillez préciser un mot de passe.';return false;}
		if ( Form.password0.value.length<5 )	{div_alert.innerHTML='Veuillez préciser un mot de passe d\'au moins 5 caractères.';return false;}
		if ( Form.password0_2.value=="" )	{div_alert.innerHTML='Veuillez confirmer votre mot de passe.';return false;}
		if ( Form.password0_2.value!=Form.password0.value )	{div_alert.innerHTML='Les mots de passe indiqués ne sont pas les mêmes.';return false;}
		if ( Form.cgu.checked==false )	{div_alert.innerHTML='Veuillez accepter les Conditions Générales d\'Utilisation.';return false;}
		break;
		
		//FORMULAIRE DE MODIFICATION D'INFOS
		case 'form_compte_infos' :
		
		if(Form.prenom.value==""){div_alert.innerHTML='Veuillez indiquer votre prénom';return false;}
		if(Form.nom.value==""){div_alert.innerHTML='Veuillez indiquer votre nom.';return false;}
		if(Form.email.value==""){div_alert.innerHTML='Veuillez indiquer votre email.';return false;}
		
		var re_email = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$/ ;
		t_email = re_email.test(Form.email.value);
		if ( (!t_email)&&(Form.email.value!="") ){div_alert.innerHTML="L'e-mail indiqué n'est pas correct.";return false;}
		if(!caracteres_interdits(Form.email.value)){div_alert.innerHTML="L'e-mail indiqué n'est pas correct.";return false;}
		
		break;
		
		//FORMULAIRE DE MODIFICATION DE PASSWORD
		case 'form_compte_password' :
		
		if(Form.password.value==""){div_alert.innerHTML='Veuillez indiquer le password actuel.';return false;}
		if(Form.password_new_clair.value==""){div_alert.innerHTML='Veuillez indiquer le nouveau password.';return false;}
		if(Form.password_new2_clair.value==""){div_alert.innerHTML='Veuillez confirmer le nouveau password.';return false;}
		if ( Form.password_new_clair.value.length<5 )	{div_alert.innerHTML='Veuillez préciser un mot de passe d\'au moins 5 caractères.';return false;}
		if(Form.password_new_clair.value!=Form.password_new2_clair.value){div_alert.innerHTML='Les passwords indiqués ne sont pas les mêmes.';return false;}
		break;
		
		//FORMULAIRE DE LOGIN
		case 'form_login' :
		
		if(Form.email.value==""){div_alert.innerHTML='Veuillez préciser votre email.';return false;}
		if(Form.password.value==""){div_alert.innerHTML='Veuillez préciser votre password.';return false;}
		break;
		
		//FORMULAIRE DE RENVOI PASSWORD	
		case 'form_renvoi_password' :
		
		if(Form.email.value==""){div_alert.innerHTML='Veuillez préciser votre email.';return false;}
		var re_email = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$/ ;
		t_email = re_email.test(Form.email.value);
		if ( (!t_email)&&(Form.email.value!="") ){div_alert.innerHTML="L'e-mail indiqué n'est pas correct.";return false;}
		break
		
		//FORMULAIRE DE RECAP ACHAT
		case 'form_recap_achat' :
		//div_alert.innerHTML='Ce site est encore en cours de construction. Inscrivez vous à la Newsletter pour être mis au courant de sa mise en ligne définitive.';return false;
		if(Form.nom.value==""){div_alert.innerHTML='Veuillez préciser le bénéficiaire du coupon.';return false;}
		if(Form.email.value==""){div_alert.innerHTML='Veuillez préciser l\'email de réception.';return false;}
		var re_email = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$/ ;
		t_email = re_email.test(Form.email.value);
		if ( (!t_email)&&(Form.email.value!="") ){div_alert.innerHTML="L'e-mail indiqué n'est pas correct.";return false;}
		if ( Form.cgv.checked==false )	{div_alert.innerHTML='Veuillez accepter les Conditions Générales de Vente.';return false;}
		break;
		
		//FORMULAIRE OFFRIR
		case 'form_offrir' :
		if(Form.nom_offrir.value==""){div_alert.innerHTML='Veuillez préciser le bénéficiaire du coupon.';return false;}
		if(Form.email_offrir.value==""){div_alert.innerHTML='Veuillez préciser l\'email de réception.';return false;}
		var re_email = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$/ ;
		t_email = re_email.test(Form.email_offrir.value);
		if ( (!t_email)&&(Form.email_offrir.value!="") ){div_alert.innerHTML="L'e-mail indiqué n'est pas correct.";return false;}
		break;
		
		//FORMULAIRE FORUM
		case 'form_forum' :
		if(Form.texte.value==""){div_alert.innerHTML='Veuillez préciser votre message.';return false;}
		break;
		
		//FORMULAIRE INSCRIPTION NEWSLETTER
		case 'form_inscription_newsletter' :
		if(Form.email_newsletter.value==""){div_alert.innerHTML='Veuillez préciser votre email.';return false;}
		var re_email = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$/ ;
		t_email = re_email.test(Form.email_newsletter.value);
		if ( (!t_email)&&(Form.email_newsletter.value!="") ){div_alert.innerHTML="L'e-mail indiqué n'est pas correct.";return false;}
		break;
		
		//FORMULAIRE INSCRIPTION NEWSLETTER BOX
		case 'form_inscription_newsletter_box' :
		if(Form.email_newsletter.value==""){div_alert.innerHTML='Veuillez préciser votre email.';return false;}
		var re_email = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$/ ;
		t_email = re_email.test(Form.email_newsletter.value);
		if ( (!t_email)&&(Form.email_newsletter.value!="") ){div_alert.innerHTML="L'e-mail indiqué n'est pas correct.";return false;}
		break;
		
		//FORMULAIRE INSCRIPTION NEWSLETTER BOX
		case 'form_desabo' :

		if(Form.email.value==""){div_alert.innerHTML='Veuillez préciser votre email.';return false;}
		var re_email = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$/ ;
		t_email = re_email.test(Form.email.value);
		if ( (!t_email)&&(Form.email.value!="") ){div_alert.innerHTML="L'e-mail indiqué n'est pas correct.";return false;}
		break;
		
	}
	
return true;
}


function strip_tags (str, allowed_tags) {
    // Strips HTML and PHP tags from a string  
    // 
    // version: 1006.1915
    // discuss at: http://phpjs.org/functions/strip_tags    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Luke Godfrey
    // +      input by: Pul
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Onno Marsman    // +      input by: Alex
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: Marc Palau
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: Brett Zamir (http://brett-zamir.me)    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Eric Nagel
    // +      input by: Bobby Drake
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Tomasz Wesolowski    // *     example 1: strip_tags('<p>Kevin</p> <b>van</b> <i>Zonneveld</i>', '<i><b>');
    // *     returns 1: 'Kevin <b>van</b> <i>Zonneveld</i>'
    // *     example 2: strip_tags('<p>Kevin <img src="someimage.png" onmouseover="someFunction()">van <i>Zonneveld</i></p>', '<p>');
    // *     returns 2: '<p>Kevin van Zonneveld</p>'
    // *     example 3: strip_tags("<a href='http://kevin.vanzonneveld.net'>Kevin van Zonneveld</a>", "<a>");    // *     returns 3: '<a href='http://kevin.vanzonneveld.net'>Kevin van Zonneveld</a>'
    // *     example 4: strip_tags('1 < 5 5 > 1');
    // *     returns 4: '1 < 5 5 > 1'
    var key = '', allowed = false;
    var matches = [];    var allowed_array = [];
    var allowed_tag = '';
    var i = 0;
    var k = '';
    var html = ''; 
    var replacer = function (search, replace, str) {
        return str.split(search).join(replace);
    };
     // Build allowes tags associative array
    if (allowed_tags) {
        allowed_array = allowed_tags.match(/([a-zA-Z0-9]+)/gi);
    }
     str += '';
 
    // Match tags
    matches = str.match(/(<\/?[\S][^>]*>)/gi);
     // Go through all HTML tags
    for (key in matches) {
        if (isNaN(key)) {
            // IE7 Hack
            continue;        }
 
        // Save HTML tag
        html = matches[key].toString();
         // Is tag not in allowed list? Remove from str!
        allowed = false;
 
        // Go through all allowed tags
        for (k in allowed_array) {            // Init
            allowed_tag = allowed_array[k];
            i = -1;
 
            if (i != 0) { i = html.toLowerCase().indexOf('<'+allowed_tag+'>');}            if (i != 0) { i = html.toLowerCase().indexOf('<'+allowed_tag+' ');}
            if (i != 0) { i = html.toLowerCase().indexOf('</'+allowed_tag)   ;}
 
            // Determine
            if (i == 0) {                allowed = true;
                break;
            }
        }
         if (!allowed) {
            str = replacer(html, "", str); // Custom replace. No regexing
        }
    }
     return str;
}