var index = 0;
var limit = 10;
var cn;
var images;
function Preloader(){}
Preloader.prototype.preloadImages = function() {
	images = [];
	for (i=0; i<gallery.length; i++) {
		im = new Image();
		im.src = image_folder + gallery[i];
		images[i] = im;
	}
}		
Preloader.prototype.setFirstImage = function() {
	if (images != null && images != "") {
		document.image_place.src = images[index].src;
	} else {
		document.image_place.src = "";
	}
}

Preloader.prototype.scaleImage = function() {
	max_w = 395;
	max_h = 395;	
	document.image_place.width = images[index].width;
	document.image_place.height = images[index].height;

	w = document.image_place.width;
	h = document.image_place.height;
	if (w > max_w) {
		document.image_place.width = max_w;
		document.image_place.height = max_h * h / w;
	}
	
	w = document.image_place.width;
	h = document.image_place.height;
	if (h > max_h) {
		document.image_place.height = max_h;
		document.image_place.width = max_w * w / h;
	}
}
var preloader = new Preloader();

function nextImage() {
	index++;
	if (index >= images.length) index = 0;
	document.image_place.width = images[index].width;
	document.image_place.heigth = images[index].heigth;
	document.image_place.src = images[index].src;
	preloader.scaleImage();
	numbers();
}		
function prevImage() {
	index--;
	if (index < 0) index = images.length-1;
	document.image_place.width = images[index].width;
	document.image_place.heigth = images[index].heigth;
	document.image_place.src = images[index].src;
	preloader.scaleImage();
	numbers();
}
function showImage(exactIndex) {
	index = exactIndex;
	document.image_place.width = images[index].width;
	document.image_place.heigth = images[index].heigth;
	document.image_place.src = images[index].src;
	preloader.scaleImage();
	numbers();
}
function init() {
	preloader.preloadImages();
	preloader.setFirstImage();
	numbers();
}
function numbers() {
	var blockNumber = Math.floor((index)/limit);
	var numberOfBlocks = Math.ceil(images.length/limit);

	var begins = "";
	var ends = "...";
	if (blockNumber >= 1) begins = "...";
	if (numberOfBlocks == blockNumber+1) ends = "";

	var length;
	if (images.length - limit*blockNumber > limit) length = limit
	else length = images.length - limit*blockNumber;
	
	var style;
	var numbers = "";
	var showNumber;
	for (i=1; i<=length; i++) {
		if (i-1 + blockNumber*limit == index) style = " class='current_image_number' "
		else style = "";
		showNumber = i + limit * blockNumber;
		numbers += "<a href='#' onclick='showImage(" + eval(showNumber-1) + ");return false;'" + style + ">" + showNumber + "</a>";
	}
	numbers = begins + numbers + ends;
	document.getElementById("numbers_place").innerHTML = numbers;
}