	imageArray = new Array();
	imageArray["main"] = new Array();
	imageArray["knives"] = new Array();
	imageArray["grips"] = new Array();
	imageArray["others"] = new Array();
	imageArray["gallery"] = new Array();
	
	function preloadImage(album, itemnr, folder, itemid, imageid)
	{
		imagesrc = "images/" + folder + "/thumbnails/" + imageid + ".jpg";
		imageArray[album][itemnr] = new Image();
		imageArray[album][itemnr].src = imagesrc;
		imageArray[album][itemnr].itemid = itemid;
		imageArray[album][itemnr].imageid = imageid;
		
		if(folder == "knives")
		{
			imageArray[album][itemnr].type = "knife";
		}
		else if(folder == "grips")
		{
			imageArray[album][itemnr].type = "grip";
		}
	}
	
	function showGalleryOverview(gallery, nrItemsPerPage, page)
	{
		firstItemNr = (nrItemsPerPage * page) - nrItemsPerPage;
		lastItemNr = (nrItemsPerPage * page) - 1;
		
		for(itemNr = firstItemNr; itemNr <= lastItemNr; itemNr++)
		{
			setImageGalleryOverview(gallery, itemNr, "galleryThumb" + (itemNr % nrItemsPerPage));
		}
	}
	
	function pageGalleryOverview(gallery, nrItemsPerPage, from, to)
	{
		var nrPages = Math.ceil((imageArray[gallery].length)/nrItemsPerPage);
		
		for(page = 1; page <= nrPages; page++)
		{
			if(page == from)
			{
				var browse_pages_nr_from = document.getElementById("browse_pages_nr_" + from);
				browse_pages_nr_from.className = "browse_pages_nr";
				browse_pages_nr_from.innerHTML = "<a href='javascript:pageGalleryOverview(" + '"' + gallery + '"' + ", " + nrItemsPerPage + ", " + to + ", " + from + ")'>" + from  + " " + "</a>\n";
			}
			else if(page == to)
			{
				var browse_pages_nr_to = document.getElementById("browse_pages_nr_" + to);
				browse_pages_nr_to.className = "browse_pages_nr_current";
				browse_pages_nr_to.innerHTML = to;
			}
			else
			{
				var browse_pages_nr = document.getElementById("browse_pages_nr_" + page);
				browse_pages_nr.innerHTML = "<a href='javascript:pageGalleryOverview(" + '"' + gallery + '"' + ", " + nrItemsPerPage + ", " + to + ", " + page + ")'>" + page  + " " + "</a>\n";
			}
		}
		
		showGalleryOverview(gallery, nrItemsPerPage, to);
	}
	
	function setImageGalleryOverview(gallery, itemnr, targetid)
	{
		var item = imageArray[gallery][itemnr];
		
		var target = document.getElementById(targetid);
		
		// If there are no more items to show
		if(item == null)
		{
			// Clear the original item
			target.style.visibility = "hidden";
		}
		else
		{
			// Replace the original item with the new one
			target.src = item.src;
			target.style.visibility = "visible";
			target.onclick = new Function("showGalleryItem('" + gallery + "', " + itemnr + ")");
		}
	}
	
	function showGalleryItem(gallery, itemnr)
	{
		var item = imageArray[gallery][itemnr];
		var itemid = item.itemid;
		
		if(gallery == "knives")
		{
			var php = "model/KnifeGallery.php?action=show&knifeid=" + itemid;
		}
		else if(gallery == "grips")
		{
			var php = "model/GripGallery.php?action=show&gripid=" + itemid;
		}
		else if(gallery == "gallery")
		{
			var php = "model/ProductGallery.php?action=show&productid=" + itemid + "&type=" + item.type;
		}
	
		var xmlHttp = new XmlHttpObject();
		xmlHttp.open('POST', php, true);
		xmlHttp.send(null);
	
		xmlHttp.onreadystatechange = function()
		{
			if(xmlHttp.readyState == 4) // request is complete
			{
				var container = document.getElementById("main");
				container.innerHTML = xmlHttp.responseText;
				setLinks(gallery, itemnr);
			}
		}
	}
	
	/**
	 * function setLinks
	 */
	function setLinks(gallery, itemnr)
	{
		setPreviousLink(gallery, itemnr);
		setNextLink(gallery, itemnr);
	}
	
		function setPreviousLink(gallery, itemnr)
		{
			var browse_previous = document.getElementById("browse_previous");
	
			// If the current item is the first item
			if(itemnr == 0)
			{
				browse_previous.innerHTML = "";
			}
			else
			{
				previousItemnr = itemnr - 1;
				link = "javascript:showGalleryItem('" + gallery + "', " + previousItemnr + ")";
				browse_previous.href = link;
			}
		}
	
		function setNextLink(gallery, itemnr)
		{
			var browse_next = document.getElementById("browse_next");
		
			// If the current item is the last item
			if(itemnr == (imageArray[gallery].length) - 1)
			{
				browse_next.innerHTML = "";
			}
			else
			{
				nextItemnr = itemnr + 1;
				link = "javascript:showGalleryItem('" + gallery + "', " + nextItemnr + ")";
			
				browse_next.href = link;
			}
		}
