function Slider(a_id, ul_id) {
	this.a_id = a_id;
	this.ul_id = ul_id;
	this.slider = null;

	this.addListener = function(obj, ev, func) {
		var ok = false;
		var wrapper_func = function() {
			return func.apply(obj, arguments);
		};
		if (!ok && obj.addEventListener) {
			try {
				obj.addEventListener(ev, wrapper_func, true);
				ok = true;
			}
			catch (ex) { ok = false; }
		}
		if (!ok && obj.attachEvent) {
			try {
				obj.attachEvent("on" + ev, wrapper_func);
				ok = true;
			}
			catch (ex) { ok = false; }
		}
		if (!ok) {
			try {
				var _old_func = obj["on" + ev] || null;
				obj["on" + ev] = function(evt) {
					if (wrapper_func) wrapper_func(evt);
					if (_old_func) _old_func(evt);
				}
				ok = true;
			}
			catch (ex) { ok = false; }
		}
		return ok ? true : false;
	};

	this.init = function() {
		var activator = self.document.getElementById(this.a_id) || null;
		if (!activator) {
			return;
		}
		activator.slider = new Fx.Slide(this.ul_id);
		activator.slider.hide();
		this.addListener(activator, 'click', function(ev) {
			ev = new Event(ev);
			this.slider.toggle();
			ev.stop();
		});
	};

	var _t = this;
	this.addListener(self, 'load', function() {
		_t.init();
	});
}
