
defmode = "normalmode"; // default mode. either normalmode, advmode, or helpmode

if (defmode == "advmode")
{
	helpmode = false;
	normalmode = false;
	advmode = true;
} else if (defmode == "helpmode")
{
	helpmode = true;
	normalmode = false;
	advmode = false;
} else {
	helpmode = false;
	normalmode = true;
	advmode = false;
}

function chmode(swtch)
{
	if (swtch == 1)
	{
		advmode = false;
		normalmode = false;
		helpmode = true;
		alert("Mode Aide\nCliquez sur chaque bouton pour avoir une description et toutes les insctructions.");
	}
	else if (swtch == 0)
	{
		helpmode = false;
		normalmode = false;
		advmode = true;
		alert("Mode Avancé\nLe BBcode sera inséré sans options quand vous cliquez sur le bouton.\n A vous de compléter.");
	}
	else if (swtch == 2)
	{
		helpmode = false;
		advmode = false;
		normalmode = true;
		alert("Mode normal\nLes fenêtres de dialogue vont vous aider à insérer du BBcode étape par étape\nautomatiquement.");
	}
}

function AddText(text)
{
	if (document.input.message.createTextRange && document.input.message.caretPos)
	{
		var caretPos = document.input.message.caretPos;
		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
		setfocus();
	}
	else
	{
		document.input.message.value  += text;
		setfocus();
	}
}

function email()
{
	if (helpmode)
	{
		alert("Tag E-mail\nMettre une adresse e-mail dans une balise mailto.\nUsage : [email]moi@chezmoi.com[/email]\nUsage : [email=moi@chezmoi.com]Cliquez sur mon E-mail !!![/email]");
	}
	else if (advmode)
	{
		AddTxt="[email] [/email]";
		AddText(AddTxt);
	}
	else
	{ 
		txt2=prompt("Sous quel libellé doit apparaître l'adresse e-mail ?\nSi ce champ est laissé libre alors c'est l'adresse e-mail même qui sera visible.",""); 
		if (txt2!=null)
		{
			txt=prompt("Entrez l'adresse e-mail :","moi@mondomaine.com");      
			if (txt!=null)
			{
				if (txt2=="")
				{
					AddTxt="[email]"+txt+"[/email]";
                
				}
				else
				{
					AddTxt="[email="+txt+"]"+txt2+"[/email]";
				} 
				AddText(AddTxt);
			}
		}
	}
}

function chsize(size)
{
	if (helpmode)
	{
		alert("Tag Size\nModifie la taille de la police.\nLes valeurs possibles sont de 1 à 6.\n 1 étant la plus petite taille et 6 la plus grande.\nUsage : [size="+size+"] Cette taille est "+size+" [/size]");
	}
	else if (advmode)
	{
		AddTxt="[size="+size+"] [/size]";
		AddText(AddTxt);
	}
	else
	{
		txt=prompt("Entrez le texte à mettre à la taille "+size,"Texte"); 
		if (txt!=null)
		{
			AddTxt="[size="+size+"]"+txt+"[/size]";
			AddText(AddTxt);
		}
	}
}

function chfont(font)
{
 	if (helpmode)
	{
		alert("Tag Font\nModifie la police de caractère pour le texte spécifié.\nUsage : [font="+font+"]La police de caractère est "+font+"[/font]");
	}
	else if (advmode)
	{
		AddTxt="[font="+font+"] [/font]";
		AddText(AddTxt);
	}
	else
	{
		txt=prompt("Entrez le texte à écrire en "+font,"Texte");
		if (txt!=null)
		{
			AddTxt="[font="+font+"]"+txt+"[/font]";
			AddText(AddTxt);
		}
	}
}

