window.addEvent('domready', function()
{
	var current = $('container').getElement('.content.homepage');
	var last;
	
	// Reposition menu to upper
	function reposition(low)
	{
		if (!low)
		{
			$('menu').set('tween', {duration: 800, transition: Fx.Transitions.Quad.easeInOut});
			$('menu').tween('top',200);
		}
		else $('menu').tween('top',380);
	}
	
	// Reset other non-selected menu items and highlight specified
	// Show submenu if necessary
	function select(which)
	{
		$('menu').getElements('li.main').each(function(item,i)
		{
			if (item == which)
			{
				item.addClass('sel');

				if (item.getElement('ul.sub'))
				{
					var height = item.getElement('ul.sub').measure(function(){ return this.getSize().y; });
					item.set('tween', {duration: 800, transition: Fx.Transitions.Quad.easeInOut});
					item.tween('height', 32 + height);
				}
			}
			else
			{
				item.removeClass('sel');
				if (item.getElement('ul.sub')) item.tween('height', 62);
			}
		})
	}
	
	// Reset other non-selected submenu items and highlight specified
	function selectSub(ul,which)
	{
		ul.getElements('li').each(function(item,i)
		{
			if (item == which)
			{
				item.addClass('sel');
			}
			else
			{
				item.removeClass('sel');
			}
		});
	}
	
	// Hide current content and show
	function swapContent(whichclass)
	{
		if (current != $('container').getElement('.content.'+whichclass))
		{
			last = current;
			current = $('container').getElement('.content.'+whichclass);
			
			// Set tween properties
			last.set('tween', {duration: 400, transition: Fx.Transitions.Quad.easeInOut});
			current.set('tween', {duration: 400, transition: Fx.Transitions.Quad.easeInOut});
			last.fade('out').get('tween').chain(function()
			{
				last.setStyle('display', 'none');
				current.setStyles({'opacity': 0, 'display': 'block'});
				current.fade('in');
			});
		}
		
		// If not on homepage, make the logo appear clickable
		if (whichclass == 'homepage') $('logo').setStyle('cursor', 'pointer');
		else $('logo').setStyle('cursor', 'default');
	}
	
	// Menu interactivity
	$('menu').getElements('li.main').each(function(item,i)
	{
		item.getElement('.button').addEvent('click', function()
		{
			itemparent = this.getParent('li');
			select(itemparent);
			
			// Make sure item requested is not already current
			// Check if request is for "testimonials" or "contact", otherwise get first element of submenu
			if (!itemparent.hasClass(current.className))
			{
				if (itemparent.hasClass('process'))
				{
					swapContent('itbydesign');
					selectSub($('menu').getElement('ul.process'),$('menu').getElement('li.itbydesign'));
					reposition(false);
				}
				else if (itemparent.hasClass('services'))
				{
					swapContent('itbusinessmanager');
					selectSub($('menu').getElement('ul.services'),$('menu').getElement('li.itbusinessmanager'));
					reposition(false);
				}
				else if (itemparent.hasClass('testimonials'))
				{
					swapContent('testimonials');
					reposition(true);
				}
				else if (itemparent.hasClass('contact'))
				{
					swapContent('contact');
					reposition(true);
				}
			}
		});
	});
	
	// Submenu interactivity
	$('menu').getElements('ul.sub li').each(function(item,i)
	{
		item.addEvent('click', function()
		{
			itemparent = this.getParent('ul.sub');
			
			// Make sure this item is not already selected
			if (!this.hasClass('sel'))
			{
				swapContent(this.className);
				selectSub(itemparent,this);
			}
		});
	});
	
	// Add functionality for clicking logo to return home
	$('logo').addEvent('click', function()
	{
		reposition(true);
		select(this);
		swapContent('homepage');
	});
	
});
