window.addEvent('domready', function()
{
	// Quicklinks - Slide In
	var mySlide = new Fx.Slide('quicklinks',{transition: Fx.Transitions.Quint.easeOut, duration: 750, wait: false});
	mySlide.hide();
	$('quicklinks').setStyle('display', '');
	$('toggle').addEvent('click', function(e)
	{
		e = new Event(e);
		mySlide.toggle();
		e.stop();
	});
	
	// Quicklinks - accordion
	var kwicks = $$('.ql_div');

	var fx = new Fx.Elements(kwicks, {wait: false, duration: 300});
	
	var ql_height = $('quicklinks').getStyle('height').toInt() - 63; // 63 = header + following break
	var ql_number = 4; // number of div elements
	var ql_smallheight = 30; // height of div elements when over other div

	var firstover = false;

	kwicks.each(function(kwick, i) 
	{
		kwick.addEvent('mouseenter', function(e)
		{
			var obj = {};
			obj[i] = { 'height': [kwick.getStyle('height').toInt(), ql_height - (ql_number - 1) * ql_smallheight] };

			kwicks.each(function(other, j)
			{
				if (other != kwick)
				{
					var w = other.getStyle('height').toInt();
					if (w != ql_smallheight) obj[j] = {'height': [w, ql_smallheight]};
				}
			});
			fx.start(obj);
		});
	})
	
	var qlslideOut = function(){ mySlide.slideOut(); };
	var qlTimeOut
	
	$('quicklinks').addEvents(
	{
		'mouseleave': function()
		{
			var obj = {};
			kwicks.each(function(other, j)
			{
				obj[j] = {'height': [other.getStyle('height').toInt(), ql_height/ql_number]};
			});
			fx.start(obj);
			
			qlTimeOut = qlslideOut.delay(1500);
		},
		'mouseenter': function()
		{
				qlTimeOut = $clear(qlTimeOut);
		}
	});
	
	var sem_divs = $$('.ql_semdiv');
	var sem_buttons = $$('.ql_sembuttondiv');
	
	sem_buttons.each(function(sem_button, i) 
	{
		sem_button.addEvent('mouseenter', function(e)
		{
			if( ql_semester != i)
			sem_button.setStyle('background-color', '#f9e8e8');
		});
		
		sem_button.addEvent('mouseleave', function(e)
		{
			if( ql_semester != i)
			sem_button.setStyle('background-color', '');
		});
		
		sem_button.addEvent('click', function(e)
		{
			/* layers */
			sem_divs[i].setStyle('display','');
			sem_divs[ql_semester].setStyle('display','none');
			/* button colors */
			sem_buttons[ql_semester].setStyle('background-color', '');
			ql_semester = i;
			sem_button.setStyle('background-color', '#ebc9c9');
		});
	})
});
