document.observe("dom:loaded", function() { 
	var timeout_time = 3; /* [Задержка] */
	var index_element = 0;
	
	if($('scroll_container') && $$('.scroll_item').length > 0) {
		var old_element;
		var index_a = 0;
		var my_direction = 1;
		var flag = 1;
		var my_transition = Effect.Transitions.spring;
		var my_duration = 1.2;
		$$('.scroll_item a').each(function(item, index) {
			var padding_percentage = (Math.ceil(item.getOffsetParent().getWidth()) / 4 - item.getWidth()) * 100 / item.getOffsetParent().getWidth() / 2;
			var parent_width_percentage = Math.ceil(((Math.ceil(item.getOffsetParent().getWidth() / 4)*index_a) / item.getOffsetParent().getWidth()) * 100);
			item.setStyle({
				position: 'absolute',
				width: '56px',
				height: '56px',
				overflow: 'hidden',
				left: parent_width_percentage + padding_percentage + '%'
			});
			if(index_a < 3) index_a++; else index_a = 0;
			item.observe('mouseover', function() {
				if(exec) {
					exec.stop();
					exec = 0;
				}
			});
			item.observe('mouseout', function() {
				if(!exec) {
					exec = new PeriodicalExecuter(function() {
						moved(1, Effect.Transitions.spring, my_duration);
					}, timeout_time);
				}
			});
		});
		 Event.observe(window, 'resize', function() {
			var index_a = 0;
				$$('.scroll_item a').each(function(item, index) {
					var padding_percentage = (Math.ceil(item.getOffsetParent().getWidth()) / 4 - item.getWidth()) * 100 / item.getOffsetParent().getWidth() / 2;
					var parent_width_percentage = Math.ceil(((Math.ceil(item.getOffsetParent().getWidth() / 4)*index_a) / item.getOffsetParent().getWidth()) * 100);
					item.setStyle({
						left: parent_width_percentage + padding_percentage + '%'
					});
					if(index_a < 3) index_a++; else index_a = 0;
				});
		 });
		$$('.scroll_item a img').each(function(item) {
			item.setStyle({
				cssFloat: 'left'
			});
		});
		$$('.scroll_item').each(function(item, index) {
			item.setStyle({
				height: '56px',
				width: '100%',
				position: 'absolute',
				top: -1*$('scroll_container').getHeight() + 'px'
			});
		});
	
		function change_marker() {
			flag = 1;
		}
		function change_marker_2() {
			flag = 0;
		}
		new Effect.Move($$('.scroll_item')[0],{
		  y: 1, mode: 'absolute',
		  transition: my_transition,
		  duration: my_duration,
		  beforeStart: change_marker_2,
		  afterFinish: change_marker
		});		
		function moved(my_direction, my_transition, my_duration) {
			currentPage = $$('.scroll_item')[index_element];
			if(my_direction == 1) {
				if(index_element < ($$('.scroll_item').length - 1)) {
					index_element++;		
				} else {
					index_element = 0;
				}
			} else if(my_direction == 0) {
				if(index_element > 0) {
					index_element--;
				} else {
					index_element = $$('.scroll_item').length - 1;
				}
			}
			newPage = $$('.scroll_item')[index_element];

			new Effect.Move(currentPage,{
			  y: -1*$('scroll_container').getHeight(), mode: 'absolute',
			  transition: my_transition,
			  duration: my_duration,
			  beforeStart: change_marker_2,
			  afterFinish: change_marker
			});
			new Effect.Move(newPage,{
			  y: 1, mode: 'absolute',
			  transition: my_transition,
			  duration: my_duration
			});

			
		}
		var exec = new PeriodicalExecuter(function() {
			moved(1, Effect.Transitions.spring, my_duration);
		}, timeout_time);
		//moved(1, Effect.Transitions.spring, my_duration); /* [Инициализация, чтобы сразу первый выплыл] */

		$('arrow_top').observe('mouseover', function() {
			exec.stop();
			exec = 0;
			$('arrow_top').observe('click', function(event) {
				Event.stop(event);
				if(flag == 1) {
					moved(0, Effect.Transitions.linear , 0.2);
					flag = 0;
				}
			});
		});
		$('arrow_top').observe('mouseout', function() {
			exec = new PeriodicalExecuter(function() {
				moved(1, Effect.Transitions.spring, my_duration);
			}, timeout_time);
		});
		$('arrow_bottom').observe('mouseover', function() {
			exec.stop();
			exec = 0;
			$('arrow_bottom').observe('click', function(event) {
				Event.stop(event);
				if(flag == 1) {
					moved(1, Effect.Transitions.linear , 0.2);
					flag = 0;
				}
			});
		});
		$('arrow_bottom').observe('mouseout', function() {
			exec = new PeriodicalExecuter(function() {
				moved(1, Effect.Transitions.spring, my_duration);
			}, timeout_time);
		});		
	}
}); 