FruitBank/Presentation/Nop.Web/wwwroot/js/bbeditor/ed.js

106 lines
4.2 KiB
JavaScript

/*****************************************/
// 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, webRoot) {
document.write("<div class=\"toolbar\">");
document.write("<img class=\"button\" src=\"" + webRoot + "bbeditor/images/bold.gif\" title=\"Bold\" name=\"btnBold\" onClick=\"doAddTags('[b]','[/b]','" + obj + "')\">");
document.write("<img class=\"button\" src=\"" + webRoot + "bbeditor/images/italic.gif\" title=\"Italic\" name=\"btnItalic\" onClick=\"doAddTags('[i]','[/i]','" + obj + "')\">");
document.write("<img class=\"button\" src=\"" + webRoot + "bbeditor/images/underline.gif\" title=\"Underline\" name=\"btnUnderline\" onClick=\"doAddTags('[u]','[/u]','" + obj + "')\">");
document.write("<img class=\"button\" src=\"" + webRoot + "bbeditor/images/link.gif\" title=\"Link\" name=\"btnLink\" onClick=\"doURL('" + obj + "')\">");
document.write("<img class=\"button\" src=\"" + webRoot + "bbeditor/images/picture.gif\" title=\"Picture\" name=\"btnLink\" onClick=\"doImg('" + obj + "')\">");
document.write("<img class=\"button\" src=\"" + webRoot + "bbeditor/images/code.gif\" title=\"Code\" name=\"btnCode\" onClick=\"doAddTags('[code]','[/code]','" + obj + "')\">");
document.write("</div>");
}
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]';
}
}
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 doImg(obj) {
textarea = document.getElementById(obj);
var url = prompt('Enter the picture 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 rep = '[img]' + url + '[/img]';
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;
}
}