// QuickTalk Guestbook @version 1.1 build:20060912

var isMozilla = (navigator.userAgent.toLowerCase().indexOf('gecko')!=-1) ? true : false;

function storeCaret(selec)
{
	if (isMozilla)
	{
	// Si on est sur Mozilla

		oField = document.forms['Faddmsg'].elements['FFmsg'];

		objectValue = oField.value;

		deb = oField.selectionStart;
		fin = oField.selectionEnd;

		objectValueDeb = objectValue.substring( 0 , oField.selectionStart );
		objectValueFin = objectValue.substring( oField.selectionEnd , oField.textLength );
		objectSelected = objectValue.substring( oField.selectionStart ,oField.selectionEnd );

	//	alert("Debut:'"+objectValueDeb+"' ("+deb+")\nFin:'"+objectValueFin+"' ("+fin+")\n\nSelectionné:'"+objectSelected+"'("+(fin-deb)+")");

		oField.value = objectValueDeb + "[" + selec + "]" + objectSelected + "[/" + selec + "]" + objectValueFin;
		oField.selectionStart = strlen(objectValueDeb);
		oField.selectionEnd = strlen(objectValueDeb + "[" + selec + "]" + objectSelected + "[/" + selec + "]");
		oField.focus();
		oField.setSelectionRange(
			objectValueDeb.length + selec.length + 2,
			objectValueDeb.length + selec.length + 2);

	}
	else
	{
	// Si on est sur IE

		oField = document.forms['Faddmsg'].elements['FFmsg'];
		var str = document.selection.createRange().text;

		if (str.length>0)
		{
		// Si on a selectionné du texte
			var sel = document.selection.createRange();
			sel.text = "[" + selec + "]" + str + "[/" + selec + "]";
			sel.collapse();
			sel.select();
		}
		else
		{
			oField.focus(oField.caretPos);
		//	alert(oField.caretPos+"\n"+oField.value.length+"\n")
			oField.focus(oField.value.length);
			oField.caretPos = document.selection.createRange().duplicate();

			var bidon = "%~%";
			var orig = oField.value;
			oField.caretPos.text = bidon;
			var i = oField.value.search(bidon);
			oField.value = orig.substr(0,i) + "[" + selec + "][/" + selec + "]" + orig.substr(i, oField.value.length);

			pos = i + 2 + selec.length;
			//placer(document.forms['msg_post'].elements['strText'], pos);
			var r = oField.createTextRange();
			r.moveStart('character', pos);
			r.collapse();
			r.select();

		}
	}
}

function AddText(NewCode)
{
	oField = document.forms['Faddmsg'].elements['FFmsg'];
	
	if (typeof(oField.createTextRange) != "undefined" && oField.caretPos)
	{
		var caretPos = oField.caretPos;
		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? NewCode + ' ' : NewCode;
		caretPos.select();
	}
	else if (oField.selectionStart || oField.selectionStart == '0')
	{ // its mozilla and we'll need to re-write entire text
		var start_selection = oField.selectionStart;
		var end_selection = oField.selectionEnd;

		// fetch everything from start of text area to selection start
		var start = (oField.value).substring(0, start_selection);
		// fetch everything from start of selection to end of selection
		var middle = NewCode;
		// fetch everything from end of selection to end of text area
		var end = (oField.value).substring(end_selection, oField.textLength);

		oField.value = start + middle + end;
		oField.focus();
		oField.selectionStart = end_selection + middle.length;
		oField.selectionEnd = start_selection + middle.length;
		getActiveText();
		AddTxt = "";
		return;
	}
	else
	{
		oField.value += NewCode;
	}
	oField.focus();
	getActiveText();
	AddTxt = "";
}

function smilie(thesmilie)
{
	//getActiveText();
	document.forms['Faddmsg'].elements['FFmsg'].focus();
	var AddSmilie = " " + thesmilie + " ";
	AddText(AddSmilie);
}
