/*
 *
 * $LastChangedDate$
 * $LastChangedBy$
 *
 */

var blindDuration = .25;

Effect.BlindUpAndDown = function(blind) 
{
  	blind = $(blind);
	isVisible = Element.visible(blind);
	
  	var blinds = blind.up('.window').getElementsBySelector('.blind');
 
 	// Find the open blind and close it
 	for (var i = 0; i < blinds.length; i++)
	{
		if (Element.visible(blinds[i]))
		{	
	  		new Effect.BlindUp(blinds[i], {duration: blindDuration});
	  		blinds[i].previous('.cord').toggleClassName('down');
	  		break;
	  	}			
	}
	
	 // If the current blind is not visible then show it	 
  	if (!isVisible) 
	{
		new Effect.BlindDown(blind, {duration: blindDuration});
		blind.previous('.cord').toggleClassName('down');
	}
}

function setupBlinds()
{
	//Hide all blinds
	$$('.blind').invoke('hide');
	
	//Add the doBlind function to all cords
	var cords = $$('.cord');

	for (var i = 0; i < cords.length; i++)
	{
		Event.observe(cords[i], 'click', doBlind);
	}
}

function doBlind(e)
{
	var cord = Event.element(e);
	
	/* if a child of a cord has been selected find it's containing cord */
	if (!cord.hasClassName('cord'))
	{
		cord = Event.element(e).up('.cord');
	}
	
	Effect.BlindUpAndDown(cord.next('.blind'));
	
	// Remove focus from the anchor that caused this event
	cord.blur();
	
	Event.stop(e);
	return false;	
}