/*--------------------------------------------------------------------------*
 *-- GZipped/Cached by ScripZip (c)2006-2007( http://www.php-vision.de/ ) --*
 *--------------------------------------------------------------------------*
 *   Orginal Script Filesize: 5632    Bytes             
 *   GZipped Script Filesize: 816    Bytes             
 *   GZip Compression Level : 9 GZip Compression Rate : 14.49% of Org. File *
 *   Last Time File Changed : Tue, 07 Sep 2010 12:41:09 GMT                 *
 *   Last Browser Load File : Tue, 07 Sep 2010 12:42:22 GMT                 *
 *   Cached File Expires on : Tue, 14 Sep 2010 12:42:22 GMT                 *
 *--------------------------------------------------------------------------*
 *-- Download ScripZip and speed up your Page on http://www.php-vision.de/  *
 *--------------------------------------------------------------------------*/






var Tooltip = Class.create();Tooltip.prototype = {
 initialize: function(element, tool_tip) {
 var options = Object.extend({
 default_css: false,
 margin: "0px",
  padding: "5px",
  backgroundColor: "#d6d6fc",
  delta_x: 5,
  delta_y: 5,
 zindex: 1000
 }, arguments[1] || {});
 this.element = $(element); this.tool_tip = $(tool_tip);
 this.options = options;
 this.tool_tip.hide();
 this.eventMouseOver = this.showTooltip.bindAsEventListener(this); this.eventMouseOut = this.hideTooltip.bindAsEventListener(this);
 this.registerEvents(); },

 destroy: function() {
 Event.stopObserving(this.element, "mouseover", this.eventMouseOver); Event.stopObserving(this.element, "mouseout", this.eventMouseOut); },

 registerEvents: function() {
 Event.observe(this.element, "mouseover", this.eventMouseOver); Event.observe(this.element, "mouseout", this.eventMouseOut); },

 showTooltip: function(event){
 Event.stop(event);  var mouse_x = Event.pointerX(event); var mouse_y = Event.pointerY(event); 
 
 var dimensions = Element.getDimensions( this.tool_tip ); var element_width = dimensions.width; var element_height = dimensions.height; 
 if ( (element_width + mouse_x) >= ( this.getWindowWidth() - this.options.delta_x) ){  mouse_x = mouse_x - element_width; mouse_x = mouse_x - this.options.delta_x; } else {
 mouse_x = mouse_x + this.options.delta_x; }
 
 if ( (element_height + mouse_y) >= ( this.getWindowHeight() - this.options.delta_y) ){  mouse_y = mouse_y - element_height;   mouse_y = mouse_y - this.options.delta_y; } else {
 mouse_y = mouse_y + this.options.delta_y; } 
 
 this.setStyles(mouse_x, mouse_y); 
 
 new Element.show(this.tool_tip);
 },
 
 setStyles: function(x, y){
  Element.setStyle(this.tool_tip, { position:'absolute',
    top:y + "px",
    left:x + "px",
  zindex:this.options.zindex
   }); 
 if (this.options.default_css){
   Element.setStyle(this.tool_tip, { margin:this.options.margin,
    padding:this.options.padding,
  backgroundColor:this.options.backgroundColor,
  zindex:this.options.zindex
   }); } 
 },

 hideTooltip: function(event){
 new Element.hide(this.tool_tip); },

 getWindowHeight: function(){
 var innerHeight; if (navigator.appVersion.indexOf('MSIE')>0) {
 innerHeight = document.body.clientHeight; } else {
 innerHeight = window.innerHeight; }
 return innerHeight; },
 
 getWindowWidth: function(){
 var innerWidth; if (navigator.appVersion.indexOf('MSIE')>0) {
 innerWidth = document.body.clientWidth; } else {
 innerWidth = window.innerWidth; }
 return innerWidth; }

}