src/cm/media/js/lib/yui/yui3-3.15.0/build/node-screen/node-screen.js
author gibus
Mon, 10 Mar 2014 15:19:48 +0100
changeset 602 e16a97fb364a
permissions -rw-r--r--
Use YUI 3.15
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
602
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     1
YUI.add('node-screen', function (Y, NAME) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     2
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     3
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     4
 * Extended Node interface for managing regions and screen positioning.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     5
 * Adds support for positioning elements and normalizes window size and scroll detection.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     6
 * @module node
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     7
 * @submodule node-screen
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     8
 */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     9
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    10
// these are all "safe" returns, no wrapping required
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    11
Y.each([
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    12
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    13
     * Returns the inner width of the viewport (exludes scrollbar).
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    14
     * @config winWidth
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    15
     * @for Node
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    16
     * @type {Number}
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    17
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    18
    'winWidth',
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    19
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    20
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    21
     * Returns the inner height of the viewport (exludes scrollbar).
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    22
     * @config winHeight
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    23
     * @type {Number}
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    24
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    25
    'winHeight',
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    26
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    27
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    28
     * Document width
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    29
     * @config docWidth
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    30
     * @type {Number}
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    31
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    32
    'docWidth',
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    33
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    34
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    35
     * Document height
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    36
     * @config docHeight
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    37
     * @type {Number}
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    38
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    39
    'docHeight',
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    40
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    41
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    42
     * Pixel distance the page has been scrolled horizontally
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    43
     * @config docScrollX
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    44
     * @type {Number}
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    45
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    46
    'docScrollX',
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    47
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    48
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    49
     * Pixel distance the page has been scrolled vertically
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    50
     * @config docScrollY
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    51
     * @type {Number}
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    52
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    53
    'docScrollY'
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    54
    ],
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    55
    function(name) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    56
        Y.Node.ATTRS[name] = {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    57
            getter: function() {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    58
                var args = Array.prototype.slice.call(arguments);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    59
                args.unshift(Y.Node.getDOMNode(this));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    60
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    61
                return Y.DOM[name].apply(this, args);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    62
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    63
        };
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    64
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    65
);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    66
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    67
Y.Node.ATTRS.scrollLeft = {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    68
    getter: function() {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    69
        var node = Y.Node.getDOMNode(this);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    70
        return ('scrollLeft' in node) ? node.scrollLeft : Y.DOM.docScrollX(node);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    71
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    72
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    73
    setter: function(val) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    74
        var node = Y.Node.getDOMNode(this);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    75
        if (node) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    76
            if ('scrollLeft' in node) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    77
                node.scrollLeft = val;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    78
            } else if (node.document || node.nodeType === 9) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    79
                Y.DOM._getWin(node).scrollTo(val, Y.DOM.docScrollY(node)); // scroll window if win or doc
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    80
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    81
        } else {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    82
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    83
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    84
};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    85
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    86
Y.Node.ATTRS.scrollTop = {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    87
    getter: function() {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    88
        var node = Y.Node.getDOMNode(this);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    89
        return ('scrollTop' in node) ? node.scrollTop : Y.DOM.docScrollY(node);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    90
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    91
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    92
    setter: function(val) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    93
        var node = Y.Node.getDOMNode(this);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    94
        if (node) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    95
            if ('scrollTop' in node) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    96
                node.scrollTop = val;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    97
            } else if (node.document || node.nodeType === 9) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    98
                Y.DOM._getWin(node).scrollTo(Y.DOM.docScrollX(node), val); // scroll window if win or doc
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    99
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   100
        } else {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   101
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   102
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   103
};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   104
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   105
Y.Node.importMethod(Y.DOM, [
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   106
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   107
 * Gets the current position of the node in page coordinates.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   108
 * @method getXY
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   109
 * @for Node
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   110
 * @return {Array} The XY position of the node
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   111
*/
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   112
    'getXY',
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   113
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   114
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   115
 * Set the position of the node in page coordinates, regardless of how the node is positioned.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   116
 * @method setXY
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   117
 * @param {Array} xy Contains X & Y values for new position (coordinates are page-based)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   118
 * @chainable
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   119
 */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   120
    'setXY',
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   121
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   122
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   123
 * Gets the current position of the node in page coordinates.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   124
 * @method getX
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   125
 * @return {Number} The X position of the node
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   126
*/
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   127
    'getX',
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   128
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   129
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   130
 * Set the position of the node in page coordinates, regardless of how the node is positioned.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   131
 * @method setX
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   132
 * @param {Number} x X value for new position (coordinates are page-based)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   133
 * @chainable
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   134
 */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   135
    'setX',
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   136
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   137
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   138
 * Gets the current position of the node in page coordinates.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   139
 * @method getY
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   140
 * @return {Number} The Y position of the node
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   141
*/
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   142
    'getY',
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   143
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   144
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   145
 * Set the position of the node in page coordinates, regardless of how the node is positioned.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   146
 * @method setY
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   147
 * @param {Number} y Y value for new position (coordinates are page-based)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   148
 * @chainable
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   149
 */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   150
    'setY',
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   151
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   152
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   153
 * Swaps the XY position of this node with another node.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   154
 * @method swapXY
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   155
 * @param {Node | HTMLElement} otherNode The node to swap with.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   156
 * @chainable
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   157
 */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   158
    'swapXY'
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   159
]);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   160
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   161
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   162
 * @module node
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   163
 * @submodule node-screen
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   164
 */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   165
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   166
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   167
 * Returns a region object for the node
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   168
 * @config region
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   169
 * @for Node
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   170
 * @type Node
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   171
 */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   172
Y.Node.ATTRS.region = {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   173
    getter: function() {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   174
        var node = this.getDOMNode(),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   175
            region;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   176
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   177
        if (node && !node.tagName) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   178
            if (node.nodeType === 9) { // document
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   179
                node = node.documentElement;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   180
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   181
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   182
        if (Y.DOM.isWindow(node)) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   183
            region = Y.DOM.viewportRegion(node);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   184
        } else {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   185
            region = Y.DOM.region(node);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   186
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   187
        return region;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   188
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   189
};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   190
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   191
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   192
 * Returns a region object for the node's viewport
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   193
 * @config viewportRegion
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   194
 * @type Node
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   195
 */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   196
Y.Node.ATTRS.viewportRegion = {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   197
    getter: function() {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   198
        return Y.DOM.viewportRegion(Y.Node.getDOMNode(this));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   199
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   200
};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   201
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   202
Y.Node.importMethod(Y.DOM, 'inViewportRegion');
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   203
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   204
// these need special treatment to extract 2nd node arg
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   205
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   206
 * Compares the intersection of the node with another node or region
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   207
 * @method intersect
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   208
 * @for Node
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   209
 * @param {Node|Object} node2 The node or region to compare with.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   210
 * @param {Object} altRegion An alternate region to use (rather than this node's).
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   211
 * @return {Object} An object representing the intersection of the regions.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   212
 */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   213
Y.Node.prototype.intersect = function(node2, altRegion) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   214
    var node1 = Y.Node.getDOMNode(this);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   215
    if (Y.instanceOf(node2, Y.Node)) { // might be a region object
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   216
        node2 = Y.Node.getDOMNode(node2);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   217
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   218
    return Y.DOM.intersect(node1, node2, altRegion);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   219
};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   220
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   221
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   222
 * Determines whether or not the node is within the giving region.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   223
 * @method inRegion
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   224
 * @param {Node|Object} node2 The node or region to compare with.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   225
 * @param {Boolean} all Whether or not all of the node must be in the region.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   226
 * @param {Object} altRegion An alternate region to use (rather than this node's).
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   227
 * @return {Boolean} True if in region, false if not.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   228
 */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   229
Y.Node.prototype.inRegion = function(node2, all, altRegion) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   230
    var node1 = Y.Node.getDOMNode(this);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   231
    if (Y.instanceOf(node2, Y.Node)) { // might be a region object
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   232
        node2 = Y.Node.getDOMNode(node2);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   233
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   234
    return Y.DOM.inRegion(node1, node2, all, altRegion);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   235
};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   236
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   237
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   238
}, '@VERSION@', {"requires": ["dom-screen", "node-base"]});