var train_width = 0;
var train_timer;
var velocity;
var max_shift = 0;
var x = 0;
var flag = 0;

//Сдвигаем поезд при каждом обновлении кадра
function move_train()
{
	if (max_shift > 0)
	{	
		x = x + velocity;
		
		if (x > 0) x = 0;
		if (x < (-1*(max_shift))) x = -1*(max_shift);
		
		$("#rubin").css("left", x + "px");
		
		if (velocity > 0 && $("#arrr").css("display") == "none")
		{
			
			$("#arrl").fadeIn("normal");
			$("#arrr").fadeOut("normal");
		}
		
		if (velocity == 0)
		{
			$("#arrr").fadeOut("normal");
			$("#arrl").fadeOut("normal");
		}
				
		if (velocity < 0 && $("#arrl").css("display") == "none")
		{
			$("#arrr").fadeIn("normal");
			$("#arrl").fadeOut("normal");
		}
	}
}

//Функция находит позицию курсора мыши внутри элемента
function rPosition(element, mouseX, mouseY) {
	var offset = $(element).offset();
	var x = mouseX - offset.left;
	var y = mouseY - offset.top;
	
	return {'x': x, 'y': y};
}

$(function() {
		
	$("#arrr").fadeOut(0);
	$("#arrl").fadeOut(0);
	
  	//Считаем длину поезда, для этого складываем длины всех вагонов 
	train_width = train_width + $("#rubin").width();
	
	var controller_width = $("#controller").width();
  
  	x = -1*train_width/2 + controller_width/2;
	$("#rubin").css("left", x + "px");
  
  	//Запускаем цикл анимации если курсор мыши над поездом
  	$("#controller").mouseover(function(){
		train_timer = window.setInterval("move_train();", 10);
	});
	
	//Останавливаем цикл анимации если курсор мыши ушел с поезда
	$("#controller").mouseout(function(){
		window.clearInterval(train_timer);
		$("#arrr").fadeOut("normal");
		$("#arrl").fadeOut("normal");
	});
    
	$(window).resize(function(){
		velocity = 0;
		max_shift = train_width - $("#controller").width();
  		move_train();
	});
	
	//Рассчитываем текущую скорость, которая зависит от координаты мышки на поезде
	$("#controller").mousemove(function(e){
		
		train_width = 0;
		
		train_width = train_width + $("#rubin").width();
		
		//Считаем полудлину поезда, чтобы посчитать скорость, которая с разным знаком в разных половинах поезда
		var half_width = Math.round($(this).width()/2);
		
		var elementCoords = rPosition(this, e.pageX, e.pageY);
		//Пересчитали максимум, на который можно сдвигать поезд, он зависит от размеров окна
		max_shift = train_width - $(this).width();
		
		var sign = velocity;
		
		//Рассчитываем скорость. Делим на 100, чтобы было плавнее. Скорость будет в пределах от 0 до 9
		velocity = Math.round((half_width - elementCoords.x)/100);
	});
});
