var rotate_delay = 4000; // delais en microseconde (4000 = 4 secs)
var timeoutID

function rotate() {
	var $photoStackPlayer 	= $('#photoStackPlayer');
	var $current 	= $photoStackPlayer.find('img:last');
	var r			= Math.floor(Math.random()*41)-20;
					
	var currentPositions = {
		marginLeft	: $current.css('margin-left'),
		marginTop	: $current.css('margin-top')
	}
	var $new_current = $current.prev();
					
	$current.animate({
		'marginLeft':'250px',
		'marginTop':'-20px'
	},250,function(){
		$(this).insertBefore($photoStackPlayer.find('img:first'))
			   .css({
					'-moz-transform'	:'rotate('+r+'deg)',
					'-sand-transform':'rotate('+r+'deg)',
					'-webkit-transform'	:'rotate('+r+'deg)',
					'transform'			:'rotate('+r+'deg)'
				})
			   .animate({
					'marginLeft':currentPositions.marginLeft,
					'marginTop'	:currentPositions.marginTop
					},250,function(){
						$new_current.css({
							'-moz-transform'	:'rotate(0deg)',
							'-webkit-transform'	:'rotate(0deg)',
							'transform'			:'rotate(0deg)'
						});
			   });
	});
	timeoutID = window.setTimeout("rotate()", rotate_delay);
}

function clearRotation() {
  window.clearTimeout(timeoutID);
}

/**
* resize and center the images
*/
function resizeCenterImage($image,cnt){
	var theImage 	= new Image();
	theImage.src 	= $image.attr("src");
	var imgwidth 	= theImage.width;
	var imgheight 	= theImage.height;
					
	var containerwidth  = 460;
	var containerheight = 330;
					
	if(imgwidth	> containerwidth){
		var newwidth = containerwidth;
		var ratio = imgwidth / containerwidth;
		var newheight = imgheight / ratio;
		if(newheight > containerheight){
			var newnewheight = containerheight;
			var newratio = newheight/containerheight;
			var newnewwidth =newwidth/newratio;
			theImage.width = newnewwidth;
			theImage.height= newnewheight;
		}
		else{
			theImage.width = newwidth;
			theImage.height= newheight;
		}
	}else if(imgheight > containerheight){
		var newheight = containerheight;
		var ratio = imgheight / containerheight;
		var newwidth = imgwidth / ratio;
		if(newwidth > containerwidth){
			var newnewwidth = containerwidth;
			var newratio = newwidth/containerwidth;
			var newnewheight =newheight/newratio;
			theImage.height = newnewheight;
			theImage.width= newnewwidth;
		}else{
			theImage.width = newwidth;
			theImage.height= newheight;
		}
	}
	$image.css({
		'width'			:theImage.width,
		'height'		:theImage.height,
		'margin-top'	: 20 + - (10*(cnt%3))+'px',
		'margin-left'	: 20 + (20*cnt)+'px'
	});
}

function photoStackPlayerStart() {		
	var $photoStackPlayer 	= $('#photoStackPlayer');
	var cnt 		= 0;
	var items_count = $photoStackPlayer.children().length;
	$photoStackPlayer.children().each(
		function(i){
			var $image = $(this);
			++cnt;
			resizeCenterImage($image, cnt);
			var r		= Math.floor(Math.random()*41)-20;
			if(cnt < items_count){
				$image.css({
				'-moz-transform'	:'rotate('+r+'deg)',
				'-sand-transform':'rotate('+r+'deg)',
				'-webkit-transform'	:'rotate('+r+'deg)',
				'transform'			:'rotate('+r+'deg)'
				});
			}
			if(cnt == items_count){
				$image.id='show';
				$photoStackPlayer.show();
			}
		}
	);
	rotate();
}
