window.addEvent('domready', function() {
			
			var theChain = new Chain();
			var framesArray	= [];
			var imageArray 	= [];
			var mediaHolder = $('mediaHolder');
			var currentFrame = 0;
			var timer;
			var isPaused = false;
			
			
			function makeTransition(direction) {
				theChain.chain(function(){
					framesArray[currentFrame].morph({opacity: 0});
				});
				theChain.chain(function(){
					if(currentFrame < framesArray.length -1 && direction=="MOVE_FORWARD")
						currentFrame++;
					else if (direction=="MOVE_FORWARD")
						currentFrame = 0;
					else if (currentFrame > 0 && direction=="MOVE_BACKWARD")
						currentFrame--;
					else
						currentFrame = framesArray.length -1;

					$('counterDisplay').setHTML(currentFrame + 1 + '/' + framesArray.length);		
					$('current-media-item-title').setHTML($$('#' + framesArray[currentFrame].id + ' .productLink').getText());
					
					framesArray[currentFrame].morph({opacity: 1});
				});
				theChain.callChain();								
			}
			
			function imagesLoaded() {
				$('showNext').addEvent('click', function(e) {
					$clear(timer);
					theChain.clearChain();
					makeTransition("MOVE_FORWARD");
					if(!isPaused)
						timer = makeTransition.periodical(6000, "" , "MOVE_FORWARD");
					e.stop();
				});
				$('showPrevious').addEvent('click', function(e) {
					theChain.clearChain();
					$clear(timer);
					makeTransition("MOVE_BACKWARD");
					if(!isPaused)
						timer = makeTransition.periodical(6000, "" , "MOVE_FORWARD");
					e.stop();
				});
				$('pausePlay').addEvent('click', function(e) {
					
					if (!isPaused){
						$clear(timer);
						$('pausePlay').toggleClass('pause');
						$('pausePlay').toggleClass('play');
						isPaused = true;					
					}
					else {
						makeTransition("MOVE_FORWARD");
						timer = makeTransition.periodical(6000, "", "MOVE_FORWARD");
						$('pausePlay').toggleClass('pause');
						$('pausePlay').toggleClass('play');
						isPaused = false;					
					}
					e.stop();
				});
				
				$('counterDisplay').setHTML(1 + '/' + framesArray.length);
				framesArray[0].morph({opacity: 1});
				timer = makeTransition.periodical(6000, "" , "MOVE_FORWARD");
			}

			function mediaLoaded(theItems) {
				theItems.each(function(el, i) {
				    imageArray[i] = $$('#' + el.id + ' .productImage').get("src");
				    
				    $$('#' + el.id + ' a').each(function(j){
				        j.addEvent('click', function(){
				            document.location = this.href;
				        });
				    });
				    
				    if(i==0)
				        $('current-media-item-title').setHTML($$('#' + el.id + ' .productLink').getText());
					
					el.set('morph', {duration: '1200', onComplete: function() {					    
						theChain.callChain();
					}});
					el.set('styles', { 'opacity': '0'});
					framesArray[i] = el;					
				});
				new Asset.images(imageArray, {onComplete: function() {
					imagesLoaded();
				}});
			}			
			
			//Initialise the player			
			mediaLoaded($$('.mediaItem'));
		});