// Build 20090624163704@JAMES-NB  Copyright(c) 2006-2008, Walkr.CN http://www.walkr.cn

var MessageTip=Class.create();MessageTip.prototype={initialize:function(name,options){this.name=name;this.showing=false;this.movable=false;this.options=Object.extend({movable:true,width:200,height:24},options||{});},getHTMLElement:function(){if(!this.htmlElement)
this._createUI();return this.htmlElement;},getTextElement:function(){if(!this.textElement)
this._createUI();return this.textElement;},_createUI:function(){var div=document.createElement('DIV');div.style.position='absolute';div.style.zIndex='999+';var html='';html+='<div class="messagebox">';html+='<span id="'+this.name+'_text" style="margin-left:5px;">x</span>';html+='</div>';div.innerHTML=html;document.body.appendChild(div);this.htmlElement=div;this.textElement=$(this.name+'_text');},show:function(msg,options){if(this.showing)
this.hide();if(this.timer)
clearTimeout(this.timer);var el=this.getHTMLElement();var txtEL=this.getTextElement();if(Element.getStyle(el,"position")!="absolute"){Element.setStyle(el,{position:'absolute'});}
if(el.parentNode!=null){el.parentNode.removeChild(el);}
document.body.appendChild(el);var ops=Object.extend({},Object.extend(this.options,options||{}));el.style.width=ops.width+"px";el.style.height=ops.height+"px";if(ops.left)
el.style.left=ops.left+"px";if(ops.left)
el.style.top=ops.top+"px";if(ops.center){this._centerPos();}else if(ops.movable){this._addEventHandlers();this.movable=true;}
if(ops.time)
this.timer=setTimeout(this.hide.bind(this),ops.time);txtEL.innerHTML=msg;if(!this.movable)
el.style.display="block";this.showing=true;},hide:function(){this.showing=false;if(this.movable&&this._mouseMoveHandlerDelegate!=null){this._removeEventHandlers();this.movable=false;}
this.getTextElement().innerHTML='';this.getHTMLElement().style.display='none';},_addEventHandlers:function(){this._mouseMoveHandlerDelegate=this._mouseMoveHandler.bindAsEventListener(this);Event.observe(document.body,"mousemove",this._mouseMoveHandlerDelegate,false);},_removeEventHandlers:function(){Event.stopObserving(document.body,"mousemove",this._mouseMoveHandlerDelegate,false);this._mouseMoveHandlerDelegate=null;},_mouseMoveHandler:function(e){this._updatePos(e);},_updatePos:function(e){var el=this.getHTMLElement();var distX=e.clientX+10;var distY=e.clientY+10;var w=parseInt(el.style.width);var h=parseInt(el.style.height);var ws=Position.getViewportSize();if(distX+w>ws.w)
distX=distX-w-20;if(distY+h>ws.h)
distY=distY-h-20;distX+=Position.docScrollLeft();distY+=Position.docScrollTop();el.style.left=distX+"px"
el.style.top=distY+"px";if(this.showing&&Element.getStyle(el,"display")!="block"){el.style.display="block";}},_centerPos:function(){var el=this.getHTMLElement();var w=parseInt(el.style.width);var h=parseInt(el.style.height);var ws=Position.getViewportSize();var x=Math.round((ws.w-w)/2)+Position.docScrollLeft();var y=Math.round((ws.h-h)/2)+Position.docScrollTop();el.style.left=x+"px";el.style.top=y+"px";}};window.messageTip=new MessageTip('messageTip');window.toolTip=new MessageTip('toolTip');