var SlideShow = new Object();

SlideShow.active   		 	 = 0;
SlideShow.first 		 	 = -1;
SlideShow.last			 	 = -1;
SlideShow.photoIds		 	 = null;
SlideShow.photos   		 	 = null;
SlideShow.formId    	 	 = null;
SlideShow.form      	 	 = null;
SlideShow.mainImage 	  	 = null;
SlideShow.mainUrl			 = null;
SlideShow.mainTitle 	  	 = null;
SlideShow.mainDescription 	 = null;
SlideShow.mainPreviousButton = null;
SlideShow.mainNextButton 	 = null;

SlideShow.init = function(formId)
{
	SlideShow.formId = formId;
	SlideShow.form   = document.getElementById(formId);
	
	SlideShow.mainImage 		 = document.getElementById(SlideShow.form.mainImage.value);
	SlideShow.mainUrl 			 = SlideShow.mainImage.parentNode;
	SlideShow.mainTitle			 = document.getElementById(SlideShow.form.mainTitle.value);
	SlideShow.mainDescription	 = document.getElementById(SlideShow.form.mainDescription.value);
	SlideShow.mainPreviousButton = document.getElementById(SlideShow.form.mainPreviousButton.value);
	SlideShow.mainNextButton 	 = document.getElementById(SlideShow.form.mainNextButton.value);
		
	var photoIds  			= SlideShow.form.photoIds.value.split(",");
	var photoThumbUrls  	= SlideShow.form.thumbUrls.value.split("~,~");
	var photoSmallUrls  	= SlideShow.form.smallUrls.value.split("~,~");
	var photoOriginalUrls  	= SlideShow.form.originalUrls.value.split("~,~");
	var photoTitles  		= SlideShow.form.photoTitles.value.split("~,~");
	var photoDescriptions	= SlideShow.form.photoDescriptions.value.split("~,~");

	SlideShow.photoIds 	= photoIds;
		
	for(var i = 0; i < photoIds.length; i++)			
		SlideShow.addPhoto(i, photoIds[i], photoThumbUrls[i], photoSmallUrls[i], photoOriginalUrls[i], photoTitles[i], photoDescriptions[i]);
}

SlideShow.addPhoto = function(id, photoId, thumbUrl, smallUrl, originalUrl, title, description)
{
	if(SlideShow.photos == null)
		SlideShow.photos = new Array();
	
	SlideShow.photos[id] 			 = new Object();
	SlideShow.photos[id].id 		 = id;
	SlideShow.photos[id].photoId	 = photoId;
	SlideShow.photos[id].thumbUrl 	 = thumbUrl;
	SlideShow.photos[id].smallUrl 	 = smallUrl;	
	SlideShow.photos[id].originalUrl = originalUrl;	
	SlideShow.photos[id].title 		 = title;	
	SlideShow.photos[id].description = description;	
}

SlideShow.getPhoto = function(photoId)
{
	for(var i = 0; i < SlideShow.photos.length; i++)
		if(SlideShow.photos[i].photoId == photoId)
			return SlideShow.photos[i];
}

SlideShow.setPhoto = function(photo)
{
	SlideShow.updateButtons();
	
	if(SlideShow.mainImage != null)
		SlideShow.mainImage.src = photo.smallUrl;
	if(SlideShow.mainUrl != null)
		SlideShow.mainUrl.href  = photo.originalUrl;
	if(SlideShow.mainTitle != null) 
		SlideShow.mainTitle.innerHTML = photo.title;
	if(SlideShow.mainDescription != null)
		SlideShow.mainDescription.innerHTML = photo.description;
}

SlideShow.loadPhoto = function(photoId)
{
	var photo = SlideShow.getPhoto(photoId);
	SlideShow.active = photo.id;
	SlideShow.setPhoto(photo);
}

SlideShow.next = function()
{
	if(SlideShow.active != SlideShow.photos.length-1)
	{
		SlideShow.active++;
		SlideShow.setPhoto(SlideShow.photos[SlideShow.active]);
	}
}

SlideShow.previous = function()
{
	if(SlideShow.active != 0)
	{
		SlideShow.active--;
		SlideShow.setPhoto(SlideShow.photos[SlideShow.active]);
	}
}

SlideShow.updateButtons = function()
{
	if(SlideShow.photoIds.length > 1)
	{
		if(SlideShow.mainPreviousButton != null)
		{
			if(SlideShow.active == 0)
				hide(SlideShow.mainPreviousButton.id);
			else
				show(SlideShow.mainPreviousButton.id);
		}
		if(SlideShow.mainNextButton != null)
		{
			if(SlideShow.active == SlideShow.photoIds.length - 1)
				hide(SlideShow.mainNextButton.id);
			else
				show(SlideShow.mainNextButton.id);
		}
	}
}


