it.portfolio = {
	data: null,
	current: null,
	detailBaseUrl: '/pages/portfolio-detail-data.php?project=',
	scrollTop: 0,
	needsHashHelp: $.browser.msie && ($.browser.version < 8)
}

it.portfolio.showProject = function(id) {
	if (!id) id = 'proton';
	it.portfolio.current = id;
	
	if (!it.portfolio.data) {
		it.portfolio.data = {};
		$('#detail-page').remove().appendTo('#content-container');
	}

	$.getJSON(it.portfolio.detailBaseUrl + it.portfolio.current, null, function(jsonData) {
		it.portfolio.data[it.portfolio.current] = jsonData;
		var tocContent = '';
		for (var i=0;i<jsonData.details.length;i++) {
			tocContent += '<li><a href="javascript:;" onclick="it.portfolio.selectDetail(' + i + ')">' + jsonData.details[i].name + '</a>';
			if (jsonData.details[i].description)
				tocContent += '<p>' + jsonData.details[i].description + '</p>';
			tocContent += '</li>';
		}
		$('#detail-page .toc').html(tocContent);
		$('#detail-page h2').html('<strong>' + jsonData.project.name + '</strong> (' + jsonData.project.years + ')');

		var infoMarkup = '';
		if (jsonData.project.project_desc)
			infoMarkup += '<div><h4>The Product:</h4>' + jsonData.project['project_desc'] + '</div>';
		if (jsonData.project.work_desc)
			infoMarkup += '<div><h4>' + jsonData.project['category'] + ':</h4>' + jsonData.project['work_desc'] + '</div>';	
		$('#detail-page .info .project-info').html(infoMarkup);
		
		it.portfolio.selectDetail(0);

		var c = $('#content');
		var d = $('#detail-page');
		if (it.portfolio.scrollTop > $('#wideHeader').height())
			d.css('top', it.portfolio.scrollTop);
		else
			d.css('top', '');

		$('body').css('overflow-x', 'hidden');
		c.width(c.width());
		c.animate({
			left: -1000,
			opacity: 0
		});
		
		d.css('left', '1000px');
		d.animate({
				left: 0,
				opacity: 'show'
			},
			{
				complete: function() { $('body').css('overflow-x', 'auto'); }
			}
		);
	
	});
}

it.portfolio.selectDetail = function(idx) {
	var proj = it.portfolio.data[it.portfolio.current].project;
	var thisDetail = it.portfolio.data[it.portfolio.current].details[idx];
	var newImg = $('<img style="" src="/portfolio-data/full/' + thisDetail['file'] + '" />').load(function() { 
		$(this).fadeIn();
		$('#detail-page .media img:eq(1)').fadeOut(function() { $(this).remove() });
	});
	
	$('#detail-page .media').prepend(newImg);
	$('#detail-page .toc li.selected p').slideUp();
	$('#detail-page .toc li.selected').removeClass('selected');
	$('#detail-page .toc li:eq(' + idx + ')').addClass('selected');
	$('#detail-page .toc li.selected p').slideDown();
}

it.portfolio.ajaxPageLoad = function() {
	var hash = location.hash.replace(/^.*#/, '');
	if (hash && (hash != 'main')) {
		it.portfolio.showProject(hash);
	}
	else {
		var c = $('#content');
		var d = $('#detail-page');
		$('body').css('overflow-x', 'hidden');
		c.animate({
			left: 0,
			opacity: 1
		});
		
		d.animate({
				left: 1000,
				opacity: 'hide'
			},
			{
				complete: function() { $('body').css('overflow-x', 'auto'); }
			}
		);
	}
}

$(document).ready(function() {
	$(window).bind('hashchange', it.portfolio.ajaxPageLoad);

		$('a[href^=#]').bind('click', function(){ 
			it.portfolio.scrollTop = $(document).scrollTop();
			if (it.portfolio.needsHashHelp) $('#slide-anchor').css('top', it.portfolio.scrollTop);
			location.hash = $(this).attr('href');
			return false;
		});
	
	if (it.portfolio.needsHashHelp) location.hash = 'main';
});

