/*****************************************/
// Name: Javascript Textarea BBCode Markup Editor
// Version: 1.3
// Author: Balakrishnan
// Last Modified Date: 25/jan/2009
// License: Free
// URL: http://www.corpocrat.com
/******************************************/

var textarea;
var content;
document.write("<link href=\"js/bbeditor/styles.css\" rel=\"stylesheet\" type=\"text/css\">");

function edToolbar(obj) {
    document.write("<div class=\"toolbar\">");
    document.write("<input type=\"button\" class=\"button2\" style=\"font-weight: bold; width: 30px;\" name=\"btnBold_"+obj+"\" value=\" B \" title=\"Texte en gras : [b]texte[/b]\" onClick=\"doAddTags('[b]','[/b]','" + obj + "')\">");
    document.write("<input type=\"button\" class=\"button2\" style=\"font-style: italic; width: 30px;\" name=\"btnItalic_"+obj+"\" value=\" i \" title=\"Texte en italique : [i]texte[/i]\" onClick=\"doAddTags('[i]','[/i]','" + obj + "')\">");
    document.write("<input type=\"button\" class=\"button2\" style=\"text-decoration: underline; width: 30px;\" name=\"btnUnderline_"+obj+"\" value=\" s \" title=\"Souligner un texte : [u]texte[/u]\" onClick=\"doAddTags('[u]','[/u]','" + obj + "')\">");
    document.write("<input type=\"button\" class=\"button2\" style=\"text-decoration: underline; width: 40px;\" name=\"btnLink_"+obj+"\" value=\"URL\" title=\"Insérer un lien : [url]http://lien[/url] ou [url=http://lien]texte du lien[/url]\" onClick=\"doURL('" + obj + "')\">");
    document.write("<input type=\"button\" class=\"button2\" style=\"width: 40px;\" name=\"btnPicture_"+obj+"\" value=\"Img\" title=\"Insérer une image : [img]http://lien_de_l_image[/img]\" onClick=\"doImage('" + obj + "')\">");
    document.write("<input type=\"button\" class=\"button2\" style=\"width: 40px;\" name=\"btnList_"+obj+"\" value=\"List=\" title=\"Liste ordonnée : [list=]texte[/list]\" onClick=\"doList('[LIST=1]','[/LIST]','" + obj + "')\">");
    document.write("<input type=\"button\" class=\"button2\" style=\"width: 40px;\" name=\"btnList_"+obj+"\" value=\"List\" title=\"Liste : [list]texte[/list]\" onClick=\"doList('[LIST]','[/LIST]','" + obj + "')\">");
    document.write("<input type=\"button\" class=\"button2\" style=\"width: 40px;\" name=\"btnQuote_"+obj+"\" value=\"Quote\" title=\"Insérer un cadre : [quote=titre]texte[/quote]\" onClick=\"doAddTags('[quote=]','[/quote]','" + obj + "')\">");
	document.write("<input type=\"button\" class=\"button2\" style=\"width: 40px;\" name=\"btncoln_"+obj+"\" value=\"Col\" title=\"Insérer des colonnes : [columns]Colone 1[nextcol]colonne 2[/columns]\" onClick=\"doAddTags('[columns]','[nextcol][/columns]','" + obj + "')\">");
    document.write("</div>");
	//document.write("<textarea id=\""+ obj +"\" name = \"" + obj + "\" cols=\"" + width + "\" rows=\"" + height + "\"></textarea>");
}

function doImage(obj){
	textarea = document.getElementById(obj);
	var url = prompt('Enter the Image URL:','http://');
	var scrollTop = textarea.scrollTop;
	var scrollLeft = textarea.scrollLeft;
	
	if (url != '' && url != null) {
		if (document.selection) {
			textarea.focus();
			var sel = document.selection.createRange();
			sel.text = '[img]' + url + '[/img]';
		}
		else {
			var len = textarea.value.length;
		    var start = textarea.selectionStart;
			var end = textarea.selectionEnd;
			
	        var sel = textarea.value.substring(start, end);
		    //alert(sel);
			var rep = '[img]' + url + '[/img]';
	        textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
				
			textarea.scrollTop = scrollTop;
			textarea.scrollLeft = scrollLeft;
		}
	}
}

function doURL(obj){
	textarea = document.getElementById(obj);
	var url = prompt('Enter the URL:','http://');
	var scrollTop = textarea.scrollTop;
	var scrollLeft = textarea.scrollLeft;

	if (url != '' && url != null) {

		if (document.selection) {
			textarea.focus();
			var sel = document.selection.createRange();
					
			if(sel.text==""){
				sel.text = '[url]'  + url + '[/url]';
			} 
			else {
				sel.text = '[url=' + url + ']' + sel.text + '[/url]';
			}			
	
			//alert(sel.text);		
		}
		else {
			var len = textarea.value.length;
		    var start = textarea.selectionStart;
			var end = textarea.selectionEnd;
			
	        var sel = textarea.value.substring(start, end);
			
			if(sel==""){
				var rep = '[url]' + url + '[/url]';
			} 
			else {
				var rep = '[url=' + url + ']' + sel + '[/url]';
			}
		    //alert(sel);
			
	        textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
			
			textarea.scrollTop = scrollTop;
			textarea.scrollLeft = scrollLeft;
		}
	}
}

function doAddTags(tag1,tag2,obj){
	textarea = document.getElementById(obj);
	
	// Code for IE
	if (document.selection) {
		textarea.focus();
		
		var sel = document.selection.createRange();
		//alert(sel.text);
		sel.text = tag1 + sel.text + tag2;
	}
	else {  // Code for Mozilla Firefox
		var len = textarea.value.length;
	    var start = textarea.selectionStart;
		var end = textarea.selectionEnd;
		
		var scrollTop = textarea.scrollTop;
		var scrollLeft = textarea.scrollLeft;

        var sel = textarea.value.substring(start, end);
	    //alert(sel);
		var rep = tag1 + sel + tag2;
        textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
		
		textarea.scrollTop = scrollTop;
		textarea.scrollLeft = scrollLeft;
	}
}

function doList(tag1,tag2,obj){
	textarea = document.getElementById(obj);
	// Code for IE
	if (document.selection) {
		textarea.focus();
		var sel = document.selection.createRange();
		var list = sel.text.split('\n');

		for(i=0;i<list.length;i++) {
			list[i] = '[*]' + list[i];
		}
		//alert(list.join("\n"));
		sel.text = tag1 + '\n' + list.join("\n") + '\n' + tag2;
	} 
	else { 
		// Code for Firefox

		var len = textarea.value.length;
	    var start = textarea.selectionStart;
		var end = textarea.selectionEnd;
		var i;
		
		var scrollTop = textarea.scrollTop;
		var scrollLeft = textarea.scrollLeft;

		
        var sel = textarea.value.substring(start, end);
	    //alert(sel);
		
		var list = sel.split('\n');
		
		for(i=0;i<list.length;i++) {
			list[i] = '[*]' + list[i];
		}
		//alert(list.join("<br>"));
        
		
		var rep = tag1 + '\n' + list.join("\n") + '\n' +tag2;
		textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
		
		textarea.scrollTop = scrollTop;
		textarea.scrollLeft = scrollLeft;
	}
}
