/*
JavaScript Document - Coded by Chris Stanyon
*/

$(document).ready(function(){
	var currentPosition = 0;
	var slideWidth = 300;
	var slides = $('.slide');
	var numberOfSlides = slides.length;

	//make all external links open in a new tab/window
	$('a[rel=external]').attr('target','_blank');

	// Remove scrollbar in JS
	$('#slidesContainer').css('overflow', 'hidden');
	$('#slidesContainer').css('width', '300px');

	// Wrap all .slides with #slideInner div
	slides
		.wrapAll('<div id="slideInner"></div>')
		// Float left to display horizontally, readjust .slides width
		.css({
			'float' : 'left',
			'width' : slideWidth
		});

	// Set #slideInner width equal to total width of all slides
	$('#slideInner').css('width', slideWidth * numberOfSlides);

	// Insert left and right arrow controls in the DOM
	$('#screen')
		.prepend('<span class="control" id="leftControl">Move left</span>')
		.append('<span class="control" id="rightControl">Move right</span>');

	// Hide left arrow control on first load
	manageControls(currentPosition);

	// Create event listeners for .controls clicks
	$('.control').bind('click', function(){
		// Determine new position
		currentPosition = ($(this).attr('id')=='rightControl') ? currentPosition+1 : currentPosition-1;

		// Hide / show controls
		manageControls(currentPosition);

		// Move slideInner using margin-left
		$('#slideInner').animate({'marginLeft' : slideWidth*(-currentPosition)});
	});

	// manageControls: Hides and shows controls depending on currentPosition
	function manageControls(position){
		// Hide left arrow if position is first slide
		if(position==0){ $('#leftControl').hide() }
		else{ $('#leftControl').show() }

		// Hide right arrow if position is last slide
		if(position==numberOfSlides-1){ $('#rightControl').hide() }
		else{ $('#rightControl').show() }
	}
});



