// Ajoute un slashe quand il y a un apostrophe
function addslashes(str)
{
	str = str.replace(/\\/g,'\\\\');
	str = str.replace(/\'/g,'\\\'');
	str = str.replace(/\"/g,'\\"');
	str = str.replace(/\0/g,'\\0');
	return str;
}

// Decode la chaine
function decode(utftext) 
{
	var string = "";
	var i = 0;
	var c = c1 = c2 = 0;
 
	while ( i < utftext.length ) 
	{
 		c = utftext.charCodeAt(i);
 		
		if (c < 128) 
		{
			string += String.fromCharCode(c);
			i++;
		}
		else if((c > 191) && (c < 224)) 
		{
			c2 = utftext.charCodeAt(i+1);
			string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
			i += 2;
		}
		else 
		{
			c2 = utftext.charCodeAt(i+1);
			c3 = utftext.charCodeAt(i+2);
			string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
			i += 3;
		}
	}
 
	return string;
}

// Remplace les "\n" par les "<br />"
var re_nlchar = "";
function nl2br(text)
{
	text = escape(text);
	if(text.indexOf('%0D%0A') > -1)
	{
		re_nlchar = /%0D%0A/g ;
	}
	else if(text.indexOf('%0A') > -1)
	{
		re_nlchar = /%0A/g ;
	}
	else if(text.indexOf('%0D') > -1)
	{
		re_nlchar = /%0D/g ;
	}
	else if(text.indexOf('\s') > -1)
	{
		// Pour Safari
		re_nlchar = /\s/g ;
	}
	return unescape( text.replace(re_nlchar,'<br />') );
}

// Verifie l'ecriture du mail
function VerifMail(Mail)
{
	if(Mail != "")
	{
		if ((Mail.indexOf("@")>=0) && (Mail.lastIndexOf(".") > Mail.indexOf("@")))
		{
			return true;
		}
		else
		{
			return false;
		}
	}
	else
	{
		return true;
	}
}

// Verifie les champs formulaires lorsqu'on adhere a Bourgogne Citoyenne
function VerifChampsAdherez()
{
	var Autorise = [];
	var TabChamps = ["Civilite","Nom","Prenom","Dpt","Mail"];
	var TabErreurChamps = [
				"Veuillez pr&eacute;ciser votre civilit&eacute;",
				"Veuillez pr&eacute;ciser votre nom",
				"Veuillez pr&eacute;ciser votre pr&eacute;nom",
				"Veuillez pr&eacute;ciser votre d&eacute;partement",
				"Veuillez pr&eacute;ciser votre adresse mail"
				];
	var TabErreur = [];
	var Parametres = "";

	// Verifie si les champs sont vides, dans ce cas on affiche un message d'erreur
	for(var i=0;i<TabChamps.length;i++)
	{
		eval("var "+TabChamps[i]+" = '';");
		if(addslashes(document.getElementById(TabChamps[i]).value) == "")
		{
			document.getElementById(TabChamps[i]).style.backgroundColor = "#FFCC00";
			Autorise.push(0);
			TabErreur.push(TabErreurChamps[i]);
		}
		else
		{
			document.getElementById(TabChamps[i]).style.backgroundColor = "#FFFFFF";
			eval(TabChamps[i]+" = '"+addslashes(document.getElementById(TabChamps[i]).value)+"';");
		}
	}
	
	// Verifie la bonne ecriture de l'adresse mail
	if(VerifMail(document.getElementById("Mail").value) == false)
	{
		document.getElementById("Mail").style.backgroundColor = "#FFCC00";
		Autorise.push(0);
		TabErreur.push("L'adresse mail n'est pas correcte");
	}

	if(Autorise.length == 0)
	{
		AjaxMessAdherez(Civilite,Nom,Prenom,Dpt,Mail);
	}
	else
	{
		var DivErreurAdherez = document.getElementById("DivErreurAdherez");
		var HTMLErreurAdherez = "<table><tr><td class=\"TitreEncadre\">Erreur(s) : </td></tr><tr><td><ul>";
		for(var j=0;j<TabErreur.length;j++)
		{
			HTMLErreurAdherez += "<li>"+TabErreur[j]+"</li>";
		}
		HTMLErreurAdherez += "</ul></td></tr></table>";
		DivErreurAdherez.style.display = "block";
		DivErreurAdherez.innerHTML = HTMLErreurAdherez;
		return HTMLErreurAdherez;
	}
}
   
// Verifie les champs formulaires lorsqu'on ajoute un commentaire
function VerifChampsDebattre(IdSujet)
{
	var Autorise = [];
	var TabChamps = ["TexteComm"];
	var TabErreurChamps = [
				"Veuillez &eacute;crire un commentaire"
				];
	var TabErreur = [];
	var Parametres = "";

	// Verifie si les champs sont vides, dans ce cas on affiche un message d'erreur
	for(var i=0;i<TabChamps.length;i++)
	{
		eval("var "+TabChamps[i]+" = '';");
		if(addslashes(document.getElementById(TabChamps[i]).value) == "")
		{
			document.getElementById(TabChamps[i]).style.backgroundColor = "#FFCC00";
			Autorise.push(0);
			TabErreur.push(TabErreurChamps[i]);
		}
		else
		{
			document.getElementById(TabChamps[i]).style.backgroundColor = "#FFFFFF";
			eval(TabChamps[i]+" = '"+nl2br(addslashes(document.getElementById(TabChamps[i]).value))+"';");
		}
	}
	
	if(Autorise.length == 0)
	{
		AjaxMessAjouterComm(document.getElementById("AuteurComm").value,TexteComm,IdSujet);
	}
	else
	{
		var DivErreurDebattre = document.getElementById("DivErreurDebattre");	
		var HTMLErreurDebattre = "<table><tr><td class=\"TitreEncadre\">Erreur : </td></tr><tr><td><ul>";
		for(var j=0;j<TabErreur.length;j++)
		{
			HTMLErreurDebattre += "<li>"+TabErreur[j]+"</li>";
		}
		HTMLErreurDebattre += "</ul></td></tr></table>";
		DivErreurDebattre.style.display = "block";
		DivErreurDebattre.innerHTML = HTMLErreurDebattre;
		return HTMLErreurDebattre;
	}
}

// Verifie les champs formulaires lorsqu'on envoie un mail de contact
function VerifChampsNousContacter()
{
	var Autorise = [];
	var TabChamps = ["Civilite","Nom","Prenom","Mail","Sujet","Texte"];
	var TabErreurChamps = [
				"Veuillez pr&eacute;ciser votre civilit&eacute;",
				"Veuillez pr&eacute;ciser votre nom",
				"Veuillez pr&eacute;ciser votre pr&eacute;nom",
				"Veuillez pr&eacute;ciser votre adresse mail",
				"Veuillez pr&eacute;ciser le sujet du message",
				"Veuillez pr&eacute;ciser le contenu du message"
				];
	var TabErreur = [];
	var Parametres = "";

	// Verifie si les champs sont vides, dans ce cas on affiche un message d'erreur
	for(var i=0;i<TabChamps.length;i++)
	{
		eval("var "+TabChamps[i]+" = '';");
		if(addslashes(document.getElementById(TabChamps[i]).value) == "")
		{
			document.getElementById(TabChamps[i]).style.backgroundColor = "#FFCC00";
			Autorise.push(0);
			TabErreur.push(TabErreurChamps[i]);
		}
		else
		{
			document.getElementById(TabChamps[i]).style.backgroundColor = "#FFFFFF";
			if(TabChamps[i] == "Texte")
			{
				eval(TabChamps[i]+" = '"+nl2br(addslashes(document.getElementById(TabChamps[i]).value))+"';");
			}
			else
			{
				eval(TabChamps[i]+" = '"+addslashes(document.getElementById(TabChamps[i]).value)+"';");
			}		
		}
	}
	
	// Verifie la bonne ecriture de l'adresse mail
	if(VerifMail(document.getElementById("Mail").value) == false)
	{
		document.getElementById("Mail").style.backgroundColor = "#FFCC00";
		Autorise.push(0);
		TabErreur.push("L'adresse mail n'est pas correcte");
	}

	if(Autorise.length == 0)
	{
		AjaxMessEnvoiMail(Civilite,Nom,Prenom,Mail,Sujet,Texte);
	}
	else
	{
		var DivErreurNousContacter = document.getElementById("DivErreurNousContacter");	
		var HTMLErreurNousContacter = "<table><tr><td class=\"TitreEncadre\">Erreur(s) : </td></tr><tr><td><ul>";
		for(var j=0;j<TabErreur.length;j++)
		{
			HTMLErreurNousContacter += "<li>"+TabErreur[j]+"</li>";
		}
		HTMLErreurNousContacter += "</ul></td></tr></table>";
		DivErreurNousContacter.style.display = "block";
		DivErreurNousContacter.innerHTML = HTMLErreurNousContacter;
		return HTMLErreurNousContacter;
	}
}
