function GalleryNavi() {}

GalleryNavi.images = [];
GalleryNavi.preloadedImages = [];
GalleryNavi.busy = false;
GalleryNavi.selectedImage = null;

GalleryNavi.init = function(parm) {
	$('gallerynavi').innerHTML = "Ladataan kuvia...";
	$('galleryimagediv1').absolutize();
	Element.clonePosition($('galleryimagediv2'), $('galleryimagediv1'));
	new Ajax.Request('images.xml', {
		method: 'get',
		onSuccess: function(resp) {
			if(window.ActiveXObject){ // If IE Windows
				var xml = new ActiveXObject("Microsoft.XMLDOM");
				xml.loadXML(resp.responseText);
			} else {
				var xml = resp.responseXML;
			}
			var node = xml.firstChild.firstChild;
			var images = [];
			while (node != undefined) {
				if (node.tagName == 'image') {
					images.push(node.firstChild.nodeValue);
				}
				node = node.nextSibling;
			}
			GalleryNavi.setImages(images);
		},
		onFailure: function() { 
			$('gallerynavi').innerHTML = 'Virhe ladattaessa kuvia.';
		},
		onComplete: function() {}
		});
}

GalleryNavi.preload = function(arr) {
	var tmp;
	for (var x=0; x<arr.length; x++) {
		tmp = new Image();
		tmp.src = 'gallery/' + arr[x];
		GalleryNavi.preloadedImages.push(tmp);
	}
}

GalleryNavi.setImages = function(arr) {
	GalleryNavi.preload(arr);
	var pages = Math.ceil(arr.length / 10);
	for (var x=0; x<pages; x++) {
		GalleryNavi.images[x] = [];
		for (var y=0; y<10; y++) {
			if (arr.length>0)
				GalleryNavi.images[x].push(arr.shift());
		}
	}
	GalleryNavi.setPage(1);
}

GalleryNavi.setPage = function(p) {
	if (GalleryNavi.busy) return;
	var str = "<table><tr><td>";
	if (p>1)
		str += "<a href=\"javascript:GalleryNavi.setPage(" + (p-1) + ")\">&laquo;</a>";
	str += "</td>";
	for (var x=0; x<10; x++) {
		str += "<td>";
		if (GalleryNavi.images[p-1][x] != undefined) {
			var imgnr = ((p-1) * 10 + x+1);
			str += "<a id=\"gn_" + p + "_" + x + "\" href=\"javascript:GalleryNavi.showImage(" + p + ", " + x + ")\">";
			str += imgnr + "</a>";
		}
		str += "</td>";
	}
	if (GalleryNavi.images.length>p)
		str += "<td><a href=\"javascript:GalleryNavi.setPage(" + (p+1) + ")\">&raquo;</a></td>";
	str += "</tr></table>";
	$('gallerynavi').innerHTML = str;
	GalleryNavi.busy = false;
	GalleryNavi.showImage(p, 0);
}

GalleryNavi.showImage = function(page, idx) {
	if (GalleryNavi.busy) return;
	GalleryNavi.busy = true;
	if (GalleryNavi.selectedImage != null)
		GalleryNavi.selectedImage.toggleClassName('selected');
	GalleryNavi.selectedImage = $('gn_' + page + '_' + idx);
	$('gn_' + page + '_' + idx).toggleClassName('selected');
	$('galleryimage2').src = 'gallery/' + GalleryNavi.images[page-1][idx];
	$('gn_' + page + '_' + idx).blur();
	$('galleryimagediv1').fade({duration: 1});
	$('galleryimagediv2').appear({duration: 1});
	setTimeout("$('galleryimage1').src = $('galleryimage2').src; $('galleryimagediv2').hide(); $('galleryimagediv1').show(); GalleryNavi.busy = false;", 1300);
}


