--- /dev/null
+/*!
+ * Ext JS Library 3.0.0
+ * Copyright(c) 2006-2009 Ext JS, LLC
+ * licensing@extjs.com
+ * http://www.extjs.com/license
+ */
+/**\r
+ * @class Ext.Element\r
+ */\r
+Ext.Element.addMethods({\r
+ /**\r
+ * Returns true if this element is scrollable.\r
+ * @return {Boolean}\r
+ */\r
+ isScrollable : function(){\r
+ var dom = this.dom;\r
+ return dom.scrollHeight > dom.clientHeight || dom.scrollWidth > dom.clientWidth;\r
+ },\r
+\r
+ /**\r
+ * Scrolls this element the specified scroll point. It does NOT do bounds checking so if you scroll to a weird value it will try to do it. For auto bounds checking, use scroll().\r
+ * @param {String} side Either "left" for scrollLeft values or "top" for scrollTop values.\r
+ * @param {Number} value The new scroll value.\r
+ * @return {Element} this\r
+ */\r
+ scrollTo : function(side, value){\r
+ this.dom["scroll" + (/top/i.test(side) ? "Top" : "Left")] = value;\r
+ return this;\r
+ },\r
+\r
+ /**\r
+ * Returns the current scroll position of the element.\r
+ * @return {Object} An object containing the scroll position in the format {left: (scrollLeft), top: (scrollTop)}\r
+ */\r
+ getScroll : function(){\r
+ var d = this.dom, \r
+ doc = document,\r
+ body = doc.body,\r
+ docElement = doc.documentElement,\r
+ l,\r
+ t,\r
+ ret;\r
+\r
+ if(d == doc || d == body){\r
+ if(Ext.isIE && Ext.isStrict){\r
+ l = docElement.scrollLeft; \r
+ t = docElement.scrollTop;\r
+ }else{\r
+ l = window.pageXOffset;\r
+ t = window.pageYOffset;\r
+ }\r
+ ret = {left: l || (body ? body.scrollLeft : 0), top: t || (body ? body.scrollTop : 0)};\r
+ }else{\r
+ ret = {left: d.scrollLeft, top: d.scrollTop};\r
+ }\r
+ return ret;\r
+ }\r
+});
\ No newline at end of file