============================================================================================================================
Modification Name: BB Code: Text Spoiler

Version: 1.3

Author: JDaniels

Description:
This modification will add the ability to hide sections of a post until the spoiler image is clicked.
This modification will add a button to the BB Code buttons to hide text until the spoiler image is clicked.

Copyright:  2007 JDaniels. All Rights Reserved.

Compatibility: XMB 1.9.5 SP1

Updated for XMB 1.9.5 SP1 by: WormHole @ XMB Garage.

Install Note: Before adding this modification to your forum, you should back up all files related to this modification.

License Note: This modification is released under the GPL License v3. A copy is provided with this software package.

Author Note:
For security purposes, Please Check: http://www.xmbgarage.com for the latest version of this modification.
Downloading this modification from other sites could cause malicious code to enter into your XMB Forum software.
As such, XMB Garage.com will not offer support for modifications not offered in our Modifications list.
============================================================================================================================
=======
Step 1:
=======
====================
Edit File: include/header.js
====================
==========
Find Code:
==========

self.name = 'mainwindow';

===============
Add Code Above:
===============

// BB Code: Text Spoiler Mod Begin
function showSpoiler(spoilerbtn) {
    spoilerbtn.nextSibling.style.display ="block";
    spoilerbtn.parentNode.removeChild(spoilerbtn);
}
// BB Code: Text Spoiler Mod End

============================================================================================================================
=======
Step 2:
=======
==================
Edit File: functions.php
==================
==========
Find Code:
==========

                11   => '[list=A]',

===============
Add Code Below:
===============

                12 => '[spoiler]',

==========
Find Code:
==========

                11   => '[/list=A]',

===============
Add Code Below:
===============

                12 => '[/spoiler]',

==========
Find Code:
==========

                25  => '<br />'

================
Replace Code With:
================

                25 => '<br />',
                26 => '[spoiler]',
                27 => '[/spoiler]'

==========
Find Code:
==========

                25  => ' <br />'

================
Replace Code With:
================

                25 => '<br />',
                26 => '<div class="spoiler"><img src="'.$imgdir.'/spoiler.gif" border="0" onClick="showSpoiler(this)" onMouseOver="this.style.cursor = \'pointer\'" alt="hidden text" title="hidden text" /><div class="spoilercontent">',
                27 => '</div></div>'

============================================================================================================================
=======
Step 3:
=======
========================
Edit File: include/bbcodefns-ie.js
========================
==========
Find Code:
==========

function storeCaret(textEl) {

===============
Add Code Above:
===============

// BB Code Text Spoiler Mod Begin
function spoiler() {
    if (helpmode) {
        alert(bbcode_help_spoiler);
    }else if (advmode) {
        AddText('', '', "\r[spoiler]\r"+document.selection.createRange().text+"\r[/spoiler]", messageElement);
    }else {
        txt=prompt(bbcode_prompt_spoiler,"");
        if (txt!=null) {
            AddText('', '', "\r[spoiler]"+txt+"[/spoiler]", messageElement);
        }
    }
}
// BB Code Text Spoiler Mod End

============================================================================================================================
=======
Step 4:
=======
============================
Edit File: include/bbcodefns-mozilla.js
============================
==========
Find Code:
==========

function storeCaret() {

===============
Add Code Above:
===============

// BB Code Text Spoiler Mod Begin
function spoiler() {
    if (helpmode) {
        alert(bbcode_help_spoiler);
    }else if (advmode) {
        if (hasSelection(messageElement)) {
            wrapText("\r\n"+'[spoiler]', '[/spoiler]'+"\r\n", messageElement);
        }else {
            AddText("\r\n"+'[spoiler]', '[/spoiler]'+"\r\n", ' ', messageElement);
        }
    }else {
        if (hasSelection(messageElement)) {
            text = prompt(bbcode_prompt_spoiler, fetchSelection(messageElement));
            if (text == fetchSelection(messageElement)) {
                wrapText("\r\n"+'[spoiler]', '[/spoiler]'+"\r\n", messageElement);
            }else {
                AddText("\r\n"+'[spoiler]', '[/spoiler]'+"\r\n", text, messageElement);
            }
        }else {
            text = prompt(bbcode_prompt_spoiler, '');
            AddText("\r\n"+'[spoiler]', '[/spoiler]'+"\r\n", text, messageElement);
        }
    }
}
// BB Code Text Spoiler Mod End

============================================================================================================================
=======
Step 5:
=======
===========================
Edit File: include/bbcodefns-opera.js
===========================
==========
Find Code:
==========

function storeCaret(textEl) {

===============
Add Code Above:
===============

// BB Code Text Spoiler Mod Begin
function spoiler() {
    if (helpmode) {
        alert(bbcode_help_spoiler);
    }else if (advmode) {
        AddText('', '', "\r[spoiler]\r"+document.selection.createRange().text+"\r[/spoiler]", messageElement);
    }else {
        txt=prompt(bbcode_prompt_spoiler,"");
        if (txt!=null) {
            AddText('', '', "\r[spoiler]"+txt+"[/spoiler]", messageElement);
        }
    }
}
// BB Code Text Spoiler Mod End

============================================================================================================================
=======
Step 6:
=======
===============================
Go To Administration Panel --> Templates
===============================
===============
Edit Template: css
===============
==========
Find Code:
==========

/*]]>*/
</style>

===============
Add Code Above:
===============

.spoiler, .spoilercontent {
    position: relative;
    display: block;
    margin-bottom: 10px;
}

.spoilercontent {
    display: none;
}

============================================================================================================================
=======
Step 8:
=======
===============================
Go To Administration Panel --> Templates
===============================
=========================
Edit Template: functions_bbcode
=========================
==========
Find Code:
==========

var messageElement;

===============
Add Code Above:
===============

var bbcode_help_spoiler = "$lang[bbcode_help_spoiler]";
var bbcode_prompt_spoiler = "$lang[bbcode_prompt_spoiler]";

============================================================================================================================
=======
Step 9:
=======
===============================
Go To Administration Panel --> Templates
===============================
============================
Edit Template: functions_bbcodeinsert
============================
==========
Find Code:
==========

<a href="javascript:list()"><img src="$imgdir/bb_list.gif" border="0" width="23" height="22" alt="$lang[cb_insert_list]" /></a></td>

================
Replace Code With:
================

<a href="javascript:list()"><img src="$imgdir/bb_list.gif" border="0" width="23" height="22" alt="$lang[cb_insert_list]" /></a>
<a href="javascript:spoiler()"><img src="$imgdir/bb_spoiler.gif" border="0" width="23" height="22" alt="$lang[cb_insert_spoiler]" /></a></td>

============================================================================================================================
========
Step 10:
========
=======================
Edit File: lang/English.lang.php
=======================
=============================
Add Code To End Of File ABOVE  ?>
=============================

// BB Code Text Spoiler Mod Begin
$lang['bbcode_help_spoiler'] = "Spoiler Tag\\nHides a section of a post until the image is clicked.\\nUsage: [spoiler]This text will be hidden until the spoiler image is clicked.[/spoiler]";
$lang['bbcode_prompt_spoiler'] = "Please enter the hidden text.";
$lang['cb_insert_spoiler'] = "Insert Hidden Text";
// BB Code Text Spoiler Mod End

============================================================================================================================
========
Step 11:
========

Upload images in the Contents folder to all of your theme folders.

============================================================================================================================
Enjoy!