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 = 640;

	max_h = 640;	

	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;

}
