/* generated javascript */
if (!window.skin) {
	var skin = 'monaco';
	var stylepath = 'http://images.wikia.com/common/releases_200912.1/skins';
}

/* MediaWiki:Common.js */
/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. <pre> */

addOnloadHook(loadFunc);

function loadFunc()
{
	rewriteTitle();
}

// **************************************************
// Pinky's way of making [[Template:Title]] work
// **************************************************

function rewriteTitle()
{
	if(typeof(window.SKIP_TITLE_REWRITE) != 'undefined' && window.SKIP_TITLE_REWRITE)
		return;

	var titleDiv = document.getElementById('title-meta');

	if(titleDiv == null)
		return;

	var cloneNode = titleDiv.cloneNode(true);
	var firstHeading = getFirstHeading();
	var node = firstHeading.childNodes[0];

	// new, then old!
	firstHeading.replaceChild(cloneNode, node);
	cloneNode.style.display = "inline";

	var titleAlign = document.getElementById('title-align');
	firstHeading.style.textAlign = titleAlign.childNodes[0].nodeValue;
}
function getFirstHeading()
{
	var elements = getElementsByClassName(document.getElementById('content'), 'h1', 'firstHeading');
	return (elements != null && elements.length > 0) ? elements[0] : null;
}

// ==================================================
//	Collapsible Portlets (experimental)
// ==================================================

function foldingPortlets()
{
	var portlets = getElementsByClassName(document.getElementById('column-one'),'div','portlet');
	var portskip = ['p-personal', 'p-cactions', 'p-logo', 'ads-top-left', 'p-search', 'p-tbx', 'p-wikicities-nav', 'p-lang'];
	var first=true;

	for(var i=0;i<portlets.length;i++)
	{
		if(portskip.join(' ').indexOf(portlets[i].id)==-1)
		{
			var pd = portlets[i].getElementsByTagName('div')[0];
			var ph = portlets[i].getElementsByTagName('h5')[0];
			ph.className = 'portletCollapsible'
			pd.setAttribute('id','pbody-'+i);
			pd.style.display='none';

			var link = document.createElement('a');
			var head = getAllText(ph);
			while(ph.firstChild) ph.removeChild(ph.firstChild);
			link.appendChild(document.createTextNode(head));
			link.setAttribute('href','javascript:showPortlet(\'' + i + '\');');
			link.setAttribute('id','plink-'+i);
			link.className = 'portletClosed';
			ph.appendChild(link);

			if(first==true)
			{
				first=false; 
				showPortlet(i);
			}
		}
	}
}
if(skin=='monobook'&&!window.portletsNormal) addOnloadHook(foldingPortlets)

function getAllText(thing)
{
	if (thing.nodeType == 3) return thing.nodeValue;
	var text = new Array(); var i=0;
	while(thing.childNodes[i])
	{
		text[text.length] = getAllText(thing.childNodes[i]);
		i++;
	}
	return text.join('');
}

function showPortlet(id)
{
	var pd = document.getElementById('pbody-'+id);
	var pl = document.getElementById('plink-'+id);

	if(pd.style.display=='none')
	{
		pd.style.display='block';
		pl.className = 'portletOpened';
	}
	else
	{
		pd.style.display='none';
		pl.className = 'portletClosed';
	}
}

// ==================================================
//	End Collapsible Portlets
// ==================================================

// **************************************************
// Experimental javascript countdown timer (Splarka)
// Version 0.0.3
// **************************************************
//
// Usage example:
//  <span class="countdown" style="display:none;">
//  Only <span class="countdowndate">January 01 2007 00:00:00 PST</span> until New years.
//  </span>
//  <span class="nocountdown">Javascript disabled.</span>

function updatetimer(i) {
  var now = new Date();
  var then = timers[i].eventdate;
  var diff = count=Math.floor((then.getTime()-now.getTime())/1000);

  // catch bad date strings
  if(isNaN(diff)) { 
    timers[i].firstChild.nodeValue = '** ' + timers[i].eventdate + ' **' ;
    return;
  }

  // calcuate the diff
  var left = (diff%60) + ' seconds';
    diff=Math.floor(diff/60);
  if(diff > 0) left = (diff%60) + ' minutes ' + left;
    diff=Math.floor(diff/60);
  if(diff > 0) left = (diff%24) + ' hours ' + left;
    diff=Math.floor(diff/24);
  if(diff > 0) left = diff + ' days ' + left
  timers[i].firstChild.nodeValue = left;

  // a setInterval() is more efficient, but calling setTimeout()
  // makes errors break the script rather than infinitely recurse
  timeouts[i] = setTimeout('updatetimer(' + i + ')',1000);
}

function checktimers() {
  //hide 'nocountdown' and show 'countdown'
  var nocountdowns = getElementsByClassName(document, 'span', 'nocountdown');
  for(var i in nocountdowns) nocountdowns[i].style.display = 'none'
  var countdowns = getElementsByClassName(document, 'span', 'countdown');
  for(var i in countdowns) countdowns[i].style.display = 'inline'

  //set up global objects timers and timeouts.
  timers = getElementsByClassName(document, 'span', 'countdowndate');  //global
  timeouts = new Array(); // generic holder for the timeouts, global
  if(timers.length == 0) return;
  for(var i in timers) {
    timers[i].eventdate = new Date(timers[i].firstChild.nodeValue);
    updatetimer(i);  //start it up
  }
}
addOnloadHook(checktimers);

// **************************************************
//  - end -  Experimental javascript countdown timer
// **************************************************

/* MediaWiki:Monaco.js */
