Cufon.replace('.cufon_replace', 
{
	fontFamily: 'Max', 
	hover: true 
});


window.addEvent('domready', function()
{
	
	// Show Pushbox
	if ($('pushbox'))
	{
		var objPushbox = new MaritimeCampus.Pushbox();
	};	
	
	$$('.accordion_list_show').each(function(elAccordion)
	{
		objAccordion = new Accordion(
			elAccordion, 
			elAccordion.getElements('dt.acc_toggler'), 
			elAccordion.getElements('dd.acc_element'), 
		{
			show: 0,
			opacity: true,
			onActive: function(elHead, elDescription)
			{
				elHead.addClass('active');
			},
			onBackground: function(elHead, elDescription)
			{
				elHead.removeClass('active');
			}
		});
	});
	
	$$('.accordion_list_noshow').each(function(elAccordion)
			{
				objAccordion = new Accordion(
					elAccordion, 
					elAccordion.getElements('dt.acc_toggler'), 
					elAccordion.getElements('dd.acc_element'), 
				{
					show: -1,
					opacity: true,
					onActive: function(elHead, elDescription)
					{
						elHead.addClass('active');
					},
					onBackground: function(elHead, elDescription)
					{
						elHead.removeClass('active');
					}
				});
			});	
	
	if ($('portfoliotabs'))
	{
		var objPortfolioTabs = new MaritimeCampus.PortfolioTabs();
	};
	
});

var MaritimeCampus = {};

MaritimeCampus.Pushbox = new Class(
{	
	elSlideWrapper: null,
	elButtonWrapper: null,
	
	arrItems: null,
	arrButtons: null,
	intItems: null,
	
	intActive: 0,
	intNextActive: 0,
	
	intTimer: null,
	intDelay: 10000,
	
    initialize: function()
	{
		var self = this;
		
		this.elSlideWrapper = $('pushbox').getElement('#main');
		this.arrItems = this.elSlideWrapper.getElements('li');
		this.intItems = this.arrItems.length;
		
		this.elButtonWrapper = $('pushbox').getElement('#nav');
		this.arrButtons = this.elButtonWrapper.getElements('li a.round');
		
		this.arrItems.each(function(elItem, intKey)
		{
			if (intKey > 0)
			{
				elItem.setStyles(
				{
					'display': 'block',
					'opacity': 0
				});
			}
			else
			{
				elItem.setStyle('display', 'block');
			}
		}.bind(this));
		
		this.setControlButtons();	
		
		this.intTimer = this.setNextActive.bind(this).delay(this.intDelay);
    },

	setControlButtons: function()
	{
		this.arrButtons.each(function(elLink, intKey)
		{
			elLink.addEvents(
			{
				click:function(event)
				{
					event.preventDefault();
					if (this.intActive != intKey)
					{
						this.intTimer = $clear(this.intTimer);
						this.intNextActive = intKey;
						this.slideToNextActive();
					};
				}.bind(this)
			});
		}.bind(this));
	},

	setNextActive: function()
	{
		if (this.intActive < this.intItems - 1)
		{
			this.intNextActive++;
		}
		else
		{
			this.intNextActive = 0;
		}
		this.slideToNextActive();
	},

	slideToNextActive: function()
	{
		this.arrItems[this.intActive].fade(0);
		this.arrButtons[this.intActive].removeClass('active');
		
		this.intActive = this.intNextActive;
		
		this.arrButtons[this.intActive].addClass('load');
		
		this.fadeNextIn.bind(this).delay(300);
	},
	
	fadeNextIn: function()
	{
		this.arrButtons[this.intActive].removeClass('load');
		this.arrItems[this.intActive].fade(1);
		this.arrButtons[this.intActive].addClass('active');
		
		this.intTimer = this.setNextActive.bind(this).delay(this.intDelay);
	}

});

MaritimeCampus.PortfolioTabs = new Class(
{

	elWrapper: null,
	arrButtons: null,
	arrTabs: null,
	
	strActive: null,
	
	initialize:function()
	{
		this.elWrapper = $('portfoliotabs');
		this.arrButtons = this.elWrapper.getElements('ul.tabslist li a');
		this.arrTabs = this.elWrapper.getElements('div.portfolio_tab');
		
		this.arrTabs.each(function(elTab, intKey)
		{
			if (intKey > 0)
			{
				elTab.setStyle('display', 'none');
			}
		});
		
		this.controlButtons();
	},
	
	controlButtons:function()
	{
		this.arrButtons.each(function(elLink, intKey)
		{
			
			if (intKey < 1)
			{
				elLink.addClass('active');
				this.strActive = elLink.get('href').split('#')[1];
				
				$(this.strActive).setStyle('display', 'block');
			};
			
			elLink.addEvents(
			{
				click:function(event)
				{
					event.preventDefault();
					this.arrButtons.removeClass('active');
					elLink.addClass('active');
					
					$(this.strActive).setStyle('display', 'none');
					
					this.strActive = elLink.get('href').split('#')[1];
					
					$(this.strActive).setStyle('display', 'block');

				}.bind(this)
			});
			
		}.bind(this));
	}
	
});