var currentSlideID;
var nextSlideID = 0;
var totalSlides = 0;
var slides_array = new Array();
var imgWidth;
var $prevPointer;
var $nextPointer;
var isMoving = false;
var movingInterval;
var scrollSpeed = 200;

function setUpGallery() {
	
	$('div.pointer').css('display', 'block');
	$('div.pointer').css('cursor', 'pointer');
	$('div.pointer:eq(0)').attr({'id': 'prev'});
	$('div.pointer:eq(1)').attr({'id': 'next'});
	$prevPointer = $('div.pointer:eq(0)');
	$nextPointer = $('div.pointer:eq(1)');
	$('div.pointer').click(onPointerClick);
	
	$('div#navigation').css('display', 'block');
	
	$('div.our_faсility_image_frame').css('display', 'block');
	
	imgWidth = $('div#images').width();
	$('div#images').css('overflow', 'hidden');
	$('div#images img').each(function(index) {
		$(this)
			.css('position', 'absolute')
			.css('left', imgWidth*index + 'px');
		slides_array.push($(this));
		
		$('div#navigation').append('<a id="a'+index+'"></a>');
	});
	
	$('div#navigation a').css('cursor', 'pointer');
	$('div#navigation a').hover(function() { $(this).addClass('hover'); }, function() { $(this).removeClass('hover'); });
	$('div#navigation a').click(function() {
		var aId_str = $(this).attr('id');
		var id = Number(aId_str.substring(1, aId_str.length));
		gotoSlide(id);
	});
	
	totalSlides = slides_array.length;
	
	currentSlideID = 0;
	manageCotrols();
}


function onPointerClick(event) {
	if ($(this).attr('id') == 'next') {
		nextSlideID = currentSlideID+1;
	} else if ($(this).attr('id') == 'prev') {
		nextSlideID = currentSlideID-1;
	}
	gotoSlide(nextSlideID);
}

function manageCotrols() {
	var $nextPointerVisibility = 'visible';
	var $prevPointerVisibility = 'visible';
	if (currentSlideID == totalSlides-1) {
		$nextPointerVisibility = 'hidden';
	} else if (currentSlideID == 0) {
		$prevPointerVisibility = 'hidden';
	}
	$nextPointer.css('visibility', $nextPointerVisibility);
	$prevPointer.css('visibility', $prevPointerVisibility);
	
	$('div#navigation a').removeClass();
	$('div#navigation a:eq('+currentSlideID+')').addClass('selected');
}


function gotoSlide(toId) {
	if (isMoving) {
		return false;
	}
	isMoving = true;
	var loops = toId - currentSlideID;
	var dir = loops / Math.abs(loops);
	scrollSpeed = Math.floor(800/Math.abs(loops));
	scrollSpeed = (scrollSpeed < 50) ? 50 : scrollSpeed;
	scrollSpeed = (scrollSpeed > 300) ? 300 : scrollSpeed;
	movingInterval = setInterval(function() {
		if (currentSlideID == toId) {
			clearInterval(movingInterval);
			isMoving = false;
		} else {
			var id = currentSlideID + dir;
			var fromX = (currentSlideID < toId) ? imgWidth : 0;
			var toX = (currentSlideID < toId) ? 0 : imgWidth;
			var slideToMove = (dir > 0) ? slides_array[id] : slides_array[currentSlideID];
			moveSlide(slideToMove, fromX, toX);
			currentSlideID = id;
			manageCotrols();
		}
	}, scrollSpeed);
}

function moveSlide(target, x, toX) {
	target.css('left', x);
	target.animate({left: toX}, 250);
}