window.addEvent('domready', expandyboxes_init);
window.addEvent('domready', dropdownmenu_ie6_init);


function dropdownmenu_ie6_init()
{
	// Add some onhover events for IE6 because it doesn't support the :hover pseudo class on LIs
	
	if (window.ie6)
	{
		var els = $$('#navigation li');
		
		for(i=0;i<els.length;i++)
		{

			els[i].addEvent('mouseenter',function()
			{
				this.addClass("ie-hover");
			});

			els[i].addEvent('mouseleave',function()
			{
				this.removeClass("ie-hover");
			});
		}
	}
}

function expandyboxes_init()
{
	var BOX_NAME = "box-";
	var LINK_NAME = "toggle-";
	
	var TOGGLE_OFF_TEXT = "More";
	var TOGGLE_ON_TEXT = "Less";
	//var TOGGLE_OFF_CLASS = "expanding-morelink";
	var TOGGLE_ON_CLASS = "lesslink";
	
	var boxes = $ES('.expanding-box');
	var slides = Array();
	
	
	for (var i=0; i < boxes.length; i++)
	{
	
		var boxname = BOX_NAME+i;
		
		boxes[i].id = boxname;
		
		// Create a link element!
		var link = new Element('div', {
			'id': LINK_NAME+i
		});
		
		link.setText(TOGGLE_OFF_TEXT);
		
		// Create a paragraph tag and insert the link into it
		var plink = new Element('p', {
			'class' : 'expanding-link'
		});
		link.injectInside(plink);
		
		// Insert the paragraph after the box
		plink.injectAfter(boxes[i]);
		
		slides[i] = new Fx.Slide(boxes[i]);
		slides[i].hide();
		document.getElementById(boxname).style.display = "block";

		// Add an event to the link so when it is clicked...
		link.addEvent('click', function(e) {
			e = new Event(e);
			
			// Get the box that the link refers to...
			
			// Figure out how many numbers are after the link's ID.
			// This will be a reference to which box (ID, number) to toggle
			var numberlength = this.id.length - LINK_NAME.length;

			var number = this.id.substring(this.id.length - numberlength, this.id.length);
			var id = BOX_NAME+number;
			var link = document.getElementById(LINK_NAME+number);
			
			// Toggle (expand/collapse) the actual box
			slides[number].toggle();
			
			// Toggle the link text (less/more)
			if (link.getText() == TOGGLE_OFF_TEXT)
				link.setText(TOGGLE_ON_TEXT);
			else
				link.setText(TOGGLE_OFF_TEXT);
				
			// And also toggle the link class
			link.toggleClass(TOGGLE_ON_CLASS);
			
			// Then contract all the other boxes
			expandyboxes_toggle_everyone_else(number);
			
			// Lose the focus!! LOSE IT! >:D
			window.blur();
			
			e.stop();
		});
	}

}
	

function expandyboxes_toggle_everyone_else(number)
{
	// Toggle everyone except the given number!
	
	for (var i=0; i<boxes.length; i++)
	{
		if (i != number)
		{
			slides[i].slideOut();
			
			var link = document.getElementById(LINK_NAME+i);
			link.setText(TOGGLE_OFF_TEXT);
			
			if (link.hasClass(TOGGLE_ON_CLASS))
				link.removeClass(TOGGLE_ON_CLASS);
			
		}
	}
	
}
