var _projectViewCount = 0;
var _currentProjectID;
var _nextProjectID;

$(document).ready(document_readyHandler);

function document_readyHandler ( )
{
	initialize();
}

function initialize ( )
{
	$.ajaxSetup({cache:false});
	
	initializeProjectNav();
	displayDefaultProject();
}

function initializeProjectNav ( )
{
	$("#projects a").each( function( index ) {
		$(this).click( _thumb_clickHandler );
	});
}

function displayDefaultProject ( )
{
	var defaultThumb = $(".thumb" ).get(0);
	displayProject( $( defaultThumb ).attr("rel") );
}

function displayProject ( pProjectID )
{
	_projectViewCount++;
	
	_nextProjectID = pProjectID;
	
	_changeSelectedThumb( _currentProjectID , _nextProjectID );
	
	// Hide current project
	_hideProjectDetail();
	//_loadProjectDetail();

	// Analytics
	_gaq.push(['_trackEvent','Projects','View',pProjectID]);
	//pageTracker._trackPageview( "/portfolio/" + pProjectID );
	//pageTracker._trackPageview( "/portfolio/_projectViewCounts/" + _projectViewCount );
}

function _changeSelectedThumb ( pOldProjectID , pNewProjectID )
{
	$(".thumb[rel="+pOldProjectID+"]").removeClass("selected");
	$(".thumb[rel="+pNewProjectID+"]").addClass("selected");
}

function _showLoader ( )
{
	$("#projectLoader").show();
	$("#projectLoader").fadeIn( 200 , _projectLoader_fadeInCompleteHandler )
}

function _hideLoader ( )
{
	$("#projectLoader").fadeOut( 200 , _projectLoader_fadeOutCompleteHandler )
}

function _showProjectDetail ( )
{
	$("#project").show();
	$("#project").fadeIn( 200 , _projectDetail_fadeInCompleteHandler );
}

function _loadProjectDetail ( pProjectID )
{
	$("#project").load( "project.php?id=" + pProjectID , _projectDetail_loadCompleteHandler );
}

function _hideProjectDetail ( )
{
	$("#project").fadeOut( 200 , _projectDetail_fadeOutCompleteHandler );
}

function _thumb_clickHandler ( pEvent )
{
	// Prevent browser from following link in href property
	pEvent.preventDefault();

	var projectID = $(this).attr('rel');
	
	if ( _currentProjectID != projectID )
		displayProject( projectID );
}

function _projectDetail_loadCompleteHandler ( response , status , xhr )
{
	_hideLoader();
}

function _projectLoader_fadeInCompleteHandler ( )
{
}

function _projectLoader_fadeOutCompleteHandler ( )
{
	$("#projectLoader").hide();
	_showProjectDetail();
}

function _projectDetail_fadeInCompleteHandler ( )
{
}

function _projectDetail_fadeOutCompleteHandler ( )
{
	$("#project").hide();
	_currentProjectID = _nextProjectID;
	_showLoader();
	_loadProjectDetail( _currentProjectID );
}


