var rotate_box_top_slide;
var rotate_box_bottom_slide;
var slide_timeout_id_1;
var slide_timeout_id_2;
var cur_frame = end_frame;
var prev_direction = 'rev';
var direction = 'rev';

window.addEvent('domready', function() {
	if (num_novita && (num_novita > 0)) {

		if (num_novita == 1) {
			aDiv[1] = aDiv[0];
			aDiv[2] = aDiv[0];
			num_novita = 3;
			end_frame = 2;
		}
		else if (num_novita == 2) {
			aDiv[2] = aDiv[0];
			aDiv[3] = aDiv[1];
			num_novita = 4;
			end_frame = 3;
		}

		rotate_box_top_slide = new Fx.Slide('rotate_box_top', { duration: 700 });
		rotate_box_bottom_slide = new Fx.Slide('rotate_box_bottom', { duration: 700 });

		$('btn_stop').addEvent('click', function(e){
			e.stop();
			if (slide_timeout_id_1) clearTimeout(slide_timeout_id_1);
			if (slide_timeout_id_2) clearTimeout(slide_timeout_id_2);
		});

		$('btn_play').addEvent('click', function(e){
			e.stop();
			if (slide_timeout_id_1) clearTimeout(slide_timeout_id_1);
			if (slide_timeout_id_2) clearTimeout(slide_timeout_id_2);
			setTimeout(switch_slides(cur_frame,start_frame,end_frame), 0);
		});

		$('btn_for').addEvent('click', function(e){
			e.stop();
			if (slide_timeout_id_1) clearTimeout(slide_timeout_id_1);
			if (slide_timeout_id_2) clearTimeout(slide_timeout_id_2);

			var previous_frame = cur_frame - 1;
			if (previous_frame < start_frame) {
				previous_frame = end_frame;
			}
			slide_timeout_id_1 = setTimeout("show_frame_rew(" + previous_frame + ", " + start_frame + ", " + end_frame + ");", 0);
			slide_timeout_id_2 = setTimeout(switch_slides(previous_frame, start_frame, end_frame), appearDelay);
		});

		$('btn_rew').addEvent('click', function(e){
			e.stop();
			if (slide_timeout_id_1) clearTimeout(slide_timeout_id_1);
			if (slide_timeout_id_2) clearTimeout(slide_timeout_id_2);

			var next_frame = cur_frame + 1;
			if (next_frame > end_frame) {
				next_frame = start_frame;
			}
			slide_timeout_id_1 = setTimeout("show_frame(" + next_frame + ", " + start_frame + ", " + end_frame + ");", 0);
			slide_timeout_id_2 = setTimeout(switch_slides(next_frame, start_frame, end_frame), appearDelay);
		});

		slide_novita();
	}

	if (num_foto && (num_foto > 0) && enable_show_foto) {
		$$('.hide').fade('hide');
		slide_foto();
	}

});

function slide_novita() {
	start_slideshow(main_delay);
}

function start_slideshow() {
	$('rotate_box_top').set('html', aDiv[end_frame]);
	$('rotate_box_bottom').set('html', aDiv[start_frame]);
	rotate_box_top_slide.show();
	rotate_box_bottom_slide.show();
	setTimeout(switch_slides(start_frame,start_frame,end_frame), 0);
}

function show_frame(frame, start_frame, end_frame) {
	rotate_box_top_slide.cancel();

	switch(direction) {
		case 'rew':
			rotate_box_top_slide.slideOut();
		break;

		case 'for':
			var next_frame = cur_frame + 2;
			if (next_frame > end_frame) {
				next_frame = start_frame + (next_frame - end_frame - 1);
			}

			rotate_box_top_slide.hide();
			rotate_box_bottom_slide.hide();

			$('rotate_box_top').set('html', aDiv[frame]);
			$('rotate_box_bottom').set('html', aDiv[next_frame]);

			rotate_box_top_slide.show();
			rotate_box_bottom_slide.show();

			rotate_box_top_slide.slideOut();

			cur_frame = frame;
		break;
	}

	prev_direction = direction;

	direction = 'for';

	return(false);
}

function show_frame_rew(frame, start_frame, end_frame) {
	rotate_box_top_slide.cancel();

	switch(direction) {
		case 'rew':
			var next_frame = cur_frame;
			if (next_frame > end_frame) {
				next_frame = start_frame;
			}

			rotate_box_top_slide.hide();
			rotate_box_bottom_slide.hide();

			$('rotate_box_bottom').set('html', aDiv[next_frame]);
			$('rotate_box_top').set('html', aDiv[frame]);

			rotate_box_bottom_slide.show();
			rotate_box_top_slide.slideIn();

			cur_frame = frame;
		break;

		case 'for':
			if (cur_frame == -1) {
				cur_frame = 0;

				rotate_box_top_slide.hide();
				rotate_box_bottom_slide.hide();

				$('rotate_box_bottom').set('html', aDiv[cur_frame]);
				$('rotate_box_top').set('html', aDiv[end_frame]);

				rotate_box_bottom_slide.show();
				rotate_box_top_slide.slideIn();

				cur_frame = end_frame;
			}
			else {
				$('rotate_box_top').set('html', aDiv[cur_frame]);
				rotate_box_top_slide.slideIn();
			}

//			cur_frame = frame - 2;
//			if (cur_frame < start_frame) {
//				cur_frame = end_frame - (cur_frame * - 1) - 1;
//			}
		break;
	}

	prev_direction = direction;

	direction = 'rew';

	return(false);
}

function switch_slides(frame, start_frame, end_frame) {
	return (
		function() {
			var previous_frame = cur_frame - 1;
			if (previous_frame < start_frame) {
				previous_frame = end_frame;
			}

			slide_timeout_id_1 = setTimeout("show_frame_rew(" + previous_frame + ", " + start_frame + ", " + end_frame + ");", appearDelay);
			slide_timeout_id_2 = setTimeout(switch_slides(frame, start_frame, end_frame), main_delay + appearDelay);
		}
	)
}

function slide_foto() {
	start_foto_show(foto_start_frame, foto_end_frame, 1000);
}

function start_foto_show(start_frame, end_frame, delay) {
	setTimeout(switch_foto(end_frame,start_frame,end_frame, delay), 0);
}

function show_foto(frame, end_frame) {
	var previous_frame = frame - 1;
	if (previous_frame < 0) previous_frame = end_frame;

	
	var curFx = new Fx.Tween(aFoto[frame]['id'], {property: 'opacity', duration: 1000});
	var o_frame = $(aFoto[frame]['id']);

	o_frame.removeClass('hide');
	curFx.start(0, 1);
}

function switch_foto(frame, start_frame, end_frame, delay) {
	return (
		function() {
			var o_previous_frame = $(aFoto[frame]['id']);
			var prevFx = new Fx.Tween(aFoto[frame]['id'], {property: 'opacity', duration: 1000});
			prevFx.start(1, 0).chain(function(){
				o_previous_frame.addClass('hide');
			});

			if (frame == end_frame) { frame = start_frame; } else { frame = frame + 1; }

			$(aFoto[frame]['id']).fade('hide');

			setTimeout("show_foto(" + frame + ", " + end_frame + ");", delay);

			var next_show = foto_appearDelay;
			if (aFoto[frame]['delay']) {
				next_show = aFoto[frame]['delay'];
			}

			setTimeout(switch_foto(frame, start_frame, end_frame, delay), delay + next_show);
		}
	)
}
