
// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

var vignetteColor = 'rgb(40,40,40)';

var galleryItems = new Array();

var nextItemIndex = '';
var nextImagesDir = '';

// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

function killPopup()
{	
	disableReveal();

	var popupImage = document.getElementById('popup-image');
	if (popupImage != undefined)
	{
		document.body.removeChild(popupImage);
	}
}

// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

function finishPopup()
{	
	disableReveal();

	var popupImage = document.getElementById('popup-image');
	if (popupImage != undefined)
	{
		document.body.removeChild(popupImage);
	}

	revealMoreLayout();

	enableLinks();
}

// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

function backgroundHidden()
{
	var elems = getElementsByClassName('uber-layout-item');

	for (i = 0; i < elems.length; i++)
	{
		if (elems[i].vbrlOpacity > 0.2)
		{
			return false;
		}
	}

	return true;
}

// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

function showLoadedImage()
{	
	if (!currentPopupImage.isReadyToShow())
	{
		// While waiting, if the background had the time to hide completely, then show the loading animated gif to ensure the user something is happening.
		if (backgroundHidden())
		{
			showLoading();
		}

		setTimeout("showLoadedImage()",100);
		return;
	}

	// ---

	hideLoading();

	var popupImage = document.getElementById('popup-image');

	centerPopupImage();

	globalIds.push(new Array(popupImage));
	
//	setTimeout('revealMore(globalIds.length-1, 50)',500);
	revealMore(globalIds.length-1, 50);
}

// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

function closeImage()
{
//alert('close image 1');
	disableReveal();
//alert('close image 2');
	var popupImage = document.getElementById('popup-image');
//alert('close image 3');
	globalIds.push(new Array(popupImage));
//alert('close image 4');
	hideMore(globalIds.length-1, 50, 'finishPopup();');
//alert('close image 5');
}

// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

function closeImageForNext(itemIndex,imagesDir)
{
	nextItemIndex = itemIndex;
	nextImagesDir = imagesDir;

	disableReveal();

	var popupImage = document.getElementById('popup-image');
	globalIds.push(new Array(popupImage));

	hideMore(globalIds.length-1, 50, 'lauchImage(nextItemIndex,nextImagesDir);');	
}

// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

function dce(objectType)
{
	return document.createElement(objectType);
}

// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

function lauchImage(itemIndex)
{
	var item = galleryItems[itemIndex];

	// Remove the popup image if it's already existing
	var popupImage = document.getElementById('popup-image');
	if (popupImage != undefined)
	{
		document.body.removeChild(popupImage);		
	}
	else
	{
		disableLinks();
	}

	var item = galleryItems[itemIndex];

	getViewportSize();

	disableReveal();

	var elems = getElementsByClassName('uber-layout-item');
	globalIds.push(elems);

	hideMore(globalIds.length-1,revealInterval);

	// ---

	currentPopupImage = item;
	item.createGui();

	// ---

	document.body.appendChild(item.table);	

	// ---

	showLoadedImage();
}

// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

function showImage(itemIndex,imagesDir)
{
	var imageTitle = galleryItems[itemIndex].title;
	imageTitle = formatUrl(imageTitle);
	makeRequest(rootDir + 'php/hit-count.php?tag=show-' + imageTitle);
//	makeRequest(rootDir + 'php/hit-count.php?tag=show');

	var popupImage = document.getElementById('popup-image');

	// fade popup to black
	if (popupImage)
	{
		closeImageForNext(itemIndex,imagesDir);
	}
	else
	{
		lauchImage(itemIndex,imagesDir);
	}

}

// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// -- Text Popups

function lauchPopupText(text)
{
	disableLinks();

	getViewportSize();

	// Hide background
	disableReveal();

	var elems = getElementsByClassName('uber-layout-item');
	globalIds.push(elems);

	hideMore(globalIds.length-1,revealInterval);

	// ---

	var item = new PopupText(text);

	item.createGui();

	currentPopupImage = item;

	

	// ---

	document.body.appendChild(item.table);	

	// ---

	showLoadedImage();
}

// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

function showNoFullSize()
{
//	lauchPopupText('. . . &nbsp;close up only&nbsp; . . .');
//	lauchPopupText('. . &nbsp;close up only&nbsp; . .');

//	lauchPopupText('... &nbsp;close up only&nbsp; ...');
//	lauchPopupText('. &nbsp;close up only&nbsp; .'); // no
//	lauchPopupText(': &nbsp;close up only&nbsp; :'); // no
//	lauchPopupText('- &nbsp;close up only&nbsp; -');
	lauchPopupText('&nbsp;( &nbsp;close-up only&nbsp; )&nbsp;'); // no
}

// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

