var Tooltips={templates:{productList:new Template('<div class="tooltip"><img src="/Images_beta2/loading.gif" alt="chargement ..." class="chargement"/></div>')}};var Tooltip=Class.create();Tooltip.prototype={initialize:function(C,B,A){this.options=Object.extend({default_css:false,margin:"0px",padding:"5px",backgroundColor:"#d6d6fc",min_distance_x:5,min_distance_y:5,delta_x:0,template:null,delta_y:0,zindex:1000,url:A},arguments[3]||{});this.element=$(C);this.tool_tip;if(A){this.isAjaxTooltip=true;this.isAjaxLoaded=false;}if(this.options.template){this.tool_tip=new Element("div").update(this.options.template.evaluate({})).down(0);$(document.body).insert(this.tool_tip);}else{if($(B)){this.tool_tip=$(B);}else{this.tool_tip=$(document.createElement("div"));document.body.appendChild(this.tool_tip);this.tool_tip.addClassName("tooltip");this.tool_tip.appendChild(document.createTextNode(B));}}this.tool_tip.hide();this.eventMouseOver=this.showTooltip.bindAsEventListener(this);this.eventMouseOut=this.hideTooltip.bindAsEventListener(this);this.eventMouseMove=this.moveTooltip.bindAsEventListener(this);this.registerEvents();},destroy:function(){Event.stopObserving(this.element,"mouseover",this.eventMouseOver);Event.stopObserving(this.element,"mouseout",this.eventMouseOut);Event.stopObserving(this.element,"mousemove",this.eventMouseMove);},registerEvents:function(){Event.observe(this.element,"mouseover",this.eventMouseOver);Event.observe(this.element,"mouseout",this.eventMouseOut);Event.observe(this.element,"mousemove",this.eventMouseMove);},moveTooltip:function(E){Event.stop(E);var B=Event.pointerX(E);var A=Event.pointerY(E);var D=Element.getDimensions(this.tool_tip);var C=D.width;var F=D.height;if((C+B)>=(this.getWindowWidth()-this.options.min_distance_x)){B=B-C;B=B-this.options.min_distance_x;}else{B=B+this.options.min_distance_x;}if((F+A)>=(this.getWindowHeight()-this.options.min_distance_y)){A=A-F;A=A-this.options.min_distance_y;}else{A=A+this.options.min_distance_y;}this.setStyles(B,A);},showTooltip:function(A){Event.stop(A);if(this.isAjaxTooltip&&!this.isAjaxLoaded){new Ajax.Request(this.options.url,{method:"get",onSuccess:function(B){this.tool_tip.update(B.responseText);}.bind(this)});}this.moveTooltip(A);new Element.show(this.tool_tip);},setStyles:function(A,B){Element.setStyle(this.tool_tip,{position:"absolute",top:B+this.options.delta_y+"px",left:A+this.options.delta_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(A){new Element.hide(this.tool_tip);},getWindowHeight:function(){var A;if(navigator.appVersion.indexOf("MSIE")>0){A=document.body.clientHeight;}else{A=window.innerHeight;}return A;},getWindowWidth:function(){var A;if(navigator.appVersion.indexOf("MSIE")>0){A=document.body.clientWidth;}else{A=window.innerWidth;}return A;}};