function bold()
{
	if (helpmode)
	{
		alert("Tag Bold\nMettre du texte en gras.\nUsage : [b]ici le texte en bras[/b]");
	}
	else if (advmode)
	{
		AddTxt="[b] [/b]";
		AddText(AddTxt);
	}
	else
	{
		txt=prompt("Entrez le texte à écrire en gras.","Texte");
		if (txt!=null)
		{
			AddTxt="[b]"+txt+"[/b]";
			AddText(AddTxt);
		}
	}
}

function italicize()
{
	if (helpmode)
	{
		alert("Tag Italic\nMettre du texte en italique.\nUsage : [i]ici le texte en italique[/i]");
	}
	else if (advmode)
	{
		AddTxt="[i] [/i]";
		AddText(AddTxt);
	}
	else
	{   
		txt=prompt("Entrez le texte à écrire en italique.","Texte");
		if (txt!=null)
		{
			AddTxt="[i]"+txt+"[/i]";
			AddText(AddTxt);
		}
	}
}

function quote()
{
	if (helpmode)
	{
		alert("Tag Quote\nMettre un texte sous forme de citation.\nUsage: [quote]Votre citation[/quote]");
	}
	else if (advmode)
	{
		AddTxt="\r[quote]\r[/quote]";
		AddText(AddTxt);
	}
	else
	{   
		txt=prompt("Mettre ici la citation.","Texte");     
		if(txt!=null)
		{
			AddTxt="\r[quote]\r"+txt+"\r[/quote]";
			AddText(AddTxt);
		}
	}
}

function chcolor(color)
{
	if (helpmode)
	{
		alert("Tag Color\nModifier la couleur du texte.\nUsage : [color="+color+"]Ceci est un texte de couleur "+color+"[/color]");
	}
	else if (advmode)
	{
		AddTxt="[color="+color+"] [/color]";
		AddText(AddTxt);
	}
	else
	{  
     	txt=prompt("Mettre ici le texte à écrire en "+color,"Texte");
		if(txt!=null)
		{
			AddTxt="[color="+color+"]"+txt+"[/color]";
			AddText(AddTxt);
		}
	}
}

function center()
{
 	if (helpmode)
	{
		alert("Tag Center\nPermet de centrer le texte.\nUsage : [align=center]Ici le texte à centrer[/align]");
	}
	else if (advmode)
	{
		AddTxt="[align=center] [/align]";
		AddText(AddTxt);
	}
	else
	{  
		txt=prompt("Entrer le texte à centrer.","Texte");     
		if (txt!=null)
		{
			AddTxt="\r[align=center]"+txt+"[/align]";
			AddText(AddTxt);
		}
	}
}

function hyperlink()
{
	if (helpmode)
	{
		alert("Tag Url\nCréer un lien hypertexte.\nUsage : [url]http://forum.esperance-fans.com[/url]\nUsage : [url=http://forum.esperance-fans.com]Notre forum favori[/url]");
	}
	else if (advmode)
	{
		AddTxt="[url] [/url]";
		AddText(AddTxt);
	}
	else
	{ 
		txt2=prompt("Donnez la description du lien qui doit être visible\nSi vous laissez ce champ vide, l'Url sera visible",""); 
		if (txt2!=null)
		{
			txt=prompt("Entrez le lien hypertexte :","http://");
			if (txt!=null)
			{
				if (txt2=="")
				{
					AddTxt="[url]"+txt+"[/url]";
					AddText(AddTxt);
				}
				else
				{
					AddTxt="[url="+txt+"]"+txt2+"[/url]";
					AddText(AddTxt);
				}
			}
		}
	}
}

function image()
{
	if (helpmode)
	{
		alert("Tag Image\nInsérer une image dans votre message.\nUsage : [img]http://www.inp.rnrt.tn/image.gif[/img]");
	}
	else if (advmode)
	{
		AddTxt="[img] [/img]";
		AddText(AddTxt);
	}
	else
	{
		txt=prompt("Donnez l'Url de l'image à insérer.","http://");    
		if(txt!=null)
		{
			AddTxt="\r[img]"+txt+"[/img]";
			AddText(AddTxt);
		}
	}
}

