// Standard functions throught b4k4.co.uk
// (C) Phil Moore 2007


function setOver(elems, reference) {
	elems.each(function(e) {
		if (e == reference) e.addClass('over');
		else e.removeClass('over');
	});
}

window.addEvent('domready', function() {

	/* NAV ACTIONS */
	var navLinks = $('nav').getElements('a');	// all the links in the nav box
	var navInfo = new Element('span');	// create the info box
	$('content').appendChild(navInfo);
	navInfo.setAttribute('id', 'nav_info');	// give it an ID (for CSS)
	navInfo.setStyle('opacity', 0);
	navInfo.setStyle('width', parseInt($('nav').getStyle('width')));
	
	navLinks.each(function(elem) {
		elem.addEvent('mouseenter', function() {
			navInfo.effect('opacity').set(1);
			setOver(navLinks, elem);
			navInfo.innerHTML = this.titleText;
		} );
		elem.titleText = elem.getAttribute('title');	// set as separate variable
		elem.setAttribute('title', '');		// remove title text so don't get default tooltips
	});
	$('nav').addEvent('mouseleave', function() {
		setOver(navLinks, null);
		navInfo.effect('opacity', {duration: 500}).start(1,0);
	});
	/* END NAV */
		
	/* Info Boxes */
	$$('.info_box').each(function(box) {
		box.fx = box.getElement('.slideme').effect('height',{duration:300});
		box.fx.renderHeight = parseFloat(box.getElement('.slideme').getStyle('height'));
		box.addEvent('mouseenter', function(){box.fx.start(parseFloat(box.fx.element.getStyle('height')), box.fx.renderHeight);});
		box.addEvent('mouseleave', function(){box.fx.start(parseFloat(box.fx.element.getStyle('height')), 0);});
		box.fx.start(parseFloat(box.fx.element.getStyle('height')), 0);	// hide it now
	});
	/* End Info Boxes */
	
	/* Anything requiring 'over' functionality */
	$$('.add-over').each(function(elem) {
		elem.addEvent('mouseenter', function() { elem.addClass('over'); });
		elem.addEvent('mouseleave', function() { elem.removeClass('over'); });
	});

} );
