// page init
$(document).observe("dom:loaded", function() {
	initAccordion();
});

// accordion function
function initAccordion() {
	var _slideDuration = 0.5;
	var _activeClass = 'open';
	var _accordions = $$('.navList');

	_accordions.each(function(obj, i){
		var _holder = obj;
		var _items = _holder.select('li');
		_items.each(function(_obj, _ind){
			var _curitem = _obj;
			var _opener = _curitem.getElementsBySelector('a.opener')[0];
			var _drop = _curitem.getElementsBySelector('div.slide')[0];


			if(_drop) {
				var _dropHeight = _drop.getDimensions().height;
				var _dropWidth = _drop.getDimensions().width;
				if(!_curitem.hasClassName(_activeClass)) {
					_drop.setStyle({height:'0',width:'0',opacity:'0.01',display:'block'});
				}
				_opener.onclick = function () {
					if(_curitem.hasClassName(_activeClass)) {
						_curitem.removeClassName(_activeClass);
						new Effect.Morph(_drop, {
							style: {
								height: (0+'px'),
								width: (0+'px'),
								opacity:'0.01'
							},
							duration: _slideDuration
						});
					} else {
						var _drops = _holder.getElementsBySelector('div.slide');
						_drops.each(function(_dr, _ind){
							new Effect.Morph(_dr, {
								style: {
									height: (0+'px'),
									width: (0+'px'),
									opacity:'0.01'
								},
								duration: _slideDuration
							});
							_dr.up().removeClassName(_activeClass);
						});
						_curitem.addClassName(_activeClass);
						new Effect.Morph(_drop, {
							style: {
								height: (_dropHeight+'px'),
								width: (_dropWidth+'px'),
								opacity:'1'
							},
							duration: _slideDuration
						});
					}
					return false;
				}
			}
		});
	});
}

// open-close function
function initMainNavigation() {
	var _animHeight = 0;
	var _slideDuration = 0.3;
	var _hoverClass = 'hover';
	var _nav = $('nav');
	var _items = _nav.select('ol');
	var _defHeight = _nav.getDimensions().height;
	var _lis = [];

	_nav.setStyle({'height':_defHeight+'px',overflow:'hidden'});

	_items.each(function(_obj){
		_obj.setStyle({'width':_obj.up().getDimensions().width+'px',display:'block'});
		if(_obj.getDimensions().height > _animHeight) _animHeight = _obj.getDimensions().height;
	});
	_items.each(function(_obj){
		_obj.setStyle({'height':_animHeight+'px'})
	});

	// get children
	$('nav').select('li').each(function(_obj){
		if(_obj.up().id == 'nav') _lis.push(_obj);
	});

	// menu animation
	var _timer;
	_nav.onmouseover = function() {
		_nav.addClassName(_hoverClass);
		if(_timer) clearTimeout(_timer);
		_timer = setTimeout(function(){
			new Effect.Morph(_nav, {
				style: {
					height: (_defHeight+_animHeight+'px')
				},
				duration: _slideDuration
			});
		},100);
	}
	_nav.onmouseout = function() {
		_nav.removeClassName(_hoverClass);
		if(_timer) clearTimeout(_timer);
		_timer = setTimeout(function(){
			new Effect.Morph(_nav, {
				style: {
					height: (_defHeight+'px')
				},
				duration: _slideDuration
			});
		},100);
	}

}
