var Picture = new Class({
	
	path: null,
	
	Implements: [Options, Events],
	options:{
		filename:null,
		width:null,
		height:null,
		parent:null,
		reduce:null
	},
	
	initialize:function(options) {
		this.setOptions(options);
		//debug('Picture:initialize');
		
		this.initContainer();
	},
	
	initContainer:function() {
		this.ratio = this.options.width / this.options.height;
				
		this.target = new Asset.images(this.path+this.options.filename, {
			onComplete: function() {
				this.loadComplete();
			}.bind(this)
		});
	},
	
	loadComplete:function() {		

	},
	
	initFx:function() {
		this.fx = null;
	},
	
	open:function() {
		this.fx.addEvent('complete', this.bound_open_complete);
		this.fx.start(this.fx_dest);
	},
	
	openComplete:function() {
		this.fireEvent('openComplete');
		this.is_open = true;
	},
	
	close:function() {
		this.fx.addEvent('complete', this.bound_close_complete);
		this.fx.start(this.fx_src);
	},
	
	closeComplete:function() {
		this.fireEvent('closeComplete');
		this.is_open = false;
	},
	
	init:function() {
		if(this.fx) {
			this.fx.addEvent('complete', this.bound_init_complete);
			this.fx.start(this.fx_init);
		}
	},
	
	initComplete:function() {
		this.fireEvent('initComplete');
		this.is_open = false;
	}
		
});
