MediaWiki:Spoilers.js

Материал из RPGround Wiki
Перейти к: навигация, поиск
function hideSpoilers() { manageSpoilers(false); }
function showSpoilers() { manageSpoilers(true); }

function manageSpoilers($visibility)
{
 var $list=getInnerTags(document.body, 'spoilerline', 'span');
 var $num=$list.length;
 for (var $x=0; $x<$num; $x++)
 {
  if (!$visibility) $list[$x].className='spoilerline hiddenline';
  else $list[$x].className='spoilerline';
 }

 $list=getInnerTags(document.body, 'spoilerblock', 'DIV');
 $num=$list.length; var $id;
 for (var $x=0; $x<$num; $x++)
 {
  $id=$list[$x].id.substr(8);
  collapseDiv($id, $visibility);
 }
}

function setSpoilerButtons()
{
 var $holder=document.getElementById('spoilerbuttons'), $defhidden='';
 if (!$holder) { $holder=document.getElementById('spoilerbuttons_defhidden'); $defhidden='_defhidden'; }
 if ($holder)
 {
  $holder.innerHTML='<br /> <u><span id="showspoilers'+$defhidden+'" style="cursor:crosshair;">Показать</span></u> <u><span id="hidespoilers" style="cursor:crosshair;">Скрыть</span></u>';

  var $button=document.getElementById('showspoilers'+$defhidden);
  if ($button.addEventListener) $button.addEventListener('click', showSpoilers, false);
  else if ($button.attachEvent)$button.attachEvent('onclick', showSpoilers);  
  $button=document.getElementById('hidespoilers');
  if ($button.addEventListener) $button.addEventListener('click', hideSpoilers, false);
  else if ($button.attachEvent)$button.attachEvent('onclick', hideSpoilers);  
 }
}