var FlyoutMenu = new Class({
	options: {
		menuItems: [],
		direction: 'vertical'
	}, 
	initialize: function(options){
		this.setOptions(options)
		this.menuItems = [];
		this.addMenuItems(this.options.menuItems);
	},
	addMenuItems: function(menuItems) {
		$$(menuItems).each(function(menuItem){
			this.menuItems.include($(menuItem));
			if (this.options.direction == 'horizontal') {
				
				var slideEffect = new Fx.Style($E('div',menuItem), 'width', {duration: 200,	transition: Fx.Transitions.Quad.easeIn, wait: false});
				menuItem.addEvents({
					'mouseenter': function(){ menuItem.toggleClass('active'); slideEffect.start($E('ul',menuItem).getSize().size.x); },
					'mouseleave': function(){ slideEffect.start(0).chain(function() {menuItem.toggleClass('active');});  }
				});
			} else { 
				var slideEffect = new Fx.Style($E('div',menuItem), 'height', {duration: 200,	transition: Fx.Transitions.Quad.easeIn, wait: false});
				menuItem.addEvents({
					'mouseenter': function(){ menuItem.toggleClass('active'); slideEffect.start($E('ul',menuItem).getSize().size.y); },
					'mouseleave': function(){ slideEffect.start(0).chain(function() {menuItem.toggleClass('active');}); }
				});
			}
			
			
			
		}, this);
	} 
	
});

FlyoutMenu.implement(new Options, new Events);



window.onload = function(){

	new FlyoutMenu({ menuItems: $$('#navGlobal .toptier') });

	var accordion = new Accordion('div.toggleHead', 'div.toggleBody', {opacity: false, show: -1, alwaysHide: true, start: 'all-closed', duration: 500, onActive: function(tog){tog.addClass('selected');}, onBackground: function(tog){tog.removeClass('selected');}}, $('AC-Accordion'));

	if ($$('.AC-TodoHeader') != '') {
		var header = $$('.AC-TodoHeader');
		var footer = $$('.AC-TodoFooter');
		var content = $$('.AC-TodoContent');
		var heightChange = new Fx.Style(content[0], 'height', {duration: 700});
		var todoOpen = false;
	
		var removeLink = $$('.removeLink');
		removeLink[0].href = '#';
		
		header[0].addEvent('click', function(){todoToggle()});
		footer[0].addEvent('click', function(){todoToggle()});
		
		function todoToggle() {
			if(todoOpen == false){
				heightChange.stop();
				footer[0].setStyle('display','block');
				header[0].addClass('AC-TodoOpen');
				heightChange.start(content[0].getSize().scrollSize.y - 1);
				todoOpen = true;
			}else{
				heightChange.stop();
				heightChange.start(0).chain(function(){
					if(content[0].getStyle('height').toInt() == 0) {
						header[0].removeClass('AC-TodoOpen');
						footer[0].setStyle('display','none');
					}
				})
				todoOpen = false;
			}	  
			return false;
		}
	};

    var Alert = {
        initialize:function(){        
            if ($$('.AC-AlertBlock').length > 0){
                $$('.AC-AlertBlock')[0].innerHTML = '<div id="AC-AlertClose">Close [X]</div>' + $$('.AC-AlertBlock')[0].innerHTML;
                $('AC-AlertClose').addEvent('click',this.fadeAlert);
            }
            if (Cookie.get('Alert') != false){
                var arrAlerts = Cookie.get('Alert').split('|');
                for(i=0;i<arrAlerts.length;i++){
                  if ($$('.AC-AlertBlock').length > 0){
                    $$('.AC-AlertBlock')[0].remove();
                  } 
                }
            }
        },
        fadeAlert:function(){
            var fadeEffects = new Fx.Styles($$('.AC-AlertBlock')[0], {duration: 1450, transition: Fx.Transitions.Sine.easeInOut});
            fadeEffects.start({'opacity': [0.0],'margin-bottom': [0],'height': [0]}).chain(function(){$$('.AC-AlertBlock')[0].style.display = 'none';});
            Alert.setCookie();     
        },
        setCookie:function(){
            var today = new Date();
            var todayEnd = 24 - today.getHours();
            var foundAlerts
            if (Cookie.get('Alert') != false){
                foundAlerts = Cookie.get('Alert') + '|' + $$('.AC-AlertBlock')[0].id;
                Cookie.remove('Alert');
                Cookie.set('Alert',foundAlerts,{path:'/',duration:(todayEnd/24)})            
            }else{
                Cookie.set('Alert',Cookie.remove('Alert'),{path:'/',duration:(todayEnd/24)})
            }        
        }
    };
    Alert.initialize();
};