var DescLayer = Class.create();

DescLayer.prototype = { 
  	initialize: function() {
		this.updatePos = this.update.bindAsEventListener(this);
  	  	this.hideLayer = this.hide.bindAsEventListener(this);
	},

	show: function(element, theTitle, theContent){
	  	Event.observe(element, 'mousemove', this.updatePos);
  		Event.observe(element, 'mouseout', this.hideLayer);

  		element.style.cursor = 'pointer';

  		$$('#popup-desc-layer .title')[0].innerHTML = theTitle;
  		$$('#popup-desc-layer .content')[0].innerHTML = theContent;
  		$('popup-desc-layer').show();				
	},
	
	update: function(e){
	  	var objHeight = $('popup-desc-layer').offsetHeight;
		var objWidth = $('popup-desc-layer').offsetWidth;

		var addX = (Win.windowScroll['width'] < Event.pointerX(e)+objWidth+35)? (-objWidth-15) : (+15);
		var addY = (Win.windowScroll['height'] < Event.pointerY(e)+objHeight+27)? (-objHeight-10) : (+10);
	
		var x = Event.pointerX(e) + addX;	
		var y = Event.pointerY(e) + addY;
	
		$('popup-desc-layer').style.left = x+"px";	
		$('popup-desc-layer').style.top = y+"px";
	},
	
	hide: function(){
	  	$('popup-desc-layer').hide();
	}

}

var Desc = new DescLayer;