function PageQuery(q) {
	if(q.length > 1) this.q = q.substring(1, q.length);
	else this.q = null;
	this.keyValuePairs = new Array();
	if(q) {
		for(var i=0; i < this.q.split("&").length; i++) {
			this.keyValuePairs[i] = this.q.split("&")[i];
		}
	}
	this.getKeyValuePairs = function() { return this.keyValuePairs; }
	this.getValue = function(s) {
		for(var j=0; j < this.keyValuePairs.length; j++) {
			if(this.keyValuePairs[j].split("=")[0] == s)
			return this.keyValuePairs[j].split("=")[1];
		}
		return false;
	}
	this.getParameters = function() {
		var a = new Array(this.getLength());
		for(var j=0; j < this.keyValuePairs.length; j++) {
			a[j] = this.keyValuePairs[j].split("=")[0];
		}
		return a;
	}
	this.getLength = function() { return this.keyValuePairs.length; } 
}
function queryString(key){
	var page = new PageQuery(window.location.search); 
	return unescape(page.getValue(key)); 
}
function getParameter(key, defaultValue){
	if(queryString(key)=='false'){
		return defaultValue;
	}else{
		return queryString(key);
	}
}
var imageindex = 0;
var preloadedimages = new Array();
var imgname = '';
var sttname = '';
function initializeGallery(imagename, statusname){
	lib = getParameter('path','');
	maximages = 1 * getParameter('images',0);
	imagenumber = 1 * getParameter('imagenumber', 1);
      //document.getElementById("message").innerHTML = lib + ":" + maximages + ":" + imagenumber;
	if (imagenumber>maximages){
		imagenumber = maximages;
	}
	if (imagenumber<1){
		imagenumber = 1;
	}
	imgname = imagename;
	sttname = statusname;
	preloadImages(lib, maximages, imagenumber);
}
function preloadImages(path, maximages, imagenumber){
	// Optimized to load the selected image first
	// Initialize all the images first
	for (i=0; i<maximages; i++){
		preloadedimages[i] = new Image();
	}
	// The selected image is loaded first, then following images
	for (i=imagenumber;i<=maximages;i++){
		loadImage(path, i);
		if (i==imagenumber){
			imageindex = imagenumber - 2;
			nextImage();
		}
	}
	// Leading images are loaded last, backwards
	for (i=imagenumber-1; i>0; i--){
		loadImage(path, i);
	}
}
function loadImage(path, imageidx){
	imagename = '000'+imageidx;
	imagename = imagename.substr(imagename.length-3,3);
	imagename = 'i' + imagename;
	preloadedimages[imageidx-1].src = path + imagename + '.jpg';	
}
function nextImage(){
	imageindex ++;
	if (imageindex>=preloadedimages.length){
		imageindex = 0;
	}
	document.images[imgname].src = preloadedimages[imageindex].src;
	galleryStatus(sttname);
	return(false);
}
function prevImage(){
	imageindex --;
	if (imageindex<0){
		imageindex = preloadedimages.length - 1;
	}
	document.images[imgname].src = preloadedimages[imageindex].src;
	galleryStatus(sttname);
	return(false);
}
function galleryStatus(statusname){
	document.getElementById(statusname).innerHTML = 'Image no. ' + (1+imageindex) + ' sur ' + preloadedimages.length + '.';
}

