PhotoBrowserController = function() {
	this.init();
}
PhotoBrowserController.prototype.init = function() {
	this.id_prefix = "photo_browser";
	
	this.paginator = new Paginator("photo_browser_controller", 9);
	this.paginator.button_image_prefix = "photo_browser_controller";
	
	this._collection = [];
	this.current_key = 0;
	this.thumbnail_view = true;
}
	PhotoBrowserController.prototype.register_num_items = function(num_items,per_page) {
		this.paginator = new Paginator("photo_browser_controller", per_page);
		this.paginator.button_image_prefix = "photo_browser_controller";
		this.paginator.register_list_items(num_items);
	}
	PhotoBrowserController.prototype.load_photo_by_id = function(id) {
		photo_browser.load_photo_by_id(id);
	}
	PhotoBrowserController.prototype.register_new_active_image = function(imageid) {
		// Highlight the active image
		if($('photo_browser_controller_list_wrapper')) {
			$A($('photo_browser_controller_list_wrapper').getElementsByTagName("li")).each(function(elem) {
				if(elem && elem.id) Element.removeClassName(elem.id,"active");
			});
			Element.addClassName("photo_browser_controller_photo_"+imageid,"active");
			// And scroll to it's page unless we're already there
			this.paginator.go_to_page(this.locate_image_in_list_by_id(imageid));
		}
	}
	PhotoBrowserController.prototype.locate_image_in_list_by_id = function(id) {
		var found_on_page = 0;
		$A($('photo_browser_controller_list_wrapper').getElementsByTagName("ul")).each(function(list) {
			if(list && list.id) {
				$A(list.getElementsByTagName("li")).each(function(listitem) {
					if(listitem && listitem.id && listitem.id == "photo_browser_controller_photo_"+id) found_on_page = list.id.replace("photo_browser_controller_list_","");
				});
			}
		});
		return (found_on_page == 0)? false : parseInt(found_on_page);
	}
	
	PhotoBrowserController.prototype.toggle_list_view = function() {
		//Element.addClassName('photo_browser_controller_list',((this.thumbnail_view)? "listview" : "thumbnails"));
		//Element.removeClassName('photo_browser_controller_list',((this.thumbnail_view)? "thumbnails" : "listview"));
		//$('photo_browser_controller_view_toggler').innerHTML = (this.thumbnail_view)? "View current selection as thumbnails" : "View current selection as a list";
		//this.thumbnail_view = (this.thumbnail_view)? false : true;
	}
	
	PhotoBrowserController.prototype.previous_page = function() {
		this.paginator.previous_page();
	}
	PhotoBrowserController.prototype.next_page = function() {
		this.paginator.next_page();
	}
	PhotoBrowserController.prototype.go_to_page = function(pagenum) {
		this.paginator.go_to_page(pagenum);
	}

var photo_browser_controller;
photo_browser_controller = false;
photo_browser_controller = new PhotoBrowserController();