﻿function file(fichier)
{
if(window.XMLHttpRequest)
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject)
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else
return(false);
xhr_object.open("GET", fichier, false);
xhr_object.send(null);
if(xhr_object.readyState == 4) return(xhr_object.responseText);
else return(false);
}

function affichetexte(champ,texte)
{
document.getElementById(champ).innerHTML=texte;
}

function afficheimage(champ,image)
{
document.getElementById(champ).src=image;
}

function affichepage(champ,page)
{
document.getElementById(champ).innerHTML=file(page);
}

function smiley(smiley)
{
	if (isMozilla) 
	{
		oField = document.forms['message'].elements['texte'];

		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 );
		
		oField.value = objectValueDeb + smiley + objectValueFin;
		oField.selectionStart = strlen(objectValueDeb);
		oField.selectionEnd = strlen(objectValueDeb + smiley );
		oField.focus();
		oField.setSelectionRange(
			objectValueDeb.length + smiley.length + 2,
			objectValueDeb.length + smiley.length + 2);
	}
	else
	{
		
		oField = document.forms['message'].elements['texte'];
		var str = document.selection.createRange().text;

		if (str.length>0)
		{
			var sel = document.selection.createRange();
			sel.text = ":" + smiley + ":";
			sel.collapse();
			sel.select();
		}
		else
		{
			oField.focus(oField.caretPos);
			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) + smiley;
			var r = 0;
			for(n = 0; n < i; n++)
			{if(regexp.test(oField.value.substr(n,2)) == true){r++;}};
			pos = i + 2 + smiley.length - r;
			var r = oField.createTextRange();
			r.moveStart('character', pos);
			r.collapse();
			r.select();

		}
	}
}


var isMozilla = (navigator.userAgent.toLowerCase().indexOf('gecko')!=-1) ? true : false;
var regexp = new RegExp("[\r]","gi");
function balise(formulaire,balise)
{
	if (isMozilla) 
	{
		oField = document.forms[formulaire].elements['texte'];

		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 );
			
		oField.value = objectValueDeb + "<" + balise + ">" + objectSelected + "</" + balise + ">" + objectValueFin;
		oField.selectionStart = strlen(objectValueDeb);
		oField.selectionEnd = strlen(objectValueDeb + "<" + balise + ">" + objectSelected + "</" + balise + ">");
		oField.focus();
		oField.setSelectionRange(
			objectValueDeb.length + balise.length + 2,
			objectValueDeb.length + balise.length + 2);
	}
	else
	{		
		oField = document.forms[formulaire].elements['texte'];
		var str = document.selection.createRange().text;

		if (str.length>0)
		{
			var sel = document.selection.createRange();
			sel.text = "<" + balise + ">" + str + "</" + balise + ">";
			sel.collapse();
			sel.select();
		}
		else
		{
			oField.focus(oField.caretPos);
			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) + "<" + balise + "></" + balise + ">" + orig.substr(i, oField.value.length);
			var r = 0;
			for(n = 0; n < i; n++)
			{if(regexp.test(oField.value.substr(n,2)) == true){r++;}};
			pos = i + 2 + balise.length - r;
			var r = oField.createTextRange();
			r.moveStart('character', pos);
			r.collapse();
			r.select();
		}
	}
}