/*****************************************/
// 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;

var ds;

var root = static + 'bbeditor/';

function edToolbar(obj) {
	//alert('edToolbar ' + obj);
    var edDiv = '<div class="toolbar" id="toolbar">';
    edDiv += '<img class="button" src="'
            + root
            + 'images/bold.gif" name="btnBold" title="Bold" onClick="doAddTags(\'[b]\',\'[/b]\',\''
            + obj + '\')">';
    edDiv += '<img class="button" src="'
            + root
            + '/images/italic.gif" name="btnItalic" title="Italic" onClick="doAddTags(\'[i]\',\'[/i]\',\''
            + obj + '\')">';
    edDiv += '<img class="button" src="'
            + root
            + '/images/underline.gif" name="btnUnderline" title="Underline" onClick="doAddTags(\'[u]\',\'[/u]\',\''
            + obj + '\')">';
    edDiv += '<img class="button" src="'
            + root
            + '/images/link.gif" name="btnLink" title="Insert URL Link" onClick="chooseURL(\'link\', \'' + obj + '\');">';
    edDiv += '<img class="button" src="'
            + root
            + '/images/picture.gif" name="btnPicture" title="Insert Image" onClick="chooseURL(\'img\', \'' + obj + '\');">';
    edDiv += '<img class="button" src="'
            + root
            + '/images/ordered.gif" name="btnList" title="Ordered List" onClick="doList(\'[olist]\',\'[/olist]\',\''
            + obj + '\')">';
    edDiv += '<img class="button" src="'
            + root
            + '/images/unordered.gif" name="btnList" title="Unordered List" onClick="doList(\'[list]\',\'[/list]\',\''
            + obj + '\')">';
    edDiv += '<img class="button" src="'
            + root
            + '/images/quote.gif" name="btnQuote" title="Quote" onClick="doAddTags(\'[quote]\',\'[/quote]\',\''
            + obj + '\')">';
    edDiv += '<img class="button" src="'
            + root
            + '/images/code.gif" name="btnCode" title="Code" onClick="doAddTags(\'[code]\',\'[/code]\',\''
            + obj + '\')">';
    edDiv += '</div>';
    $("#" + obj).before(edDiv);
}

/*function doImage(obj, url) {
    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);
            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 doImage(obj, url) {
    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();//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);
            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, url) {
    textarea = document.getElementById(obj);
    //var url = prompt('Enter the URL:', 'http://');
    //url = chooseURL('link');
    var scrollTop = textarea.scrollTop;
    var scrollLeft = textarea.scrollLeft;
    //textarea.focus();

    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]';
            }
        }
        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]';
            }

            textarea.value = textarea.value.substring(0, start) + rep + textarea.value.substring(end, len);
            textarea.scrollTop = scrollTop;
            textarea.scrollLeft = scrollLeft;
        }
    }
}

/*function doURL(obj, url) {
    textarea = document.getElementById(obj);
    var scrollTop = textarea.scrollTop;
    var scrollLeft = textarea.scrollLeft;

    if(url != '' && url != null) {
        if(document.selection) {
            textarea.focus();
		if(ds.text = ''){
			var sel = document.selection.createRange();
		} else {
            		var sel = ds;//document.selection.createRange();
		}

            if(sel.text == "") {
                sel.text = '[url]' + url + '[/url]';
            }
            else {
                sel.text = '[url=' + url + ']' + sel.text + '[/url]';
            }
        }
        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]';
            }

            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();
        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);
        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];
        }
        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);
        var list = sel.split('\n');

        for(i = 0; i < list.length; i++) {
            list[i] = '[*]' + list[i];
        }

        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;
    }
}