var viewedTyres_moveTimeout = null;
var viewedTyres_scrollSpeed = 2;
var viewedTyres_totalWidth = 0;
var viewedTyres_barWidth = 0;

var viewedTyres_timoutSpeed = 10;
var viewedTyres_maxTimeoutSpeed = 70;
var viewedTyres_currTimeoutSpeed = viewedTyres_maxTimeoutSpeed;

function viewedTyres_moveLeft() {
	clearTimeout(viewedTyres_moveTimeout);
	marginLeft = parseInt($('#viewed-tyres .items').css('margin-left'));
	marginLeft = isNaN(marginLeft) ? 0 : marginLeft;
	marginLeft -= viewedTyres_scrollSpeed;
	if (viewedTyres_totalWidth + marginLeft <= viewedTyres_barWidth) {
		marginLeft =  - viewedTyres_totalWidth + viewedTyres_barWidth;
		$('#viewed-tyres .nextPage').addClass('rightDisabled');
	}
	else {
		viewedTyres_moveTimeout = setTimeout(viewedTyres_moveLeft, viewedTyres_getSpeed());
	}
	$('#viewed-tyres .items').stop();
	$('#viewed-tyres .items').css('margin-left', marginLeft + 'px');
}	

function viewedTyres_getSpeed() {
	viewedTyres_currTimeoutSpeed = parseInt((viewedTyres_timoutSpeed + viewedTyres_currTimeoutSpeed * 3) / 4);
	return viewedTyres_currTimeoutSpeed;
}

function viewedTyres_moveRight() {
	clearTimeout(viewedTyres_moveTimeout);
	marginLeft = parseInt($('#viewed-tyres .items').css('margin-left'));
	marginLeft = isNaN(marginLeft) ? 0 : marginLeft;
	marginLeft += viewedTyres_scrollSpeed;
	if (marginLeft >= 0) {
		$('#viewed-tyres .prevPage').addClass('leftDisabled');
		marginLeft = 0;
	}
	else {
		viewedTyres_moveTimeout = setTimeout(viewedTyres_moveRight, viewedTyres_getSpeed());
	}
	$('#viewed-tyres .items').stop();
	$('#viewed-tyres .items').css('margin-left', marginLeft);
}

function viewedTyres_update() {
	
	viewedTyres_barWidth = $('#viewed-thumbnails').width();
	viewedTyres_totalWidth = 0;

	
	$('#viewed-tyres .items').children().each(function(){ 
		viewedTyres_totalWidth += $(this).outerWidth(true);
		$(this).find('a').tooltip({ 
			track: false,
			showURL: false,
			left: -20 
		});
	});
	$('#viewed-tyres .items').css('width', viewedTyres_totalWidth);			
	viewedTyres_totalWidth--;
	
	if (viewedTyres_totalWidth <= viewedTyres_barWidth) {
	
		//$('#viewed-tyres .prevPage').hide();
		//$('#viewed-tyres .nextPage').hide();
		$('#viewed-tyres .browse').css('cursor', 'default');
		$('#viewed-tyres .browse').css('background-image', 'none');
		
		viewedTyres_totalWidth += $('#viewed-tyres .items .item').length -1;
		$('#viewed-tyres .items').css('width', viewedTyres_totalWidth + 1);
		
		$('#viewed-tyres .items .item').css('border', '1px solid ' + $('#viewed-tyres .items .item').css('borderRightColor'));
		$('#viewed-tyres .items .item').css('borderLeft', 'none');
		$('#viewed-tyres .items .item:first').css('borderLeft', '1px solid ' + $('#viewed-tyres .items .item').css('borderRightColor'));
		$('#viewed-tyres .items').css('marginLeft', (viewedTyres_barWidth - viewedTyres_totalWidth)/2)
		$('#viewed-thumbnails').css('borderColor', '#ffffff');
		$('#viewed-thumbnails').css('border', 'none');
		$('#viewed-thumbnails').css('padding', '0px 1px');
		
		return;
	}
	
	viewedTyres_moveRight();
	
	$('#viewed-tyres .prevPage').mouseover(function(){
		viewedTyres_moveRight();
		$('#viewed-tyres .nextPage').removeClass('rightDisabled');
	}).mouseout(function(){
		viewedTyres_currTimeoutSpeed = viewedTyres_maxTimeoutSpeed;
		clearTimeout(viewedTyres_moveTimeout);
	});
	
	$('#viewed-tyres .nextPage').mouseover(function(){
		viewedTyres_moveLeft();
		$('#viewed-tyres .prevPage').removeClass('leftDisabled');
	}).mouseout(function(){
		viewedTyres_currTimeoutSpeed = viewedTyres_maxTimeoutSpeed;
		clearTimeout(viewedTyres_moveTimeout);
	});
	
	$('#viewed-tyres').mousewheel(function(objEvent, intDelta){
		marginLeft += (intDelta > 0) ? 24 : -24;
		if (marginLeft >= 0) {
			marginLeft = 0;
			$('#viewed-tyres .prevPage').addClass('leftDisabled');
		}
		else if (viewedTyres_totalWidth + marginLeft <= viewedTyres_barWidth) {
			marginLeft =  - viewedTyres_totalWidth + viewedTyres_barWidth;
			$('#viewed-tyres .nextPage').addClass('rightDisabled');
		}
		else {
			$('#viewed-tyres .prevPage').removeClass('leftDisabled');
			$('#viewed-tyres .nextPage').removeClass('rightDisabled');
		}
		$('#viewed-tyres .items').stop().animate({marginLeft: marginLeft}, 100, 'swing', function(){$.tooltip.forceUpdate();});
		return false;
	});

}