function code()
{
	if (helpmode)
	{
		alert("Code Tag\nBlockquotes the text you reference and preserves the formatting.\nUsefull for posting code.\nUsage: [code]This is formated text[/code]");
	}
	else if (advmode)
	{
		AddTxt="\r[code]\r[/code]";
		AddText(AddTxt);
	}
	else
	{   
		txt=prompt("Please enter the text you wanted blockquoted.","");     
		if (txt!=null)
		{
			AddTxt="\r[code]"+txt+"[/code]";
			AddText(AddTxt);
		}
	}
}

function list()
{
	if (helpmode)
	{
		alert("Tag List\nCréer une liste, numérique, alphabétique.\nUsage : [list]\n[*]ligne1\n[*]ligne2\n[*]ligne3\n[/list]");
	}
	else if (advmode)
	{
		AddTxt="\r[list]\r[*]\r[*]\r[*]\r[/list]";
		AddText(AddTxt);
	}
	else
	{  
		txt=prompt("Sélectionnez\n ('A' pour alphabétique ou '1' pour numérique) Vous pouvez laisser ce champ vide","");               
		while ((txt!="") && (txt!="A") && (txt!="a") && (txt!="1") && (txt!=null))
		{
			txt = prompt("ERREUR !\nLa seule valeur possible pour les tyês de liste sont vide, 'A' et '1'.","");               
		}
		if (txt != null)
		{
			if (txt == "")
			{
				AddTxt="\r[list]\r\n";
			}
			else
			{
				AddTxt="\r[list="+txt+"]\r";
			} 
			txt = "1";
			while ((txt!="") && (txt!=null))
			{
				txt = prompt("Entrer une ligne de la liste :\nLaissez le champ vide pour indiquer la fin de la liste.", ""); 
				if (txt!="")
				{
					AddTxt+="[*]"+txt+"\r"; 
				}
			} 
			AddTxt+="[/list]\r\n";
			AddText(AddTxt);
		}
	}
}

function fortune()
{
	if (helpmode)
	{
		alert("Code Tag\nInsert a Fortune.\nUsefull for funny posts.\nUsage: [fortune]");
	}
	else
	{
		AddTxt="[fortune]";
		AddText(AddTxt);
	}
}

function underline()
{
  	if (helpmode)
	{
		alert("Tag Underline\nSouligner le texte.\nUsage : [u]ce texte sera souligné[/u]");
	}
	else if (advmode)
	{
		AddTxt="[u] [/u]";
		AddText(AddTxt);
	}
	else
	{  
		txt=prompt("Entrer le texte qui sera souligné.","Texte");     
		if (txt!=null)
		{
			AddTxt="[u]"+txt+"[/u]";
			AddText(AddTxt);
		}
	}
}

function storeCaret(textEl)
{
	if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
}

function icon(text)
{ 
	AddText(text);
}

function setfocus()
{
	document.input.message.focus();
}

function Popup(url, window_name, window_width, window_height) 
{
	var win_width = (screen.width - window_width) / 2;
	var win_height = (screen.height - window_height) / 2;
	settings = "toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, width=" + window_width + ", height=" + window_height + ", top=" + win_height + ", left=" + win_width;
	NewWindow = window.open(url, window_name, settings);
}

function Popup2(url, window_name, window_width, window_height) 
{
	var win_width = (screen.width - window_width) / 2;
	var win_height = (screen.height - window_height) / 2;
	settings = "toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=yes, width=" + window_width + ", height=" + window_height + ", top=" + win_height + ", left=" + win_width;
	NewWindow = window.open(url, window_name, settings);
}

function CheckAll(form, me, name)
{
	for (var i = 0; i < form.elements.length; i++)
	{
		var e = form.elements[i];
		
		if ((e != me) && (e.type == 'checkbox') && (e.name == name))
			 e.checked = form[me.name].checked;
	}
}

function stopError()
{
	return true;
}            

window.onerror = stopError;