var WorkPhotos = {
	Init : function(photos, prefix, columns, rows) {
		if (prefix && prefix != '') this.Values.Prefix = prefix;
		if (columns && columns != '') this.Values.Columns = columns;
		if (rows && rows != '') this.Values.Rows = rows;

		this.TotalPhotos = photos;
		this.TotalPages = Math.ceil((this.TotalPhotos/this.Values.Columns)/this.Values.Rows);

		if (this.TotalPages > 0) {
			this.Page = 1;
			if (this.TotalPages > 1) {
				$('#'+ this.Values.Prefix +'_piece_photos_nav_left a').bind('click', function() {WorkPhotos.PrevPage(); return false;});
				$('#'+ this.Values.Prefix +'_piece_photos_nav_right > a').removeClass().bind('click', function() {WorkPhotos.NextPage(); return false;});
				$('#'+ this.Values.Prefix +'_piece_photos_nav_left').show();
				$('#'+ this.Values.Prefix +'_piece_photos_nav_right').show();
				this.SetPageNav();
			}

			for (i=1; i<=this.Values.Rows; i++) if ($('#row_'+i)) $('#row_'+i).show();
			$('#'+ this.Values.Prefix +'_photos_loading').hide();
			$('.'+ this.Values.Prefix +'_photo_photo a[@rel*=lb]').lightBox();
		} else {
			$('#'+ this.Values.Prefix +'_photos_loading').text('No photos available.');
		}
	},
	NextPage : function() {if (this.TotalPages > this.Page) this.FlipPage(1);},
	PrevPage : function() {if (this.Page > 1) this.FlipPage(-1);},
	FlipPage: function(adjust) {
		for (i=0; i<this.Values.Rows; i++) $('#row_'+(this.Page+i)).hide();
		this.Page += adjust;
		for (i=0; i<this.Values.Rows; i++) $('#row_'+(this.Page+i)).show();
		
		this.UpdateArrows();
		if (this.TotalPages > 1) this.SetPageNav();
	},
	SetPageNav : function() {
		var s = this.Values.Columns*this.Values.Rows;
		$('#'+ this.Values.Prefix +'_piece_photos_nav_middle').text('Slide'+ ((s > 1) ? 's' : '') +' '+ (((this.Page-1)*this.Values.Columns*this.Values.Rows)+1) + ((s > 1) ? '–'+ ((this.Page == this.TotalPages) ? this.TotalPhotos : (this.Page*this.Values.Columns*this.Values.Rows)) : '') +' of '+ this.TotalPhotos);
	},
	UpdateArrows : function() {
		if (this.Page == this.TotalPages) {
			$('#'+ this.Values.Prefix +'_piece_photos_nav_right a').addClass('inactive');
		} else if ($('#'+ this.Values.Prefix +'_piece_photos_nav_right a').hasClass('inactive')) {
			$('#'+ this.Values.Prefix +'_piece_photos_nav_right a').removeClass();
		}
		if (this.Page == 1) {
			$('#'+ this.Values.Prefix +'_piece_photos_nav_left a').addClass('inactive');
		} else if ($('#'+ this.Values.Prefix +'_piece_photos_nav_left a').hasClass('inactive')) {
			$('#'+ this.Values.Prefix +'_piece_photos_nav_left a').removeClass();
		}
	},
	Values : {Prefix: 'work', Columns: 3, Rows: 1, Page: 0, TotalPhotos: 0, TotalPages: 0}
};
