/**
 * @author	Nerd Almighty
 * @copyright	2008 Bergwerk
 * @license	n/a
 */
function NERDspoiler() {
	
	/**
	 * Initialises a spoiler.
	 */
	this.init = function(spoilID) {
		// get container element
		var container = document.getElementById('NERD_spoilContentContainer-' + spoilID);
		if (container) {
			// change class
			container.className = 'NERD_spoilContent';
		}
		
		// get "instructions" element
		var instructions = document.getElementById('NERD_spoilContentInstructions-' + spoilID);
		if (instructions) {
			// change style
			instructions.style.display = 'none';
		}
		
		// get warning icon element
		var warning = document.getElementById('NERD_spoilWarning-' + spoilID);
		if (warning) {
			// change style
			warning.style.display = 'none';
		}
		
		
		// get plus and minus icon elements
		var plus = document.getElementById('NERD_spoilPlus-' + spoilID);
		if (plus) {
			// change style
			plus.style.display = 'block';
			// add event listener
			plus.onclick = function() { NERDspoiler.open(spoilID); }
		}
		
		var minus = document.getElementById('NERD_spoilMinus-' + spoilID);
		if (minus) {
			// change style
			minus.style.display = 'none';
			// add event listener
			minus.onclick = function() { NERDspoiler.close(spoilID); }
		}
	}
	
	/**
	 * Shows the content of a spoiler
	 */
	this.open = function(spoilID) {
		// get plus and minus icon elements
		var plus = document.getElementById('NERD_spoilPlus-' + spoilID);
		if (plus) {
			// change style
			plus.style.display = 'none';
		}
		
		var minus = document.getElementById('NERD_spoilMinus-' + spoilID);
		if (minus) {
			// change style
			minus.style.display = 'block';
		}
		
		// get container element
		var container = document.getElementById('NERD_spoilContentContainer-' + spoilID);
		if (container) {
			// change style
			container.style.display = 'block';
		}
	}
	
	/**
	 * Hides the content of a spoiler
	 */	
	this.close = function(spoilID) {
		// get plus and minus icon elements
		var plus = document.getElementById('NERD_spoilPlus-' + spoilID);
		if (plus) {
			// change style
			plus.style.display = 'block';
		}
		
		var minus = document.getElementById('NERD_spoilMinus-' + spoilID);
		if (minus) {
			// change style
			minus.style.display = 'none';
		}
		
		// get container element
		var container = document.getElementById('NERD_spoilContentContainer-' + spoilID);
		if (container) {
			// change style
			container.style.display = 'none';
		}
	}
}

var NERDspoiler = new NERDspoiler();