var currentPhoto;

function startPhotogallery(currentImage) {
	var photoId = parseInt(currentImage.substr(5, currentImage.length)) - 1;
	currentPhoto = photoId;

	var divShadow = document.createElement('div');
	divShadow.innerHTML = '&nbsp;';
	YAHOO.util.Dom.addClass(divShadow, 'shadow');
	YAHOO.util.Dom.setStyle(divShadow, 'height', YAHOO.util.Dom.getDocumentHeight() + 'px');
	YAHOO.util.Dom.setStyle(divShadow, 'width', YAHOO.util.Dom.getDocumentWidth() + 'px');
	YAHOO.util.Dom.setStyle(divShadow, 'left', '0px');
	document.body.appendChild(divShadow);

	var divControl = document.createElement('div');
//	YAHOO.util.Dom.setStyle(divControl, '', '');
	divControl.innerHTML = '';

	var flashObjects = document.getElementsByTagName('object');
	for (var i = 0; i < flashObjects.length; i++) {
		YAHOO.util.Dom.setStyle(flashObjects[i], 'visibility', 'hidden');
	}

	var image = document.createElement('img');
	YAHOO.util.Dom.addClass(image, 'photogallery-image');
	image.src = '/user_upload/gallery/' + galleryID + '/big/' + photos[photoId].name;
	imageWidth = photos[photoId].width;
	imageHeight = photos[photoId].height;
	var maxImageHeight = YAHOO.util.Dom.getViewportHeight() - 66;
	if (maxImageHeight < photos[photoId].height) {
		imageHeight = maxImageHeight;
		imageWidth = Math.round(imageHeight / photos[photoId].height * photos[photoId].width);
	}
	YAHOO.util.Dom.setStyle(image, 'width', imageWidth + 'px');
	YAHOO.util.Dom.setStyle(image, 'height', imageHeight + 'px');
	YAHOO.util.Dom.setStyle(image, 'top', (YAHOO.util.Dom.getDocumentScrollTop() + (YAHOO.util.Dom.getViewportHeight()-66) / 2 - imageHeight/2) + 'px');
	YAHOO.util.Dom.setStyle(image, 'left', YAHOO.util.Dom.getViewportWidth() / 2 - imageWidth / 2 + 'px');
	document.body.appendChild(image);

	var buttonContainer = document.createElement('div');
	YAHOO.util.Dom.addClass(buttonContainer, 'photogallery-button-container');
	YAHOO.util.Dom.setStyle(buttonContainer, 'top', (YAHOO.util.Dom.getDocumentScrollTop() + YAHOO.util.Dom.getViewportHeight() - 66) + 'px');
	YAHOO.util.Dom.setStyle(buttonContainer, 'left', YAHOO.util.Dom.getViewportWidth() / 2 - 100 + 'px');
	document.body.appendChild(buttonContainer);

	var left = document.createElement('img');
	YAHOO.util.Dom.addClass(left, 'photogallery-image');
	YAHOO.util.Dom.setStyle(left, 'top', (YAHOO.util.Dom.getDocumentScrollTop() + YAHOO.util.Dom.getViewportHeight() - 66) + 'px');
	YAHOO.util.Dom.setStyle(left, 'left', YAHOO.util.Dom.getViewportWidth() / 2 - 100 + 'px');
	YAHOO.util.Dom.setStyle(left, 'cursor', 'pointer');
	left.src = '/img/left.png';
	document.body.appendChild(left);

	var right = document.createElement('img');
	YAHOO.util.Dom.addClass(right, 'photogallery-image');
	YAHOO.util.Dom.setStyle(right, 'top', (YAHOO.util.Dom.getDocumentScrollTop() + YAHOO.util.Dom.getViewportHeight() - 66) + 'px');
	YAHOO.util.Dom.setStyle(right, 'left', (YAHOO.util.Dom.getViewportWidth() / 2 + 36) + 'px');
	YAHOO.util.Dom.setStyle(right, 'cursor', 'pointer');
	right.src = '/img/right.png';
	document.body.appendChild(right);

	var close = document.createElement('img');
	YAHOO.util.Dom.addClass(close, 'photogallery-image');
	YAHOO.util.Dom.setStyle(close, 'top', (YAHOO.util.Dom.getDocumentScrollTop() + YAHOO.util.Dom.getViewportHeight() - 66) + 'px');
	YAHOO.util.Dom.setStyle(close, 'left', (YAHOO.util.Dom.getViewportWidth() / 2 - 32) + 'px');
	YAHOO.util.Dom.setStyle(close, 'cursor', 'pointer');
	close.src = '/img/close.png';
	document.body.appendChild(close);

	var legend = document.createElement('span');
	YAHOO.util.Dom.setStyle(legend, 'top', (YAHOO.util.Dom.getDocumentScrollTop() + YAHOO.util.Dom.getViewportHeight() - 102) + 'px');
	YAHOO.util.Dom.setStyle(legend, 'left', (YAHOO.util.Dom.getViewportWidth() / 2 - 300) + 'px');
	YAHOO.util.Dom.addClass(legend, 'photogallery-legend');
	if (!photos[photoId].legend) {
		YAHOO.util.Dom.addClass(legend, 'hidden');
	}
	legend.innerHTML = photos[photoId].legend;
	document.body.appendChild(legend);

	YAHOO.util.Event.addListener(
		close,
		'click',
		function() {
			var flashObjects = document.getElementsByTagName('object');
			for (var i = 0; i < flashObjects.length; i++) {
				YAHOO.util.Dom.setStyle(flashObjects[i], 'visibility', '');
			}
			document.body.removeChild(close);
			document.body.removeChild(left);
			document.body.removeChild(right);
			document.body.removeChild(image);
			document.body.removeChild(divShadow);
			document.body.removeChild(legend);
		}
	);
	
	YAHOO.util.Event.addListener(
		left,
		'click',
		function() {
			if (currentPhoto > 0) {
				currentPhoto--;
			}
			else {
				currentPhoto = photos.length-1;
			}

			image.src = '/user_upload/gallery/' + galleryID + '/big/' + photos[currentPhoto].name;

			if (!photos[currentPhoto].legend) {
				YAHOO.util.Dom.addClass(legend, 'hidden');
			}
			else {
				YAHOO.util.Dom.removeClass(legend, 'hidden');
				legend.innerHTML = photos[currentPhoto].legend;
			}

			imageWidth = photos[currentPhoto].width;
			imageHeight = photos[currentPhoto].height;
			var maxImageHeight = YAHOO.util.Dom.getViewportHeight() - 66;
			if (maxImageHeight < photos[currentPhoto].height) {
				imageHeight = maxImageHeight;
				imageWidth = Math.round(imageHeight / photos[currentPhoto].height * photos[currentPhoto].width);
			}
			YAHOO.util.Dom.setStyle(image, 'width', imageWidth + 'px');
			YAHOO.util.Dom.setStyle(image, 'height', imageHeight + 'px');
			YAHOO.util.Dom.setStyle(image, 'top', (YAHOO.util.Dom.getDocumentScrollTop() + (YAHOO.util.Dom.getViewportHeight()-66) / 2 - imageHeight/2) + 'px');
			YAHOO.util.Dom.setStyle(image, 'left', YAHOO.util.Dom.getViewportWidth() / 2 - imageWidth / 2 + 'px');
		}
	);

	YAHOO.util.Event.addListener(
		right,
		'click',
		function() {
			if (currentPhoto < photos.length-1) {
				currentPhoto++;
			}
			else {
				currentPhoto = 0;
			}

			image.src = '/user_upload/gallery/' + galleryID + '/big/' + photos[currentPhoto].name;

			if (!photos[currentPhoto].legend) {
				YAHOO.util.Dom.addClass(legend, 'hidden');
			}
			else {
				YAHOO.util.Dom.removeClass(legend, 'hidden');
				legend.innerHTML = photos[currentPhoto].legend;
			}

			imageWidth = photos[currentPhoto].width;
			imageHeight = photos[currentPhoto].height;
			var maxImageHeight = YAHOO.util.Dom.getViewportHeight() - 66;
			if (maxImageHeight < photos[currentPhoto].height) {
				imageHeight = maxImageHeight;
				imageWidth = Math.round(imageHeight / photos[currentPhoto].height * photos[currentPhoto].width);
			}
			YAHOO.util.Dom.setStyle(image, 'width', imageWidth + 'px');
			YAHOO.util.Dom.setStyle(image, 'height', imageHeight + 'px');
			YAHOO.util.Dom.setStyle(image, 'top', (YAHOO.util.Dom.getDocumentScrollTop() + (YAHOO.util.Dom.getViewportHeight()-66) / 2 - imageHeight/2) + 'px');
			YAHOO.util.Dom.setStyle(image, 'left', YAHOO.util.Dom.getViewportWidth() / 2 - imageWidth / 2 + 'px');
		}
	);
}

YAHOO.util.Event.onDOMReady(
	function() {
	  var images = [];
	  for (i = 1; i <= photos.length; i++) {
	    images.push(YAHOO.util.Dom.get('photo' + i));
		}
		for (var i = 0; i < images.length; i++) {
			YAHOO.util.Event.addListener(
				images[i],
				'click',
				function() {
					startPhotogallery(this.id);
				},
				this
			);
		}
	}
);

