/**
 * Wmfotoalbum
 *
 * Changelog
 * ---------
 *
 * Niels Nijens - Tue Mar 11 2008
 * -------------------------------
 * -
 *
 * @since Fri Jul 11 2008
 * @author Niels Nijens (niels@moonlight-media.nl)
 **/
var Wmfotoalbum = Class.create();
Wmfotoalbum.prototype = {
	
	/**
	 * initialize
	 *
	 * Initialize a new Wmfotoalbum
	 *
	 * @since initial
	 * @return void
	 **/
	initialize: function() {
		this.photos = new Array();
		this.currentPhoto = 0;
		this.previousPhoto = 0;
	},
	
	/**
	 * addPhoto
	 *
	 * 
	 *
	 * @since initial
	 * @param integer id
	 * @param string title
	 * @param string file
	 * @return void
	 **/
	addPhoto: function(id, title, file) {
		if (this.photos.length == 0) {
			Element.addClassName("image" + id, "stl_active");
		}
		this.photos.push({id: id, title: title, file: file});
	},
	
	/**
	 * getPhoto
	 *
	 * 
	 *
	 * @since initial
	 * @param integer id
	 * @return object
	 **/
	getPhoto: function(id) {
		for (var i = 0; i < this.photos.length; i++) {
			if (this.photos[i].id == id) {
				this.previousPhoto = this.currentPhoto;
				this.currentPhoto = i;
				return this.photos[i];
			}
		}
		return false;
	},
	
	/**
	 * selectPhoto
	 *
	 * 
	 *
	 * @since initial
	 * @param integer id
	 * @return void
	 **/
	selectPhoto: function(id) {
		var photo = this.getPhoto(id);
		if (photo) {
			Element.removeClassName("image" + this.photos[this.previousPhoto].id, "stl_active")
			Element.addClassName("image" + photo.id, "stl_active");
			$("fotoalbum_view").src = "/images/fotoalbum/" + photo.file;
			$("fotoalbum_title").innerHTML = photo.title;
		}
	},
	
	/**
	 * previousPhoto
	 *
	 * 
	 *
	 * @since initial
	 * @return void
	 **/
	previousPhoto: function() {
		var previousPhoto = this.currentPhoto - 1;
		if (previousPhoto < 0) {
			previousPhoto = (this.photos.length - 1);
		}
		this.selectPhoto(this.photos[previousPhoto].id);
	},
	
	/**
	 * nextPhoto
	 *
	 * 
	 *
	 * @since initial
	 * @return void
	 **/
	nextPhoto: function() {
		var nextPhoto = this.currentPhoto + 1;
		if (this.photos.length == nextPhoto) {
			nextPhoto = 0;
		}
		this.selectPhoto(this.photos[nextPhoto].id);
	}
}

var fotoalbum = new Wmfotoalbum();