jQuery.fn._height=jQuery.fn.height;
jQuery.fn._width=jQuery.fn.width;
jQuery.fn.height=function(){
if(this[0]==window){
return self.innerHeight||jQuery.boxModel&&document.documentElement.clientHeight||document.body.clientHeight;
}
if(this[0]==document){
return Math.max(document.body.scrollHeight,document.body.offsetHeight);
}
return this._height(arguments[0]);
};
jQuery.fn.width=function(){
if(this[0]==window){
return self.innerWidth||jQuery.boxModel&&document.documentElement.clientWidth||document.body.clientWidth;
}
if(this[0]==document){
return Math.max(document.body.scrollWidth,document.body.offsetWidth);
}
return this._width(arguments[0]);
};
jQuery.fn.innerHeight=function(){
return this[0]==window||this[0]==document?this.height():this.css("display")!="none"?this[0].offsetHeight-(parseInt(this.css("borderTopWidth"))||0)-(parseInt(this.css("borderBottomWidth"))||0):this.height()+(parseInt(this.css("paddingTop"))||0)+(parseInt(this.css("paddingBottom"))||0);
};
jQuery.fn.innerWidth=function(){
return this[0]==window||this[0]==document?this.width():this.css("display")!="none"?this[0].offsetWidth-(parseInt(this.css("borderLeftWidth"))||0)-(parseInt(this.css("borderRightWidth"))||0):this.height()+(parseInt(this.css("paddingLeft"))||0)+(parseInt(this.css("paddingRight"))||0);
};
jQuery.fn.outerHeight=function(){
return this[0]==window||this[0]==document?this.height():this.css("display")!="none"?this[0].offsetHeight:this.height()+(parseInt(this.css("borderTopWidth"))||0)+(parseInt(this.css("borderBottomWidth"))||0)+(parseInt(this.css("paddingTop"))||0)+(parseInt(this.css("paddingBottom"))||0);
};
jQuery.fn.outerWidth=function(){
return this[0]==window||this[0]==document?this.width():this.css("display")!="none"?this[0].offsetWidth:this.height()+(parseInt(this.css("borderLeftWidth"))||0)+(parseInt(this.css("borderRightWidth"))||0)+(parseInt(this.css("paddingLeft"))||0)+(parseInt(this.css("paddingRight"))||0);
};
jQuery.fn.scrollLeft=function(){
if(this[0]==window||this[0]==document){
return self.pageXOffset||jQuery.boxModel&&document.documentElement.scrollLeft||document.body.scrollLeft;
}
return this[0].scrollLeft;
};
jQuery.fn.scrollTop=function(){
if(this[0]==window||this[0]==document){
return self.pageYOffset||jQuery.boxModel&&document.documentElement.scrollTop||document.body.scrollTop;
}
return this[0].scrollTop;
};
jQuery.fn.offset=function(_1,_2){
var x=0,y=0,elem=this[0],parent=this[0],op,sl=0,st=0,_1=jQuery.extend({margin:true,border:true,padding:false,scroll:true},_1||{});
do{
x+=parent.offsetLeft||0;
y+=parent.offsetTop||0;
if(jQuery.browser.mozilla||jQuery.browser.msie){
var bt=parseInt(jQuery.css(parent,"borderTopWidth"))||0;
var bl=parseInt(jQuery.css(parent,"borderLeftWidth"))||0;
x+=bl;
y+=bt;
if(jQuery.browser.mozilla&&parent!=elem&&jQuery.css(parent,"overflow")!="visible"){
x+=bl;
y+=bt;
}
}
if(_1.scroll){
op=parent.offsetParent;
do{
sl+=parent.scrollLeft||0;
st+=parent.scrollTop||0;
parent=parent.parentNode;
if(jQuery.browser.mozilla&&parent!=elem&&parent!=op&&jQuery.css(parent,"overflow")!="visible"){
y+=parseInt(jQuery.css(parent,"borderTopWidth"))||0;
x+=parseInt(jQuery.css(parent,"borderLeftWidth"))||0;
}
}while(parent!=op);
}else{
parent=parent.offsetParent;
}
if(parent&&(parent.tagName.toLowerCase()=="body"||parent.tagName.toLowerCase()=="html")){
if((jQuery.browser.safari||(jQuery.browser.msie&&jQuery.boxModel))&&jQuery.css(parent,"position")!="absolute"){
x+=parseInt(jQuery.css(op,"marginLeft"))||0;
y+=parseInt(jQuery.css(op,"marginTop"))||0;
}
break;
}
}while(parent);
if(!_1.margin){
x-=parseInt(jQuery.css(elem,"marginLeft"))||0;
y-=parseInt(jQuery.css(elem,"marginTop"))||0;
}
if(_1.border&&(jQuery.browser.safari||jQuery.browser.opera)){
x+=parseInt(jQuery.css(elem,"borderLeftWidth"))||0;
y+=parseInt(jQuery.css(elem,"borderTopWidth"))||0;
}else{
if(!_1.border&&!(jQuery.browser.safari||jQuery.browser.opera)){
x-=parseInt(jQuery.css(elem,"borderLeftWidth"))||0;
y-=parseInt(jQuery.css(elem,"borderTopWidth"))||0;
}
}
if(_1.padding){
x+=parseInt(jQuery.css(elem,"paddingLeft"))||0;
y+=parseInt(jQuery.css(elem,"paddingTop"))||0;
}
if(_1.scroll&&jQuery.browser.opera&&jQuery.css(elem,"display")=="inline"){
sl-=elem.scrollLeft||0;
st-=elem.scrollTop||0;
}
var _6=_1.scroll?{top:y-st,left:x-sl,scrollTop:st,scrollLeft:sl}:{top:y,left:x};
if(_2){
jQuery.extend(_2,_6);
return this;
}else{
return _6;
}
};

