// Controller Layer - panel contoller

var PanelController = new Class({
	initialize: function(full) {
		window.PanelController = this;
		this.registerInterest();
				
		this.viewState = 0;
		this.renderInFull = full;
		
		Panel.create_subtle_controls();
	},
	
	registerInterest: function() {
		Model.addEvent('loadStart', this.load_prepare.bind(this));
		Model.addEvent('loadFinish', this.load_finish.bind(this));
		Panel.addEvent('subtleControlsCreated', this.subtle_control_setup.bind(this))
	},
	
	subtle_control_setup: function() {
		Panel.actions.getChildren().each(function(hit, i){
			var type = hit.getProperty('class');
			hit.addEvent("mouseover", Panel["toggle_"+type].bindWithEvent(window.Panel));
			hit.addEvent("mouseout", Panel["toggle_"+type].bindWithEvent(Panel, !this.renderInFull));
		}.bind(this))
		util.clearCallback(Panel);
	},
	
	load_prepare: function() { 
		Panel.show_loader( (Model.loadedItem && (!Model.next_is_change)) ); 
	},
	load_finish: function() {
		Panel.render(Model.loadedItem, this.renderInFull);
		Panel.hide_loader();
	}
});

window.loadedAssetLength +=1;