function it_imagemap_keyvisual_animate_step(instance_id, changespeed, animatespeed) {
	navigation_bar =  $('#it_imagemap_keyvisual_' + instance_id + ' .it-imagemap-keyvisual-navigation');
	navigation_bar.children('.it-imagemap-keyvisual-navigation-arrows').children('.it-imagemap-keyvisual-arrow').children('div').removeClass('it-imagemap-keyvisual-active-arrow');
	it_imagemap_keyvisual_item_num++;
	if (it_imagemap_keyvisual_item_num > total_it_imagemap_keyvisual_item_num) {
		it_imagemap_keyvisual_item_num = 1;
	}
	var cur = $('#it_imagemap_keyvisual_' + instance_id + ' .it_imagemap_keyvisual_animation .it_imagemap_keyvisual_item').eq(0);
	var next = $('#it_imagemap_keyvisual_' + instance_id + ' .it_imagemap_keyvisual_storage .it_imagemap_keyvisual_item').eq(it_imagemap_keyvisual_item_num - 1).clone();
	it_imagemap_keyvisual_navigation(instance_id);
	next.children('div').css('opacity', 0);
	next.appendTo('#it_imagemap_keyvisual_' + instance_id + ' .it_imagemap_keyvisual_animation');
	next.children('.it-imagemap-keyvisual-first-image').animate({opacity: 1}, animatespeed, function() {
			cur.remove();
		});	
	$(function() {
		it_imagemap_keyvisual_timer = setTimeout('it_imagemap_keyvisual_animate_step(' + instance_id + ',' + changespeed + ',' + animatespeed + ');', changespeed);
	}); 
}

function it_imagemap_keyvisual_navigation(instance_id) {
	navigation_bar =  $('#it_imagemap_keyvisual_' + instance_id + ' .it-imagemap-keyvisual-navigation');
	navigation_bar.children('.it-imagemap-keyvisual-navigation-arrows').children('#it_imagemap_keyvisual_arrow_' + it_imagemap_keyvisual_item_num).children('div').eq(1).addClass('it-imagemap-keyvisual-active-arrow');
}
function it_imagemap_keyvisual_navigation_init(instance_id, changespeed, animatespeed) {
	navigation_bar =  $('#it_imagemap_keyvisual_' + instance_id + ' .it-imagemap-keyvisual-navigation');
	navigation_bar.children('.it-imagemap-keyvisual-navigation-arrows').children('.it-imagemap-keyvisual-arrow').click(function() {
		var id = parseInt($(this).attr('id').replace('it_imagemap_keyvisual_arrow_', ''));
		it_imagemap_keyvisual_animate_click(instance_id, it_imagemap_keyvisual_item_num, id, changespeed, animatespeed);
	});
}
function it_imagemap_keyvisual_animate_click(instance_id, it_imagemap_keyvisual_prev_item_num, it_imagemap_keyvisual_new_num, changespeed, animatespeed) {
	clearTimeout(it_imagemap_keyvisual_timer);
	navigation_bar.children('.it-imagemap-keyvisual-navigation-arrows').children('.it-imagemap-keyvisual-arrow').unbind('click');
	navigation_bar =  $('#it_imagemap_keyvisual_' + instance_id + ' .it-imagemap-keyvisual-navigation');
	navigation_bar.children('.it-imagemap-keyvisual-navigation-arrows').children('.it-imagemap-keyvisual-arrow').children('div').removeClass('it-imagemap-keyvisual-active-arrow');
	it_imagemap_keyvisual_item_num = it_imagemap_keyvisual_new_num;
	var cur = $('#it_imagemap_keyvisual_' + instance_id + ' .it_imagemap_keyvisual_animation .it_imagemap_keyvisual_item').eq(0);
	var next = $('#it_imagemap_keyvisual_' + instance_id + ' .it_imagemap_keyvisual_storage .it_imagemap_keyvisual_item').eq(it_imagemap_keyvisual_item_num - 1).clone();
	it_imagemap_keyvisual_navigation(instance_id);
	next.children('div').css('opacity', 0);
	next.appendTo('#it_imagemap_keyvisual_' + instance_id + ' .it_imagemap_keyvisual_animation');
	next.children('.it-imagemap-keyvisual-first-image').animate({opacity: 1}, animatespeed, function() {
		cur.remove();
		$(function() {
			it_imagemap_keyvisual_timer = setTimeout('it_imagemap_keyvisual_animate_step(' + instance_id + ',' + changespeed + ',' + animatespeed + ');', 60000);
		});
		it_imagemap_keyvisual_navigation_init(instance_id, changespeed, animatespeed);
	});
}
