﻿function bbcode(bbdebut, bbfin, element)
{
	var input = window.document.getElementById(element);
	input.focus();

	var start = input.selectionStart;
	var end = input.selectionEnd;
	var insText = input.value.substring(start, end);
	input.value = input.value.substr(0, start) + bbdebut + insText + bbfin + input.value.substr(end);
	var pos;
	if (insText.length == 0)
	{
		pos = start + bbdebut.length;
	}
	else
	{
		pos = start + bbdebut.length + insText.length + bbfin.length;
	}
	input.selectionStart = pos;
	input.selectionEnd = pos;
	input.scrollTop = input.scrollHeight - input.clientHeight;
}


function toggle(element)
{
	var colorBox = window.document.getElementById(element);
	if(colorBox.style.visibility == 'visible')
		colorBox.style.visibility = 'hidden';
	else
		colorBox.style.visibility = 'visible';
}

function request(methode,url,param,cadre, element) {
	var XHR = null;

	if(window.XMLHttpRequest) // Firefox
		XHR = new XMLHttpRequest();
	else if(window.ActiveXObject) // Internet Explorer
		XHR = new ActiveXObject("Microsoft.XMLHTTP");
	else { // XMLHttpRequest non supporté par le navigateur
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
		return;
	}

		/*if(XHR != null){
		document.getElementById(cadre).innerHTML  ="Patientez...";
		}*/

		// envoie de la requête, methode plus url
		XHR.open(methode,url, true);
		// on teste si GET ou POST 
		if(methode=='POST'){
		// si POST envoi du header et des paramètres
		XHR.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
		XHR.send(param + '=' + addslashes(document.getElementById(element).value));
		}else{
		XHR.send(null);
		}

		// on guette les changements d'état de l'objet
	XHR.onreadystatechange = function attente() {
		// l'état est à 4, requête reçu !
	if(XHR.readyState == 4)     {
	if(XHR.status == 200){
		// ecriture de la réponse
	document.getElementById(cadre).innerHTML = XHR.responseText;
			}
		}
	}


	// le travail est terminé
	return;
}

function addslashes(str) {
str=str.replace(/\\/g,'\\\\');
str=str.replace(/\'/g,'\\\'');
str=str.replace(/\"/g,'\\"');
str=str.replace(/\0/g,'\\0');
str=str.replace(/\+/g,'\\+');
return str;
}

 