// ūtf-8
var newDrop = new Class({
	options : { 'id' : '', host : '', call : $empty},
	initialize : function (options) {
		this.setOptions(options);
		this._build();
		this._fx();
		this.Links.addEvent('click',function(e) { e.stop() });
		this.Links.each(this._events,this);
		this.Holder.getElement('.red-absolute').setStyle('visibility','visible');
	},
	fx : null,
	_build : function () {
		this.Holder = $(this.options.id);
		this.Current = this.Holder.getElement('.red-current');
		this.List = this.Holder.getElement('.red-list');
		this.Links = this.List.getElements('a')
	},
	_events : function (victim) {
		victim.addEvent('click',this._event.bind(this));
	},
	_event : function (victim) {
		this._close();
		this.Current.set('text',victim.target.get('text'));
		this.options.call(victim.target,this.Holder.id);
	},
	_fx : function () {
		this.fx = new Fx.Slide(this.List,{ duration : 150 });
		this.fx.hide();
		this.Current.addEvent('click',this._toggle.bind(this));
		$(document.body).addEvent('click',this._close.bind(this));
	},
	_toggle : function() {
		this.fx.toggle();
	},
	_close : function () {
		this.fx.slideOut();
	}
});
newDrop.implement(new Options);
