var posLib={
getIeBox:function(el){
return this.ie&&el.document.compatMode!="CSS1Compat";
},
getClientLeft:function(el){
var r=el.getBoundingClientRect();
return r.left-this.getBorderLeftWidth(this.getCanvasElement(el));
},
getClientTop:function(el){
var r=el.getBoundingClientRect();
return r.top-this.getBorderTopWidth(this.getCanvasElement(el));
},
getLeft:function(el){
return this.getClientLeft(el)+this.getCanvasElement(el).scrollLeft;
},
getTop:function(el){
return this.getClientTop(el)+this.getCanvasElement(el).scrollTop;
},
getInnerLeft:function(el){
return this.getLeft(el)+this.getBorderLeftWidth(el);
},
getInnerTop:function(el){
return this.getTop(el)+this.getBorderTopWidth(el);
},
getWidth:function(el){
return el.offsetWidth;
},
getHeight:function(el){
return el.offsetHeight;
},
getCanvasElement:function(el){
var doc=el.ownerDocument||el.document;
if(doc.compatMode=="CSS1Compat")
return doc.documentElement;
else
return doc.body;
},
getBorderLeftWidth:function(el){
return el.clientLeft;
},
getBorderTopWidth:function(el){
return el.clientTop;
},
getScreenLeft:function(el){
var doc=el.ownerDocument||el.document;
var w=doc.parentWindow;
return w.screenLeft+this.getBorderLeftWidth(this.getCanvasElement(el))+
this.getClientLeft(el);
},
getScreenTop:function(el){
var doc=el.ownerDocument||el.document;
var w=doc.parentWindow;
return w.screenTop+this.getBorderTopWidth(this.getCanvasElement(el))+
this.getClientTop(el);
}
};
posLib.ua=navigator.userAgent;
posLib.opera=/opera [56789]|opera\/[56789]/i.test(posLib.ua);
posLib.ie=(!posLib.opera)&&/MSIE/.test(posLib.ua);
posLib.ie6=posLib.ie&&/MSIE[6789]/.test(posLib.ua);
posLib.moz=!posLib.opera&&/gecko/i.test(posLib.ua);