// JavaScript Document

document.observe("dom:loaded", init); 

function init()
{
	var titles = $$('div#siteSections dt');
	var links = $$('div#siteSections dt a');
	var descriptions = $$('div#siteSections dd');
	var closeBtn = $('close');
	
	var obj = {
 		dOut: function(event) {
			var element = Event.element(event);
			var currentDesc;
			
			descriptions.each(function(el){
				if (el.getStyle('opacity') == 0.9) {
					currentDesc = el;
				}
			});	
			
			new Effect.Appear(currentDesc,{ duration: 0.2, from: 0.9, to: 0.0, afterFinish: myCallBackOnFinish });
			new Effect.Appear(closeBtn,{ duration: 0.2, from: 0.9, to: 0.0, afterFinish: myCallBackOnFinish }); 
			
			function myCallBackOnFinish(obj){
  				(element, currentDesc).setStyle({ display: 'none' });
				$('intro').setStyle({ color: '#757562' });
			};
 		 },
		 linkDown: function(event) {
			var element = Event.element(event);
			new Effect.Appear(element.up().next('dd'),{ duration: 0.2, from: 0.0, to: 0.9 }); 
			new Effect.Appear(closeBtn,{ duration: 0.2, from: 0.0, to: 1 });
			$('intro').setStyle({ color: '#FFFFFF' });
			links.each(function(el){
				Event.stopObserving(el, 'mouseover', obj.lOvers);					 
			});
			return false;
 		 },
		 titleOver: function(event) {
			var element = Event.element(event);
			element.up().setStyle({ opacity: '0.8' });
 		 },
		 titleOut: function(event) {
			var element = Event.element(event);
			element.up().setStyle({ opacity: '1' });
 		 }
	};
	obj.dOuts = obj.dOut.bindAsEventListener(obj);
	obj.linkDowns = obj.linkDown.bindAsEventListener(obj);
	obj.titleOvers = obj.titleOver.bindAsEventListener(obj);
	obj.titleOuts = obj.titleOut.bindAsEventListener(obj);
	
	$('intro').setStyle({ position: 'absolute' });
	$(closeBtn).setStyle({ display: 'none' });
	
	titles.each(function(el){
		Event.observe(el, 'mouseover', obj.titleOvers);	
		Event.observe(el, 'mouseout', obj.titleOuts);
	});
	links.each(function(el){
		Event.observe(el, 'mousedown', obj.linkDowns);	
	});
	descriptions.each(function(el){		   
		el.setStyle({ display: 'none', position: 'absolute' });
	});	  
	Event.observe(closeBtn, 'mousedown', obj.dOuts);

}