YAHOO.util.Event.onDOMReady(initializeSpoilers);

// $Id: spoilers.js 28 2009-01-25 16:54:25Z  $

function initializeSpoilers(){
	var i;
	var headings= YAHOO.util.Dom.getElementsByClassName('spoiler');
	
	YAHOO.log("started initializeSpoilers");
	
	for (i = 0; i < headings.length; i++)
	{
		if (headings[i].firstChild.nodeType == 1 && (headings[i].firstChild.nodeName.toLowerCase() == 'span'))
		{
			spoilerHeader = headings[i].firstChild;
		}
		else
		{
			spoilerHeader = null;
		};
		button = document.createElement('span');
		button.appendChild(document.createTextNode("Spoiler"));
		if (headings[i].firstChild.nodeType == 1 && (headings[i].firstChild.nodeName.toLowerCase() == 'div'))
		{
			button.spoilerSection = headings[i].firstChild;
		}
		else
		{
			button.spoilerSection = YAHOO.util.Dom.getNextSibling(headings[i].firstChild);
			while (button.spoilerSection.nodeName.toLowerCase() != 'div') {
				button.spoilerSection = YAHOO.util.Dom.getNextSibling(button.spoilerSection);
			}
		};
		button.spoilerSection.anim = new YAHOO.util.Anim(button.spoilerSection);
		button.spoilerSection.isHidden = 1;
		tmpRegion = YAHOO.util.Dom.getRegion(button.spoilerSection);
		button.spoilerSection.origHeight = tmpRegion.bottom - tmpRegion.top;
		YAHOO.util.Dom.setStyle(button.spoilerSection, 'height', '0px');
		button.spoilerSection.className = "spoiler-body-processed";
		button.spoilerSection.button = button;
		button.className = "spoiler-button-closed";
		button.onclick = spoilerClick;
		if (spoilerHeader)
		{
			spoilerHeader.spoilerSection = button.spoilerSection;
			spoilerHeader.spoilerSection.button = button;
			spoilerHeader.onclick = spoilerClick;
		};
		button.spoilerSection.spoilerSection = button.spoilerSection;
		button.spoilerSection.spoilerSection.button = button;
		button.spoilerSection.onclick = spoilerClick;
		headings[i].insertBefore(button, headings[i].firstChild);
  	};
}

function spoilerClick()
{
	var section = this.spoilerSection;
	if (section.isHidden) {
		section.isHidden = false;
		section.button.className = "spoiler-button-open";
		section.anim.stop();
		section.anim.attributes.height = {to: section.origHeight } ;
		section.anim.duration =  1;
		section.anim.method = YAHOO.util.Easing.easeOut;
		section.anim.animate();
	}
	else
	{
		section.isHidden = true;
		section.button.className = "spoiler-button-closed";
		section.anim.stop();
		section.anim.attributes.height = {to: 0 } ;
		section.anim.duration =  1;
		section.anim.method = YAHOO.util.Easing.easeOut;
		section.anim.animate();
	};
};