src/cm/media/js/lib/yui/yui_3.0.0b1/build/dd/dd-ddm-debug.js
changeset 0 40c8f766c9b8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/cm/media/js/lib/yui/yui_3.0.0b1/build/dd/dd-ddm-debug.js	Mon Nov 23 15:14:29 2009 +0100
@@ -0,0 +1,135 @@
+/*
+Copyright (c) 2009, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 3.0.0b1
+build: 1163
+*/
+YUI.add('dd-ddm', function(Y) {
+
+
+    /**
+     * Extends the dd-ddm-base Class to add support for the viewport shim to allow a draggable node to drag to be dragged over an iframe or any other node that traps mousemove events.
+     * It is also required to have Drop Targets enabled, as the viewport shim will contain the shims for the Drop Targets.
+     * @module dd
+     * @submodule dd-ddm
+     * @for DDM
+     * @namespace DD
+     */
+    Y.mix(Y.DD.DDM, {
+        /**
+        * @private
+        * @property _pg
+        * @description The shim placed over the screen to track the mousemove event.
+        * @type {Node}
+        */
+        _pg: null,
+        /**
+        * @private
+        * @property _debugShim
+        * @description Set this to true to set the shims opacity to .5 for debugging it, default: false.
+        * @type {Boolean}
+        */
+        _debugShim: false,
+        _activateTargets: function() {},
+        _deactivateTargets: function() {},
+        _startDrag: function() {
+            if (this.activeDrag.get('useShim')) {
+                this._pg_activate();
+                this._activateTargets();
+            }
+        },
+        _endDrag: function() {
+            this._pg_deactivate();
+            this._deactivateTargets();
+        },
+        /**
+        * @private
+        * @method _pg_deactivate
+        * @description Deactivates the shim
+        */
+        _pg_deactivate: function() {
+            this._pg.setStyle('display', 'none');
+        },
+        /**
+        * @private
+        * @method _pg_activate
+        * @description Activates the shim
+        */
+        _pg_activate: function() {
+            var ah = this.activeDrag.get('activeHandle'), cur = 'auto';
+            if (ah) {
+                cur = ah.getStyle('cursor');
+            }
+            if (cur == 'auto') {
+                cur = this.get('dragCursor');
+            }
+            
+            this._pg_size();
+            this._pg.setStyles({
+                top: 0,
+                left: 0,
+                display: 'block',
+                opacity: ((this._debugShim) ? '.5' : '0'),
+                cursor: cur
+            });
+        },
+        /**
+        * @private
+        * @method _pg_size
+        * @description Sizes the shim on: activatation, window:scroll, window:resize
+        */
+        _pg_size: function() {
+            if (this.activeDrag) {
+                var b = Y.get('body'),
+                h = b.get('docHeight'),
+                w = b.get('docWidth');
+                this._pg.setStyles({
+                    height: h + 'px',
+                    width: w + 'px'
+                });
+            }
+        },
+        /**
+        * @private
+        * @method _createPG
+        * @description Creates the shim and adds it's listeners to it.
+        */
+        _createPG: function() {
+            var pg = Y.Node.create('<div></div>'),
+            bd = Y.get('body');
+            pg.setStyles({
+                top: '0',
+                left: '0',
+                position: 'absolute',
+                zIndex: '9999',
+                overflow: 'hidden',
+                backgroundColor: 'red',
+                display: 'none',
+                height: '5px',
+                width: '5px'
+            });
+            pg.set('id', Y.stamp(pg));
+            pg.addClass('yui-dd-shim');
+            if (bd.get('firstChild')) {
+                bd.insertBefore(pg, bd.get('firstChild'));
+            } else {
+                bd.appendChild(pg);
+            }
+            this._pg = pg;
+            this._pg.on('mouseup', Y.bind(this._end, this));
+            this._pg.on('mousemove', Y.bind(this._move, this));
+            
+            var win = Y.get(window);
+            win.on('resize', Y.bind(this._pg_size, this));
+            win.on('scroll', Y.bind(this._pg_size, this));
+        }   
+    }, true);
+
+    Y.on('domready', Y.bind(Y.DD.DDM._createPG, Y.DD.DDM));
+
+
+
+
+
+}, '3.0.0b1' ,{requires:['dd-ddm-base'], skinnable:false});