// JavaScript Document

// Gallery

var gallery_images_count = 0;
var gallery_images_position = 1;
var gallery_descriptions_state = false;
var gallery_descriptions = new Array();
var gallery_container = '';
var gallery_periodical;
var gallery_effect;

function utilities_gallery(gallery_images_count_t, gallery_descriptions_state_t, gallery_descriptions_t, gallery_container_t)
{
	gallery_images_count = gallery_images_count_t;
	gallery_descriptions_state = gallery_descriptions_state_t;
	gallery_descriptions = gallery_descriptions_t;
	gallery_container = gallery_container_t;
	gallery_effect = new Fx.Tween(gallery_container, {transition: Fx.Transitions.Quart.easeOut});
	gallery_switcher_descriptions();				
	gallery_periodical = gallery_switcher.periodical(10000);
}

function gallery_switcher_descriptions()
{
	if(gallery_descriptions_state)
	{
		$(gallery_container + '_description').set('html', gallery_descriptions[gallery_images_position - 1].replace(/<h2>(.*)<\/h2>/gi, '<h2><span style="float:right;"><a href="#" onclick="gallery_switcher_back(); return false;">&' + 'lt;<\/a> <a href="#" onclick="gallery_switcher_forward(); return false;">&' + 'gt;<\/a><\/span>$1<\/h2>'));
	}
}

function gallery_switcher_back()
{
	$clear(gallery_periodical);
	if(gallery_images_position == 1)
	{
		gallery_effect.start('background-position', -((gallery_images_position - 1) * 880) + 'px', -((gallery_images_count - 1) * 880) + 'px').chain(function () { gallery_images_position = gallery_images_count; gallery_switcher_descriptions(); });
	}
	else
	{
		gallery_effect.start('background-position', -((gallery_images_position - 1) * 880) + 'px', -((gallery_images_position - 2) * 880) + 'px').chain(function () { gallery_images_position--; gallery_switcher_descriptions(); });
	}
	gallery_periodical = gallery_switcher.periodical(10000);
}

function gallery_switcher_forward()
{
	$clear(gallery_periodical);
	if(gallery_images_position == gallery_images_count)
	{
		gallery_effect.start('background-position', -(gallery_images_position * 880) + 'px', '0px').chain(function () { gallery_images_position = 1; gallery_switcher_descriptions(); });
	}
	else
	{
		gallery_effect.start('background-position', -((gallery_images_position - 1) * 880) + 'px', -((gallery_images_position) * 880) + 'px').chain(function () { gallery_images_position++; gallery_switcher_descriptions(); });
	}
	gallery_periodical = gallery_switcher.periodical(10000);
}

var gallery_switcher = function()
{
	gallery_switcher_forward();
};

// Sidescroller

var sidescroller_images_position = 0;
var sidescroller_images_count = 0;
var sidescroller_descriptions_activated = false;
var sidescroller_descriptions = new Array();
var sidescroller_container = '';

function utilities_sidescroller(sidescroller_images_count_t, sidescroller_descriptions_activated_t, sidescroller_descriptions_t, sidescroller_container_t)
{
	sidescroller_images_count = sidescroller_images_count_t;
	sidescroller_descriptions_activated = sidescroller_descriptions_activated_t;
	sidescroller_descriptions = sidescroller_descriptions_t;
	sidescroller_container = sidescroller_container_t;
	sidescroller_switcher_description();
}

function sidescroller_switcher(sidescroller_images_position_change)
{
	var main_content_body_content_effect = new Fx.Tween(sidescroller_container, {transition: Fx.Transitions.Quart.easeOut});
	if(sidescroller_images_position != sidescroller_images_count)
	{
		main_content_body_content_effect.start('background-position', -(sidescroller_images_position * 440) + 'px', -(sidescroller_images_position_change * 440) + 'px').chain(function () { sidescroller_images_position = sidescroller_images_position_change; sidescroller_switcher_description(); });
	}
};

function sidescroller_switcher_description()
{
	var sidescroller_descriptions_links = '';
	for(var i = 0; i < sidescroller_images_count; i++)
	{
		if(i == sidescroller_images_position)
		{
			sidescroller_descriptions_links += '<a class="main_content_body_gallery_description_navigator_selected" href="#" onclick="sidescroller_switcher(' + i + '); return false;">' + (i + 1) + '<\/a> ';
		}
		else
		{
			sidescroller_descriptions_links += '<a href="#" onclick="sidescroller_switcher(' + i + '); return false;">' + (i + 1) + '<\/a> ';
		}
	}
	if(sidescroller_descriptions_activated)
	{
		$(sidescroller_container + '_description').set('html',  '<span class="main_content_body_gallery_description_navigator">' + sidescroller_descriptions_links + '<\/span>', '<p>' + sidescroller_descriptions[sidescroller_images_position] + '<\/p>');
	}
	else
	{
		$(sidescroller_container + '_description').set('html',  '<span class="main_content_body_gallery_description_navigator">' + sidescroller_descriptions_links + '<\/span>');
	}
}