//<![CDATA[

var projects = [];
var icons = [];
var current_project = 0;
var action = false;

function init() {
	initPortfolio();
}

function initPortfolio() {
	projects = jQuery('.project');
	icons = jQuery('.icon');
	
	jQuery('.icon').each(function (i, el) {
		jQuery(el).remove().appendTo('#portfolio #nav .thumbnails');
		jQuery(el).toggleClass('hidden');
	});
	jQuery('.icon').click(onIconClick);
	jQuery('.icon').mouseover(onIconOver);
	jQuery('.icon').mouseout(onIconOut);
	
	jQuery('.icon:first').addClass('hover');
	
	jQuery('#portfolio-container').empty().append(projects[0]);
	
	jQuery('#portfolio #nav .previous').click(function () {
		prevPortfolio();
	});
	jQuery('#portfolio #nav .next').click(function () {
		nextPortfolio();
	});
	
	setNavTitle(jQuery(projects[0]).children('h2').text());
}

function onIconOver(e) {
	var index = jQuery('.icon').index(e.target);
	var txt = jQuery(projects[index]).children('h2').text();
	setNavTitle(txt);
}

function onIconOut(e) {
	setNavTitle(jQuery(projects[current_project]).children('h2').text());
}

function setNavTitle(s) {
	jQuery('#portfolio .nav-title').text(s);
}

function prevPortfolio() {
	var p = (current_project == 0 ? projects.length - 1 : current_project - 1);
	jQuery(icons[p]).trigger('click');
}

function nextPortfolio() {
	var n = (current_project == projects.length - 1 ? 0 : current_project + 1);
	jQuery(icons[n]).trigger('click');
}

function onIconClick(e) {
	var index = jQuery('.icon').index(e.target);
	
	if (action) return;
	if (index == current_project) return;

	var direction = (index > current_project) ? 1 : -1;

	action = true;
	current_project = index;
	
	jQuery('.icon').each(function (i, el) {
		jQuery(el).removeClass('hover');
	});
	jQuery(e.target).addClass('hover');
	
	if (-1 == direction) {
		jQuery('.project:first').before(projects[index]);
		
		jQuery('.project:first').css('marginLeft', '-836px');
		jQuery('.project:first').animate(
			{ marginLeft: '0px' },
			500,
			null,
			function () {
				jQuery('.project:eq(1)').remove();
				action = false;
			}
		);
	} else {
		jQuery('.project:first').after(projects[index]);
	
		jQuery('.project:first').animate(
			{ marginLeft:'-836px' },
			500,
			null,
			function () {
				// remove project from dom
				jQuery(this).remove();
				// reset margin for next time
				jQuery(this).css({marginLeft:'0px'});
				action = false;
			}
		);
	}
}

jQuery(document).ready(init);

// ]]>