// FORUM

function AfficherForum(p_intPosition) {
	document.location.href = "../cgi-bin/forum.cgi?start=" + p_intPosition;
	return false;
}

function FRepondre(iFID) {
	WindowForum("../cgi-bin/forum.cgi?m=repondre&fid=" + iFID,"Repondre",312,312);
}

function FEditer(iFID) {
	WindowForum("../cgi-bin/forum.cgi?m=editer&fid=" + iFID,"Editer",312,312);
}

function FSupprimer(iFID) {
	WindowForum("../cgi-bin/forum.cgi?m=supprimer&fid=" + iFID,"Supprimer",312,312);
}

function WindowForum(sUrl,sName,iWidth,iHeight) {
	W_Popup = window.open(sUrl,sName,"toolbar=0,directories=0,menubar=0,resizable=no,scrollbars=0,width="+iWidth+",height="+iHeight+",screenX=0,screenY=0,top="+ (screen.availHeight - iHeight)/2 +",left="+(screen.availWidth - iWidth)/2);
	
	if (!W_Popup.opener) {
		W_Popup.opener = self;
	}
}

function RepondreMessage(form1,fid) {
	var sErreur = "";

	form1.auteur.value = Trim(form1.auteur.value);
	form1.sujet.value = Trim(form1.sujet.value);
	form1.reponse.value = Trim(form1.reponse.value);
	
	var sPseudo = form1.auteur.value;
	sErreur += Check_Pseudo(sPseudo);

	var sSujet = form1.sujet.value;
	sErreur += Check_Sujet(sSujet);
	
	var sMessage = form1.reponse.value;
	sErreur += Check_Message(sMessage);
	
	if (sErreur != "") {
		openWindow("../warning.html?e="+sErreur,"erreur",350,250);
		W_Popup.focus();
		return false;
	} else {
		form1.message_formate.value = Replace(form1.reponse.value,"\n","<BR>");
		form1.action = "../cgi-bin/forum.cgi?m=repondre2&fid="+fid;
		form1.submit();
		return true;
	}
}

function SupprimerMessage(form1,fid) {
	var sErreur = "";

	form1.pwd.value = Trim(form1.pwd.value);
	
	var sPwd = form1.pwd.value;
	sErreur += Check_Password(sPwd);

	if (sErreur != "") {
		openWindow("../warning.html?e="+sErreur,"erreur",350,250);
		W_Popup.focus();
		return false;
	} else {
		form1.action = "../cgi-bin/forum.cgi?m=supprimer2&fid="+fid;
		form1.submit();
		return true;
	}
}


function Validate_PublierMessage(form1) {
	var sErreur = "";

	form1.auteur.value = Trim(form1.auteur.value);
	form1.sujet.value = Trim(form1.sujet.value);
	form1.message_forum.value = Trim(form1.message_forum.value);
	
	var sPseudo = form1.auteur.value;
	sErreur += Check_Pseudo(sPseudo);

	var sSujet = form1.sujet.value;
	sErreur += Check_Sujet(sSujet);
	
	var sMessage = form1.message_forum.value;
	sErreur += Check_Message(sMessage);
	
	if (sErreur != "") {
		openWindow("../warning.html?e="+sErreur,"erreur",350,250);
		W_Popup.focus();
		return false;
	} else {
		form1.message_formate.value = Replace(form1.message_forum.value,"\n","<BR>");
		form1.action = "../cgi-bin/forum.cgi?m=publier";
		form1.submit();
		return true;
	}
}

function Check_Pseudo(p_sPseudo) {
	// verification du pseudo
	// 1) entre 3 et 10 caracteres
	// 2) seuls les caracteres usuels sont autorisés

	var sErreur = "";

	if (p_sPseudo.length<3 || p_sPseudo.length>10) {
		sErreur += "E23";
		//sErreur += "Le pseudo doit comporter entre 3 et 10 caract&egrave;res.<BR>";
	} else {
		p_sPseudo = p_sPseudo.toLowerCase();
		var iMax = p_sPseudo.length;
		var sCaracteresAutorises = "abcdefghijklmnopqrstuvwxyz0123456789";

		for (var i=0;i<iMax;i++) {
			if (sCaracteresAutorises.indexOf(p_sPseudo.charAt(i)) == -1) {
				i=iMax+1;
			}
		}
	
		if (i>iMax) {
			sErreur += "E24";
			//sErreur += "Pseudo incorrect. Vous ne pouvez utiliser que des carat&egraveres usuels.<BR>";
		}
	}
	return sErreur;
}

function Check_Password(p_sPassword) {
	// verification du password
	// 1) entre 4 et 15 caracteres
	// 2) seuls les chiffres et les caracteres usuels sont autorisés

	var sErreur = "";

	if (p_sPassword.length<4 || p_sPassword.length>15) {
		sErreur += "E26";
		//sErreur += "Le mot de passe doit comporter entre 4 et 15 caract&egrave;res.<BR>";
	} else {
		p_sPassword = p_sPassword.toLowerCase();
		var iMax = p_sPassword.length;
		var sCaracteresAutorises = "abcdefghijklmnopqrstuvwxyz0123456789";

		for (var i=0;i<iMax;i++) {
			if (sCaracteresAutorises.indexOf(p_sPassword.charAt(i)) == -1) {
				i=iMax+1;
			}
		}
	
		if (i>iMax) {
			sErreur += "E13";
			//sErreur += "Password incorrect. Vous ne pouvez utiliser que des carat&egraveres usuels ou des chiffres.<BR>";
		}
	}
	return sErreur;	
}

function Check_Sujet(p_sSujet) {
	// verification du sujet
	// non vide
	// Tout est autorisé sauf <,>,",@,&,'

	var sErreur = "";
	var sCaracteresNonAutorises = "<>@\"&'";
	var iMax = sCaracteresNonAutorises.length;
	
	if (p_sSujet == "") {
		sErreur += "E60";
		//sErreur += "Le sujet ne peut &ecirc;tre vide.<BR>";
	} else {
		for (var i=0;i<iMax;i++) {
			if (p_sSujet.indexOf(sCaracteresNonAutorises.charAt(i)) != -1) {
				i=iMax+1;
			}
		}
	
		if (i>iMax) {
			sErreur += "E61";
		}
	}
	return sErreur;
}

function Check_Message(p_sMessage) {
	// verification du message
	// non vide
	// Tout est autorisé sauf <,>,",&

	var sErreur = "";
	var sCaracteresNonAutorises = "<>\"&";
	var iMax = sCaracteresNonAutorises.length;
	
	if (p_sMessage == "") {
		sErreur += "E62";
		//sErreur += "Le message ne peut &ecirc;tre vide.<BR>";
	} else if (p_sMessage.length > 1000) {
		sErreur += "E63";
		//sErreur += "Le message ne peut contenir plus de 1000 caract&egrave;res.<BR>";
	} else {
		for (var i=0;i<iMax;i++) {
			if (p_sMessage.indexOf(sCaracteresNonAutorises.charAt(i)) != -1) {
				i=iMax+1;
			}
		}
	
		if (i>iMax) {
			sErreur += "E64";
		}
	}
	return sErreur;
}