	var optionShow = new Class({
		Implements: [Options, Events],
		options: {
			links: $empty
		},
		initialize: function(elements, userId, options){
			this.setOptions(options);
			this.userId = userId;
			$$(elements).each(function(el) {
				var getTr = el.getParent('tr');
				getTr.setStyle('cursor', 'pointer');
				getTr.addClass('trhover');
				var tag = el.get('tag');
				var coordinates= el.getParent().getCoordinates();
				var link = el.get('href');
				var id = link.match(/\w+\/\w+:(\d+)/);
				var uName = el.get('text');
				getTr.addEvent('click', function(e) {
					if(e.target.get('tag') == 'td' || e.target.hasClass('username')) {
						e.preventDefault();
						this.show(link, el, id, coordinates, uName);
					}
				}.bind(this));
			}, this);
		},
		close: function() {
			$$('.hightip').dispose();
		},
		buildWrap: function(el, coordinates) {
			var top = new Element('div', {
				'class' : 'tiptop'
			});
			var bottom = new Element('div', {
				'class' : 'tipbottom'
			});
			var close = new Element('div', {
				'class' : 'tipclose',
				events: {
					'click': this.close.bind(this)
				}
			});
			var wrapper = new Element('div', {
				'class' : 'hightip zabsolute',
				html: '<img src="http://static.pennergame.de/img/pv4/tips/bg_arrow-hightip.png" alt=" " class="zabsolute" />',
				styles: {
					'top': coordinates.top-370+'px',
					'left': coordinates.left-300+'px'
				}
			}).injectAfter(el);
			bottom.injectInside(wrapper);
			top.injectInside(wrapper);
			close.injectInside(wrapper);
		},
		buildLink: function(key, val, id, getWrap, uName) {
			var realval;
			if(val[0] == 'id') {
				realval = id[1]+'/'; 
			} else if(val[0] == 'script') {
				realval = id[1];
			} else {
				realval = uName; 
			}
			var newA = new Element('a', {
				href: (val[0] == 'script') ? val[1] : val[1]+realval,
				'class': 'sO'+key,
				text: val[2]
			}).injectInside(getWrap);
			if(val[0] == 'script') {
				newA.addEvent('click', function() {
					ProvokeForm(this.userId, realval,'popup');
					this.close();
				}.bind(this));
			}
		},
		show: function(link, el, id, coordinates, uName) {
			this.close();
			var wrap = this.buildWrap(el, coordinates);
			var getWrap = el.getNext();
			this.options.links.each(function(val, key) {
				this.buildLink(key, val, id, getWrap, uName);
			}, this);
		}
	});