var GlossarMenu = Class.create();
Object.extend(
	GlossarMenu.prototype, {
		initialize: function(obj) {
			this._menuItems = Array();
			listItems = $(obj).getElementsBySelector('a');
			for (var c=0; c<listItems.length; c++) {
				this._menuItems.push(listItems[c]);
				Event.observe( listItems[c], 'click', this.mouseClicked.bindAsEventListener(this) );
			}
		},
	
		mouseClicked: function(mE) {
			
			this._menuItems.each(
				function(item) {
					
					divId = 'letter'+$(item).id;
					
					if ($(divId).visible()) {
						//Effect.SlideUp(divId, {queue: 'end', duration: 0.1 });
  					$(divId).hide();
					}
				}
			);
			
			obj = $('letter'+Event.element(mE).id);

			if (!obj.visible()) {
				
				//Effect.SlideDown('letter'+Event.element(mE).id, {queue: 'end', duration: 0.1});
				
				entries = $(obj).getElementsByClassName('entry');

				for (var c=0; c<entries.length; c++) {
					entries[c].up().getElementsByClassName('teaser')[0].hide();
				}
				
				obj.show();				
			}
		}
	}
);

var Letter = Class.create();
Object.extend(
	Letter.prototype, {
		initialize: function(obj) {
			this._obj = obj;
			this._entries = Array();
			entries = $(obj).getElementsByClassName('entry');
			for (var c=0; c<entries.length; c++) {
				this._entries.push(entries[c]);
				Event.observe( entries[c], 'click', this.mouseClicked.bindAsEventListener(this) );
			}
		},
	
		mouseClicked: function(mE) {
			
			this._entries.each(
				function(item) {
					obj = item.up().getElementsByClassName('teaser')[0];
					if (obj) {
						obj.hide();
//						Effect.SlideUp(obj, {queue: 'end', duration: 0.1});
					}
				}
			);
			obj = Event.element(mE).up().getElementsByClassName('teaser')[0];
			obj.show();
//			Effect.SlideDown(obj, {queue: 'end', duration: 0.1});
		}
	}
);






function initGlossar() {
	new GlossarMenu($$('.alphabet')[0]);
	$$('.letter').each( function(item) {
		new Letter(item);
	});
	
}
