#
#-----[ OPEN ]------------------------------------------
#
templates/subSilver/posting_body.tpl
#
#-----[ FIND ]------------------------------------------
#
// Shows the help messages in the helpline window
#
#-----[ BEFORE, ADD ]------------------------------------------
#
// Start add - BBCodes & smilies enhancement MOD
var baseHeight;
function initInsertions() {
if (is_ie && typeof(baseHeight) != 'number') baseHeight = document.selection.createRange().duplicate().boundingHeight;
}
// End add - BBCodes & smilies enhancement MOD
#
#-----[ FIND ]------------------------------------------
#
var caretPos = txtarea.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
txtarea.focus();
#
#-----[ REPLACE WITH ]------------------------------------------
#
// Start add - BBCodes & smilies enhancement MOD
if (baseHeight != txtarea.caretPos.boundingHeight) {
txtarea.focus();
storeCaret(txtarea);
}
// End add - BBCodes & smilies enhancement MOD
var caretPos = txtarea.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
txtarea.focus();
// Start add - BBCodes & smilies enhancement MOD
} else
if ((txtarea.selectionEnd | txtarea.selectionEnd == 0) && (txtarea.selectionStart | txtarea.selectionStart == 0))
{
mozInsert(txtarea, text, "");
return;
// End add - BBCodes & smilies enhancement MOD
#
#-----[ FIND ]------------------------------------------
#
if (!theSelection) {
#
#-----[ AFTER, ADD ]------------------------------------------
#
// Start add - BBCodes & smilies enhancement MOD
if (txtarea.createTextRange && txtarea.caretPos) {
if (baseHeight != txtarea.caretPos.boundingHeight) {
txtarea.focus();
storeCaret(txtarea);
}
var caretPos = txtarea.caretPos;
var text = bbopen + bbclose;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
} else
// End add - BBCodes & smilies enhancement MOD
#
#-----[ FIND ]------------------------------------------
#
else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0))
{
mozWrap(txtarea, bbopen, bbclose);
#
#-----[ REPLACE WITH ]------------------------------------------
#
// Start replacement - BBCodes & smilies enhancement MOD
else if ((txtarea.selectionEnd | txtarea.selectionEnd == 0) && (txtarea.selectionStart | txtarea.selectionStart == 0))
{
mozInsert(txtarea, bbopen, bbclose);
// End replacement - BBCodes & smilies enhancement MOD
#
#-----[ FIND ]------------------------------------------
#
while (bbcode[0]) {
butnumber = arraypop(bbcode) - 1;
#
#-----[ AFTER, ADD ]------------------------------------------
#
// Start add - BBCodes & smilies enhancement MOD
if (txtarea.createTextRange && txtarea.caretPos) {
if (baseHeight != txtarea.caretPos.boundingHeight) {
txtarea.focus();
storeCaret(txtarea);
}
var caretPos = txtarea.caretPos;
var text = bbtags[butnumber + 1];
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
} else
if ((txtarea.selectionEnd | txtarea.selectionEnd == 0) && (txtarea.selectionStart | txtarea.selectionStart == 0))
{
mozInsert(txtarea, bbtags[butnumber + 1], "");
} else
// End add - BBCodes & smilies enhancement MOD
#
#-----[ FIND ]------------------------------------------
#
mozWrap(txtarea, bbtags[bbnumber], bbtags[bbnumber+1]);
#
#-----[ REPLACE WITH ]------------------------------------------
#
mozInsert(txtarea, bbtags[bbnumber], bbtags[bbnumber+1]);
#
#-----[ FIND ]------------------------------------------
#
while (bbcode[bblast]) {
butnumber = arraypop(bbcode) - 1;
#
#-----[ AFTER, ADD ]------------------------------------------
#
// Start add - BBCodes & smilies enhancement MOD
if (txtarea.createTextRange && txtarea.caretPos) {
if (baseHeight != txtarea.caretPos.boundingHeight) {
txtarea.focus();
storeCaret(txtarea);
}
var caretPos = txtarea.caretPos;
var text = bbtags[butnumber + 1];
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
} else
if ((txtarea.selectionEnd | txtarea.selectionEnd == 0) && (txtarea.selectionStart | txtarea.selectionStart == 0))
{
mozInsert(txtarea, bbtags[butnumber + 1], "");
} else
// End add - BBCodes & smilies enhancement MOD
#
#-----[ FIND ]------------------------------------------
#
if (imageTag && (bbnumber != 14)) { // Close image tag before adding another
#
#-----[ AFTER, ADD ]------------------------------------------
#
// Start add - BBCodes & smilies enhancement MOD
if (txtarea.createTextRange && txtarea.caretPos) {
if (baseHeight != txtarea.caretPos.boundingHeight) {
txtarea.focus();
storeCaret(txtarea);
}
var caretPos = txtarea.caretPos;
var text = bbtags[15];
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
} else
if ((txtarea.selectionEnd | txtarea.selectionEnd == 0) && (txtarea.selectionStart | txtarea.selectionStart == 0))
{
mozInsert(txtarea, bbtags[15], "");
} else
// End add - BBCodes & smilies enhancement MOD
#
#-----[ FIND ]------------------------------------------
#
// Open tag
#
#-----[ AFTER, ADD ]------------------------------------------
#
// Start add - BBCodes & smilies enhancement MOD
if (bbnumber == 16) {
var url = prompt("{L_BBCODE_URL}", "http://");
if (url == null) {
return;
} else if (!url) {
alert("{L_BBCODE_URL_ERRORS}" + "\n" + "\n" + "{L_BBCODE_URL_EMPTY}");
return;
} else {
var title = prompt("{L_BBCODE_URL_TITLE}", "");
if (title == null) {
return;
} else if (!title) {
var text = "
" + url + "";
} else {
var text = "
" + title + "";
}
}
if (txtarea.createTextRange && txtarea.caretPos) {
if (baseHeight != txtarea.caretPos.boundingHeight) {
txtarea.focus();
storeCaret(txtarea);
}
var caretPos = txtarea.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
} else
if ((txtarea.selectionEnd | txtarea.selectionEnd == 0) && (txtarea.selectionStart | txtarea.selectionStart == 0))
{
mozInsert(txtarea, text, "");
} else txtarea.value += text;
} else {
var text = bbtags[bbnumber];
if (txtarea.createTextRange && txtarea.caretPos) {
if (baseHeight != txtarea.caretPos.boundingHeight) {
txtarea.focus();
storeCaret(txtarea);
}
var caretPos = txtarea.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
} else
if ((txtarea.selectionEnd | txtarea.selectionEnd == 0) && (txtarea.selectionStart | txtarea.selectionStart == 0))
{
mozInsert(txtarea, bbtags[bbnumber], "");
} else
// End add - BBCodes & smilies enhancement MOD
#
#-----[ FIND ]------------------------------------------
#
eval('document.post.addbbcode'+bbnumber+'.value += "*"');
#
#-----[ AFTER, ADD ]------------------------------------------
#
// Start add - BBCodes & smilies enhancement MOD
}
// End add - BBCodes & smilies enhancement MOD
#
#-----[ FIND ]------------------------------------------
#
//-->
</script>
#
#-----[ BEFORE, ADD ]------------------------------------------
#
// Start add - BBCodes & smilies enhancement MOD
function mozInsert(txtarea, openTag, closeTag)
{
var scrollTop = ( typeof(txtarea.scrollTop) == 'number' ? txtarea.scrollTop : -1 );
if (txtarea.selectionEnd > txtarea.value.length) { txtarea.selectionEnd = txtarea.value.length; }
var startPos = txtarea.selectionStart;
var endPos = txtarea.selectionEnd+openTag.length;
txtarea.value=txtarea.value.slice(0,startPos)+openTag+txtarea.value.slice(startPos);
txtarea.value=txtarea.value.slice(0,endPos)+closeTag+txtarea.value.slice(endPos);
txtarea.selectionStart = startPos+openTag.length;
txtarea.selectionEnd = endPos;
txtarea.focus();
if( scrollTop >= 0 ) { txtarea.scrollTop = scrollTop; }
}
// End add - BBCodes & smilies enhancement MOD
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------