var ActiveScroll = false;
scrollDiv= function(direction, rightto)
{
	if (ActiveScroll == false)
	{
		ActiveScroll = true;
		var current	= $$('.currentItem');
		var prevView	= current[0];
		var fwdCheck = 1;
		var backCheck = 0;
		var prevLength		= prevView.previousSiblings().length;
		var nextLength		= prevView.nextSiblings().length;

		if (rightto) {
			if ($(rightto).identify() != prevView.identify())
			{
				var nextView = $(rightto);
				var leftCheck = 0;
				var itemLength	= 1;
				var checkLength = nextView.nextSiblings().length;
				
				$('leftArrow').removeClassName('half');
				$('leftArrowText').removeClassName('half');
				
				if (checkLength == 0) {
					nextView = nextView.previousSiblings()[0];
					$('rightArrow').addClassName('half');
					$('rightArrowText').addClassName('half');
				}
			}
		}
		else if (direction == 'back') {
			var nextView	= prevView.previous();
			var leftCheck	= backCheck;
			var itemLength	= prevLength;

			if (prevLength -1 > backCheck)
			{
				$('leftArrow').removeClassName('half');
				$('leftArrowText').removeClassName('half');
			}
			else
			{
				$('leftArrow').addClassName('half');
				$('leftArrowText').addClassName('half');
			}
			$('rightArrow').removeClassName('half');
			$('rightArrowText').removeClassName('half');
		}
		else if(direction == 'fwd') {
			var nextView	= prevView.next();
			var leftCheck	= fwdCheck;
			var itemLength	= nextLength;

			if (nextLength -1 > fwdCheck)
			{
				$('rightArrow').removeClassName('half');
				$('rightArrowText').removeClassName('half');
			}
			else
			{
				$('rightArrow').addClassName('half');
				$('rightArrowText').addClassName('half');
			}
			$('leftArrow').removeClassName('half');
			$('leftArrowText').removeClassName('half');
		}
		else {
			return false;
		}
		if (nextView != null)
		{
			if( itemLength > leftCheck )
			{
				prevView.removeClassName('currentItem');
				nextView.addClassName('currentItem');
				var prevViewOffset	= prevView.cumulativeOffset();
				var nextOffset	= nextView.cumulativeOffset();
				var scrolltopixle	= nextOffset[0] - prevViewOffset[0];
				new Effect.Move($('projectThumbWrap'),{x: -scrolltopixle, y: 0, duration: 0.5, mode:'relative', afterFinish: 
					( function() { ActiveScroll	= false; } )
				});
			}
			else
			{
				ActiveScroll	= false;
				return false;
			}
		}
		else
		{
			ActiveScroll = false;
			return false;
		}
	}
	return false;
}

var changingProject = false;
function changeProject(project)
{
	if (changingProject == false)
	{
		changingProject = true;
		Effect.Fade('trackWrap', { afterFinish: ( function() { $('handle').setStyle({'left': 0}); } ) });
		var OrgContentWrap	= $('contentWrap');
		var projectContent	= $('projectContent');
		new Effect.Move(OrgContentWrap, { x: 0, y: -600, mode: 'relative', afterFinish: (	function()
			{
				$('projectContent').scrollLeft = 0;
				OrgContentWrap.remove();
				Effect.Appear('loading');
		
				scrollDiv(false, 'p_'+project);
				projectContent.update('<div id="contentWrap" style="display:none; width:10000px;"></div><br style="clear: both;" />');
				new Ajax.Updater('contentWrap', 'projectinfo.php', {
					method: 'get',
					parameters: { id: project }, 
					onComplete: ( function()
					{
						pageTracker._trackPageview('project.php?project='+project);
						Effect.Appear('trackWrap');
						Effect.Appear('contentWrap', {
							delay: 0.5,
							afterFinish: ( function() {
								Effect.Fade('loading');
								calcCorrectWidth();
								changingProject = false;
								return false;
								}
							)
						});
					}
				) });
				
			}
		) });
	}
	else
	{
		return false;
	}
	return false;
}

calcCorrectWidth	= function() {
	if (allImagesLoaded()) {
		var wrap = $('contentWrap');
		wrap.setStyle({ width: '10000px' });
		var childs	= wrap.childElements();
		var nwidth	= 0;
		for(var i=0; i<childs.length; i++) {
			var w	= childs[i].getWidth();
			nwidth = nwidth + w;
		}
		wrap.setStyle({ width: nwidth+'px' });
	} else {
		setTimeout("calcCorrectWidth()", 50);
	}
}

function allImagesLoaded() {
	var imagesloaded = true;
	var images = document.images;
	for (var i = 0;i<images.length;i++)
	{
			if(images[i].complete == false) {
					imagesloaded = false;
			}
	}
	return imagesloaded;
}

function scrollVertical(value, element, slider) { element.scrollTop = Math.round(value/slider.maximum*(element.scrollHeight-element.offsetHeight)); }
function scrollHorizontal(value, element, slider) { element.scrollLeft = Math.round(value/slider.maximum*(element.scrollWidth-element.offsetWidth)); }
Event.observe(window, 'load', function() {
	var slider = new Control.Slider('handle', 'track', {
		onSlide: function(v) { scrollHorizontal(v, $('projectContent'), slider);  },
		onChange: function(v) { scrollHorizontal(v, $('projectContent'), slider); }
	});
	calcCorrectWidth();
});
