webgui/www/extras/yui-ext/docs/output/Element.js.html
JT Smith cfd09a5cb6 upgraded to yui 0.12.0
upgraded to yui-ext 0.33 rc2
2006-11-28 02:23:34 +00:00

1807 lines
No EOL
323 KiB
HTML

<html><head><title>Element.js</title><link rel="stylesheet" type="text/css" href="../style.css" media="screen"/></head><body><div class="hl-main"><pre><span class="hl-comment">/**
* @class YAHOO.ext.Element
* Wraps around a DOM element and provides convenient access to Yahoo
* UI library functionality (and more).&lt;br&gt;&lt;br&gt;
* Usage:&lt;br&gt;
* &lt;pre&gt;&lt;code&gt;
* var el = YAHOO.ext.Element.get('myElementId');
* // or the shorter
* var el = getEl('myElementId');
* &lt;/code&gt;&lt;/pre&gt;
* Using YAHOO.ext.Element.get() instead of calling the constructor directly ensures you get the same object
* each call instead of constructing a new one.&lt;br&gt;&lt;br&gt;
* For working with collections of Elements, see &lt;a href=&quot;YAHOO.ext.CompositeElement.html&quot;&gt;YAHOO.ext.CompositeElement&lt;/a&gt;
* @requires YAHOO.util.Dom
* @requires YAHOO.util.Event
* @requires YAHOO.util.CustomEvent
* @requires YAHOO.util.Anim (optional) to support animation
* @requires YAHOO.util.Motion (optional) to support animation
* @requires YAHOO.util.Easing (optional) to support animation
* @constructor Create a new Element directly.
* @param {String/HTMLElement} element
* @param {&lt;i&gt;Boolean&lt;/i&gt;} forceNew (optional) By default the constructor checks to see if there is already an instance of this element in the cache and if there is it returns the same instance. This will skip that check (useful for extending this class).
*/
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">ext</span><span class="hl-default">.</span><span class="hl-identifier">Element</span><span class="hl-default"> = </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">element</span><span class="hl-code">, </span><span class="hl-identifier">forceNew</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">dom</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">get</span><span class="hl-brackets">(</span><span class="hl-identifier">element</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">dom</span><span class="hl-brackets">){ </span><span class="hl-comment">// invalid id/element
</span><span class="hl-reserved">return null</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">forceNew</span><span class="hl-code"> &amp;&amp; </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">Element</span><span class="hl-code">.</span><span class="hl-identifier">cache</span><span class="hl-brackets">[</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">id</span><span class="hl-brackets">]){ </span><span class="hl-comment">// element object already exists
</span><span class="hl-reserved">return </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">Element</span><span class="hl-code">.</span><span class="hl-identifier">cache</span><span class="hl-brackets">[</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">id</span><span class="hl-brackets">]</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-comment">/**
* The DOM element
* @type HTMLElement
*/
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code"> = </span><span class="hl-identifier">dom</span><span class="hl-code">;
</span><span class="hl-comment">/**
* The DOM element ID
* @type String
*/
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">id</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">id</span><span class="hl-code">;
</span><span class="hl-comment">/**
* @private the current visibility mode
*/
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">visibilityMode</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">Element</span><span class="hl-code">.</span><span class="hl-identifier">VISIBILITY</span><span class="hl-code">;
</span><span class="hl-comment">/**
* The element's default display mode @type String
*/
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">originalDisplay</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">display</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code"> || </span><span class="hl-quotes">''</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">autoDisplayMode</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">originalDisplay</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">none</span><span class="hl-quotes">'</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setVisibilityMode</span><span class="hl-brackets">(</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">Element</span><span class="hl-code">.</span><span class="hl-identifier">DISPLAY</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
}
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">originalDisplay</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">none</span><span class="hl-quotes">'</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">originalDisplay</span><span class="hl-code"> = </span><span class="hl-quotes">''</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-comment">/**
* The default unit to append to CSS values where a unit isn't provided (Defaults to px).
* @type String
*/
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">defaultUnit</span><span class="hl-code"> = </span><span class="hl-quotes">'</span><span class="hl-string">px</span><span class="hl-quotes">'</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">ext</span><span class="hl-default">.</span><span class="hl-identifier">Element</span><span class="hl-default">.</span><span class="hl-identifier">prototype</span><span class="hl-default"> = </span><span class="hl-brackets">{
</span><span class="hl-comment">/**
* Sets the elements visibility mode. When setVisible() is called it
* will use this to determine whether to set the visibility or the display property.
* @param visMode Element.VISIBILITY or Element.DISPLAY
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">setVisibilityMode</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">visMode</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">visibilityMode</span><span class="hl-code"> = </span><span class="hl-identifier">visMode</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Convenience method for setVisibilityMode(Element.DISPLAY)
* @param {String} display (optional) What to set display to when visible
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">enableDisplayMode</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">display</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setVisibilityMode</span><span class="hl-brackets">(</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">Element</span><span class="hl-code">.</span><span class="hl-identifier">DISPLAY</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">typeof </span><span class="hl-identifier">display</span><span class="hl-code"> != </span><span class="hl-quotes">'</span><span class="hl-string">undefined</span><span class="hl-quotes">'</span><span class="hl-brackets">) </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">originalDisplay</span><span class="hl-code"> = </span><span class="hl-identifier">display</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Perform Yahoo UI animation on this element.
* @param {Object} args The YUI animation control args
* @param {&lt;i&gt;Float&lt;/i&gt;} duration (optional) How long the animation lasts. (Defaults to .35 seconds)
* @param {&lt;i&gt;Function&lt;/i&gt;} onComplete (optional) Function to call when animation completes.
* @param {&lt;i&gt;Function&lt;/i&gt;} easing (optional) YAHOO.util.Easing method to use. (Defaults to YAHOO.util.Easing.easeBoth)
* @param {&lt;i&gt;Function&lt;/i&gt;} animType (optional) YAHOO.util.Anim subclass to use. For example: YAHOO.util.Motion
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">animate</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">args</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-code">, </span><span class="hl-identifier">animType</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">anim</span><span class="hl-brackets">(</span><span class="hl-identifier">args</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-code">, </span><span class="hl-identifier">animType</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* @private Internal animation call
*/
</span><span class="hl-identifier">anim</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">args</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-code">, </span><span class="hl-identifier">animType</span><span class="hl-brackets">){
</span><span class="hl-identifier">animType</span><span class="hl-code"> = </span><span class="hl-identifier">animType</span><span class="hl-code"> || </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Anim</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">anim</span><span class="hl-code"> = </span><span class="hl-reserved">new </span><span class="hl-identifier">animType</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-identifier">args</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code"> || </span><span class="hl-number">.35</span><span class="hl-code">,
</span><span class="hl-identifier">easing</span><span class="hl-code"> || </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Easing</span><span class="hl-code">.</span><span class="hl-identifier">easeBoth</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">onComplete</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-brackets">(</span><span class="hl-identifier">onComplete </span><span class="hl-reserved">instanceof </span><span class="hl-builtin">Array</span><span class="hl-brackets">)){
</span><span class="hl-identifier">anim</span><span class="hl-code">.</span><span class="hl-identifier">onComplete</span><span class="hl-code">.</span><span class="hl-identifier">subscribe</span><span class="hl-brackets">(</span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-reserved">for</span><span class="hl-brackets">(</span><span class="hl-reserved">var </span><span class="hl-identifier">i</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code"> &lt; </span><span class="hl-identifier">onComplete</span><span class="hl-code">.</span><span class="hl-identifier">length</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code">++</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">fn</span><span class="hl-code"> = </span><span class="hl-identifier">onComplete</span><span class="hl-brackets">[</span><span class="hl-identifier">i</span><span class="hl-brackets">]</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">fn</span><span class="hl-brackets">) </span><span class="hl-identifier">anim</span><span class="hl-code">.</span><span class="hl-identifier">onComplete</span><span class="hl-code">.</span><span class="hl-identifier">subscribe</span><span class="hl-brackets">(</span><span class="hl-identifier">fn</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
}
}
</span><span class="hl-identifier">anim</span><span class="hl-code">.</span><span class="hl-identifier">animate</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Scrolls this element into view within the passed container.
* @param {&lt;i&gt;String/HTMLElement/Element&lt;/i&gt;} container (optional) The container element to scroll (defaults to document.body)
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">scrollIntoView</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">container</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">c</span><span class="hl-code"> = </span><span class="hl-identifier">getEl</span><span class="hl-brackets">(</span><span class="hl-identifier">container</span><span class="hl-code"> || </span><span class="hl-builtin">document</span><span class="hl-code">.</span><span class="hl-identifier">body</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">cp</span><span class="hl-code"> = </span><span class="hl-identifier">c</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">position</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">restorePos</span><span class="hl-code"> = </span><span class="hl-reserved">false</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">cp</span><span class="hl-code"> != </span><span class="hl-quotes">'</span><span class="hl-string">relative</span><span class="hl-quotes">'</span><span class="hl-code"> &amp;&amp; </span><span class="hl-identifier">cp</span><span class="hl-code"> != </span><span class="hl-quotes">'</span><span class="hl-string">absolute</span><span class="hl-quotes">'</span><span class="hl-brackets">){
</span><span class="hl-identifier">c</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">position</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">relative</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">restorePos</span><span class="hl-code"> = </span><span class="hl-reserved">true</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">var </span><span class="hl-identifier">el</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">childTop</span><span class="hl-code"> = </span><span class="hl-identifier">parseInt</span><span class="hl-brackets">(</span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">offsetTop</span><span class="hl-code">, </span><span class="hl-number">10</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">childBottom</span><span class="hl-code"> = </span><span class="hl-identifier">childTop</span><span class="hl-code"> + </span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">offsetHeight</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">containerTop</span><span class="hl-code"> = </span><span class="hl-identifier">parseInt</span><span class="hl-brackets">(</span><span class="hl-identifier">c</span><span class="hl-code">.</span><span class="hl-identifier">scrollTop</span><span class="hl-code">, </span><span class="hl-number">10</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">// parseInt for safari bug
</span><span class="hl-reserved">var </span><span class="hl-identifier">containerBottom</span><span class="hl-code"> = </span><span class="hl-identifier">containerTop</span><span class="hl-code"> + </span><span class="hl-identifier">c</span><span class="hl-code">.</span><span class="hl-identifier">clientHeight</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">childTop</span><span class="hl-code"> &lt; </span><span class="hl-identifier">containerTop</span><span class="hl-brackets">){
</span><span class="hl-identifier">c</span><span class="hl-code">.</span><span class="hl-identifier">scrollTop</span><span class="hl-code"> = </span><span class="hl-identifier">childTop</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else if</span><span class="hl-brackets">(</span><span class="hl-identifier">childBottom</span><span class="hl-code"> &gt; </span><span class="hl-identifier">containerBottom</span><span class="hl-brackets">){
</span><span class="hl-identifier">c</span><span class="hl-code">.</span><span class="hl-identifier">scrollTop</span><span class="hl-code"> = </span><span class="hl-identifier">childBottom</span><span class="hl-code">-</span><span class="hl-identifier">c</span><span class="hl-code">.</span><span class="hl-identifier">clientHeight</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">restorePos</span><span class="hl-brackets">){
</span><span class="hl-identifier">c</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">position</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">cp</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Measures the elements content height and updates height to match. Note, this function uses setTimeout and
* the new height may not be available immediately.
* @param {&lt;i&gt;Boolean&lt;/i&gt;} animate (optional) Animate the transition (Default is false)
* @param {&lt;i&gt;Float&lt;/i&gt;} duration (optional) Length of the animation. (Defaults to .35 seconds)
* @param {&lt;i&gt;Function&lt;/i&gt;} onComplete (optional) Function to call when animation completes.
* @param {&lt;i&gt;Function&lt;/i&gt;} easing (optional) YAHOO.util.Easing method to use. (Defaults to YAHOO.util.Easing.easeOut for hiding or YAHOO.util.Easing.easeIn for showing)
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">autoHeight</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">oldHeight</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getHeight</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">clip</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setHeight</span><span class="hl-brackets">(</span><span class="hl-number">1</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">// force clipping
</span><span class="hl-identifier">setTimeout</span><span class="hl-brackets">(</span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">var </span><span class="hl-identifier">height</span><span class="hl-code"> = </span><span class="hl-identifier">parseInt</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">scrollHeight</span><span class="hl-code">, </span><span class="hl-number">10</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">// parseInt for Safari
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">animate</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setHeight</span><span class="hl-brackets">(</span><span class="hl-identifier">height</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">unclip</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setHeight</span><span class="hl-brackets">(</span><span class="hl-identifier">oldHeight</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">// restore original height
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setHeight</span><span class="hl-brackets">(</span><span class="hl-identifier">height</span><span class="hl-code">, </span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">unclip</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">typeof </span><span class="hl-identifier">onComplete</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">function</span><span class="hl-quotes">'</span><span class="hl-brackets">) </span><span class="hl-identifier">onComplete</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">.</span><span class="hl-identifier">createDelegate</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-brackets">)</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
}</span><span class="hl-code">.</span><span class="hl-identifier">createDelegate</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-brackets">)</span><span class="hl-code">, </span><span class="hl-number">0</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Checks whether the element is currently visible using both visibility and display properties.
* @param {&lt;i&gt;Boolean&lt;/i&gt;} deep True to walk the dom and see if parent elements are hidden.
* @return {Boolean} true if the element is currently visible
*/
</span><span class="hl-identifier">isVisible</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">deep</span><span class="hl-brackets">) {
</span><span class="hl-reserved">var </span><span class="hl-identifier">vis</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">visibility</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code"> != </span><span class="hl-quotes">'</span><span class="hl-string">hidden</span><span class="hl-quotes">'</span><span class="hl-code">
&amp;&amp; </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">display</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code"> != </span><span class="hl-quotes">'</span><span class="hl-string">none</span><span class="hl-quotes">'</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">deep</span><span class="hl-code"> || !</span><span class="hl-identifier">vis</span><span class="hl-brackets">){
</span><span class="hl-reserved">return </span><span class="hl-identifier">vis</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">var </span><span class="hl-identifier">p</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">parentNode</span><span class="hl-code">;
</span><span class="hl-reserved">while</span><span class="hl-brackets">(</span><span class="hl-identifier">p</span><span class="hl-code"> &amp;&amp; </span><span class="hl-identifier">p</span><span class="hl-code">.</span><span class="hl-identifier">tagName</span><span class="hl-code">.</span><span class="hl-identifier">toLowerCase</span><span class="hl-brackets">()</span><span class="hl-code"> != </span><span class="hl-quotes">'</span><span class="hl-string">body</span><span class="hl-quotes">'</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-identifier">p</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">visibility</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">hidden</span><span class="hl-quotes">'</span><span class="hl-code"> || </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-identifier">p</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">display</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">none</span><span class="hl-quotes">'</span><span class="hl-brackets">){
</span><span class="hl-reserved">return false</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-identifier">p</span><span class="hl-code"> = </span><span class="hl-identifier">p</span><span class="hl-code">.</span><span class="hl-identifier">parentNode</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return true</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Selects child nodes based on the passed CSS selector (the selector should not contain an id)
* @param {String} selector The CSS selector
* @param {Boolean} unique true to create a unique YAHOO.ext.Element for each child (defaults to a shared flyweight object)
* @return {CompositeElement/CompositeElementLite} The composite element
*/
</span><span class="hl-identifier">select</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">selector</span><span class="hl-code">, </span><span class="hl-identifier">unique</span><span class="hl-brackets">){
</span><span class="hl-reserved">return </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">Element</span><span class="hl-code">.</span><span class="hl-identifier">select</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">#</span><span class="hl-quotes">'</span><span class="hl-code"> + </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">id</span><span class="hl-code"> + </span><span class="hl-quotes">' '</span><span class="hl-code"> + </span><span class="hl-identifier">selector</span><span class="hl-code">, </span><span class="hl-identifier">unique</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Initializes a YAHOO.util.DD object for this element.
* @param {String} group The group the DD object is member of
* @param {Object} config The DD config object
* @param {Object} overrides An object containing methods to override/implement on the DD object
* @return {YAHOO.util.DD} The DD object
*/
</span><span class="hl-identifier">initDD</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">group</span><span class="hl-code">, </span><span class="hl-identifier">config</span><span class="hl-code">, </span><span class="hl-identifier">overrides</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">dd</span><span class="hl-code"> = </span><span class="hl-reserved">new </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">DD</span><span class="hl-brackets">(</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">generateId</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-brackets">)</span><span class="hl-code">, </span><span class="hl-identifier">group</span><span class="hl-code">, </span><span class="hl-identifier">config</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Config</span><span class="hl-code">.</span><span class="hl-identifier">apply</span><span class="hl-brackets">(</span><span class="hl-identifier">dd</span><span class="hl-code">, </span><span class="hl-identifier">overrides</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Initializes a YAHOO.util.DDProxy object for this element.
* @param {String} group The group the DDProxy object is member of
* @param {Object} config The DDProxy config object
* @param {Object} overrides An object containing methods to override/implement on the DDProxy object
* @return {YAHOO.util.DDProxy} The DDProxy object
*/
</span><span class="hl-identifier">initDDProxy</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">group</span><span class="hl-code">, </span><span class="hl-identifier">config</span><span class="hl-code">, </span><span class="hl-identifier">overrides</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">dd</span><span class="hl-code"> = </span><span class="hl-reserved">new </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">DDProxy</span><span class="hl-brackets">(</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">generateId</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-brackets">)</span><span class="hl-code">, </span><span class="hl-identifier">group</span><span class="hl-code">, </span><span class="hl-identifier">config</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Config</span><span class="hl-code">.</span><span class="hl-identifier">apply</span><span class="hl-brackets">(</span><span class="hl-identifier">dd</span><span class="hl-code">, </span><span class="hl-identifier">overrides</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Initializes a YAHOO.util.DDTarget object for this element.
* @param {String} group The group the DDTarget object is member of
* @param {Object} config The DDTarget config object
* @param {Object} overrides An object containing methods to override/implement on the DDTarget object
* @return {YAHOO.util.DDTarget} The DDTarget object
*/
</span><span class="hl-identifier">initDDTarget</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">group</span><span class="hl-code">, </span><span class="hl-identifier">config</span><span class="hl-code">, </span><span class="hl-identifier">overrides</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">dd</span><span class="hl-code"> = </span><span class="hl-reserved">new </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">DDTarget</span><span class="hl-brackets">(</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">generateId</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-brackets">)</span><span class="hl-code">, </span><span class="hl-identifier">group</span><span class="hl-code">, </span><span class="hl-identifier">config</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Config</span><span class="hl-code">.</span><span class="hl-identifier">apply</span><span class="hl-brackets">(</span><span class="hl-identifier">dd</span><span class="hl-code">, </span><span class="hl-identifier">overrides</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Sets the visibility of the element (see details). If the visibilityMode is set to Element.DISPLAY, it will use
* the display property to hide the element, otherwise it uses visibility. The default is to hide and show using the visibility property.
* @param {Boolean} visible Whether the element is visible
* @param {&lt;i&gt;Boolean&lt;/i&gt;} animate (optional) Fade the element in or out (Default is false)
* @param {&lt;i&gt;Float&lt;/i&gt;} duration (optional) How long the fade effect lasts. (Defaults to .35 seconds)
* @param {&lt;i&gt;Function&lt;/i&gt;} onComplete (optional) Function to call when animation completes.
* @param {&lt;i&gt;Function&lt;/i&gt;} easing (optional) YAHOO.util.Easing method to use. (Defaults to YAHOO.util.Easing.easeOut for hiding or YAHOO.util.Easing.easeIn for showing)
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">setVisible</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">visible</span><span class="hl-code">, </span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">){
</span><span class="hl-comment">//if(this.isVisible() == visible) return; // nothing to do
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">animate</span><span class="hl-code"> || !</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Anim</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">visibilityMode</span><span class="hl-code"> == </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">Element</span><span class="hl-code">.</span><span class="hl-identifier">DISPLAY</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setDisplayed</span><span class="hl-brackets">(</span><span class="hl-identifier">visible</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">visibility</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">visible</span><span class="hl-code"> ? </span><span class="hl-quotes">'</span><span class="hl-string">visible</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-quotes">'</span><span class="hl-string">hidden</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-comment">// make sure they can see the transition
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setOpacity</span><span class="hl-brackets">(</span><span class="hl-identifier">visible</span><span class="hl-code">?</span><span class="hl-number">0</span><span class="hl-code">:</span><span class="hl-number">1</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">visibility</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">visible</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">visibilityMode</span><span class="hl-code"> == </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">Element</span><span class="hl-code">.</span><span class="hl-identifier">DISPLAY</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setDisplayed</span><span class="hl-brackets">(</span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">var </span><span class="hl-identifier">args</span><span class="hl-code"> = </span><span class="hl-brackets">{</span><span class="hl-identifier">opacity</span><span class="hl-code">: </span><span class="hl-brackets">{ </span><span class="hl-identifier">from</span><span class="hl-code">: </span><span class="hl-brackets">(</span><span class="hl-identifier">visible</span><span class="hl-code">?</span><span class="hl-number">0</span><span class="hl-code">:</span><span class="hl-number">1</span><span class="hl-brackets">)</span><span class="hl-code">, </span><span class="hl-identifier">to</span><span class="hl-code">: </span><span class="hl-brackets">(</span><span class="hl-identifier">visible</span><span class="hl-code">?</span><span class="hl-number">1</span><span class="hl-code">:</span><span class="hl-number">0</span><span class="hl-brackets">) }}</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">anim</span><span class="hl-code"> = </span><span class="hl-reserved">new </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Anim</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-identifier">args</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code"> || </span><span class="hl-number">.35</span><span class="hl-code">,
</span><span class="hl-identifier">easing</span><span class="hl-code"> || </span><span class="hl-brackets">(</span><span class="hl-identifier">visible</span><span class="hl-code"> ? </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Easing</span><span class="hl-code">.</span><span class="hl-identifier">easeIn</span><span class="hl-code"> : </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Easing</span><span class="hl-code">.</span><span class="hl-identifier">easeOut</span><span class="hl-brackets">))</span><span class="hl-code">;
</span><span class="hl-identifier">anim</span><span class="hl-code">.</span><span class="hl-identifier">onComplete</span><span class="hl-code">.</span><span class="hl-identifier">subscribe</span><span class="hl-brackets">((</span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">visibilityMode</span><span class="hl-code"> == </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">Element</span><span class="hl-code">.</span><span class="hl-identifier">DISPLAY</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setDisplayed</span><span class="hl-brackets">(</span><span class="hl-identifier">visible</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">visibility</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">visible</span><span class="hl-code"> ? </span><span class="hl-quotes">'</span><span class="hl-string">visible</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-quotes">'</span><span class="hl-string">hidden</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
})</span><span class="hl-code">.</span><span class="hl-identifier">createDelegate</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-brackets">))</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">onComplete</span><span class="hl-brackets">){
</span><span class="hl-identifier">anim</span><span class="hl-code">.</span><span class="hl-identifier">onComplete</span><span class="hl-code">.</span><span class="hl-identifier">subscribe</span><span class="hl-brackets">(</span><span class="hl-identifier">onComplete</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-identifier">anim</span><span class="hl-code">.</span><span class="hl-identifier">animate</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Returns true if display is not &quot;none&quot;
* @return {Boolean}
*/
</span><span class="hl-identifier">isDisplayed</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">() {
</span><span class="hl-reserved">return </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">display</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code"> != </span><span class="hl-quotes">'</span><span class="hl-string">none</span><span class="hl-quotes">'</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Toggles the elements visibility or display, depending on visibility mode.
* @param {&lt;i&gt;Boolean&lt;/i&gt;} animate (optional) Fade the element in or out (Default is false)
* @param {&lt;i&gt;float&lt;/i&gt;} duration (optional) How long the fade effect lasts. (Defaults to .35 seconds)
* @param {&lt;i&gt;Function&lt;/i&gt;} onComplete (optional) Function to call when animation completes.
* @param {&lt;i&gt;Function&lt;/i&gt;} easing (optional) YAHOO.util.Easing method to use. (Defaults to YAHOO.util.Easing.easeOut for hiding or YAHOO.util.Easing.easeIn for showing)
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">toggle</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setVisible</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">isVisible</span><span class="hl-brackets">()</span><span class="hl-code">, </span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Sets the css display. Uses originalDisplay if value is a boolean true.
* @param {Boolean} value Boolean to display the element using it's default display or a string to set the display directly
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">setDisplayed</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">value</span><span class="hl-brackets">) {
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">typeof </span><span class="hl-identifier">value</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">boolean</span><span class="hl-quotes">'</span><span class="hl-brackets">){
</span><span class="hl-identifier">value</span><span class="hl-code"> = </span><span class="hl-identifier">value</span><span class="hl-code"> ? </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">originalDisplay</span><span class="hl-code"> : </span><span class="hl-quotes">'</span><span class="hl-string">none</span><span class="hl-quotes">'</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">display</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">value</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Tries to focus the element. Any exceptions are caught.
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">focus</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">() {
</span><span class="hl-reserved">try</span><span class="hl-brackets">{
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">focus</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">catch</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">){}
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Add a CSS class to the element.
* @param {String} className The CSS class to add
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">addClass</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">className</span><span class="hl-brackets">){
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">addClass</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-identifier">className</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Adds the passed className to this element and removes the class from all siblings
* @param {String} className The className to add
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">radioClass</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">className</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">siblings</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">parentNode</span><span class="hl-code">.</span><span class="hl-identifier">childNodes</span><span class="hl-code">;
</span><span class="hl-reserved">for</span><span class="hl-brackets">(</span><span class="hl-reserved">var </span><span class="hl-identifier">i</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code"> &lt; </span><span class="hl-identifier">siblings</span><span class="hl-code">.</span><span class="hl-identifier">length</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code">++</span><span class="hl-brackets">) {
</span><span class="hl-reserved">var </span><span class="hl-identifier">s</span><span class="hl-code"> = </span><span class="hl-identifier">siblings</span><span class="hl-brackets">[</span><span class="hl-identifier">i</span><span class="hl-brackets">]</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">s</span><span class="hl-code">.</span><span class="hl-identifier">nodeType</span><span class="hl-code"> == </span><span class="hl-number">1</span><span class="hl-brackets">){
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">removeClass</span><span class="hl-brackets">(</span><span class="hl-identifier">s</span><span class="hl-code">, </span><span class="hl-identifier">className</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
}
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">addClass</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-identifier">className</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Removes a CSS class from the element.
* @param {String} className The CSS class to remove
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">removeClass</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">className</span><span class="hl-brackets">){
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">removeClass</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-identifier">className</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Toggles (adds or removes) the passed class.
* @param {String} className
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">toggleClass</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">className</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">hasClass</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-identifier">className</span><span class="hl-brackets">)){
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">removeClass</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-identifier">className</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">addClass</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-identifier">className</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Checks if a CSS class is in use by the element.
* @param {String} className The CSS class to check
* @return {Boolean} true or false
*/
</span><span class="hl-identifier">hasClass</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">className</span><span class="hl-brackets">){
</span><span class="hl-reserved">return </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">hasClass</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-identifier">className</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Replaces a CSS class on the element with another.
* @param {String} oldClassName The CSS class to replace
* @param {String} newClassName The replacement CSS class
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">replaceClass</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">oldClassName</span><span class="hl-code">, </span><span class="hl-identifier">newClassName</span><span class="hl-brackets">){
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">replaceClass</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-identifier">oldClassName</span><span class="hl-code">, </span><span class="hl-identifier">newClassName</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Normalizes currentStyle and ComputedStyle.
* @param {String} property The style property whose value is returned.
* @return {String} The current value of the style property for this element.
*/
</span><span class="hl-identifier">getStyle</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">name</span><span class="hl-brackets">){
</span><span class="hl-reserved">return </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-identifier">name</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Wrapper for setting style properties, also takes single object parameter of multiple styles
* @param {String/Object} property The style property to be set or an object of multiple styles.
* @param {String} val (optional) The value to apply to the given property or null if an object was passed.
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">setStyle</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">name</span><span class="hl-code">, </span><span class="hl-identifier">value</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">typeof </span><span class="hl-identifier">name</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">string</span><span class="hl-quotes">'</span><span class="hl-brackets">){
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-identifier">name</span><span class="hl-code">, </span><span class="hl-identifier">value</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-reserved">var </span><span class="hl-identifier">D</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">;
</span><span class="hl-reserved">for</span><span class="hl-brackets">(</span><span class="hl-reserved">var </span><span class="hl-identifier">style </span><span class="hl-reserved">in </span><span class="hl-identifier">name</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">typeof </span><span class="hl-identifier">name</span><span class="hl-brackets">[</span><span class="hl-identifier">style</span><span class="hl-brackets">]</span><span class="hl-code"> != </span><span class="hl-quotes">'</span><span class="hl-string">function</span><span class="hl-quotes">'</span><span class="hl-brackets">){
</span><span class="hl-identifier">D</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-identifier">style</span><span class="hl-code">, </span><span class="hl-identifier">name</span><span class="hl-brackets">[</span><span class="hl-identifier">style</span><span class="hl-brackets">])</span><span class="hl-code">;
</span><span class="hl-brackets">}
}
}
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* More flexible version of {@link #setStyle} for setting style properties.
* @param {String/Object/Function} styles A style specification string eg &quot;width:100px&quot;, or object in the form {width:&quot;100px&quot;}, or
* a function which returns such a specification.
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">applyStyles</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">style</span><span class="hl-brackets">){
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">DomHelper</span><span class="hl-code">.</span><span class="hl-identifier">applyStyles</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-identifier">style</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Gets the current X position of the element based on page coordinates. Element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
@ return {Number} The X position of the element
*/
</span><span class="hl-identifier">getX</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">return </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">getX</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Gets the current Y position of the element based on page coordinates. Element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
@ return {Number} The Y position of the element
*/
</span><span class="hl-identifier">getY</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">return </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">getY</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Gets the current position of the element based on page coordinates. Element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
@ return {Array} The XY position of the element
*/
</span><span class="hl-identifier">getXY</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">return </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">getXY</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Sets the X position of the element based on page coordinates. Element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
@param {Number} The X position of the element
* @param {&lt;i&gt;Boolean&lt;/i&gt;} animate (optional) Animate the transition (Default is false)
* @param {&lt;i&gt;float&lt;/i&gt;} duration (optional) How long the animation lasts. (Defaults to .35 seconds)
* @param {&lt;i&gt;Function&lt;/i&gt;} onComplete (optional) Function to call when animation completes.
* @param {&lt;i&gt;Function&lt;/i&gt;} easing (optional) YAHOO.util.Easing method to use. (Defaults to YAHOO.util.Easing.easeBoth)
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">setX</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">x</span><span class="hl-code">, </span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">animate</span><span class="hl-code"> || !</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Anim</span><span class="hl-brackets">){
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">setX</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-identifier">x</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setXY</span><span class="hl-brackets">([</span><span class="hl-identifier">x</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getY</span><span class="hl-brackets">()]</span><span class="hl-code">, </span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Sets the Y position of the element based on page coordinates. Element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
@param {Number} The Y position of the element
* @param {&lt;i&gt;Boolean&lt;/i&gt;} animate (optional) Animate the transition (Default is false)
* @param {&lt;i&gt;float&lt;/i&gt;} duration (optional) How long the animation lasts. (Defaults to .35 seconds)
* @param {&lt;i&gt;Function&lt;/i&gt;} onComplete (optional) Function to call when animation completes.
* @param {&lt;i&gt;Function&lt;/i&gt;} easing (optional) YAHOO.util.Easing method to use. (Defaults to YAHOO.util.Easing.easeBoth)
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">setY</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">y</span><span class="hl-code">, </span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">animate</span><span class="hl-code"> || !</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Anim</span><span class="hl-brackets">){
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">setY</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-identifier">y</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setXY</span><span class="hl-brackets">([</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getX</span><span class="hl-brackets">()</span><span class="hl-code">, </span><span class="hl-identifier">y</span><span class="hl-brackets">]</span><span class="hl-code">, </span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Set the element's left position directly using CSS style (instead of setX())
* @param {String} left The left CSS property value
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">setLeft</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">left</span><span class="hl-brackets">){
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">left</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">addUnits</span><span class="hl-brackets">(</span><span class="hl-identifier">left</span><span class="hl-brackets">))</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Set the element's top position directly using CSS style (instead of setY())
* @param {String} top The top CSS property value
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">setTop</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">top</span><span class="hl-brackets">){
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">top</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">addUnits</span><span class="hl-brackets">(</span><span class="hl-identifier">top</span><span class="hl-brackets">))</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Set the element's css right style
* @param {String} right The right CSS property value
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">setRight</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">right</span><span class="hl-brackets">){
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">right</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">addUnits</span><span class="hl-brackets">(</span><span class="hl-identifier">right</span><span class="hl-brackets">))</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Set the element's css bottom style
* @param {String} bottom The bottom CSS property value
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">setBottom</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">bottom</span><span class="hl-brackets">){
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">bottom</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">addUnits</span><span class="hl-brackets">(</span><span class="hl-identifier">bottom</span><span class="hl-brackets">))</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Set the position of the element in page coordinates, regardless of how the element is positioned.
* The element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
* @param {Array} pos Contains X &amp; Y [x, y] values for new position (coordinates are page-based)
* @param {&lt;i&gt;Boolean&lt;/i&gt;} animate (optional) Animate the transition (Default is false)
* @param {&lt;i&gt;float&lt;/i&gt;} duration (optional) How long the animation lasts. (Defaults to .35 seconds)
* @param {&lt;i&gt;Function&lt;/i&gt;} onComplete (optional) Function to call when animation completes.
* @param {&lt;i&gt;Function&lt;/i&gt;} easing (optional) YAHOO.util.Easing method to use. (Defaults to YAHOO.util.Easing.easeBoth)
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">setXY</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">pos</span><span class="hl-code">, </span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">animate</span><span class="hl-code"> || !</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Anim</span><span class="hl-brackets">){
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">setXY</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-identifier">pos</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">anim</span><span class="hl-brackets">({</span><span class="hl-identifier">points</span><span class="hl-code">: </span><span class="hl-brackets">{</span><span class="hl-identifier">to</span><span class="hl-code">: </span><span class="hl-identifier">pos</span><span class="hl-brackets">}}</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-code">, </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Motion</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Set the position of the element in page coordinates, regardless of how the element is positioned.
* The element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
* @param {Number} x X value for new position (coordinates are page-based)
* @param {Number} y Y value for new position (coordinates are page-based)
* @param {&lt;i&gt;Boolean&lt;/i&gt;} animate (optional) Animate the transition (Default is false)
* @param {&lt;i&gt;float&lt;/i&gt;} duration (optional) How long the animation lasts. (Defaults to .35 seconds)
* @param {&lt;i&gt;Function&lt;/i&gt;} onComplete (optional) Function to call when animation completes.
* @param {&lt;i&gt;Function&lt;/i&gt;} easing (optional) YAHOO.util.Easing method to use. (Defaults to YAHOO.util.Easing.easeBoth)
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">setLocation</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">x</span><span class="hl-code">, </span><span class="hl-identifier">y</span><span class="hl-code">, </span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setXY</span><span class="hl-brackets">([</span><span class="hl-identifier">x</span><span class="hl-code">, </span><span class="hl-identifier">y</span><span class="hl-brackets">]</span><span class="hl-code">, </span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Set the position of the element in page coordinates, regardless of how the element is positioned.
* The element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
* @param {Number} x X value for new position (coordinates are page-based)
* @param {Number} y Y value for new position (coordinates are page-based)
* @param {&lt;i&gt;Boolean&lt;/i&gt;} animate (optional) Animate the transition (Default is false)
* @param {&lt;i&gt;float&lt;/i&gt;} duration (optional) How long the animation lasts. (Defaults to .35 seconds)
* @param {&lt;i&gt;Function&lt;/i&gt;} onComplete (optional) Function to call when animation completes.
* @param {&lt;i&gt;Function&lt;/i&gt;} easing (optional) YAHOO.util.Easing method to use. (Defaults to YAHOO.util.Easing.easeBoth)
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">moveTo</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">x</span><span class="hl-code">, </span><span class="hl-identifier">y</span><span class="hl-code">, </span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">){
</span><span class="hl-comment">//YAHOO.util.Dom.setStyle(this.dom, 'left', this.addUnits(x));
//YAHOO.util.Dom.setStyle(this.dom, 'top', this.addUnits(y));
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setXY</span><span class="hl-brackets">([</span><span class="hl-identifier">x</span><span class="hl-code">, </span><span class="hl-identifier">y</span><span class="hl-brackets">]</span><span class="hl-code">, </span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Returns the region of the given element.
* The element must be part of the DOM tree to have a region (display:none or elements not appended return false).
* @return {Region} A YAHOO.util.Region containing &quot;top, left, bottom, right&quot; member data.
*/
</span><span class="hl-identifier">getRegion</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">return </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">getRegion</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Returns the offset height of the element
* @param {Boolean} contentHeight (optional) true to get the height minus borders and padding
* @return {Number} The element's height
*/
</span><span class="hl-identifier">getHeight</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">contentHeight</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">h</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">offsetHeight</span><span class="hl-code">;
</span><span class="hl-reserved">return </span><span class="hl-identifier">contentHeight</span><span class="hl-code"> !== </span><span class="hl-reserved">true</span><span class="hl-code"> ? </span><span class="hl-identifier">h</span><span class="hl-code"> : </span><span class="hl-identifier">h</span><span class="hl-code">-</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getBorderWidth</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">tb</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">-</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getPadding</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">tb</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Returns the offset width of the element
* @param {Boolean} contentWidth (optional) true to get the width minus borders and padding
* @return {Number} The element's width
*/
</span><span class="hl-identifier">getWidth</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">contentWidth</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">w</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">offsetWidth</span><span class="hl-code">;
</span><span class="hl-reserved">return </span><span class="hl-identifier">contentWidth</span><span class="hl-code"> !== </span><span class="hl-reserved">true</span><span class="hl-code"> ? </span><span class="hl-identifier">w</span><span class="hl-code"> : </span><span class="hl-identifier">w</span><span class="hl-code">-</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getBorderWidth</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">lr</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">-</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getPadding</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">lr</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Returns the size of the element
* @param {Boolean} contentSize (optional) true to get the width/size minus borders and padding
* @return {Object} An object containing the element's size {width: (element width), height: (element height)}
*/
</span><span class="hl-identifier">getSize</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">contentSize</span><span class="hl-brackets">){
</span><span class="hl-reserved">return </span><span class="hl-brackets">{</span><span class="hl-identifier">width</span><span class="hl-code">: </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getWidth</span><span class="hl-brackets">(</span><span class="hl-identifier">contentSize</span><span class="hl-brackets">)</span><span class="hl-code">, </span><span class="hl-identifier">height</span><span class="hl-code">: </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getHeight</span><span class="hl-brackets">(</span><span class="hl-identifier">contentSize</span><span class="hl-brackets">)}</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/** @private */
</span><span class="hl-identifier">adjustWidth</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">width</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">typeof </span><span class="hl-identifier">width</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">number</span><span class="hl-quotes">'</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">autoBoxAdjust</span><span class="hl-code"> &amp;&amp; !</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">isBorderBox</span><span class="hl-brackets">()){
</span><span class="hl-identifier">width</span><span class="hl-code"> -= </span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getBorderWidth</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">lr</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code"> + </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getPadding</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">lr</span><span class="hl-quotes">'</span><span class="hl-brackets">))</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">width</span><span class="hl-code"> &lt; </span><span class="hl-number">0</span><span class="hl-brackets">){
</span><span class="hl-identifier">width</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;
</span><span class="hl-brackets">}
}
</span><span class="hl-reserved">return </span><span class="hl-identifier">width</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/** @private */
</span><span class="hl-identifier">adjustHeight</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">height</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">typeof </span><span class="hl-identifier">height</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">number</span><span class="hl-quotes">'</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">autoBoxAdjust</span><span class="hl-code"> &amp;&amp; !</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">isBorderBox</span><span class="hl-brackets">()){
</span><span class="hl-identifier">height</span><span class="hl-code"> -= </span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getBorderWidth</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">tb</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code"> + </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getPadding</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">tb</span><span class="hl-quotes">'</span><span class="hl-brackets">))</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">height</span><span class="hl-code"> &lt; </span><span class="hl-number">0</span><span class="hl-brackets">){
</span><span class="hl-identifier">height</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;
</span><span class="hl-brackets">}
}
</span><span class="hl-reserved">return </span><span class="hl-identifier">height</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Set the width of the element
* @param {Number} width The new width
* @param {&lt;i&gt;Boolean&lt;/i&gt;} animate (optional) Animate the transition (Default is false)
* @param {&lt;i&gt;float&lt;/i&gt;} duration (optional) How long the animation lasts. (Defaults to .35 seconds)
* @param {&lt;i&gt;Function&lt;/i&gt;} onComplete (optional) Function to call when animation completes.
* @param {&lt;i&gt;Function&lt;/i&gt;} easing (optional) YAHOO.util.Easing method to use. (Defaults to YAHOO.util.Easing.easeOut if width is larger or YAHOO.util.Easing.easeIn if it is smaller)
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">setWidth</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">width</span><span class="hl-code">, </span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">){
</span><span class="hl-identifier">width</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">adjustWidth</span><span class="hl-brackets">(</span><span class="hl-identifier">width</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">animate</span><span class="hl-code"> || !</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Anim</span><span class="hl-brackets">){
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">width</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">addUnits</span><span class="hl-brackets">(</span><span class="hl-identifier">width</span><span class="hl-brackets">))</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">anim</span><span class="hl-brackets">({</span><span class="hl-identifier">width</span><span class="hl-code">: </span><span class="hl-brackets">{</span><span class="hl-identifier">to</span><span class="hl-code">: </span><span class="hl-identifier">width</span><span class="hl-brackets">}}</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">,
</span><span class="hl-identifier">easing</span><span class="hl-code"> || </span><span class="hl-brackets">(</span><span class="hl-identifier">width</span><span class="hl-code"> &gt; </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getWidth</span><span class="hl-brackets">()</span><span class="hl-code"> ? </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Easing</span><span class="hl-code">.</span><span class="hl-identifier">easeOut</span><span class="hl-code"> : </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Easing</span><span class="hl-code">.</span><span class="hl-identifier">easeIn</span><span class="hl-brackets">))</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Set the height of the element
* @param {Number} height The new height
* @param {&lt;i&gt;Boolean&lt;/i&gt;} animate (optional) Animate the transition (Default is false)
* @param {&lt;i&gt;float&lt;/i&gt;} duration (optional) How long the animation lasts. (Defaults to .35 seconds)
* @param {&lt;i&gt;Function&lt;/i&gt;} onComplete (optional) Function to call when animation completes.
* @param {&lt;i&gt;Function&lt;/i&gt;} easing (optional) YAHOO.util.Easing method to use. (Defaults to YAHOO.util.Easing.easeOut if height is larger or YAHOO.util.Easing.easeIn if it is smaller)
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">setHeight</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">height</span><span class="hl-code">, </span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">){
</span><span class="hl-identifier">height</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">adjustHeight</span><span class="hl-brackets">(</span><span class="hl-identifier">height</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">animate</span><span class="hl-code"> || !</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Anim</span><span class="hl-brackets">){
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">height</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">addUnits</span><span class="hl-brackets">(</span><span class="hl-identifier">height</span><span class="hl-brackets">))</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">anim</span><span class="hl-brackets">({</span><span class="hl-identifier">height</span><span class="hl-code">: </span><span class="hl-brackets">{</span><span class="hl-identifier">to</span><span class="hl-code">: </span><span class="hl-identifier">height</span><span class="hl-brackets">}}</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">,
</span><span class="hl-identifier">easing</span><span class="hl-code"> || </span><span class="hl-brackets">(</span><span class="hl-identifier">height</span><span class="hl-code"> &gt; </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getHeight</span><span class="hl-brackets">()</span><span class="hl-code"> ? </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Easing</span><span class="hl-code">.</span><span class="hl-identifier">easeOut</span><span class="hl-code"> : </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Easing</span><span class="hl-code">.</span><span class="hl-identifier">easeIn</span><span class="hl-brackets">))</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Set the size of the element. If animation is true, both width an height will be animated concurrently.
* @param {Number} width The new width
* @param {Number} height The new height
* @param {&lt;i&gt;Boolean&lt;/i&gt;} animate (optional) Animate the transition (Default is false)
* @param {&lt;i&gt;float&lt;/i&gt;} duration (optional) How long the animation lasts. (Defaults to .35 seconds)
* @param {&lt;i&gt;Function&lt;/i&gt;} onComplete (optional) Function to call when animation completes.
* @param {&lt;i&gt;Function&lt;/i&gt;} easing (optional) YAHOO.util.Easing method to use. (Defaults to YAHOO.util.Easing.easeBoth)
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">setSize</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">width</span><span class="hl-code">, </span><span class="hl-identifier">height</span><span class="hl-code">, </span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">animate</span><span class="hl-code"> || !</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Anim</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setWidth</span><span class="hl-brackets">(</span><span class="hl-identifier">width</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setHeight</span><span class="hl-brackets">(</span><span class="hl-identifier">height</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-identifier">width</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">adjustWidth</span><span class="hl-brackets">(</span><span class="hl-identifier">width</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">height</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">adjustHeight</span><span class="hl-brackets">(</span><span class="hl-identifier">height</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">anim</span><span class="hl-brackets">({</span><span class="hl-identifier">width</span><span class="hl-code">: </span><span class="hl-brackets">{</span><span class="hl-identifier">to</span><span class="hl-code">: </span><span class="hl-identifier">width</span><span class="hl-brackets">}</span><span class="hl-code">, </span><span class="hl-identifier">height</span><span class="hl-code">: </span><span class="hl-brackets">{</span><span class="hl-identifier">to</span><span class="hl-code">: </span><span class="hl-identifier">height</span><span class="hl-brackets">}}</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Sets the element's position and size in one shot. If animation is true then width, height, x and y will be animated concurrently.
* @param {Number} x X value for new position (coordinates are page-based)
* @param {Number} y Y value for new position (coordinates are page-based)
* @param {Number} width The new width
* @param {Number} height The new height
* @param {&lt;i&gt;Boolean&lt;/i&gt;} animate (optional) Animate the transition (Default is false)
* @param {&lt;i&gt;float&lt;/i&gt;} duration (optional) How long the animation lasts. (Defaults to .35 seconds)
* @param {&lt;i&gt;Function&lt;/i&gt;} onComplete (optional) Function to call when animation completes.
* @param {&lt;i&gt;Function&lt;/i&gt;} easing (optional) YAHOO.util.Easing method to use. (Defaults to YAHOO.util.Easing.easeBoth)
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">setBounds</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">x</span><span class="hl-code">, </span><span class="hl-identifier">y</span><span class="hl-code">, </span><span class="hl-identifier">width</span><span class="hl-code">, </span><span class="hl-identifier">height</span><span class="hl-code">, </span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">animate</span><span class="hl-code"> || !</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Anim</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setWidth</span><span class="hl-brackets">(</span><span class="hl-identifier">width</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setHeight</span><span class="hl-brackets">(</span><span class="hl-identifier">height</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setLocation</span><span class="hl-brackets">(</span><span class="hl-identifier">x</span><span class="hl-code">, </span><span class="hl-identifier">y</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-identifier">width</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">adjustWidth</span><span class="hl-brackets">(</span><span class="hl-identifier">width</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">height</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">adjustHeight</span><span class="hl-brackets">(</span><span class="hl-identifier">height</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">anim</span><span class="hl-brackets">({</span><span class="hl-identifier">points</span><span class="hl-code">: </span><span class="hl-brackets">{</span><span class="hl-identifier">to</span><span class="hl-code">: </span><span class="hl-brackets">[</span><span class="hl-identifier">x</span><span class="hl-code">, </span><span class="hl-identifier">y</span><span class="hl-brackets">]}</span><span class="hl-code">, </span><span class="hl-identifier">width</span><span class="hl-code">: </span><span class="hl-brackets">{</span><span class="hl-identifier">to</span><span class="hl-code">: </span><span class="hl-identifier">width</span><span class="hl-brackets">}</span><span class="hl-code">, </span><span class="hl-identifier">height</span><span class="hl-code">: </span><span class="hl-brackets">{</span><span class="hl-identifier">to</span><span class="hl-code">: </span><span class="hl-identifier">height</span><span class="hl-brackets">}}</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-code">, </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Motion</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Sets the element's position and size the the specified region. If animation is true then width, height, x and y will be animated concurrently.
* @param {YAHOO.util.Region} region The region to fill
* @param {&lt;i&gt;Boolean&lt;/i&gt;} animate (optional) Animate the transition (Default is false)
* @param {&lt;i&gt;float&lt;/i&gt;} duration (optional) How long the animation lasts. (Defaults to .35 seconds)
* @param {&lt;i&gt;Function&lt;/i&gt;} onComplete (optional) Function to call when animation completes.
* @param {&lt;i&gt;Function&lt;/i&gt;} easing (optional) YAHOO.util.Easing method to use. (Defaults to YAHOO.util.Easing.easeBoth)
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">setRegion</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">region</span><span class="hl-code">, </span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setBounds</span><span class="hl-brackets">(</span><span class="hl-identifier">region</span><span class="hl-code">.</span><span class="hl-identifier">left</span><span class="hl-code">, </span><span class="hl-identifier">region</span><span class="hl-code">.</span><span class="hl-identifier">top</span><span class="hl-code">, </span><span class="hl-identifier">region</span><span class="hl-code">.</span><span class="hl-identifier">right</span><span class="hl-code">-</span><span class="hl-identifier">region</span><span class="hl-code">.</span><span class="hl-identifier">left</span><span class="hl-code">, </span><span class="hl-identifier">region</span><span class="hl-code">.</span><span class="hl-identifier">bottom</span><span class="hl-code">-</span><span class="hl-identifier">region</span><span class="hl-code">.</span><span class="hl-identifier">top</span><span class="hl-code">, </span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Appends an event handler to this element
* @param {String} eventName The type of event to listen for
* @param {Function} handler The method the event invokes
* @param {&lt;i&gt;Object&lt;/i&gt;} scope (optional) An arbitrary object that will be
* passed as a parameter to the handler
* @param {&lt;i&gt;boolean&lt;/i&gt;} override (optional) If true, the obj passed in becomes
* the execution scope of the listener
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">addListener</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">eventName</span><span class="hl-code">, </span><span class="hl-identifier">handler</span><span class="hl-code">, </span><span class="hl-identifier">scope</span><span class="hl-code">, </span><span class="hl-identifier">override</span><span class="hl-brackets">){
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Event</span><span class="hl-code">.</span><span class="hl-identifier">addListener</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-identifier">eventName</span><span class="hl-code">, </span><span class="hl-identifier">handler</span><span class="hl-code">, </span><span class="hl-identifier">scope</span><span class="hl-code"> || </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Appends an event handler to this element. The difference between this function and addListener is this
* function prevents the default action, and if set stops propagation (bubbling) as well
* @param {String} eventName The type of event to listen for
* @param {Boolean} stopPropagation Whether to also stopPropagation (bubbling)
* @param {Function} handler The method the event invokes
* @param {&lt;i&gt;Object&lt;/i&gt;} scope (optional) An arbitrary object that will be
* passed as a parameter to the handler
* @param {&lt;i&gt;boolean&lt;/i&gt;} override (optional) If true, the obj passed in becomes
* the execution scope of the listener
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">addHandler</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">eventName</span><span class="hl-code">, </span><span class="hl-identifier">stopPropagation</span><span class="hl-code">, </span><span class="hl-identifier">handler</span><span class="hl-code">, </span><span class="hl-identifier">scope</span><span class="hl-code">, </span><span class="hl-identifier">override</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">fn</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">Element</span><span class="hl-code">.</span><span class="hl-identifier">createStopHandler</span><span class="hl-brackets">(</span><span class="hl-identifier">stopPropagation</span><span class="hl-code">, </span><span class="hl-identifier">handler</span><span class="hl-code">, </span><span class="hl-identifier">scope</span><span class="hl-code"> || </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Event</span><span class="hl-code">.</span><span class="hl-identifier">addListener</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-identifier">eventName</span><span class="hl-code">, </span><span class="hl-identifier">fn</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Appends an event handler to this element (Same as addListener)
* @param {String} eventName The type of event to listen for
* @param {Function} handler The method the event invokes
* @param {&lt;i&gt;Object&lt;/i&gt;} scope (optional) An arbitrary object that will be
* passed as a parameter to the handler
* @param {&lt;i&gt;boolean&lt;/i&gt;} override (optional) If true, the obj passed in becomes
* the execution scope of the listener
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">on</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">eventName</span><span class="hl-code">, </span><span class="hl-identifier">handler</span><span class="hl-code">, </span><span class="hl-identifier">scope</span><span class="hl-code">, </span><span class="hl-identifier">override</span><span class="hl-brackets">){
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Event</span><span class="hl-code">.</span><span class="hl-identifier">addListener</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-identifier">eventName</span><span class="hl-code">, </span><span class="hl-identifier">handler</span><span class="hl-code">, </span><span class="hl-identifier">scope</span><span class="hl-code"> || </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Append a managed listener - See {@link YAHOO.ext.EventObject} for more details. Use mon() for a shorter version.
* @param {String} eventName The type of event to listen for
* @param {Function} fn The method the event invokes
* @param {&lt;i&gt;Object&lt;/i&gt;} scope (optional) An arbitrary object that will be
* passed as a parameter to the handler
* @param {&lt;i&gt;boolean&lt;/i&gt;} override (optional) If true, the obj passed in becomes
* the execution scope of the listener
* @return {Function} The EventManager wrapped function that can be used to remove the listener
*/
</span><span class="hl-identifier">addManagedListener</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">eventName</span><span class="hl-code">, </span><span class="hl-identifier">fn</span><span class="hl-code">, </span><span class="hl-identifier">scope</span><span class="hl-code">, </span><span class="hl-identifier">override</span><span class="hl-brackets">){
</span><span class="hl-reserved">return </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">EventManager</span><span class="hl-code">.</span><span class="hl-identifier">on</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-identifier">eventName</span><span class="hl-code">, </span><span class="hl-identifier">fn</span><span class="hl-code">, </span><span class="hl-identifier">scope</span><span class="hl-code"> || </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Append a managed listener (shorthanded for {@link #addManagedListener})
* @param {String} eventName The type of event to listen for
* @param {Function} fn The method the event invokes
* @param {&lt;i&gt;Object&lt;/i&gt;} scope (optional) An arbitrary object that will be
* passed as a parameter to the handler
* @param {&lt;i&gt;boolean&lt;/i&gt;} override (optional) If true, the obj passed in becomes
* the execution scope of the listener
* @return {Function} The EventManager wrapped function that can be used to remove the listener
*/
</span><span class="hl-identifier">mon</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">eventName</span><span class="hl-code">, </span><span class="hl-identifier">fn</span><span class="hl-code">, </span><span class="hl-identifier">scope</span><span class="hl-code">, </span><span class="hl-identifier">override</span><span class="hl-brackets">){
</span><span class="hl-reserved">return </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">EventManager</span><span class="hl-code">.</span><span class="hl-identifier">on</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-identifier">eventName</span><span class="hl-code">, </span><span class="hl-identifier">fn</span><span class="hl-code">, </span><span class="hl-identifier">scope</span><span class="hl-code"> || </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Removes an event handler from this element
* @param {String} sType the type of event to remove
* @param {Function} fn the method the event invokes
* @param {Object} scope
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">removeListener</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">eventName</span><span class="hl-code">, </span><span class="hl-identifier">handler</span><span class="hl-code">, </span><span class="hl-identifier">scope</span><span class="hl-brackets">){
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Event</span><span class="hl-code">.</span><span class="hl-identifier">removeListener</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-identifier">eventName</span><span class="hl-code">, </span><span class="hl-identifier">handler</span><span class="hl-code">, </span><span class="hl-identifier">scope</span><span class="hl-code"> || </span><span class="hl-reserved">this</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Removes all previous added listeners from this element
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">removeAllListeners</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Event</span><span class="hl-code">.</span><span class="hl-identifier">purgeElement</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Set the opacity of the element
* @param {Float} opacity The new opacity. 0 = transparent, .5 = 50% visibile, 1 = fully visible, etc
* @param {&lt;i&gt;Boolean&lt;/i&gt;} animate (optional) Animate (fade) the transition (Default is false)
* @param {&lt;i&gt;Float&lt;/i&gt;} duration (optional) How long the animation lasts. (Defaults to .35 seconds)
* @param {&lt;i&gt;Function&lt;/i&gt;} onComplete (optional) Function to call when animation completes.
* @param {&lt;i&gt;Function&lt;/i&gt;} easing (optional) YAHOO.util.Easing method to use. (Defaults to YAHOO.util.Easing.easeOut if height is larger or YAHOO.util.Easing.easeIn if it is smaller)
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">setOpacity</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">opacity</span><span class="hl-code">, </span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">animate</span><span class="hl-code"> || !</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Anim</span><span class="hl-brackets">){
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">opacity</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">opacity</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">anim</span><span class="hl-brackets">({</span><span class="hl-identifier">opacity</span><span class="hl-code">: </span><span class="hl-brackets">{</span><span class="hl-identifier">to</span><span class="hl-code">: </span><span class="hl-identifier">opacity</span><span class="hl-brackets">}}</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Gets the left X coordinate
* @param {Boolean} local True to get the local css position instead of page coordinate
* @return {Number}
*/
</span><span class="hl-identifier">getLeft</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">local</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">local</span><span class="hl-brackets">){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">getX</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-reserved">return </span><span class="hl-identifier">parseInt</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">left</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">, </span><span class="hl-number">10</span><span class="hl-brackets">)</span><span class="hl-code"> || </span><span class="hl-number">0</span><span class="hl-code">;
</span><span class="hl-brackets">}
}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Gets the right X coordinate of the element (element X position + element width)
* @param {Boolean} local True to get the local css position instead of page coordinate
* @return {Number}
*/
</span><span class="hl-identifier">getRight</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">local</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">local</span><span class="hl-brackets">){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">getX</span><span class="hl-brackets">()</span><span class="hl-code"> + </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getWidth</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-reserved">return </span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getLeft</span><span class="hl-brackets">(</span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code"> + </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getWidth</span><span class="hl-brackets">())</span><span class="hl-code"> || </span><span class="hl-number">0</span><span class="hl-code">;
</span><span class="hl-brackets">}
}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Gets the top Y coordinate
* @param {Boolean} local True to get the local css position instead of page coordinate
* @return {Number}
*/
</span><span class="hl-identifier">getTop</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">local</span><span class="hl-brackets">) {
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">local</span><span class="hl-brackets">){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">getY</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-reserved">return </span><span class="hl-identifier">parseInt</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">top</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">, </span><span class="hl-number">10</span><span class="hl-brackets">)</span><span class="hl-code"> || </span><span class="hl-number">0</span><span class="hl-code">;
</span><span class="hl-brackets">}
}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Gets the bottom Y coordinate of the element (element Y position + element height)
* @param {Boolean} local True to get the local css position instead of page coordinate
* @return {Number}
*/
</span><span class="hl-identifier">getBottom</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">local</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">local</span><span class="hl-brackets">){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">getY</span><span class="hl-brackets">()</span><span class="hl-code"> + </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getHeight</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-reserved">return </span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getTop</span><span class="hl-brackets">(</span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code"> + </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getHeight</span><span class="hl-brackets">())</span><span class="hl-code"> || </span><span class="hl-number">0</span><span class="hl-code">;
</span><span class="hl-brackets">}
}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Set the element as absolute positioned with the specified z-index
* @param {&lt;i&gt;Number&lt;/i&gt;} zIndex (optional)
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">setAbsolutePositioned</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">zIndex</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">position</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">absolute</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">zIndex</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">z-index</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">zIndex</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Set the element as relative positioned with the specified z-index
* @param {&lt;i&gt;Number&lt;/i&gt;} zIndex (optional)
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">setRelativePositioned</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">zIndex</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">position</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">relative</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">zIndex</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">z-index</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">zIndex</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Clear positioning back to the default when the document was loaded
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">clearPositioning</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">position</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-quotes">''</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">left</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-quotes">''</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">right</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-quotes">''</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">top</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-quotes">''</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">bottom</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-quotes">''</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Gets an object with all CSS positioning properties. Useful along with setPostioning to get
* snapshot before performing an update and then restoring the element.
* @return {Object}
*/
</span><span class="hl-identifier">getPositioning</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">return </span><span class="hl-brackets">{
</span><span class="hl-quotes">'</span><span class="hl-string">position</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">position</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-quotes">'</span><span class="hl-string">left</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">left</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-quotes">'</span><span class="hl-string">right</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">right</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-quotes">'</span><span class="hl-string">top</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">top</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-quotes">'</span><span class="hl-string">bottom</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">bottom</span><span class="hl-quotes">'</span><span class="hl-brackets">)
}</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Gets the width of the border(s) for the specified side(s)
* @param {String} side Can be t, l, r, b or any combination of those to add multiple values. For example,
* passing lr would get the border (l)eft width + the border (r)ight width.
* @return {Number} The width of the sides passed added together
*/
</span><span class="hl-identifier">getBorderWidth</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">side</span><span class="hl-brackets">){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">addStyles</span><span class="hl-brackets">(</span><span class="hl-identifier">side</span><span class="hl-code">, </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">Element</span><span class="hl-code">.</span><span class="hl-identifier">borders</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Gets the width of the padding(s) for the specified side(s)
* @param {String} side Can be t, l, r, b or any combination of those to add multiple values. For example,
* passing lr would get the padding (l)eft + the padding (r)ight.
* @return {Number} The padding of the sides passed added together
*/
</span><span class="hl-identifier">getPadding</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">side</span><span class="hl-brackets">){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">addStyles</span><span class="hl-brackets">(</span><span class="hl-identifier">side</span><span class="hl-code">, </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">Element</span><span class="hl-code">.</span><span class="hl-identifier">paddings</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Set positioning with an object returned by getPositioning().
* @param {Object} posCfg
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">setPositioning</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">positionCfg</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">positionCfg</span><span class="hl-code">.</span><span class="hl-identifier">position</span><span class="hl-brackets">)</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">position</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">positionCfg</span><span class="hl-code">.</span><span class="hl-identifier">position</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">positionCfg</span><span class="hl-code">.</span><span class="hl-identifier">left</span><span class="hl-brackets">)</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setLeft</span><span class="hl-brackets">(</span><span class="hl-identifier">positionCfg</span><span class="hl-code">.</span><span class="hl-identifier">left</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">positionCfg</span><span class="hl-code">.</span><span class="hl-identifier">right</span><span class="hl-brackets">)</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setRight</span><span class="hl-brackets">(</span><span class="hl-identifier">positionCfg</span><span class="hl-code">.</span><span class="hl-identifier">right</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">positionCfg</span><span class="hl-code">.</span><span class="hl-identifier">top</span><span class="hl-brackets">)</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setTop</span><span class="hl-brackets">(</span><span class="hl-identifier">positionCfg</span><span class="hl-code">.</span><span class="hl-identifier">top</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">positionCfg</span><span class="hl-code">.</span><span class="hl-identifier">bottom</span><span class="hl-brackets">)</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setBottom</span><span class="hl-brackets">(</span><span class="hl-identifier">positionCfg</span><span class="hl-code">.</span><span class="hl-identifier">bottom</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Quick set left and top adding default units
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">setLeftTop</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">left</span><span class="hl-code">, </span><span class="hl-identifier">top</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">style</span><span class="hl-code">.</span><span class="hl-identifier">left</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">addUnits</span><span class="hl-brackets">(</span><span class="hl-identifier">left</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">style</span><span class="hl-code">.</span><span class="hl-identifier">top</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">addUnits</span><span class="hl-brackets">(</span><span class="hl-identifier">top</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Move this element relative to it's current position.
* @param {String} direction Possible values are: 'l','left' - 'r','right' - 't','top','up' - 'b','bottom','down'.
* @param {Number} distance How far to move the element in pixels
* @param {&lt;i&gt;Boolean&lt;/i&gt;} animate (optional) Animate the movement (Default is false)
* @param {&lt;i&gt;Float&lt;/i&gt;} duration (optional) How long the animation lasts. (Defaults to .35 seconds)
* @param {&lt;i&gt;Function&lt;/i&gt;} onComplete (optional) Function to call when animation completes.
* @param {&lt;i&gt;Function&lt;/i&gt;} easing (optional) YAHOO.util.Easing method to use.
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">move</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">direction</span><span class="hl-code">, </span><span class="hl-identifier">distance</span><span class="hl-code">, </span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">xy</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getXY</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-identifier">direction</span><span class="hl-code"> = </span><span class="hl-identifier">direction</span><span class="hl-code">.</span><span class="hl-identifier">toLowerCase</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">switch</span><span class="hl-brackets">(</span><span class="hl-identifier">direction</span><span class="hl-brackets">){
</span><span class="hl-reserved">case </span><span class="hl-quotes">'</span><span class="hl-string">l</span><span class="hl-quotes">'</span><span class="hl-code">:
</span><span class="hl-reserved">case </span><span class="hl-quotes">'</span><span class="hl-string">left</span><span class="hl-quotes">'</span><span class="hl-code">:
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">moveTo</span><span class="hl-brackets">(</span><span class="hl-identifier">xy</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">-</span><span class="hl-identifier">distance</span><span class="hl-code">, </span><span class="hl-identifier">xy</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code">, </span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">break</span><span class="hl-code">;
</span><span class="hl-reserved">case </span><span class="hl-quotes">'</span><span class="hl-string">r</span><span class="hl-quotes">'</span><span class="hl-code">:
</span><span class="hl-reserved">case </span><span class="hl-quotes">'</span><span class="hl-string">right</span><span class="hl-quotes">'</span><span class="hl-code">:
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">moveTo</span><span class="hl-brackets">(</span><span class="hl-identifier">xy</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">+</span><span class="hl-identifier">distance</span><span class="hl-code">, </span><span class="hl-identifier">xy</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code">, </span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">break</span><span class="hl-code">;
</span><span class="hl-reserved">case </span><span class="hl-quotes">'</span><span class="hl-string">t</span><span class="hl-quotes">'</span><span class="hl-code">:
</span><span class="hl-reserved">case </span><span class="hl-quotes">'</span><span class="hl-string">top</span><span class="hl-quotes">'</span><span class="hl-code">:
</span><span class="hl-reserved">case </span><span class="hl-quotes">'</span><span class="hl-string">up</span><span class="hl-quotes">'</span><span class="hl-code">:
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">moveTo</span><span class="hl-brackets">(</span><span class="hl-identifier">xy</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">, </span><span class="hl-identifier">xy</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code">-</span><span class="hl-identifier">distance</span><span class="hl-code">, </span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">break</span><span class="hl-code">;
</span><span class="hl-reserved">case </span><span class="hl-quotes">'</span><span class="hl-string">b</span><span class="hl-quotes">'</span><span class="hl-code">:
</span><span class="hl-reserved">case </span><span class="hl-quotes">'</span><span class="hl-string">bottom</span><span class="hl-quotes">'</span><span class="hl-code">:
</span><span class="hl-reserved">case </span><span class="hl-quotes">'</span><span class="hl-string">down</span><span class="hl-quotes">'</span><span class="hl-code">:
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">moveTo</span><span class="hl-brackets">(</span><span class="hl-identifier">xy</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">, </span><span class="hl-identifier">xy</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code">+</span><span class="hl-identifier">distance</span><span class="hl-code">, </span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">break</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Store the current overflow setting and clip overflow on the element - use {@link #unclip} to remove
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">clip</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">isClipped</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">isClipped</span><span class="hl-code"> = </span><span class="hl-reserved">true</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">originalClip</span><span class="hl-code"> = </span><span class="hl-brackets">{
</span><span class="hl-quotes">'</span><span class="hl-string">o</span><span class="hl-quotes">'</span><span class="hl-code">: </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">overflow</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-quotes">'</span><span class="hl-string">x</span><span class="hl-quotes">'</span><span class="hl-code">: </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">overflow-x</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-quotes">'</span><span class="hl-string">y</span><span class="hl-quotes">'</span><span class="hl-code">: </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">overflow-y</span><span class="hl-quotes">'</span><span class="hl-brackets">)
}</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">overflow</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">hidden</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">overflow-x</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">hidden</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">overflow-y</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">hidden</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Return clipping (overflow) to original clipping before clip() was called
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">unclip</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">isClipped</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">isClipped</span><span class="hl-code"> = </span><span class="hl-reserved">false</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">o</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">originalClip</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">o</span><span class="hl-code">.</span><span class="hl-identifier">o</span><span class="hl-brackets">){</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">overflow</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">o</span><span class="hl-code">.</span><span class="hl-identifier">o</span><span class="hl-brackets">)</span><span class="hl-code">;</span><span class="hl-brackets">}
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">o</span><span class="hl-code">.</span><span class="hl-identifier">x</span><span class="hl-brackets">){</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">overflow-x</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">o</span><span class="hl-code">.</span><span class="hl-identifier">x</span><span class="hl-brackets">)</span><span class="hl-code">;</span><span class="hl-brackets">}
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">o</span><span class="hl-code">.</span><span class="hl-identifier">y</span><span class="hl-brackets">){</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">overflow-y</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">o</span><span class="hl-code">.</span><span class="hl-identifier">y</span><span class="hl-brackets">)</span><span class="hl-code">;</span><span class="hl-brackets">}
}
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Align this element with another element.
* @param {String/HTMLElement/YAHOO.ext.Element} element The element to align to.
* @param {String} position The position to align to. Possible values are 'tl' - top left, 'tr' - top right, 'bl' - bottom left, and 'br' - bottom right.
* @param {&lt;i&gt;Array&lt;/i&gt;} offsets (optional) Offset the positioning by [x, y]
* @param {&lt;i&gt;Boolean&lt;/i&gt;} animate (optional) Animate the movement (Default is false)
* @param {&lt;i&gt;Float&lt;/i&gt;} duration (optional) How long the animation lasts. (Defaults to .35 seconds)
* @param {&lt;i&gt;Function&lt;/i&gt;} onComplete (optional) Function to call when animation completes.
* @param {&lt;i&gt;Function&lt;/i&gt;} easing (optional) YAHOO.util.Easing method to use.
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">alignTo</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">element</span><span class="hl-code">, </span><span class="hl-identifier">position</span><span class="hl-code">, </span><span class="hl-identifier">offsets</span><span class="hl-code">, </span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">otherEl</span><span class="hl-code"> = </span><span class="hl-identifier">getEl</span><span class="hl-brackets">(</span><span class="hl-identifier">element</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">otherEl</span><span class="hl-brackets">){
</span><span class="hl-reserved">return this</span><span class="hl-code">; </span><span class="hl-comment">// must not exist
</span><span class="hl-brackets">}
</span><span class="hl-identifier">offsets</span><span class="hl-code"> = </span><span class="hl-identifier">offsets</span><span class="hl-code"> || </span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-code">, </span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">r</span><span class="hl-code"> = </span><span class="hl-identifier">otherEl</span><span class="hl-code">.</span><span class="hl-identifier">getRegion</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-identifier">position</span><span class="hl-code"> = </span><span class="hl-identifier">position</span><span class="hl-code">.</span><span class="hl-identifier">toLowerCase</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">switch</span><span class="hl-brackets">(</span><span class="hl-identifier">position</span><span class="hl-brackets">){
</span><span class="hl-reserved">case </span><span class="hl-quotes">'</span><span class="hl-string">bl</span><span class="hl-quotes">'</span><span class="hl-code">:
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">moveTo</span><span class="hl-brackets">(</span><span class="hl-identifier">r</span><span class="hl-code">.</span><span class="hl-identifier">left</span><span class="hl-code"> + </span><span class="hl-identifier">offsets</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">, </span><span class="hl-identifier">r</span><span class="hl-code">.</span><span class="hl-identifier">bottom</span><span class="hl-code"> + </span><span class="hl-identifier">offsets</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code">,
</span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">break</span><span class="hl-code">;
</span><span class="hl-reserved">case </span><span class="hl-quotes">'</span><span class="hl-string">br</span><span class="hl-quotes">'</span><span class="hl-code">:
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">moveTo</span><span class="hl-brackets">(</span><span class="hl-identifier">r</span><span class="hl-code">.</span><span class="hl-identifier">right</span><span class="hl-code"> + </span><span class="hl-identifier">offsets</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">, </span><span class="hl-identifier">r</span><span class="hl-code">.</span><span class="hl-identifier">bottom</span><span class="hl-code"> + </span><span class="hl-identifier">offsets</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code">,
</span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">break</span><span class="hl-code">;
</span><span class="hl-reserved">case </span><span class="hl-quotes">'</span><span class="hl-string">tl</span><span class="hl-quotes">'</span><span class="hl-code">:
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">moveTo</span><span class="hl-brackets">(</span><span class="hl-identifier">r</span><span class="hl-code">.</span><span class="hl-identifier">left</span><span class="hl-code"> + </span><span class="hl-identifier">offsets</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">, </span><span class="hl-identifier">r</span><span class="hl-code">.</span><span class="hl-identifier">top</span><span class="hl-code"> + </span><span class="hl-identifier">offsets</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code">,
</span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">break</span><span class="hl-code">;
</span><span class="hl-reserved">case </span><span class="hl-quotes">'</span><span class="hl-string">tr</span><span class="hl-quotes">'</span><span class="hl-code">:
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">moveTo</span><span class="hl-brackets">(</span><span class="hl-identifier">r</span><span class="hl-code">.</span><span class="hl-identifier">right</span><span class="hl-code"> + </span><span class="hl-identifier">offsets</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">, </span><span class="hl-identifier">r</span><span class="hl-code">.</span><span class="hl-identifier">top</span><span class="hl-code"> + </span><span class="hl-identifier">offsets</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code">,
</span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">break</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Clears any opacity settings from this element. Required in some cases for IE.
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">clearOpacity</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-builtin">window</span><span class="hl-code">.</span><span class="hl-identifier">ActiveXObject</span><span class="hl-brackets">) {
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">style</span><span class="hl-code">.</span><span class="hl-identifier">filter</span><span class="hl-code"> = </span><span class="hl-quotes">''</span><span class="hl-code">;
</span><span class="hl-brackets">} </span><span class="hl-reserved">else </span><span class="hl-brackets">{
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">style</span><span class="hl-code">.</span><span class="hl-identifier">opacity</span><span class="hl-code"> = </span><span class="hl-quotes">''</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">style</span><span class="hl-brackets">[</span><span class="hl-quotes">'</span><span class="hl-string">-moz-opacity</span><span class="hl-quotes">'</span><span class="hl-brackets">]</span><span class="hl-code"> = </span><span class="hl-quotes">''</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">style</span><span class="hl-brackets">[</span><span class="hl-quotes">'</span><span class="hl-string">-khtml-opacity</span><span class="hl-quotes">'</span><span class="hl-brackets">]</span><span class="hl-code"> = </span><span class="hl-quotes">''</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Hide this element - Uses display mode to determine whether to use &quot;display&quot; or &quot;visibility&quot;. See {@link #setVisible}.
* @param {&lt;i&gt;Boolean&lt;/i&gt;} animate (optional) Animate (fade) the transition (Default is false)
* @param {&lt;i&gt;Float&lt;/i&gt;} duration (optional) How long the animation lasts. (Defaults to .35 seconds)
* @param {&lt;i&gt;Function&lt;/i&gt;} onComplete (optional) Function to call when animation completes.
* @param {&lt;i&gt;Function&lt;/i&gt;} easing (optional) YAHOO.util.Easing method to use. (Defaults to YAHOO.util.Easing.easeBoth)
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">hide</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setVisible</span><span class="hl-brackets">(</span><span class="hl-reserved">false</span><span class="hl-code">, </span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Show this element - Uses display mode to determine whether to use &quot;display&quot; or &quot;visibility&quot;. See {@link #setVisible}.
* @param {&lt;i&gt;Boolean&lt;/i&gt;} animate (optional) Animate (fade in) the transition (Default is false)
* @param {&lt;i&gt;Float&lt;/i&gt;} duration (optional) How long the animation lasts. (Defaults to .35 seconds)
* @param {&lt;i&gt;Function&lt;/i&gt;} onComplete (optional) Function to call when animation completes.
* @param {&lt;i&gt;Function&lt;/i&gt;} easing (optional) YAHOO.util.Easing method to use. (Defaults to YAHOO.util.Easing.easeBoth)
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">show</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setVisible</span><span class="hl-brackets">(</span><span class="hl-reserved">true</span><span class="hl-code">, </span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* @private Test if size has a unit, otherwise appends the default
*/
</span><span class="hl-identifier">addUnits</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">size</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">size</span><span class="hl-code"> === </span><span class="hl-quotes">''</span><span class="hl-code"> || </span><span class="hl-identifier">size</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">auto</span><span class="hl-quotes">'</span><span class="hl-code"> || </span><span class="hl-reserved">typeof </span><span class="hl-identifier">size</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">undefined</span><span class="hl-quotes">'</span><span class="hl-brackets">){
</span><span class="hl-reserved">return </span><span class="hl-identifier">size</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">typeof </span><span class="hl-identifier">size</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">number</span><span class="hl-quotes">'</span><span class="hl-code"> || !</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">Element</span><span class="hl-code">.</span><span class="hl-identifier">unitPattern</span><span class="hl-code">.</span><span class="hl-identifier">test</span><span class="hl-brackets">(</span><span class="hl-identifier">size</span><span class="hl-brackets">)){
</span><span class="hl-reserved">return </span><span class="hl-identifier">size</span><span class="hl-code"> + </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">defaultUnit</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return </span><span class="hl-identifier">size</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Temporarily enables offsets (width,height,x,y) for an element with display:none, use endMeasure() when done.
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">beginMeasure</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">var </span><span class="hl-identifier">el</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">offsetWidth</span><span class="hl-code"> || </span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">offsetHeight</span><span class="hl-brackets">){
</span><span class="hl-reserved">return this</span><span class="hl-code">; </span><span class="hl-comment">// offsets work already
</span><span class="hl-brackets">}
</span><span class="hl-reserved">var </span><span class="hl-identifier">changed</span><span class="hl-code"> = </span><span class="hl-brackets">[]</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">p</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">; </span><span class="hl-comment">// start with this element
</span><span class="hl-reserved">while</span><span class="hl-brackets">((</span><span class="hl-code">!</span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">offsetWidth</span><span class="hl-code"> &amp;&amp; !</span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">offsetHeight</span><span class="hl-brackets">)</span><span class="hl-code"> &amp;&amp; </span><span class="hl-identifier">p</span><span class="hl-code"> &amp;&amp; </span><span class="hl-identifier">p</span><span class="hl-code">.</span><span class="hl-identifier">tagName</span><span class="hl-code"> &amp;&amp; </span><span class="hl-identifier">p</span><span class="hl-code">.</span><span class="hl-identifier">tagName</span><span class="hl-code">.</span><span class="hl-identifier">toLowerCase</span><span class="hl-brackets">()</span><span class="hl-code"> != </span><span class="hl-quotes">'</span><span class="hl-string">body</span><span class="hl-quotes">'</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-identifier">p</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">display</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">none</span><span class="hl-quotes">'</span><span class="hl-brackets">){
</span><span class="hl-identifier">changed</span><span class="hl-code">.</span><span class="hl-identifier">push</span><span class="hl-brackets">({</span><span class="hl-identifier">el</span><span class="hl-code">: </span><span class="hl-identifier">p</span><span class="hl-code">, </span><span class="hl-identifier">visibility</span><span class="hl-code">: </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-identifier">p</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">visibility</span><span class="hl-quotes">'</span><span class="hl-brackets">)})</span><span class="hl-code">;
</span><span class="hl-identifier">p</span><span class="hl-code">.</span><span class="hl-identifier">style</span><span class="hl-code">.</span><span class="hl-identifier">visibility</span><span class="hl-code"> = </span><span class="hl-quotes">'</span><span class="hl-string">hidden</span><span class="hl-quotes">'</span><span class="hl-code">;
</span><span class="hl-identifier">p</span><span class="hl-code">.</span><span class="hl-identifier">style</span><span class="hl-code">.</span><span class="hl-identifier">display</span><span class="hl-code"> = </span><span class="hl-quotes">'</span><span class="hl-string">block</span><span class="hl-quotes">'</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-identifier">p</span><span class="hl-code"> = </span><span class="hl-identifier">p</span><span class="hl-code">.</span><span class="hl-identifier">parentNode</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">_measureChanged</span><span class="hl-code"> = </span><span class="hl-identifier">changed</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Restores displays to before beginMeasure was called
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">endMeasure</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">var </span><span class="hl-identifier">changed</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">_measureChanged</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">changed</span><span class="hl-brackets">){
</span><span class="hl-reserved">for</span><span class="hl-brackets">(</span><span class="hl-reserved">var </span><span class="hl-identifier">i</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">, </span><span class="hl-identifier">len</span><span class="hl-code"> = </span><span class="hl-identifier">changed</span><span class="hl-code">.</span><span class="hl-identifier">length</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code"> &lt; </span><span class="hl-identifier">len</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code">++</span><span class="hl-brackets">) {
</span><span class="hl-reserved">var </span><span class="hl-identifier">r</span><span class="hl-code"> = </span><span class="hl-identifier">changed</span><span class="hl-brackets">[</span><span class="hl-identifier">i</span><span class="hl-brackets">]</span><span class="hl-code">;
</span><span class="hl-identifier">r</span><span class="hl-code">.</span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">style</span><span class="hl-code">.</span><span class="hl-identifier">visibility</span><span class="hl-code"> = </span><span class="hl-identifier">r</span><span class="hl-code">.</span><span class="hl-identifier">visibility</span><span class="hl-code">;
</span><span class="hl-identifier">r</span><span class="hl-code">.</span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">style</span><span class="hl-code">.</span><span class="hl-identifier">display</span><span class="hl-code"> = </span><span class="hl-quotes">'</span><span class="hl-string">none</span><span class="hl-quotes">'</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">_measureChanged</span><span class="hl-code"> = </span><span class="hl-reserved">null</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Update the innerHTML of this element, optionally searching for and processing scripts
* @param {String} html The new HTML
* @param {&lt;i&gt;Boolean&lt;/i&gt;} loadScripts (optional) true to look for and process scripts
* @param {Function} callback For async script loading you can be noticed when the update completes
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">update</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">html</span><span class="hl-code">, </span><span class="hl-identifier">loadScripts</span><span class="hl-code">, </span><span class="hl-identifier">callback</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">typeof </span><span class="hl-identifier">html</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">undefined</span><span class="hl-quotes">'</span><span class="hl-brackets">){
</span><span class="hl-identifier">html</span><span class="hl-code"> = </span><span class="hl-quotes">''</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">loadScripts</span><span class="hl-code"> !== </span><span class="hl-reserved">true</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">innerHTML</span><span class="hl-code"> = </span><span class="hl-identifier">html</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">typeof </span><span class="hl-identifier">callback</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">function</span><span class="hl-quotes">'</span><span class="hl-brackets">){
</span><span class="hl-identifier">callback</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">var </span><span class="hl-identifier">id</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">generateId</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">dom</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">;
</span><span class="hl-identifier">html</span><span class="hl-code"> += </span><span class="hl-quotes">'</span><span class="hl-string">&lt;span id=&quot;</span><span class="hl-quotes">'</span><span class="hl-code"> + </span><span class="hl-identifier">id</span><span class="hl-code"> + </span><span class="hl-quotes">'</span><span class="hl-string">&quot;&gt;&lt;/span&gt;</span><span class="hl-quotes">'</span><span class="hl-code">;
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Event</span><span class="hl-code">.</span><span class="hl-identifier">onAvailable</span><span class="hl-brackets">(</span><span class="hl-identifier">id</span><span class="hl-code">, </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">var </span><span class="hl-identifier">hd</span><span class="hl-code"> = </span><span class="hl-builtin">document</span><span class="hl-code">.</span><span class="hl-identifier">getElementsByTagName</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">head</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">re</span><span class="hl-code"> = </span><span class="hl-quotes">/</span><span class="hl-string">(?:&lt;script.*?&gt;)((\n|\r|.)*?)(?:&lt;</span><span class="hl-special">\/</span><span class="hl-string">script&gt;)</span><span class="hl-quotes">/i</span><span class="hl-identifier">mg</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">srcRe</span><span class="hl-code"> = </span><span class="hl-quotes">/</span><span class="hl-string">\ssrc=[\'\&quot;](.*)[\'\&quot;]</span><span class="hl-quotes">/i</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">match</span><span class="hl-code">;
</span><span class="hl-reserved">while</span><span class="hl-brackets">(</span><span class="hl-identifier">match</span><span class="hl-code"> = </span><span class="hl-identifier">re</span><span class="hl-code">.</span><span class="hl-identifier">exec</span><span class="hl-brackets">(</span><span class="hl-identifier">html</span><span class="hl-brackets">)){
</span><span class="hl-reserved">var </span><span class="hl-identifier">srcMatch</span><span class="hl-code"> = </span><span class="hl-identifier">match</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">.</span><span class="hl-identifier">match</span><span class="hl-brackets">(</span><span class="hl-identifier">srcRe</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">srcMatch</span><span class="hl-code"> &amp;&amp; </span><span class="hl-identifier">srcMatch</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]){
</span><span class="hl-reserved">var </span><span class="hl-identifier">s0</span><span class="hl-code"> = </span><span class="hl-builtin">document</span><span class="hl-code">.</span><span class="hl-identifier">createElement</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">script</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">s0</span><span class="hl-code">.</span><span class="hl-identifier">src</span><span class="hl-code"> = </span><span class="hl-identifier">srcMatch</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code">;
</span><span class="hl-identifier">hd</span><span class="hl-code">.</span><span class="hl-identifier">appendChild</span><span class="hl-brackets">(</span><span class="hl-identifier">s0</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else if</span><span class="hl-brackets">(</span><span class="hl-identifier">match</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]){
</span><span class="hl-identifier">eval</span><span class="hl-brackets">(</span><span class="hl-identifier">match</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">])</span><span class="hl-code">;
</span><span class="hl-brackets">}
}
</span><span class="hl-reserved">var </span><span class="hl-identifier">el</span><span class="hl-code"> = </span><span class="hl-builtin">document</span><span class="hl-code">.</span><span class="hl-identifier">getElementById</span><span class="hl-brackets">(</span><span class="hl-identifier">id</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">el</span><span class="hl-brackets">){</span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">parentNode</span><span class="hl-code">.</span><span class="hl-identifier">removeChild</span><span class="hl-brackets">(</span><span class="hl-identifier">el</span><span class="hl-brackets">)</span><span class="hl-code">;</span><span class="hl-brackets">}
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">typeof </span><span class="hl-identifier">callback</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">function</span><span class="hl-quotes">'</span><span class="hl-brackets">){
</span><span class="hl-identifier">callback</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}
})</span><span class="hl-code">;
</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">innerHTML</span><span class="hl-code"> = </span><span class="hl-identifier">html</span><span class="hl-code">.</span><span class="hl-identifier">replace</span><span class="hl-brackets">(</span><span class="hl-quotes">/</span><span class="hl-string">(?:&lt;script.*?&gt;)((\n|\r|.)*?)(?:&lt;</span><span class="hl-special">\/</span><span class="hl-string">script&gt;)</span><span class="hl-quotes">/i</span><span class="hl-identifier">mg</span><span class="hl-code">, </span><span class="hl-quotes">''</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Direct access to the UpdateManager update() method (takes the same parameters).
* @param {String/Function} url The url for this request or a function to call to get the url
* @param {&lt;i&gt;String/Object&lt;/i&gt;} params (optional) The parameters to pass as either a url encoded string &quot;param1=1&amp;amp;param2=2&quot; or an object {param1: 1, param2: 2}
* @param {&lt;i&gt;Function&lt;/i&gt;} callback (optional) Callback when transaction is complete - called with signature (oElement, bSuccess)
* @param {&lt;i&gt;Boolean&lt;/i&gt;} discardUrl (optional) By default when you execute an update the defaultUrl is changed to the last used url. If true, it will not store the url.
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">load</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">var </span><span class="hl-identifier">um</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getUpdateManager</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-identifier">um</span><span class="hl-code">.</span><span class="hl-identifier">update</span><span class="hl-code">.</span><span class="hl-identifier">apply</span><span class="hl-brackets">(</span><span class="hl-identifier">um</span><span class="hl-code">, </span><span class="hl-identifier">arguments</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Gets this elements UpdateManager
* @return {YAHOO.ext.UpdateManager} The UpdateManager
*/
</span><span class="hl-identifier">getUpdateManager</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">updateManager</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">updateManager</span><span class="hl-code"> = </span><span class="hl-reserved">new </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">UpdateManager</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">updateManager</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Disables text selection for this element (normalized across browsers)
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">unselectable</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">unselectable</span><span class="hl-code"> = </span><span class="hl-quotes">'</span><span class="hl-string">on</span><span class="hl-quotes">'</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">swallowEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">selectstart</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">applyStyles</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">-moz-user-select:none;-khtml-user-select:none;</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Calculates the x, y to center this element on the screen
* @param {Boolean} offsetScroll True to offset the documents current scroll position
* @return {Array} The x, y values [x, y]
*/
</span><span class="hl-identifier">getCenterXY</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">offsetScroll</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">centerX</span><span class="hl-code"> = </span><span class="hl-builtin">Math</span><span class="hl-code">.</span><span class="hl-identifier">round</span><span class="hl-brackets">((</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">getViewportWidth</span><span class="hl-brackets">()</span><span class="hl-code">-</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getWidth</span><span class="hl-brackets">())</span><span class="hl-quotes">/</span><span class="hl-string">2);
var centerY = Math.round((YAHOO.util.Dom.getViewportHeight()-this.getHeight())</span><span class="hl-quotes">/</span><span class="hl-number">2</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">offsetScroll</span><span class="hl-brackets">){
</span><span class="hl-reserved">return </span><span class="hl-brackets">[</span><span class="hl-identifier">centerX</span><span class="hl-code">, </span><span class="hl-identifier">centerY</span><span class="hl-brackets">]</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-reserved">var </span><span class="hl-identifier">scrollX</span><span class="hl-code"> = </span><span class="hl-builtin">document</span><span class="hl-code">.</span><span class="hl-identifier">documentElement</span><span class="hl-code">.</span><span class="hl-identifier">scrollLeft</span><span class="hl-code"> || </span><span class="hl-builtin">document</span><span class="hl-code">.</span><span class="hl-identifier">body</span><span class="hl-code">.</span><span class="hl-identifier">scrollLeft</span><span class="hl-code"> || </span><span class="hl-number">0</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">scrollY</span><span class="hl-code"> = </span><span class="hl-builtin">document</span><span class="hl-code">.</span><span class="hl-identifier">documentElement</span><span class="hl-code">.</span><span class="hl-identifier">scrollTop</span><span class="hl-code"> || </span><span class="hl-builtin">document</span><span class="hl-code">.</span><span class="hl-identifier">body</span><span class="hl-code">.</span><span class="hl-identifier">scrollTop</span><span class="hl-code"> || </span><span class="hl-number">0</span><span class="hl-code">;
</span><span class="hl-reserved">return</span><span class="hl-brackets">[</span><span class="hl-identifier">centerX</span><span class="hl-code"> + </span><span class="hl-identifier">scrollX</span><span class="hl-code">, </span><span class="hl-identifier">centerY</span><span class="hl-code"> + </span><span class="hl-identifier">scrollY</span><span class="hl-brackets">]</span><span class="hl-code">;
</span><span class="hl-brackets">}
}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Centers the Element in either the viewport, or another Element.
* @param {String/HTMLElement/YAHOO.ext.Element} centerIn (optional) The element in which to center the element.
*/
</span><span class="hl-identifier">center</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">centerIn</span><span class="hl-brackets">) {
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">centerIn</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setXY</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getCenterXY</span><span class="hl-brackets">(</span><span class="hl-reserved">true</span><span class="hl-brackets">))</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-reserved">var </span><span class="hl-identifier">box</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">Element</span><span class="hl-code">.</span><span class="hl-identifier">get</span><span class="hl-brackets">(</span><span class="hl-identifier">centerIn</span><span class="hl-brackets">)</span><span class="hl-code">.</span><span class="hl-identifier">getBox</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setXY</span><span class="hl-brackets">([</span><span class="hl-identifier">box</span><span class="hl-code">.</span><span class="hl-identifier">x</span><span class="hl-code"> + </span><span class="hl-brackets">(</span><span class="hl-identifier">box</span><span class="hl-code">.</span><span class="hl-identifier">width </span><span class="hl-quotes">/</span><span class="hl-string"> 2) - (this.getWidth() </span><span class="hl-quotes">/ </span><span class="hl-number">2</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-identifier">box</span><span class="hl-code">.</span><span class="hl-identifier">y</span><span class="hl-code"> + </span><span class="hl-brackets">(</span><span class="hl-identifier">box</span><span class="hl-code">.</span><span class="hl-identifier">height </span><span class="hl-quotes">/</span><span class="hl-string"> 2) - (this.getHeight() </span><span class="hl-quotes">/ </span><span class="hl-number">2</span><span class="hl-brackets">)])</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Gets an array of child YAHOO.ext.Element objects by tag name
* @param {String} tagName
* @return {Array} The children
*/
</span><span class="hl-identifier">getChildrenByTagName</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">tagName</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">children</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">getElementsByTagName</span><span class="hl-brackets">(</span><span class="hl-identifier">tagName</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">len</span><span class="hl-code"> = </span><span class="hl-identifier">children</span><span class="hl-code">.</span><span class="hl-identifier">length</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">ce</span><span class="hl-code"> = </span><span class="hl-reserved">new </span><span class="hl-builtin">Array</span><span class="hl-brackets">(</span><span class="hl-identifier">len</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">for</span><span class="hl-brackets">(</span><span class="hl-reserved">var </span><span class="hl-identifier">i</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code"> &lt; </span><span class="hl-identifier">len</span><span class="hl-code">; ++</span><span class="hl-identifier">i</span><span class="hl-brackets">){
</span><span class="hl-identifier">ce</span><span class="hl-brackets">[</span><span class="hl-identifier">i</span><span class="hl-brackets">]</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">Element</span><span class="hl-code">.</span><span class="hl-identifier">get</span><span class="hl-brackets">(</span><span class="hl-identifier">children</span><span class="hl-brackets">[</span><span class="hl-identifier">i</span><span class="hl-brackets">]</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return </span><span class="hl-identifier">ce</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Gets an array of child YAHOO.ext.Element objects by class name and optional tagName
* @param {String} className
* @param {&lt;i&gt;String&lt;/i&gt;} tagName (optional)
* @return {Array} The children
*/
</span><span class="hl-identifier">getChildrenByClassName</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">className</span><span class="hl-code">, </span><span class="hl-identifier">tagName</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">children</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">getElementsByClassName</span><span class="hl-brackets">(</span><span class="hl-identifier">className</span><span class="hl-code">, </span><span class="hl-identifier">tagName</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">len</span><span class="hl-code"> = </span><span class="hl-identifier">children</span><span class="hl-code">.</span><span class="hl-identifier">length</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">ce</span><span class="hl-code"> = </span><span class="hl-reserved">new </span><span class="hl-builtin">Array</span><span class="hl-brackets">(</span><span class="hl-identifier">len</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">for</span><span class="hl-brackets">(</span><span class="hl-reserved">var </span><span class="hl-identifier">i</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code"> &lt; </span><span class="hl-identifier">len</span><span class="hl-code">; ++</span><span class="hl-identifier">i</span><span class="hl-brackets">){
</span><span class="hl-identifier">ce</span><span class="hl-brackets">[</span><span class="hl-identifier">i</span><span class="hl-brackets">]</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">Element</span><span class="hl-code">.</span><span class="hl-identifier">get</span><span class="hl-brackets">(</span><span class="hl-identifier">children</span><span class="hl-brackets">[</span><span class="hl-identifier">i</span><span class="hl-brackets">]</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return </span><span class="hl-identifier">ce</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Tests various css rules/browsers to determine if this element uses a border box
* @return {Boolean}
*/
</span><span class="hl-identifier">isBorderBox</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">typeof this</span><span class="hl-code">.</span><span class="hl-identifier">bbox</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">undefined</span><span class="hl-quotes">'</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">el</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">b</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Browser</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">strict</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">Strict</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">bbox</span><span class="hl-code"> = </span><span class="hl-brackets">((</span><span class="hl-identifier">b</span><span class="hl-code">.</span><span class="hl-identifier">isIE</span><span class="hl-code"> &amp;&amp; !</span><span class="hl-identifier">strict</span><span class="hl-code"> &amp;&amp; </span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">style</span><span class="hl-code">.</span><span class="hl-identifier">boxSizing</span><span class="hl-code"> != </span><span class="hl-quotes">'</span><span class="hl-string">content-box</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code"> ||
</span><span class="hl-brackets">(</span><span class="hl-identifier">b</span><span class="hl-code">.</span><span class="hl-identifier">isGecko</span><span class="hl-code"> &amp;&amp; </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-identifier">el</span><span class="hl-code">, </span><span class="hl-quotes">&quot;</span><span class="hl-string">-moz-box-sizing</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">border-box</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code"> ||
</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">b</span><span class="hl-code">.</span><span class="hl-identifier">isSafari</span><span class="hl-code"> &amp;&amp; </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-identifier">el</span><span class="hl-code">, </span><span class="hl-quotes">&quot;</span><span class="hl-string">box-sizing</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">border-box</span><span class="hl-quotes">'</span><span class="hl-brackets">))</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">bbox</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Return a box {x, y, width, height} that can be used to set another elements
* size/location to match this element.
* @param {Boolean} contentBox (optional) If true a box for the content of the element is returned.
* @param {Boolean} local (optional) If true the element's left and top are returned instead of page x/y.
* @return {Object}
*/
</span><span class="hl-identifier">getBox</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">contentBox</span><span class="hl-code">, </span><span class="hl-identifier">local</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">xy</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">local</span><span class="hl-brackets">){
</span><span class="hl-identifier">xy</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getXY</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-reserved">var </span><span class="hl-identifier">left</span><span class="hl-code"> = </span><span class="hl-identifier">parseInt</span><span class="hl-brackets">(</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">left</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">, </span><span class="hl-number">10</span><span class="hl-brackets">)</span><span class="hl-code"> || </span><span class="hl-number">0</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">top</span><span class="hl-code"> = </span><span class="hl-identifier">parseInt</span><span class="hl-brackets">(</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">top</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">, </span><span class="hl-number">10</span><span class="hl-brackets">)</span><span class="hl-code"> || </span><span class="hl-number">0</span><span class="hl-code">;
</span><span class="hl-identifier">xy</span><span class="hl-code"> = </span><span class="hl-brackets">[</span><span class="hl-identifier">left</span><span class="hl-code">, </span><span class="hl-identifier">top</span><span class="hl-brackets">]</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">var </span><span class="hl-identifier">el</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">w</span><span class="hl-code"> = </span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">offsetWidth</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">h</span><span class="hl-code"> = </span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">offsetHeight</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">contentBox</span><span class="hl-brackets">){
</span><span class="hl-reserved">return </span><span class="hl-brackets">{</span><span class="hl-identifier">x</span><span class="hl-code">: </span><span class="hl-identifier">xy</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">, </span><span class="hl-identifier">y</span><span class="hl-code">: </span><span class="hl-identifier">xy</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code">, </span><span class="hl-identifier">width</span><span class="hl-code">: </span><span class="hl-identifier">w</span><span class="hl-code">, </span><span class="hl-identifier">height</span><span class="hl-code">: </span><span class="hl-identifier">h</span><span class="hl-brackets">}</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-reserved">var </span><span class="hl-identifier">l</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getBorderWidth</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">l</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">+</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getPadding</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">l</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">r</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getBorderWidth</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">r</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">+</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getPadding</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">r</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">t</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getBorderWidth</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">t</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">+</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getPadding</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">t</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">b</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getBorderWidth</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">b</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">+</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getPadding</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">b</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return </span><span class="hl-brackets">{</span><span class="hl-identifier">x</span><span class="hl-code">: </span><span class="hl-identifier">xy</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">+</span><span class="hl-identifier">l</span><span class="hl-code">, </span><span class="hl-identifier">y</span><span class="hl-code">: </span><span class="hl-identifier">xy</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code">+</span><span class="hl-identifier">t</span><span class="hl-code">, </span><span class="hl-identifier">width</span><span class="hl-code">: </span><span class="hl-identifier">w</span><span class="hl-code">-</span><span class="hl-brackets">(</span><span class="hl-identifier">l</span><span class="hl-code">+</span><span class="hl-identifier">r</span><span class="hl-brackets">)</span><span class="hl-code">, </span><span class="hl-identifier">height</span><span class="hl-code">: </span><span class="hl-identifier">h</span><span class="hl-code">-</span><span class="hl-brackets">(</span><span class="hl-identifier">t</span><span class="hl-code">+</span><span class="hl-identifier">b</span><span class="hl-brackets">)}</span><span class="hl-code">;
</span><span class="hl-brackets">}
}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Sets the element's box. Use getBox() on another element to get a box obj. If animate is true then width, height, x and y will be animated concurrently.
* @param {Object} box The box to fill {x, y, width, height}
* @param {&lt;i&gt;Boolean&lt;/i&gt;} adjust (optional) Whether to adjust for box-model issues automatically
* @param {&lt;i&gt;Boolean&lt;/i&gt;} animate (optional) Animate the transition (Default is false)
* @param {&lt;i&gt;float&lt;/i&gt;} duration (optional) How long the animation lasts. (Defaults to .35 seconds)
* @param {&lt;i&gt;Function&lt;/i&gt;} onComplete (optional) Function to call when animation completes.
* @param {&lt;i&gt;Function&lt;/i&gt;} easing (optional) YAHOO.util.Easing method to use. (Defaults to YAHOO.util.Easing.easeBoth)
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">setBox</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">box</span><span class="hl-code">, </span><span class="hl-identifier">adjust</span><span class="hl-code">, </span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">w</span><span class="hl-code"> = </span><span class="hl-identifier">box</span><span class="hl-code">.</span><span class="hl-identifier">width</span><span class="hl-code">, </span><span class="hl-identifier">h</span><span class="hl-code"> = </span><span class="hl-identifier">box</span><span class="hl-code">.</span><span class="hl-identifier">height</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">((</span><span class="hl-identifier">adjust</span><span class="hl-code"> &amp;&amp; !</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">autoBoxAdjust</span><span class="hl-brackets">)</span><span class="hl-code"> &amp;&amp; !</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">isBorderBox</span><span class="hl-brackets">()){
</span><span class="hl-identifier">w</span><span class="hl-code"> -= </span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getBorderWidth</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">lr</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code"> + </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getPadding</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">lr</span><span class="hl-quotes">'</span><span class="hl-brackets">))</span><span class="hl-code">;
</span><span class="hl-identifier">h</span><span class="hl-code"> -= </span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getBorderWidth</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">tb</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code"> + </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getPadding</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">tb</span><span class="hl-quotes">'</span><span class="hl-brackets">))</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setBounds</span><span class="hl-brackets">(</span><span class="hl-identifier">box</span><span class="hl-code">.</span><span class="hl-identifier">x</span><span class="hl-code">, </span><span class="hl-identifier">box</span><span class="hl-code">.</span><span class="hl-identifier">y</span><span class="hl-code">, </span><span class="hl-identifier">w</span><span class="hl-code">, </span><span class="hl-identifier">h</span><span class="hl-code">, </span><span class="hl-identifier">animate</span><span class="hl-code">, </span><span class="hl-identifier">duration</span><span class="hl-code">, </span><span class="hl-identifier">onComplete</span><span class="hl-code">, </span><span class="hl-identifier">easing</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Forces the browser to repaint this element
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">repaint</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">var </span><span class="hl-identifier">dom</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">;
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">addClass</span><span class="hl-brackets">(</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">yui-ext-repaint</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">setTimeout</span><span class="hl-brackets">(</span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">removeClass</span><span class="hl-brackets">(</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">yui-ext-repaint</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">, </span><span class="hl-number">1</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Returns an object with properties top, left, right and bottom representing the margins of this element unless sides is passed,
* then it returns the calculated width of the sides (see getPadding)
* @param {String} sides (optional) Any combination of l, r, t, b to get the sum of those sides
* @return {Object/Number}
*/
</span><span class="hl-identifier">getMargins</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">side</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">side</span><span class="hl-brackets">){
</span><span class="hl-reserved">return </span><span class="hl-brackets">{
</span><span class="hl-identifier">top</span><span class="hl-code">: </span><span class="hl-identifier">parseInt</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">margin-top</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">, </span><span class="hl-number">10</span><span class="hl-brackets">)</span><span class="hl-code"> || </span><span class="hl-number">0</span><span class="hl-code">,
</span><span class="hl-identifier">left</span><span class="hl-code">: </span><span class="hl-identifier">parseInt</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">margin-left</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">, </span><span class="hl-number">10</span><span class="hl-brackets">)</span><span class="hl-code"> || </span><span class="hl-number">0</span><span class="hl-code">,
</span><span class="hl-identifier">bottom</span><span class="hl-code">: </span><span class="hl-identifier">parseInt</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">margin-bottom</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">, </span><span class="hl-number">10</span><span class="hl-brackets">)</span><span class="hl-code"> || </span><span class="hl-number">0</span><span class="hl-code">,
</span><span class="hl-identifier">right</span><span class="hl-code">: </span><span class="hl-identifier">parseInt</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">margin-right</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">, </span><span class="hl-number">10</span><span class="hl-brackets">)</span><span class="hl-code"> || </span><span class="hl-number">0
</span><span class="hl-brackets">}</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">addStyles</span><span class="hl-brackets">(</span><span class="hl-identifier">side</span><span class="hl-code">, </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">Element</span><span class="hl-code">.</span><span class="hl-identifier">margins</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
}</span><span class="hl-code">,
</span><span class="hl-identifier">addStyles</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">sides</span><span class="hl-code">, </span><span class="hl-identifier">styles</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">val</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;
</span><span class="hl-reserved">for</span><span class="hl-brackets">(</span><span class="hl-reserved">var </span><span class="hl-identifier">i</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">, </span><span class="hl-identifier">len</span><span class="hl-code"> = </span><span class="hl-identifier">sides</span><span class="hl-code">.</span><span class="hl-identifier">length</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code"> &lt; </span><span class="hl-identifier">len</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code">++</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">w</span><span class="hl-code"> = </span><span class="hl-identifier">parseInt</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-identifier">styles</span><span class="hl-brackets">[</span><span class="hl-identifier">sides</span><span class="hl-code">.</span><span class="hl-identifier">charAt</span><span class="hl-brackets">(</span><span class="hl-identifier">i</span><span class="hl-brackets">)])</span><span class="hl-code">, </span><span class="hl-number">10</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">isNaN</span><span class="hl-brackets">(</span><span class="hl-identifier">w</span><span class="hl-brackets">)) </span><span class="hl-identifier">val</span><span class="hl-code"> += </span><span class="hl-identifier">w</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return </span><span class="hl-identifier">val</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Creates a proxy element of this element
* @param {String/Object} config The class name of the proxy element or a DomHelper config object
* @param {&lt;i&gt;String/HTMLElement&lt;/i&gt;} renderTo (optional) The element or element id to render the proxy to (defaults to document.body)
* @param {&lt;i&gt;Boolean&lt;/i&gt;} matchBox (optional) True to align and size the proxy to this element now (defaults to false)
* @return {YAHOO.ext.Element} The new proxy element
*/
</span><span class="hl-identifier">createProxy</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">config</span><span class="hl-code">, </span><span class="hl-identifier">renderTo</span><span class="hl-code">, </span><span class="hl-identifier">matchBox</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">renderTo</span><span class="hl-brackets">){
</span><span class="hl-identifier">renderTo</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">get</span><span class="hl-brackets">(</span><span class="hl-identifier">renderTo</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-identifier">renderTo</span><span class="hl-code"> = </span><span class="hl-builtin">document</span><span class="hl-code">.</span><span class="hl-identifier">body</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-identifier">config</span><span class="hl-code"> = </span><span class="hl-reserved">typeof </span><span class="hl-identifier">config</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">object</span><span class="hl-quotes">'</span><span class="hl-code"> ?
</span><span class="hl-identifier">config</span><span class="hl-code"> : </span><span class="hl-brackets">{</span><span class="hl-identifier">tag</span><span class="hl-code"> : </span><span class="hl-quotes">'</span><span class="hl-string">div</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">cls</span><span class="hl-code">: </span><span class="hl-identifier">config</span><span class="hl-brackets">}</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">proxy</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">DomHelper</span><span class="hl-code">.</span><span class="hl-identifier">append</span><span class="hl-brackets">(</span><span class="hl-identifier">renderTo</span><span class="hl-code">, </span><span class="hl-identifier">config</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">matchBox</span><span class="hl-brackets">){
</span><span class="hl-identifier">proxy</span><span class="hl-code">.</span><span class="hl-identifier">setBox</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getBox</span><span class="hl-brackets">())</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return </span><span class="hl-identifier">proxy</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Removes this element from the DOM and deletes it from the cache
*/
</span><span class="hl-identifier">remove</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">parentNode</span><span class="hl-code">.</span><span class="hl-identifier">removeChild</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">delete </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">Element</span><span class="hl-code">.</span><span class="hl-identifier">cache</span><span class="hl-brackets">[</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">id</span><span class="hl-brackets">]</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Sets up event handlers to add and remove a css class when the mouse is over this element
* @param {String} className
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">addClassOnOver</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">className</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">on</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">mouseover</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">addClass</span><span class="hl-brackets">(</span><span class="hl-identifier">className</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">on</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">mouseout</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">removeClass</span><span class="hl-brackets">(</span><span class="hl-identifier">className</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Stops the specified event from bubbling and optionally prevent's the default action
* @param {String} eventName
* @param {Boolean} preventDefault (optional) true to prevent the default action too
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">swallowEvent</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">eventName</span><span class="hl-code">, </span><span class="hl-identifier">preventDefault</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">fn</span><span class="hl-code"> = </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">){
</span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">stopPropagation</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">preventDefault</span><span class="hl-brackets">){
</span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">preventDefault</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}
}</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">mon</span><span class="hl-brackets">(</span><span class="hl-identifier">eventName</span><span class="hl-code">, </span><span class="hl-identifier">fn</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Sizes this element to it's parent element's dimensions performing
* neccessary box adjustments.
* @param {Boolean} monitorResize (optional) If true maintains the fit when the browser window is resized.
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">fitToParent</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">monitorResize</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">p</span><span class="hl-code"> = </span><span class="hl-identifier">getEl</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">parentNode</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">p</span><span class="hl-code">.</span><span class="hl-identifier">beginMeasure</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-comment">// in case parent is display:none
</span><span class="hl-reserved">var </span><span class="hl-identifier">box</span><span class="hl-code"> = </span><span class="hl-identifier">p</span><span class="hl-code">.</span><span class="hl-identifier">getBox</span><span class="hl-brackets">(</span><span class="hl-reserved">true</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">p</span><span class="hl-code">.</span><span class="hl-identifier">endMeasure</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setSize</span><span class="hl-brackets">(</span><span class="hl-identifier">box</span><span class="hl-code">.</span><span class="hl-identifier">width</span><span class="hl-code">, </span><span class="hl-identifier">box</span><span class="hl-code">.</span><span class="hl-identifier">height</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">monitorResize</span><span class="hl-code"> === </span><span class="hl-reserved">true</span><span class="hl-brackets">){
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">EventManager</span><span class="hl-code">.</span><span class="hl-identifier">onWindowResize</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fitToParent</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Gets the next sibling, skipping text nodes
* @return {HTMLElement} The next sibling or null
*/
</span><span class="hl-identifier">getNextSibling</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">var </span><span class="hl-identifier">n</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">nextSibling</span><span class="hl-code">;
</span><span class="hl-reserved">while</span><span class="hl-brackets">(</span><span class="hl-identifier">n</span><span class="hl-code"> &amp;&amp; </span><span class="hl-identifier">n</span><span class="hl-code">.</span><span class="hl-identifier">nodeType</span><span class="hl-code"> != </span><span class="hl-number">1</span><span class="hl-brackets">){
</span><span class="hl-identifier">n</span><span class="hl-code"> = </span><span class="hl-identifier">n</span><span class="hl-code">.</span><span class="hl-identifier">nextSibling</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return </span><span class="hl-identifier">n</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Gets the previous sibling, skipping text nodes
* @return {HTMLElement} The previous sibling or null
*/
</span><span class="hl-identifier">getPrevSibling</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">var </span><span class="hl-identifier">n</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">previousSibling</span><span class="hl-code">;
</span><span class="hl-reserved">while</span><span class="hl-brackets">(</span><span class="hl-identifier">n</span><span class="hl-code"> &amp;&amp; </span><span class="hl-identifier">n</span><span class="hl-code">.</span><span class="hl-identifier">nodeType</span><span class="hl-code"> != </span><span class="hl-number">1</span><span class="hl-brackets">){
</span><span class="hl-identifier">n</span><span class="hl-code"> = </span><span class="hl-identifier">n</span><span class="hl-code">.</span><span class="hl-identifier">previousSibling</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return </span><span class="hl-identifier">n</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Appends the passed element(s) to this element
* @param {String/HTMLElement/Array/Element/CompositeElement} el
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">appendChild</span><span class="hl-code">: </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">el</span><span class="hl-brackets">){
</span><span class="hl-identifier">el</span><span class="hl-code"> = </span><span class="hl-identifier">getEl</span><span class="hl-brackets">(</span><span class="hl-identifier">el</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">appendTo</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Creates the passed DomHelper config and appends it to this element or optionally inserts it before the passed child element.
* @param {Object} config DomHelper element config object
* @param {&lt;i&gt;HTMLElement&lt;/i&gt;} insertBefore (optional) a child element of this element
* @return {YAHOO.ext.Element} The new child element
*/
</span><span class="hl-identifier">createChild</span><span class="hl-code">: </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">config</span><span class="hl-code">, </span><span class="hl-identifier">insertBefore</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">c</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">insertBefore</span><span class="hl-brackets">){
</span><span class="hl-identifier">c</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">DomHelper</span><span class="hl-code">.</span><span class="hl-identifier">insertBefore</span><span class="hl-brackets">(</span><span class="hl-identifier">insertBefore</span><span class="hl-code">, </span><span class="hl-identifier">config</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-identifier">c</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">DomHelper</span><span class="hl-code">.</span><span class="hl-identifier">append</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-identifier">config</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return </span><span class="hl-identifier">c</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Appends this element to the passed element
* @param {String/HTMLElement/Element} el The new parent element
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">appendTo</span><span class="hl-code">: </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">el</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">node</span><span class="hl-code"> = </span><span class="hl-identifier">getEl</span><span class="hl-brackets">(</span><span class="hl-identifier">el</span><span class="hl-brackets">)</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">;
</span><span class="hl-identifier">node</span><span class="hl-code">.</span><span class="hl-identifier">appendChild</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Inserts this element before the passed element in the DOM
* @param {String/HTMLElement/Element} el The element to insert before
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">insertBefore</span><span class="hl-code">: </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">el</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">node</span><span class="hl-code"> = </span><span class="hl-identifier">getEl</span><span class="hl-brackets">(</span><span class="hl-identifier">el</span><span class="hl-brackets">)</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">;
</span><span class="hl-identifier">node</span><span class="hl-code">.</span><span class="hl-identifier">parentNode</span><span class="hl-code">.</span><span class="hl-identifier">insertBefore</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-identifier">node</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Inserts this element after the passed element in the DOM
* @param {String/HTMLElement/Element} el The element to insert after
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">insertAfter</span><span class="hl-code">: </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">el</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">node</span><span class="hl-code"> = </span><span class="hl-identifier">getEl</span><span class="hl-brackets">(</span><span class="hl-identifier">el</span><span class="hl-brackets">)</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">;
</span><span class="hl-identifier">node</span><span class="hl-code">.</span><span class="hl-identifier">parentNode</span><span class="hl-code">.</span><span class="hl-identifier">insertBefore</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-identifier">node</span><span class="hl-code">.</span><span class="hl-identifier">nextSibling</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Creates and wraps this element with another element
* @param {Object} config (optional) DomHelper element config object for the wrapper element or null for an empty div
* @return {Element} The newly created wrapper element
*/
</span><span class="hl-identifier">wrap</span><span class="hl-code">: </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">config</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">config</span><span class="hl-brackets">){
</span><span class="hl-identifier">config</span><span class="hl-code"> = </span><span class="hl-brackets">{</span><span class="hl-identifier">tag</span><span class="hl-code">: </span><span class="hl-quotes">'</span><span class="hl-string">div</span><span class="hl-quotes">'</span><span class="hl-brackets">}</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">var </span><span class="hl-identifier">newEl</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">DomHelper</span><span class="hl-code">.</span><span class="hl-identifier">insertBefore</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-identifier">config</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">newEl</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">appendChild</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return </span><span class="hl-identifier">newEl</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Replaces the passed element with this element
* @param {String/HTMLElement/Element} el The element to replace
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">replace</span><span class="hl-code">: </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">el</span><span class="hl-brackets">){
</span><span class="hl-identifier">el</span><span class="hl-code"> = </span><span class="hl-identifier">getEl</span><span class="hl-brackets">(</span><span class="hl-identifier">el</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">insertBefore</span><span class="hl-brackets">(</span><span class="hl-identifier">el</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">remove</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Inserts an html fragment into this element
* @param {String} where Where to insert the html in relation to the this element - beforeBegin, afterBegin, beforeEnd, afterEnd.
* @param {String} html The HTML fragment
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">insertHtml</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">where</span><span class="hl-code">, </span><span class="hl-identifier">html</span><span class="hl-brackets">){
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">DomHelper</span><span class="hl-code">.</span><span class="hl-identifier">insertHtml</span><span class="hl-brackets">(</span><span class="hl-identifier">where</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">, </span><span class="hl-identifier">html</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Sets the passed attributes as attributes of this element (a style attribute can be a string, object or function)
* @param {Object} o The object with the attributes
* @return {YAHOO.ext.Element} this
*/
</span><span class="hl-identifier">set</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">o</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">el</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">useSet</span><span class="hl-code"> = </span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">setAttribute</span><span class="hl-code"> ? </span><span class="hl-reserved">true</span><span class="hl-code"> : </span><span class="hl-reserved">false</span><span class="hl-code">;
</span><span class="hl-reserved">for</span><span class="hl-brackets">(</span><span class="hl-reserved">var </span><span class="hl-identifier">attr </span><span class="hl-reserved">in </span><span class="hl-identifier">o</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">attr</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">style</span><span class="hl-quotes">'</span><span class="hl-code"> || </span><span class="hl-reserved">typeof </span><span class="hl-identifier">o</span><span class="hl-brackets">[</span><span class="hl-identifier">attr</span><span class="hl-brackets">]</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">function</span><span class="hl-quotes">'</span><span class="hl-brackets">) </span><span class="hl-reserved">continue</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">attr</span><span class="hl-code">==</span><span class="hl-quotes">'</span><span class="hl-string">cls</span><span class="hl-quotes">'</span><span class="hl-brackets">){
</span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">className</span><span class="hl-code"> = </span><span class="hl-identifier">o</span><span class="hl-brackets">[</span><span class="hl-quotes">'</span><span class="hl-string">cls</span><span class="hl-quotes">'</span><span class="hl-brackets">]</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">useSet</span><span class="hl-brackets">) </span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">setAttribute</span><span class="hl-brackets">(</span><span class="hl-identifier">attr</span><span class="hl-code">, </span><span class="hl-identifier">o</span><span class="hl-brackets">[</span><span class="hl-identifier">attr</span><span class="hl-brackets">])</span><span class="hl-code">;
</span><span class="hl-reserved">else </span><span class="hl-identifier">el</span><span class="hl-brackets">[</span><span class="hl-identifier">attr</span><span class="hl-brackets">]</span><span class="hl-code"> = </span><span class="hl-identifier">o</span><span class="hl-brackets">[</span><span class="hl-identifier">attr</span><span class="hl-brackets">]</span><span class="hl-code">;
</span><span class="hl-brackets">}
}
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">DomHelper</span><span class="hl-code">.</span><span class="hl-identifier">applyStyles</span><span class="hl-brackets">(</span><span class="hl-identifier">el</span><span class="hl-code">, </span><span class="hl-identifier">o</span><span class="hl-code">.</span><span class="hl-identifier">style</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">;
</span><span class="hl-brackets">}
}</span><span class="hl-default">;
</span><span class="hl-comment">/**
* true to automatically adjust width and height settings for box-model issues (default to true)
*/
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">ext</span><span class="hl-default">.</span><span class="hl-identifier">Element</span><span class="hl-default">.</span><span class="hl-identifier">prototype</span><span class="hl-default">.</span><span class="hl-identifier">autoBoxAdjust</span><span class="hl-default"> = </span><span class="hl-reserved">true</span><span class="hl-default">;
</span><span class="hl-comment">/**
* true to automatically detect display mode and use display instead of visibility with show()/hide() (defaults to false).
* To enable this globally:&lt;pre&gt;&lt;code&gt;YAHOO.ext.Element.prototype.autoDisplayMode = true;&lt;/code&gt;&lt;/pre&gt;
*/
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">ext</span><span class="hl-default">.</span><span class="hl-identifier">Element</span><span class="hl-default">.</span><span class="hl-identifier">prototype</span><span class="hl-default">.</span><span class="hl-identifier">autoDisplayMode</span><span class="hl-default"> = </span><span class="hl-reserved">true</span><span class="hl-default">;
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">ext</span><span class="hl-default">.</span><span class="hl-identifier">Element</span><span class="hl-default">.</span><span class="hl-identifier">unitPattern</span><span class="hl-default"> = </span><span class="hl-quotes">/</span><span class="hl-string">\d+(px|em|%|en|ex|pt|in|cm|mm|pc)$</span><span class="hl-quotes">/i</span><span class="hl-default">;
</span><span class="hl-comment">/**
* Visibility mode constant - Use visibility to hide element
* @static
* @type Number
*/
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">ext</span><span class="hl-default">.</span><span class="hl-identifier">Element</span><span class="hl-default">.</span><span class="hl-identifier">VISIBILITY</span><span class="hl-default"> = </span><span class="hl-number">1</span><span class="hl-default">;
</span><span class="hl-comment">/**
* Visibility mode constant - Use display to hide element
* @static
* @type Number
*/
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">ext</span><span class="hl-default">.</span><span class="hl-identifier">Element</span><span class="hl-default">.</span><span class="hl-identifier">DISPLAY</span><span class="hl-default"> = </span><span class="hl-number">2</span><span class="hl-default">;
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">ext</span><span class="hl-default">.</span><span class="hl-identifier">Element</span><span class="hl-default">.</span><span class="hl-identifier">blockElements</span><span class="hl-default"> = </span><span class="hl-quotes">/</span><span class="hl-string">^(?:address|blockquote|center|dir|div|dl|fieldset|form|h\d|hr|isindex|menu|ol|ul|p|pre|table|dd|dt|li|tbody|tr|td|thead|tfoot|iframe)$</span><span class="hl-quotes">/i</span><span class="hl-default">;
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">ext</span><span class="hl-default">.</span><span class="hl-identifier">Element</span><span class="hl-default">.</span><span class="hl-identifier">borders</span><span class="hl-default"> = </span><span class="hl-brackets">{</span><span class="hl-identifier">l</span><span class="hl-code">: </span><span class="hl-quotes">'</span><span class="hl-string">border-left-width</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">r</span><span class="hl-code">: </span><span class="hl-quotes">'</span><span class="hl-string">border-right-width</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">t</span><span class="hl-code">: </span><span class="hl-quotes">'</span><span class="hl-string">border-top-width</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">b</span><span class="hl-code">: </span><span class="hl-quotes">'</span><span class="hl-string">border-bottom-width</span><span class="hl-quotes">'</span><span class="hl-brackets">}</span><span class="hl-default">;
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">ext</span><span class="hl-default">.</span><span class="hl-identifier">Element</span><span class="hl-default">.</span><span class="hl-identifier">paddings</span><span class="hl-default"> = </span><span class="hl-brackets">{</span><span class="hl-identifier">l</span><span class="hl-code">: </span><span class="hl-quotes">'</span><span class="hl-string">padding-left</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">r</span><span class="hl-code">: </span><span class="hl-quotes">'</span><span class="hl-string">padding-right</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">t</span><span class="hl-code">: </span><span class="hl-quotes">'</span><span class="hl-string">padding-top</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">b</span><span class="hl-code">: </span><span class="hl-quotes">'</span><span class="hl-string">padding-bottom</span><span class="hl-quotes">'</span><span class="hl-brackets">}</span><span class="hl-default">;
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">ext</span><span class="hl-default">.</span><span class="hl-identifier">Element</span><span class="hl-default">.</span><span class="hl-identifier">margins</span><span class="hl-default"> = </span><span class="hl-brackets">{</span><span class="hl-identifier">l</span><span class="hl-code">: </span><span class="hl-quotes">'</span><span class="hl-string">margin-left</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">r</span><span class="hl-code">: </span><span class="hl-quotes">'</span><span class="hl-string">margin-right</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">t</span><span class="hl-code">: </span><span class="hl-quotes">'</span><span class="hl-string">margin-top</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">b</span><span class="hl-code">: </span><span class="hl-quotes">'</span><span class="hl-string">margin-bottom</span><span class="hl-quotes">'</span><span class="hl-brackets">}</span><span class="hl-default">;
</span><span class="hl-comment">/**
* @private Call out to here so we make minimal closure
*/
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">ext</span><span class="hl-default">.</span><span class="hl-identifier">Element</span><span class="hl-default">.</span><span class="hl-identifier">createStopHandler</span><span class="hl-default"> = </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">stopPropagation</span><span class="hl-code">, </span><span class="hl-identifier">handler</span><span class="hl-code">, </span><span class="hl-identifier">scope</span><span class="hl-code">, </span><span class="hl-identifier">override</span><span class="hl-brackets">){
</span><span class="hl-reserved">return function</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">stopPropagation</span><span class="hl-brackets">){
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Event</span><span class="hl-code">.</span><span class="hl-identifier">stopEvent</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else </span><span class="hl-brackets">{
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Event</span><span class="hl-code">.</span><span class="hl-identifier">preventDefault</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
}
</span><span class="hl-identifier">handler</span><span class="hl-code">.</span><span class="hl-identifier">call</span><span class="hl-brackets">(</span><span class="hl-identifier">override</span><span class="hl-code"> &amp;&amp; </span><span class="hl-identifier">scope</span><span class="hl-code"> ? </span><span class="hl-identifier">scope</span><span class="hl-code"> : </span><span class="hl-builtin">window</span><span class="hl-code">, </span><span class="hl-identifier">e</span><span class="hl-code">, </span><span class="hl-identifier">scope</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-default">;
</span><span class="hl-comment">/**
* @private
*/
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">ext</span><span class="hl-default">.</span><span class="hl-identifier">Element</span><span class="hl-default">.</span><span class="hl-identifier">cache</span><span class="hl-default"> = </span><span class="hl-brackets">{}</span><span class="hl-default">;
</span><span class="hl-comment">/**
* Static method to retreive Element objects. Uses simple caching to consistently return the same object.
* Automatically fixes if an object was recreated with the same id via AJAX or DOM.
* @param {String/HTMLElement/Element} el The id of the element or the element to wrap (must have an id). If you pass in an element, it is returned
* @param {&lt;i&gt;Boolean&lt;/i&gt;} autoGenerateId (optional) Set this flag to true if you are passing an element without an id (like document.body). It will auto generate an id if one isn't present.
* @return {Element} The element object
* @static
*/
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">ext</span><span class="hl-default">.</span><span class="hl-identifier">Element</span><span class="hl-default">.</span><span class="hl-identifier">get</span><span class="hl-default"> = </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">el</span><span class="hl-code">, </span><span class="hl-identifier">autoGenerateId</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">el</span><span class="hl-brackets">){ </span><span class="hl-reserved">return null</span><span class="hl-code">; </span><span class="hl-brackets">}
</span><span class="hl-identifier">autoGenerateId</span><span class="hl-code"> = </span><span class="hl-reserved">true</span><span class="hl-code">; </span><span class="hl-comment">// now generates id by default
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">el </span><span class="hl-reserved">instanceof </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">Element</span><span class="hl-brackets">){
</span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">get</span><span class="hl-brackets">(</span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">id</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">// refresh dom element in case no longer valid
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">Element</span><span class="hl-code">.</span><span class="hl-identifier">cache</span><span class="hl-brackets">[</span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">id</span><span class="hl-brackets">]</span><span class="hl-code"> = </span><span class="hl-identifier">el</span><span class="hl-code">; </span><span class="hl-comment">// in case it was created directly with Element(), let's cache it
</span><span class="hl-reserved">return </span><span class="hl-identifier">el</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else if</span><span class="hl-brackets">(</span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">isComposite</span><span class="hl-brackets">){
</span><span class="hl-reserved">return </span><span class="hl-identifier">el</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else if</span><span class="hl-brackets">(</span><span class="hl-identifier">el </span><span class="hl-reserved">instanceof </span><span class="hl-builtin">Array</span><span class="hl-brackets">){
</span><span class="hl-reserved">return </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">Element</span><span class="hl-code">.</span><span class="hl-identifier">select</span><span class="hl-brackets">(</span><span class="hl-identifier">el</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">var </span><span class="hl-identifier">key</span><span class="hl-code"> = </span><span class="hl-identifier">el</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">typeof </span><span class="hl-identifier">el</span><span class="hl-code"> != </span><span class="hl-quotes">'</span><span class="hl-string">string</span><span class="hl-quotes">'</span><span class="hl-brackets">){ </span><span class="hl-comment">// must be an element
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">id</span><span class="hl-code"> &amp;&amp; !</span><span class="hl-identifier">autoGenerateId</span><span class="hl-brackets">){ </span><span class="hl-reserved">return null</span><span class="hl-code">; </span><span class="hl-brackets">}
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">generateId</span><span class="hl-brackets">(</span><span class="hl-identifier">el</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">elgen-</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">key</span><span class="hl-code"> = </span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">id</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">var </span><span class="hl-identifier">element</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">Element</span><span class="hl-code">.</span><span class="hl-identifier">cache</span><span class="hl-brackets">[</span><span class="hl-identifier">key</span><span class="hl-brackets">]</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">element</span><span class="hl-brackets">){
</span><span class="hl-identifier">element</span><span class="hl-code"> = </span><span class="hl-reserved">new </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">Element</span><span class="hl-brackets">(</span><span class="hl-identifier">key</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">element</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-brackets">) </span><span class="hl-reserved">return null</span><span class="hl-code">;
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">Element</span><span class="hl-code">.</span><span class="hl-identifier">cache</span><span class="hl-brackets">[</span><span class="hl-identifier">key</span><span class="hl-brackets">]</span><span class="hl-code"> = </span><span class="hl-identifier">element</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-identifier">element</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">get</span><span class="hl-brackets">(</span><span class="hl-identifier">key</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return </span><span class="hl-identifier">element</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-default">;
</span><span class="hl-comment">/**
* Shorthand function for YAHOO.ext.Element.get()
*/
</span><span class="hl-reserved">var </span><span class="hl-identifier">getEl</span><span class="hl-default"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">ext</span><span class="hl-default">.</span><span class="hl-identifier">Element</span><span class="hl-default">.</span><span class="hl-identifier">get</span><span class="hl-default">;
</span><span class="hl-comment">// clean up refs
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">util</span><span class="hl-default">.</span><span class="hl-identifier">Event</span><span class="hl-default">.</span><span class="hl-identifier">addListener</span><span class="hl-brackets">(</span><span class="hl-builtin">window</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">unload</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-reserved">function</span><span class="hl-brackets">(){ </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">Element</span><span class="hl-code">.</span><span class="hl-identifier">cache</span><span class="hl-code"> = </span><span class="hl-reserved">null</span><span class="hl-code">; </span><span class="hl-brackets">})</span><span class="hl-default">;</span></pre></div><hr>Copyright &copy; 2006 Jack Slocum. All rights reserved.</body></html>