function fct_refresh(id1, id2) 
{
	var o1 = document.getElementById(id1) ;
	var o2 = document.getElementById(id2) ;
	if (o1 && o2)
	{
		var s = o1.value ;
		s=fct_htmlentities(s) ;
		s=s.replaceAll("]",">" ) ;
		s=s.replaceAll("[","<" ) ;
		o2.innerHTML = s ;
	}
}
function fct_tag(s,tag,msg,deb) 
{
	if (s.indexOf(tag)>=0)
    {
    	msg=fct_decode(msg) ;
    	var u = prompt(msg);
    	if (tag=="{href}" && u.length && u.indexOf("www")==0 && u.indexOf(deb)<0) u=deb+u ;
    	else if (u.length && deb)	u=deb+u ;
    	s=s.replaceAll(tag,u) ;
    }
    return s ;
}
function fct_insert(id, e) 
{
	var input = document.getElementById(id) ;
	if (input && e)
	{
		var repdeb = "" ;
		var repfin = "" ;

		var s = e.name ;
		if (s.indexOf("img")>=0 || s.indexOf("br")>=0)	repdeb = "\n["+s+" /]" ; 
		else
		{
			repdeb = "\n["+s+"]" ; 
			if (s.indexOf(" ")>=0)	s=s.substr(0,s.indexOf(" ")) ;
			repfin = "[/"+s+"]" ; 
		}
		repdeb = fct_tag(repdeb,"{href}","Veuillez entrer l'adresse &agrave; r&eacute;f&eacute;rencer : ", "http://") ;
		repdeb = fct_tag(repdeb,"{title}","Veuillez entrer le titre du lien : ","" ) ;
		repdeb = fct_tag(repdeb,"{src}","Veuillez entrer le nom de l'image : ","img/" ) ;
		repdeb = fct_tag(repdeb,"{alt}","Veuillez entrer le titre de l'image : ", "") ;

		input.focus();
		if(typeof document.selection != 'undefined') 	/* pour l'Explorer Internet */
		{
			/* Insertion du code de formatage */
			var range = document.selection.createRange();
			var insText = range.text;
			range.text = repdeb + insText + repfin;
			/* Ajustement de la position du curseur */
			range = document.selection.createRange();
			if (insText.length == 0)	range.move('character', -repfin.length);
			else										range.moveStart('character', repdeb.length + insText.length + repfin.length);
			range.select();
		}
		else if(typeof input.selectionStart != 'undefined')	/* pour navigateurs plus récents basés sur Gecko*/
		{
			/* Insertion du code de formatage */
			var start = input.selectionStart;
			var end = input.selectionEnd;
			var insText = input.value.substring(start, end);
			if (insText.length)
			{
				if (s=="p")
				{
					var lst=insText.split("\n") ;
					insText = "" ;
					for(var i=0; i<lst.length; i++)
					{
						var tmp=lst[i] ;
						if (tmp.length)
						{
							if (i)	insText = insText+"\n[p]" ;
							insText = insText+tmp ;
							if (i<lst.length-1)	insText = insText+"[/p]" ;
						}
					}
				}
				if (s=="ul" || s=="ol")
				{
					var lst=insText.split("\n") ;
					insText = "" ;
					for(var i=0; i<lst.length; i++)
						if (lst[i].length) insText = insText+"\n[li]"+lst[i]+"[/li]" ;
				}
			}
			input.value = input.value.substr(0, start) + repdeb + insText + repfin + input.value.substr(end);
			/* Ajustement de la position du curseur */
			var pos;
			
			if (insText.length == 0) 	pos = start + repdeb.length;
			else										pos = start + repdeb.length + insText.length + repfin.length;
	
			input.selectionStart = pos;
			input.selectionEnd = pos;
		}
		else			/* pour les autres navigateurs */
		{
			/* requête de la position d'insertion */
			var pos;
			var re = new RegExp('^[0-9]{0,3}$');
			while(!re.test(pos)) 
				pos = prompt("Insertion à la position (0.." + input.value.length + "):", "0");
	
			if(pos > input.value.length) 	pos = input.value.length;
			/* Insertion du code de formatage */
	
			var insText = prompt("Veuillez entrer le texte à formater:");
			input.value = input.value.substr(0, pos) + repdeb + insText + repfin + input.value.substr(pos);
		}
	}
}
