function Get_NbrCR(txt_)
{
	var NbrCR = 0;
	var Pos = txt_.indexOf("\r\n");
	while(Pos > -1)
	{
		Pos = txt_.indexOf("\r\n", Pos+2);
		NbrCR ++;
	}
	return(NbrCR);
}


function Cursor_SetPos(where_, pos_)
{
	var Obj = document.getElementById(where_);
	if(Obj)
	{
		Obj.focus();
		if(typeof Obj.selectionStart != "undefined")
			Obj.setSelectionRange(pos_, pos_);
		else
		{
			var Chaine = Obj.createTextRange();
			Chaine.moveStart('character', pos_);
			Chaine.collapse();
			Chaine.select();
		}
		
		return(Cursor_GetPos(where_, pos_));
	}
}


function Cursor_GetPos(where_, pos_)
{
	var Obj= document.getElementById(where_);
	if(Obj)
	{
		Obj.focus();
		if(typeof Obj.selectionStart != "undefined")
			return Obj.selectionStart;
		else
		{
			var szMark = "~~";
			var Chaine = Obj.value;
			var szTmp = document.selection.createRange();
			szTmp.text = szMark;
			var PosDeb = Obj.value.search(szMark);
			var szAvant = Chaine.substring(0 , PosDeb);
			PosDeb -= Get_NbrCR(szAvant);
			Obj.value = Chaine;
			Chaine = Obj.createTextRange();
			Chaine.moveStart('character', PosDeb);
			Chaine.collapse();
			Chaine.select();
			return(PosDeb);
		}
	}
}


function Cursor_AddTexte(where_, txt_)
{
	var Obj = document.getElementById(where_);
	if(Obj)
	{
		Obj.focus();
		if(typeof Obj.selectionStart != "undefined")
		{
			var PosDeb = Obj.selectionStart;
			var PosFin = Obj.selectionEnd;
			var Chaine = Obj.value;
			var szAvant = Chaine.substring(0 , PosDeb);
			var szApres = Chaine.substring(PosFin, Obj.textLength );
			var szSelect = Chaine.substring(PosDeb, PosFin);
			Obj.value = szAvant + txt_ + szApres;
			Obj.setSelectionRange(szAvant.length + txt_.length, szAvant.length + txt_.length );
			Obj.focus();
		}
		else
		{
			var szSelect = document.selection.createRange().text;
			if(szSelect.length > 0)
			{
				var Chaine = document.selection.createRange();
				Chaine.text = txt_ ;
				Chaine.collapse();
				Chaine.select();
			}
			else
			{
				var Chaine = Obj.value;
				var szMark ="~~";
				var szTmp = document.selection.createRange().duplicate();
				szTmp.text = szMark;
				var PosDeb = Obj.value.search(szMark);
				var szAvant = Chaine.substring(0 , PosDeb);
				var szApres = Chaine.substring(PosDeb, Obj.textLength );
				Obj.value = szAvant + txt_ + szSelect + szApres;
				PosDeb += txt_.length;
				PosDeb -= Get_NbrCR(szAvant);
				Chaine = Obj.createTextRange();
				Chaine.moveStart('character', PosDeb);
				Chaine.collapse();
				Chaine.select();
			}
		}
	}
}


function Cursor_AddTexteOver(where_, txt_d, txt_f)
{
	var Obj = document.getElementById(where_);
	if(Obj)
	{
		Obj.focus();
		if(typeof Obj.selectionStart != "undefined")
		{
			var PosDeb = Obj.selectionStart;
			var PosFin = Obj.selectionEnd;
			var Chaine = Obj.value;
			var szAvant = Chaine.substring(0 , PosDeb);
			var szApres = Chaine.substring(PosFin, Obj.textLength );
			var szSelect = Chaine.substring(PosDeb, PosFin);
			Obj.value = szAvant + txt_d + szSelect + txt_f + szApres;
			Obj.setSelectionRange(szAvant.length + txt_d.length + szSelect.length + txt_f.length, szAvant.length + txt_d.length + szSelect.length + txt_f.length );
			Obj.focus();
		}
		else
		{
			var szSelect = document.selection.createRange().text;
			if(szSelect.length > 0)
			{
				var Chaine = document.selection.createRange();
				Chaine.text = txt_d + Chaine.text + txt_f ;
				Chaine.collapse();
				Chaine.select();
			}
			else
			{
				var Chaine = Obj.value;
				var szMark ="~~";
				var szTmp = document.selection.createRange().duplicate();
				szTmp.text = szMark;
				var PosDeb = Obj.value.search(szMark);
				var szAvant = Chaine.substring(0 , PosDeb);
				var szApres = Chaine.substring(PosDeb, Obj.textLength );
				Obj.value = szAvant + txt_d + szSelect + txt_f + szApres;
				PosDeb += txt_d.length + txt_f.length;
				PosDeb -= Get_NbrCR(szAvant);
				Chaine = Obj.createTextRange();
				Chaine.moveStart('character', PosDeb);
				Chaine.collapse();
				Chaine.select();
			}
		}
	}
}

function Cursor_AddTextePub(where_, type_)
{
	selectNode = document.getElementById('salle');
	para = selectNode.options[selectNode.selectedIndex].value;
	
	if(type_ == 'banniere')
		Cursor_AddTexte(where_, "[banniere]" + para + "[/banniere]");
	else if(type_ == 'lien')
		Cursor_AddTexte(where_, "[lien]" + para + "[/lien]");
}