// vi:ts=4 sw=4:
var Show_and_tell = Class.create({
	/*
	 * Find all elements with a class of "show_and_tell".
	 */
	initialize:function() {
		try {
			var show_and_tell_elements = $$('.show_and_tell');
			for( var i=0; i<show_and_tell_elements.length; i++ )
			{
				Element.extend( show_and_tell_elements[i]);
				// add link to show element
				var show_element = show_and_tell_elements[i].getElementsByClassName('show_and_tell_show');
				if( show_element.length > 0 )
				{
					//show_element[0].innerHTML = '<a href="#" onclick="Show_and_tell.invoke( \'toggle\' );return( false );">' + show_element[0].innerHTML + '</a>';
					show_element[0].innerHTML = '<a href="#" onclick="faq.toggle(this);return( false );">' + show_element[0].innerHTML + '</a>';
					//  ensure all elements are extended for IE's benefit
					Element.extend($(show_element[0]));
					Element.extend($(show_element[0].down()));
				}
				// add link to hide element
				var hide_element = show_and_tell_elements[i].getElementsByClassName('show_and_tell_hide');
				if( hide_element.length > 0 )
				{
					hide_element[0].innerHTML = '<a href="#" onclick="faq.toggle(this);return( false );">' + hide_element[0].innerHTML + '</a>';
					//  ensure all elements are extended for IE's benefit
					Element.extend($(hide_element[0]));
					Element.extend($(hide_element[0].down()));
				}
				delete show_element;
				delete hide_element;

				show_and_tell_elements[i].addClassName( 'hide' );
			}
		}
		catch( e )
		{

		}

	},

	toggle:function( source ) {
		try {
			var parent_container = source.up('.show_and_tell');

			if( parent_container.hasClassName( 'hide' ) )
			{
				parent_container.removeClassName( 'hide' );
				parent_container.addClassName( 'show' );
			}
			else
			{
				parent_container.removeClassName( 'show' );
				parent_container.addClassName( 'hide' );
			}
		}
		catch( e )
		{

		}
	}

});

var faq;

document.observe('dom:loaded', function () { faq = new Show_and_tell(); });

