/***************************************************************************************\
 *  HEAZKY JAVASCRIPT LIBRARY: GALLERY  v1.5                                           *
 ***************************************************************************************
 *                                                                                     *  
 *  Extensie voor de Heazky Javascript Library                                         *
 *    Inspired by Lightbox JS by Lokesh Dhakar - http://www.huddletogether.com         *
 *                                                                                     *
 ***************************************************************************************
 *  (c) Philip Dubois (Heazky), mail@philipdubois.be                                   *
\***************************************************************************************/


/* ----------------------------------------------------------------------------------- */

var border = 10;
var heightDetails = 34;

var imageArray = new Array;
var activeImage;


function showPopup(imageLink)
	{
	setWidth('GalleryOverlay', getPageSize()[0] + 'px');
	setHeight('GalleryOverlay', getPageSize()[1] + 'px');

	imageArray = [];
	imageNum = 0;		

	if(!document.getElementsByTagName)
		return;
	
	var links = document.getElementsByTagName('a');

	if((imageLink.getAttribute('rel') == 'photo'))
		{
		imageArray.push(new Array(imageLink.getAttribute('href'), imageLink.getAttribute('title')));			
		}
	else
		{
		for(var i = 0; i < links.length; i++)
			{
			var linka = links[i];
			if(linka.getAttribute('href') && (linka.getAttribute('rel') == imageLink.getAttribute('rel')))
				imageArray.push(new Array(linka.getAttribute('href'), linka.getAttribute('title')));
			}
		
		while(imageArray[imageNum][0] != imageLink.getAttribute('href'))
			imageNum++;
		}

	show('GalleryOverlay');
	show('GalleryFrame');
	show('GalleryLoading');
	
	changeImage(imageNum);
	}

function hidePopup()
	{
	hide('GalleryFrame');
	hide('GalleryOverlay');
	}

function changeImage(imageNum)
	{	
	activeImage = imageNum;
	
	hide('GalleryImage');
	hide('GalleryPrev');
	hide('GalleryNext');
	hide('GalleryDetailsContainer');
	hide('GalleryNumber');		
	
	imgPreloader = new Image();
	imgPreloader.onload = showFrame;
	imgPreloader.src = imageArray[activeImage][0];
	}

function showFrame()
	{
	setSrc('GalleryImage', imageArray[activeImage][0]);
	resizeImageContainer(imgPreloader.width, imgPreloader.height);
	
	hide('GalleryLoading');
	show('GalleryImage')
	
	updateDetails();
	updateNavigation();
	preloadNeighborImages();
	}

function resizeImageContainer(imgWidth, imgHeight)
	{
	var xFrame = imgWidth + (border * 2);
	var yFrame = imgHeight + (border * 2);
	
	setWidth('GalleryFrame', xFrame + 'px');
	setHeight('GalleryFrame', (yFrame + heightDetails) + 'px');
	
	setMarginLeft('GalleryFrame', -(xFrame / 2) + 'px');
	setMarginTop('GalleryFrame', -((yFrame + heightDetails) / 2) + 'px');
	
	setWidth('GalleryOuterImageContainer', xFrame + 'px');
	setHeight('GalleryOuterImageContainer', yFrame + 'px');
	
	setWidth('GalleryDetailsContainer', xFrame + 'px');
	}

function updateDetails()
	{
	setInnerHTML('GalleryTitle', imageArray[activeImage][1]);
	
	if(imageArray.length > 1)
		{
		show('GalleryNumber');
		setInnerHTML('GalleryNumber', 'Afbeelding ' + eval(activeImage + 1) + ' van ' + imageArray.length);
		}

	show('GalleryDetailsContainer');
	}

function updateNavigation()
	{
	if(activeImage != 0)
		{
		show('GalleryPrev');
		setOnClick('GalleryPrev', function() { changeImage(activeImage - 1); return false; });
		}

	if(activeImage != (imageArray.length - 1))
		{
		show('GalleryNext');
		setOnClick('GalleryNext', function() { changeImage(activeImage + 1); return false; });
		}
	}

function preloadNeighborImages()
	{
	if((imageArray.length - 1) > activeImage)
		imgNext = newImage(imageArray[activeImage + 1][0]);
	if(activeImage > 0)
		imgPrev = newImage(imageArray[activeImage - 1][0]);
	}

/* ----------------------------------------------------------------------------------- */