var hhtShowPoiToolTip = new Class({
	init:function(){
		
			// build container div
		this.tooltip = new Element('div', { 'id':'hhtsp_tooltip'  });
		this.tooltip.setStyles({
			position: 'absolute',
			display: 'none'
		});

		this.tooltip.setHTML('tooltip');
		this.tooltip.injectTop(document.body);
		
		
			// add events to links
		var links = $ES('#restaurant-list-form span, #restaurant-list span, #restaurant-detail span');
		for (var i = 0 ; i < links.length; i++ ){
			var link = new Element(links[i]);
			var info = false;
			var val = '';
			link.removeProperty('alt');
			if ( link.getAttribute('title')  )      info = link.getAttribute('title');
			if ( link.getAttribute('hhtsp:tooltip') ) { info = link.getAttribute('hhtsp:tooltip'); info = unescape(info); } 

				// read subtag if dms_tooltip_content
			if ( info == "hhtsp_tooltip_content" ) {
				var content = $E( '.hhtsp_tooltip_content', link);
				info = content.innerHTML;

				// remove alt infos from all children of link
				var children = $ES('a, span, img', link);
				if ( children.length > 0 ){
					for (var k = 0; k < children.length; k++) {
						child = new Element(children[k]) ;
						child.removeProperty('alt');
						child.removeProperty('title');
					}
				}

			}
			if (info && info != 'no'){
				link.removeProperty('title');
				link.addEvent('mouseover' , this.hover.bindWithEvent(this, info) );
				link.addEvent('mouseout' ,  this.out.bindWithEvent(this) );
				link.addEvent('click' ,  this.click.bindWithEvent(this, link) );
			}
		}
	},

	hover:function(e, info){
		var event = new Event(e);
		event.stop();
		
		this.info = info;
		this.tooltip.setHTML(info);
		this.tooltip.setStyles({
			'display': 'block',
			'white-space'  : 'nowrap'
		});
		
		var window_width  = window.getWidth();
		var tooltip_width = this.tooltip.getSize().size.x;

		var top_offset  = 10;
		var left_offset = -10;
		
		var left =  event.client.x + left_offset;
		var top  =  window.getScrollTop() + event.client.y + top_offset;
		
		if ((left > window_width - tooltip_width) ) {
			left = (window_width - tooltip_width);
		}
		
		this.tooltip.setStyles({
			'left'   : left,
			'top'    : top
		});
		
	},

	out:function(e){
		this.target = false
		this.info = '';
		this.tooltip.setStyles({
			'display':'none'
		});
	},

	click:function(e, link){
		if ('#' == link.getProperty('href')) {
			var event = new Event(e);
			event.preventDefault();
		}
	}

});

window.addEvent('load', function()	{
	var hhtsp_ToolTip = new hhtShowPoiToolTip();
	hhtsp_ToolTip.init();
});
