$(document).ready(function() {
	
	var currentProductList = 0, oldProductList = 0;
	var hiddenPosition = $('#newProductArea').height() + 10;
	$('div.newProductList:eq(' + currentProductList + ')').css('top', '0');
	
	var productListCount = $('div.newProductList').length;
	//alert(productListCount);
	
	var listTimeout;
	
	var rotateInProgress = false;
	
	var productListRotate = function() {
	  if(!rotateInProgress) {
		rotateInProgress = true;
		listTimeout = false;
		currentProductList = (oldProductList + 1)%productListCount;
		$('div.newProductList:eq(' + oldProductList + ')')
			.animate({top: -hiddenPosition}, 'slow', function() {
				$(this).css('top', hiddenPosition);
			});
		$('div.newProductList:eq(' + currentProductList + ')')
			.animate({top: 0}, 'slow', function() {
				rotateInProgress = false;
				listTimeout = setTimeout(productListRotate, 5000);
			});
		oldProductList = currentProductList;
	  }
	};
	if(!listTimeout) {
		listTimeout = setTimeout(productListRotate, 5000);
	}
	
	$('#newProductArea').hover(function() {
		clearTimeout(listTimeout);
		listTimeout = false;
	}, function() {
	  if(!listTimeout) {
		listTimeout = setTimeout(productListRotate, 250);
	  }
	} ) ;
	
	$('#rotatorUp').click(function() {
		if(!rotateInProgress) {
			rotateInProgress = true;
			//alert(currentProductList);
			clearTimeout(listTimeout);
			listTimeout = false;
			currentProductList = (oldProductList + 1)%productListCount;
			$('div.newProductList:eq(' + oldProductList + ')')
			  .animate({top: -hiddenPosition}, 'slow', function() {
				$(this).css('top', hiddenPosition);
			});
			$('div.newProductList:eq(' + currentProductList + ')')
			  .animate({top: 0}, 'slow', function() {
				rotateInProgress = false;
				//listTimeout = setTimeout(productListRotate, 5000);
			});
		oldProductList = currentProductList;
		}
	});
	
	$('#rotatorDown').click(function() {
		
		//alert(currentProductList);
		//alert(oldProductList);
	if(!rotateInProgress) {
		rotateInProgress = true;
		clearTimeout(listTimeout);
		listTimeout = false;		
		oldProductList -= 1; 
		if(oldProductList == -1) {
			oldProductList = productListCount-1;
			//alert(oldProductList);
			//alert(currentProductList);
		}
		$('div.newProductList:eq('+oldProductList+')').css('top', -hiddenPosition);
		$('div.newProductList:eq(' + currentProductList + ')')
			.animate({top: hiddenPosition}, 'slow');
		$('div.newProductList:eq('+oldProductList+')')
			.animate({top: 0}, 'slow', function() {
				currentProductList = oldProductList;
				rotateInProgress = false;
				listTimeout = setTimeout(productListRotate, 5000);
			});
	}
	});
});