(function($){
$.dimensions={version:'1.2'
};$.each( [ 'Height', 'Width' ], function(i, name){
$.fn[ 'inner'+name ]=function(){if (!this[0])return;var torl=name=='Height' ? 'Top'    :'Left',  
borr=name=='Height' ? 'Bottom' :'Right';return this.is(':visible')? this[0]['client'+name] : num( this, name.toLowerCase())+num(this, 'padding'+torl)+num(this, 'padding'+borr);};$.fn[ 'outer'+name ]=function(options){if (!this[0])return;var torl=name=='Height' ? 'Top'    :'Left',  
borr=name=='Height' ? 'Bottom' :'Right';options=$.extend({margin: false}, options ||{});var val=this.is(':visible')? 
this[0]['offset'+name] : 
num( this, name.toLowerCase())
+num(this, 'border'+torl+'Width')+num(this, 'border'+borr+'Width')
+num(this, 'padding'+torl)+num(this, 'padding'+borr);return val+(options.margin ? (num(this, 'margin'+torl)+num(this, 'margin'+borr)): 0);};});$.each( ['Left', 'Top'], function(i, name){$.fn[ 'scroll'+name ]=function(val){if (!this[0])return;return val !=undefined ?
this.each(function(){this==window||this==document ?
window.scrollTo( 
name=='Left' ? val : $(window)[ 'scrollLeft' ](),
name=='Top'  ? val : $(window)[ 'scrollTop'  ]()
):
this[ 'scroll'+name ]=val;}):
this[0]==window||this[0]==document ?
self[ (name=='Left' ? 'pageXOffset' :'pageYOffset')] ||
$.boxModel && document.documentElement[ 'scroll'+name ] ||
document.body[ 'scroll'+name ] :
this[0][ 'scroll'+name ];};});$.fn.extend({position: function(){var left=0, top=0, elem=this[0], offset, parentOffset, offsetParent, results;if (elem){
offsetParent=this.offsetParent();offset=this.offset();parentOffset=offsetParent.offset();offset.top  -=num(elem, 'marginTop');offset.left -=num(elem, 'marginLeft');parentOffset.top +=num(offsetParent, 'borderTopWidth');parentOffset.left+=num(offsetParent, 'borderLeftWidth');results={top:  offset.top  - parentOffset.top,
left: offset.left - parentOffset.left
};}
return results;},
offsetParent: function(){var offsetParent=this[0].offsetParent;while ( offsetParent && (!/^body|html$/i.test(offsetParent.tagName)&& $.css(offsetParent, 'position')=='static'))
offsetParent=offsetParent.offsetParent;return $(offsetParent);}});function num(el, prop){return parseInt($.curCSS(el.jquery?el[0]:el,prop,true))||0;};})(jQuery);