// fonctions d'insertion de balises bb

function insertTag(text1,text2,champ)
{
	var tag = document.getElementById(champ);
	if(document.selection) // IE
	{
		var str = document.selection.createRange().text;
		tag.focus();
		var sel = document.selection.createRange();
		if(text2 != "")
		{
			if(str == "")
			{
				sel.text = sel.text + text1 + text2;
				sel.moveStart("character", -text2.length);
				sel.moveEnd("character", -text2.length);
				sel.select();
			}
			else
				sel.text = text1 + sel.text + text2;
		}
		else
			sel.text = sel.text + text1;
	}
	else if(tag.selectionStart || tag.selectionStart == 0) // Moz
	{
		if(tag.selectionEnd > tag.value.length)
		tag.selectionEnd = tag.value.length;
		
		var firstPos = tag.selectionStart;
		var secondPos = tag.selectionEnd + text1.length;
		var contenuScrollTop = tag.scrollTop;
		
		tag.value = tag.value.slice(0,firstPos)  + text1 + tag.value.slice(firstPos);
		tag.value = tag.value.slice(0,secondPos) + text2 + tag.value.slice(secondPos);
		
		tag.selectionStart = firstPos + text1.length;
		tag.selectionEnd = secondPos;
		tag.focus();
		tag.scrollTop = contenuScrollTop;
	}
	else // Opera
	{
		var sel = document.hop.contenu;
		var inst = countInstances(text1,text2);
		if(inst%2 != 0 && text2 != "")
		sel.value = sel.value + text2;
		else
		sel.value = sel.value + text1;
	}
}

function choixLien(dir,text1,text2,champ)
{
	var tag = document.getElementById(champ);
	
	if(document.selection) // IE
	{
		tag.focus();
		var cog = document.selection.createRange().text;
	}
	else if(tag.selectionStart || tag.selectionStart == 0) // Moz
	{
		if(tag.selectionEnd > tag.value.length)
		tag.selectionEnd = tag.value.length;
		
		var firstPos = tag.selectionStart;
		var secondPos = tag.selectionEnd;
		
		var cog = tag.value.slice(firstPos,secondPos);
	}
	else // Opera
	{
		var cog='';
	}
	
	window.open(dir+"/popupChoixCogniton.phc?tagBegin="+text1+"&tagEnd="+text2+"&champ="+champ+"&cogniton="+cog,
			"_blank",
			"toolbar=no,scrollbars=no,resizable=no,menubar=no,location=no,status=no,directories=no,width=400,height=130, left=100, top=100");
}

function choixURL(dir,champ)
{
	var tag = document.getElementById(champ);
	
	if(document.selection) // IE
	{
		tag.focus();
		var url = document.selection.createRange().text;
	}
	else if(tag.selectionStart || tag.selectionStart == 0) // Moz
	{
		if(tag.selectionEnd > tag.value.length)
		tag.selectionEnd = tag.value.length;
		
		var firstPos = tag.selectionStart;
		var secondPos = tag.selectionEnd;
		
		var url = tag.value.slice(firstPos,secondPos);
	}
	else // Opera
	{
		var url='';
	}
	
	window.open(dir+"/popupURL.phc?champ="+champ+"&url="+url,
			"_blank",
			"toolbar=no,scrollbars=no,resizable=no,menubar=no,location=no,status=no,directories=no,width=400,height=130, left=100, top=100");
}

// Modifie le textarea sous cette forme :
// avant - selection - apres =>	avant - [text1] - [lien] - [text2] - apres
// ou					avant - [text1] - [lien] - | - [texte] -  [text2] - apres
function validePopupLien(text1,text2,champ)
{
	var tag = window.opener.document.getElementById(champ);
	var lien = document.forms.popup.lien.value;
	var texte = document.forms.popup.texteLien.value;
	
	if(texte==lien || texte=="")
		var res = text1 + lien + text2;
	else
		var res = text1 + lien + "|" + texte + text2;
	
	if(window.opener.document.selection) // IE
	{
		tag.focus();
		var sel = window.opener.document.selection.createRange();
		sel.text = res;
	}
	else if(tag.selectionStart || tag.selectionStart == 0) // Moz
	{
		if(tag.selectionEnd > tag.value.length)
		tag.selectionEnd = tag.value.length;
		
		var firstPos = tag.selectionStart;
		var secondPos = tag.selectionEnd;
		
		tag.value = tag.value.slice(0,firstPos) + res + tag.value.slice(secondPos);
	}
	else // Opera
	{
		var sel = document.hop.contenu;
		var inst = countInstances(text1,text2);
		if(inst%2 != 0 && text2 != "")
			sel.value = sel.value + res;
		else
			sel.value = sel.value + res;
	}
	
	window.close();
}

function validePopupURL(champ)
{
	var tag = window.opener.document.getElementById(champ);
	var lien = document.forms.popup.url.value;
	var texte = document.forms.popup.texte.value;
	
	if(texte==lien || texte=="")
		var res = '[url]' + lien + '[/url]';
	else
		var res = '[url=' + lien + ']' + texte + '[/url]';
	
	if(window.opener.document.selection) // IE
	{
		tag.focus();
		var sel = window.opener.document.selection.createRange();
		sel.text = res;
	}
	else if(tag.selectionStart || tag.selectionStart == 0) // Moz
	{
		if(tag.selectionEnd > tag.value.length)
		tag.selectionEnd = tag.value.length;
		
		var firstPos = tag.selectionStart;
		var secondPos = tag.selectionEnd;
		
		tag.value = tag.value.slice(0,firstPos) + res + tag.value.slice(secondPos);
	}
	else // Opera
	{
		var sel = document.hop.contenu;
		var inst = countInstances(text1,text2);
		sel.value = sel.value + res;
	}
	
	window.close();
}


// Fonction pour FRE
/*
function getTFL(fieldId)
{
	var field = document.getElementById(fieldId);
	return field.value;
}

function saveField(fieldId)
{
	var field = document.getElementById(fieldId);
	var applet = document.getElementById('applet_'+fieldId);
	var tfl = applet.getXML();
	// var reg = new RegExp('"', "g");
	// tfl = tfl.replace(reg,'\\"');
	field.value = tfl;
	alert(tfl);
}
*/
