window.addEvent('domready',function()
{
	bgImg = $$('#bg .img-container img.bg-img');
	scText = $('caption-copy');
	scTitle = $('title-copy');
	scLink = $('view-the-work');
	
	if($('client-work-media-container'))
	{
		var media = $('client-work-media-container');
		media.removeClass('noscript');
	}
	
	preLoad();
	changeImage();
	
	equalHeightULs();
	
	function equalHeightULs()
	{
		if($('client-work-sectors'))
		{
			//js forced equal height columns for the services/market-sectors/products UL's
			var sectorULs = $('client-work-sectors').getElements('ul');
			var largestHeight = $('client-work-sectors').getStyle('height');
			//work out the largest height
		
			//set the height on all 3
			for(var i=0; i<sectorULs.length; i++)
			{
				sectorULs[i].setStyle('height', largestHeight);
			}		
		}
	}
	
	function preLoad() 
	{
		if(typeof(images) != 'undefined')
		{
			var imageBg = new Image();
			var imageSc = new Image();
			//start preloading the images
			for(j=0; j<images.length; j++) {
				imageBg.src = images[j][0];
				imageSc.src = images[j][1];
			}
		}
	}
	
	function changeImage()
	{
		if($('next-showcase'))
		{
			$('next-showcase').addEvent('click', function(e){
				e.stop();
				currentImage = currentImage + 1;
				//modulus gives remainder... i think. nobody seems to know exactly what it does.
				//5%1=1 then 27%7=2 but this cant be true... quinno seemed confident this was the
				//way to go. /confused_face		
				currentImage = currentImage%images.length;
				imageDetails(currentImage);
			});
		}
	}
	
	function imageDetails(imageNumber)
	{
		bgImg.setProperty('src', images[imageNumber][0]);
		scText.innerHTML = images[imageNumber][2];
		scTitle.innerHTML = images[imageNumber][3];
		scLink.href = images[imageNumber][4];
	}
	
	//client work media functionality
	if($('client-work-media-container'))
	{
		$('prev-work').addEvent('click',function(e)
		{
		 	e.stop();
			doSuperwideSlide('previous', this);
		});
		
		$('next-work').addEvent('click',function(e)
		{
		 	e.stop();
			doSuperwideSlide('next', this);
		});
	}
	
	//iphone type navigation
	if($('media-nav'))
	{
		$('media-nav').getElements('a').addEvent('click', function(e)
		{
			e.stop();
			var multiple = this.getParent().id;
			multiple = parseInt(multiple.replace('node-',''));
			
			var superwide = $('client-work-media-superwide');
			var width = 25 + 690; //margin right + width of item
			var slidesuperwide = new Fx.Tween(superwide, { duration: 750 });
			
			var slideTo = 0 - (multiple * width);
			slidesuperwide.start('left', slideTo);
			
			$('media-nav').getElements('li.active').removeClass('active');
			this.getParent().addClass('active');
			
			updateDisabled();
			
		});
	}

	if($('media-nav')) {
		$('media-nav').getElements('a').addEvent('click', function(e)
		{
			//stop the other videos;
			stopVideos();
		});
	}
	
	// autosubmit on case study filter form
	if( $('case-study-filter-form') )
	{
		$('case-study-filter-form').getElement('input[type=submit]').addClass('hide');
		$('case-study-filter-form').getElement('select').addEvent('change', function(){													
			this.getParent().getParent().submit();	
		});
	}

	function doSuperwideSlide(direction, object)
	{
		var superwide = $('client-work-media-superwide');
		var slidesuperwide = new Fx.Tween(superwide, { duration: 750 });
		var width = 25 + 690; //margin right + width of item
		var currentLeft = superwide.getStyle('left');
		currentLeft = currentLeft.replace('px','');
		var newLeft = 0;
		
		var items = $('client-work-media-superwide').getElements('.client-work-media-item');
		var total_width = items.length * width;
		var minLeft = 0  - (total_width - width);
		var maxLeft = total_width - width;
		
		if(direction == 'previous')
		{
			if(currentLeft > 0)
			{
				newLeft = currentLeft + width;
				
			}
			else
			{
				newLeft = parseInt(currentLeft) - (0 - width);
				
			}
			
			if(newLeft <= 0)
			{
				slidesuperwide.start('left', newLeft);	
				
				var activeNode = $('media-nav').getElement('li.active');
				activeNode.removeClass('active');
				activeNode.getPrevious().addClass('active');
			}
		}
		else
		{	
			newLeft = currentLeft - width;
			
			if(newLeft >= minLeft)
			{
				slidesuperwide.start('left', newLeft);	
				var activeNode = $('media-nav').getElement('li.active');
				activeNode.removeClass('active');
				activeNode.getNext().addClass('active');
			}
		}
		
		updateDisabled();
	}
	
	function updateDisabled()
	{
		var nodes = $('media-nav').getElements('li');
		
		for(var i=0; i<nodes.length; i++)
		{
			if(i==0)
			{
				if(nodes[i].hasClass('active'))
				{
					$('prev-work').addClass('disabled');	
				}
				else
				{
					$('prev-work').removeClass('disabled');	
				}
			}
			
			if( (i+1) == nodes.length)
			{	
				if(nodes[i].hasClass('active'))
				{
					$('next-work').addClass('disabled');	
				}
				else
				{
					$('next-work').removeClass('disabled');	
				}
			}
		}
	}
});
