function insertTag(startTag, endTag, textareaId, tagType) {
        var field = document.getElementById(textareaId); 
        field.focus();
        

        if (window.ActiveXObject) {
                var textRange = document.selection.createRange();            
                var currentSelection = textRange.text;
        } else {
                var startSelection   = field.value.substring(0, field.selectionStart);
                var currentSelection = field.value.substring(field.selectionStart, field.selectionEnd);
                var endSelection     = field.value.substring(field.selectionEnd);               
        }
        

        if (tagType) {
                switch (tagType) {
                        case "lien":
        endTag = "[/url]";
        if (currentSelection) { 
                if (currentSelection.indexOf("http://") == 0 || currentSelection.indexOf("https://") == 0 || currentSelection.indexOf("ftp://") == 0 || currentSelection.indexOf("www.") == 0) {

                        var label = prompt("Quel est le libellé du lien ?") || "";
                        startTag = "[url=" + currentSelection + "\]";
                        currentSelection = label;
                } else {

                        var URL = prompt("Quelle est l'url ?");
                        startTag = "[url=" + URL + "\]";
                }
        } else { 
                var URL = prompt("Quelle est l'url ?") || "";
                var label = prompt("Quel est le libellé du lien ?") || "";
                startTag = "[url=" + URL + "\]";
                currentSelection = label;                     
        }
break;

                        case "citation":
        endTag = "[/quote]";
        if (currentSelection) { 
                if (currentSelection.length > 30) { 
                        var auteur = prompt("Quel est l'auteur de la citation ?") || "";
                        startTag = "[quote=\"" + auteur + "\"]";
                } else { 
                        var citation = prompt("Quelle est la citation ?") || "";
                        startTag = "[quote=\"" + currentSelection + "\"]";
                        currentSelection = citation;    
                }
        } else {
                var auteur = prompt("Quel est l'auteur de la citation ?") || "";
                var citation = prompt("Quelle est la citation ?") || "";
                startTag = "[quote=\"" + auteur + "\"]";
                currentSelection = citation;    
        }
break;

                }
        }
        
     
        if (window.ActiveXObject) {
                textRange.text = startTag + currentSelection + endTag;
                textRange.moveStart("character", -endTag.length - currentSelection.length);
                textRange.moveEnd("character", -endTag.length);
                textRange.select();     
        } else {
                field.value = startSelection + startTag + currentSelection + endTag + endSelection;
                field.focus();
                field.setSelectionRange(startSelection.length + startTag.length, startSelection.length + startTag.length + currentSelection.length);
        }       
}
function preview(textareaId, previewDiv) {
	var field = textareaId.value;
	if (document.getElementById('previsualisation').checked && field) {
			
		field = field.replace(/&/g, '&amp;');
		field = field.replace(/</g, '&lt;').replace(/>/g, '&gt;');
		field = field.replace(/\n/g, '<br />').replace(/\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;');
		field = field.replace(/\[color=(red|green|blue|yellow|purple|olive)\](.+)\[\/color\]/g, '<span style="color:$1">$2</span>');
		field = field.replace(/\[size=([\-\+]?\d+)\](.*?)\[\/size\]/g, '<span style="font-size:$1px">$2</span>');
		field = field.replace(/\[blink\](.+)\[\/blink\]/g, '<span style="text-decoration: blink">$1</span>');
		field = field.replace(/\[centrer\](.+)\[\/centrer\]/g, '<center>$1</center>');
		field = field.replace(/\[u\]([\s\S]*?)\[\/u\]/g, '<span style="text-decoration: underline">$1</span>');
		field = field.replace(/\[gras\]([\s\S]*?)\[\/gras\]/g, '<strong>$1</strong>');
		field = field.replace(/\[i\]([\s\S]*?)\[\/i\]/g, '<em>$1</em>');
		field = field.replace(/\[url=([\s\S]*?)\]([\s\S]*?)\[\/url\]/g, '<a href="$1" title="$2">$2</a>');
		field = field.replace(/\[img\]([\s\S]*?)\[\/img\]/g, '<img class="image_news" src="$1" alt="Image" />');
		field = field.replace(/\[quote=\"(.*?)\"\]([\s\S]*?)\[\/quote\]/g, '<br /><blockquote><div><cite>$1</cite>$2</div></blockquote>');
		field = field.replace(/\[size=\"(.*?)\"\]([\s\S]*?)\[\/size\]/g, '<span class="$1">$2</span>');
				
		document.getElementById(previewDiv).innerHTML = field;
	}
}
function getXMLHttpRequest() {
	var xhr = null;
	
	if (window.XMLHttpRequest || window.ActiveXObject) {
		if (window.ActiveXObject) {
			try {
				xhr = new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e) {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
		} else {
			xhr = new XMLHttpRequest();
		}
	} else {
		alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
		return null;
	}
	
	return xhr;
}
function view(textareaId, viewDiv){
	var content = encodeURIComponent(document.getElementById(textareaId).value);
	var xhr = getXMLHttpRequest();
	
	if (xhr && xhr.readyState != 0) {
		xhr.abort();
		delete xhr;
	}
	
	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4 && xhr.status == 200){
			document.getElementById(viewDiv).innerHTML = xhr.responseText;
		} else if (xhr.readyState == 3){
			document.getElementById(viewDiv).innerHTML = "<div style=\"text-align: center;\">Chargement en cours...</div>";
		}
	}
	
	xhr.open("POST", "view.php", true);
	xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xhr.send("string=" + content);
}