src/cm/media/js/lib/yui/yui3-3.15.0/build/scrollview-base-ie/scrollview-base-ie.js
changeset 602 e16a97fb364a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/cm/media/js/lib/yui/yui3-3.15.0/build/scrollview-base-ie/scrollview-base-ie.js	Mon Mar 10 15:19:48 2014 +0100
@@ -0,0 +1,55 @@
+YUI.add('scrollview-base-ie', function (Y, NAME) {
+
+/**
+ * IE specific support for the scrollview-base module.
+ *
+ * @module scrollview-base-ie
+ */
+
+Y.mix(Y.ScrollView.prototype, {
+
+    /**
+     * Internal method to fix text selection in IE
+     *
+     * @method _fixIESelect
+     * @for ScrollView
+     * @private
+     * @param {Node} bb The bounding box
+     * @param {Node} cb The content box
+     */
+    _fixIESelect : function(bb, cb) {
+        this._cbDoc = cb.get("ownerDocument");
+        this._nativeBody = Y.Node.getDOMNode(Y.one("body", this._cbDoc));
+
+        cb.on("mousedown", function() {
+            this._selectstart = this._nativeBody.onselectstart;
+            this._nativeBody.onselectstart = this._iePreventSelect;
+            this._cbDoc.once("mouseup", this._ieRestoreSelect, this);
+        }, this);
+    },
+
+    /**
+     * Native onselectstart handle to prevent selection in IE
+     *
+     * @method _iePreventSelect
+     * @for ScrollView
+     * @private
+     */
+    _iePreventSelect : function() {
+        return false;
+    },
+
+    /**
+     * Restores native onselectstart handle, backed up to prevent selection in IE
+     *
+     * @method _ieRestoreSelect
+     * @for ScrollView
+     * @private
+     */
+    _ieRestoreSelect : function() {
+        this._nativeBody.onselectstart = this._selectstart;
+    }
+}, true);
+
+
+}, '@VERSION@', {"requires": ["scrollview-base"]});