/*****************************************/
// 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;

function edToolbar(obj) {
    document.write("<div class=\"toolbar\">");
    document.write("<img class=\"ed_button\" src=\"/plugins/content/agoradiscuss/bbeditor/images/text_bold.png\" name=\"btnBold\" onClick=\"doAddTags('[b]','[/b]','" + obj + "')\" Title=\"Bold\">");
    document.write("<img class=\"ed_button\" src=\"/plugins/content/agoradiscuss/bbeditor/images/text_italic.png\" name=\"btnItalic\" onClick=\"doAddTags('[i]','[/i]','" + obj + "')\" Title=\"Italic\">");
    document.write("<img class=\"ed_button\" src=\"/plugins/content/agoradiscuss/bbeditor/images/text_underline.png\" name=\"btnUnderline\" onClick=\"doAddTags('[u]','[/u]','" + obj + "')\" Title=\"Underline\">");
    document.write("<img class=\"ed_button\" src=\"/plugins/content/agoradiscuss/bbeditor/images/text_strikethrough.png\" name=\"btnStrike\" onClick=\"doAddTags('[s]','[/s]','" + obj + "')\" Title=\"Strike\">");

    document.write("<img src=\"/plugins/content/agoradiscuss/bbeditor/images/spacer.png\" name=\"btnSpacer\"\">");

    document.write("<img class=\"ed_button\" src=\"/plugins/content/agoradiscuss/bbeditor/images/text_align_left.png\" name=\"btnLeft\" onClick=\"doAddTags('[left]','[/left]','" + obj + "')\" Title=\"Left\">");
    document.write("<img class=\"ed_button\" src=\"/plugins/content/agoradiscuss/bbeditor/images/text_align_center.png\" name=\"btnCenter\" onClick=\"doAddTags('[center]','[/center]','" + obj + "')\" Title=\"Center\">");
    document.write("<img class=\"ed_button\" src=\"/plugins/content/agoradiscuss/bbeditor/images/text_align_right.png\" name=\"btnRight\" onClick=\"doAddTags('[right]','[/right]','" + obj + "')\" Title=\"Right\">");
    document.write("<img class=\"ed_button\" src=\"/plugins/content/agoradiscuss/bbeditor/images/text_align_justify.png\" name=\"btnJustify\" onClick=\"doAddTags('[justify]','[/justify]','" + obj + "')\" Title=\"Justify\">");

    document.write("<img src=\"/plugins/content/agoradiscuss/bbeditor/images/spacer.png\" name=\"btnSpacer\"\">");

    document.write("<img class=\"ed_button\" src=\"/plugins/content/agoradiscuss/bbeditor/images/text_indent.png\" name=\"btnImdent\" onClick=\"doAddTags('[indent]','[/indent]','" + obj + "')\" Title=\"Indent\">");
    document.write("<img class=\"ed_button\" src=\"/plugins/content/agoradiscuss/bbeditor/images/text_horizontalrule.png\" name=\"btnHorizontalrule\" onClick=\"doAddTags('[hr]','','" + obj + "')\" Title=\"Horizontal Rule\">");

    document.write("<img class=\"ed_button\" src=\"/plugins/content/agoradiscuss/bbeditor/images/color_swatch.png\" name=\"btnFontColor\" onClick=\"doAddTags('[color=yourColor][s]','[/s][/color]','" + obj + "')\" Title=\"Font Color\">");

    document.write("<img src=\"/plugins/content/agoradiscuss/bbeditor/images/spacer.png\" name=\"btnSpacer\"\">");

    document.write("<img class=\"ed_button\" src=\"/plugins/content/agoradiscuss/bbeditor/images/style.png\" name=\"btnFontSize\" onClick=\"doAddTags('[size=?]','[/size]','" + obj + "')\" Title=\"Font Size\">");

    document.write("<img src=\"/plugins/content/agoradiscuss/bbeditor/images/spacer.png\" name=\"btnSpacer\"\">");

    document.write("<img  src=\"/plugins/content/agoradiscuss/bbeditor/images/spoiler.png\" name=\"btnSpoiler\" onClick=\"doAddTags('[spoiler]','[/spoiler]','" + obj + "')\" Title=\"Spoiler\">");

    document.write("<img src=\"/plugins/content/agoradiscuss/bbeditor/images/spacer.png\" name=\"btnSpacer\"\">");

    document.write("<img class=\"ed_button\" src=\"/plugins/content/agoradiscuss/bbeditor/images/comment.png\" name=\"btnQuote\" onClick=\"doAddTags('[quote]','[/quote]','" + obj + "')\" Title=\"Quote\">");
    document.write("<img class=\"ed_button\" src=\"/plugins/content/agoradiscuss/bbeditor/images/user_comment.png\" name=\"btnQuoteUser\" onClick=\"doAddTags('[quote=USER]','[/quote]','" + obj + "')\" Title=\"Quote User\">");
    document.write("<img class=\"ed_button\" src=\"/plugins/content/agoradiscuss/bbeditor/images/code.png\" name=\"btnCode\" onClick=\"doAddTags('[code]','[/code]','" + obj + "')\" Title=\"Code\">");

    document.write("<img src=\"/plugins/content/agoradiscuss/bbeditor/images/spacer.png\" name=\"btnSpacer\"\">");

    document.write("<img class=\"ed_button\" src=\"/plugins/content/agoradiscuss/bbeditor/images/link_url.png\" name=\"btnLink\" onClick=\"doURL('" + obj + "')\" Title=\"URL Link\">");
    document.write("<img class=\"ed_button\" src=\"/plugins/content/agoradiscuss/bbeditor/images/link_img.png\" name=\"btnPicture\" onClick=\"doImage('" + obj + "')\" Title=\"Image Link\">");
    document.write("<img class=\"ed_button\" src=\"/plugins/content/agoradiscuss/bbeditor/images/link_email.png\" name=\"btnEmail\" onClick=\"doAddTags('[email=you@email.com][b]this is my email link','[/b][/email]','" + obj + "')\" Title=\"Email Link\">");
    document.write("<img src=\"/plugins/content/agoradiscuss/bbeditor/images/spacer.png\" name=\"btnSpacer\"\">");

    document.write("<img class=\"ed_button\" src=\"/plugins/content/agoradiscuss/bbeditor/images/text_list_bullets.png\" name=\"btnList\" onClick=\"doList('[ul]','[/ul]','" + obj + "')\" Title=\"Bullets\">");
    document.write("<img class=\"ed_button\" src=\"/plugins/content/agoradiscuss/bbeditor/images/text_list_numbers.png\" name=\"btnList\" onClick=\"doList('[ol]','[/ol]','" + obj + "')\" Title=\"Numbers\">");
    document.write("<img class=\"ed_button\" src=\"/plugins/content/agoradiscuss/bbeditor/images/text_list_none.png\" name=\"btnList\" onClick=\"doList('[li]','[/li]','" + obj + "')\" Title=\"List\">");

    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 (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 (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;
    }
}
