var Outil = new Class({
	
	Implements: [Options, Events],
	options:{
		target:null,
		id:null,
		parent:null
	},
	
	initialize:function(options) {
		this.setOptions(options);
		debug('Outils:initialize id = '+this.options.id);
		this.setRequest();
		
		this.options.target.addEvent('click', this.targetClick.bind(this));
	},
	
	targetClick:function() {
		this.doRequest();
	},
	
	setRequest:function() {
		this.request = new Request.HTML({
			evalScripts: true,
			url: './cmn/request.php',
			update: this.options.parent.container
		});
		this.request.addEvent('success', this.requestComplete.bind(this));
	},
	
	doRequest:function() {
		debug('Outil:doRequest');
		this.fireEvent('request:start');
		this.request.post("action=outil&id="+this.options.id+"&lang="+LANG);
	},
	
	requestComplete:function() {
		debug('Outil:requestComplete');
		this.fireEvent('request:complete');
		$$('.outil .close')[0].addEvent('click', function(e) {
			e.stop();
			this.options.parent.close();
		}.bind(this));
	}
	
});
