var arButtons = new Array();

function tbButton(tagName, buttonId, buttonTitle) {
	this.buttonId = buttonId;
	this.buttonTitle = buttonTitle;
	this.tagName = tagName;
	
	this.tagStart = "<"+tagName+">";
	this.tagEnd = "</"+tagName+">";
}

arButtons[0] = new tbButton("b", "button_bold", "Gras");
arButtons[1] = new tbButton("i", "button_italic", "Italic");
arButtons[2] = new tbButton("u", "button_underline", "Souligne");

function showToolbar(idField) {
  for ( i = 0; i < arButtons.length; i++) {
    document.write('<input class="tb_button" type="button" id="' + arButtons[i].buttonId + '" onclick=\'toggleTag("' + idField + '", '+i+');\' title="' + arButtons[i].buttonTitle + '" value="' + arButtons[i].buttonTitle + '" tabindex="10" />');
  }
}

function toggleTag(idField, i) {
	var myField = document.getElementById(idField);
	
	if (arButtons[i].tagName == "link") {
		var url = prompt("Adresse du lien");
		var tagStart = "["+arButtons[i].tagName + ":" + url + "]";
		var tagEnd = "[/"+arButtons[i].tagName+"]";
	}

	else {
		var tagStart = arButtons[i].tagStart;
		var tagEnd = arButtons[i].tagEnd;
	}

	if (document.selection) {
		myField.focus();
		 sel = document.selection.createRange();
		if (sel.text.length > 0) {
			sel.text = tagStart + sel.text + tagEnd;
		}
		myField.focus();
	}
	
	else if (myField.selectionStart || myField.selectionStart == '0') {
		var startPos = myField.selectionStart;
		var endPos = myField.selectionEnd;
		var cursorPos = endPos;
		var scrollTop = myField.scrollTop;

		if (startPos != endPos) {
			myField.value = myField.value.substring(0, startPos)
							  + tagStart
							  + myField.value.substring(startPos, endPos)
							  + tagEnd
							  + myField.value.substring(endPos, myField.value.length);
			cursorPos += tagStart.length + tagEnd.length;
		}
		myField.focus();
		myField.selectionStart = cursorPos;
		myField.selectionEnd = cursorPos;
		myField.scrollTop = scrollTop;
	}
}