upgraded to yui 0.12.0

upgraded to yui-ext 0.33 rc2
This commit is contained in:
JT Smith 2006-11-28 02:23:34 +00:00
parent 62b3d90db7
commit cfd09a5cb6
1271 changed files with 539033 additions and 0 deletions

View file

@ -0,0 +1,400 @@
<html><head><title>DomHelper.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.DomHelper
* Utility class for working with DOM and/or Templates. It transparently supports using HTML fragments or DOM.
* For more information see &lt;a href=&quot;</span><span class="hl-url">http://www.jackslocum.com/yui/2006/10/06/domhelper-create-elements-using-dom-html-fragments-or-templates/</span><span class="hl-comment">&quot;&gt;this blog post with examples&lt;/a&gt;.
* @singleton
*/
</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">DomHelper</span><span class="hl-default"> = </span><span class="hl-reserved">new function</span><span class="hl-brackets">(){
</span><span class="hl-comment">/**@private*/
</span><span class="hl-reserved">var </span><span class="hl-identifier">d</span><span class="hl-code"> = </span><span class="hl-builtin">document</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">tempTableEl</span><span class="hl-code"> = </span><span class="hl-reserved">null</span><span class="hl-code">;
</span><span class="hl-comment">/** True to force the use of DOM instead of html fragments @type Boolean */
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">useDom</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">emptyTags</span><span class="hl-code"> = </span><span class="hl-quotes">/</span><span class="hl-string">^(?:base|basefont|br|frame|hr|img|input|isindex|link|meta|nextid|range|spacer|wbr|audioscope|area|param|keygen|col|limittext|spot|tab|over|right|left|choose|atop|of)$</span><span class="hl-quotes">/i</span><span class="hl-code">;
</span><span class="hl-comment">/**
* Applies a style specification to an element
* @param {String/HTMLElement} el The element to apply styles to
* @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.
*/
</span><span class="hl-reserved">this</span><span class="hl-code">.</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">el</span><span class="hl-code">, </span><span class="hl-identifier">styles</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">styles</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">if </span><span class="hl-brackets">(</span><span class="hl-reserved">typeof </span><span class="hl-identifier">styles</span><span class="hl-code"> == </span><span class="hl-quotes">&quot;</span><span class="hl-string">string</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">){
</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">\s?([a-z\-]*)\:([^;]*);?</span><span class="hl-quotes">/gi</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">matches</span><span class="hl-code">;
</span><span class="hl-reserved">while </span><span class="hl-brackets">((</span><span class="hl-identifier">matches</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">styles</span><span class="hl-brackets">))</span><span class="hl-code"> != </span><span class="hl-reserved">null</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-identifier">el</span><span class="hl-code">, </span><span class="hl-identifier">matches</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">matches</span><span class="hl-brackets">[</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">else if </span><span class="hl-brackets">(</span><span class="hl-reserved">typeof </span><span class="hl-identifier">styles</span><span class="hl-code"> == </span><span class="hl-quotes">&quot;</span><span class="hl-string">object</span><span class="hl-quotes">&quot;</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">style </span><span class="hl-reserved">in </span><span class="hl-identifier">styles</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-identifier">el</span><span class="hl-code">, </span><span class="hl-identifier">style</span><span class="hl-code">, </span><span class="hl-identifier">styles</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">else if </span><span class="hl-brackets">(</span><span class="hl-reserved">typeof </span><span class="hl-identifier">styles</span><span class="hl-code"> == </span><span class="hl-quotes">&quot;</span><span class="hl-string">function</span><span class="hl-quotes">&quot;</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">styles</span><span class="hl-code">.</span><span class="hl-identifier">call</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">// build as innerHTML where available
/** @ignore */
</span><span class="hl-reserved">var </span><span class="hl-identifier">createHtml</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">b</span><span class="hl-code"> = </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">&lt;</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">tag</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">tag</span><span class="hl-quotes">'</span><span class="hl-code"> || </span><span class="hl-identifier">attr</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">children</span><span class="hl-quotes">'</span><span class="hl-code"> || </span><span class="hl-identifier">attr</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">html</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">style</span><span class="hl-quotes">'</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">o</span><span class="hl-brackets">[</span><span class="hl-quotes">'</span><span class="hl-string">style</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">typeof </span><span class="hl-identifier">s</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">s</span><span class="hl-code"> = </span><span class="hl-identifier">s</span><span class="hl-code">.</span><span class="hl-identifier">call</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">s</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">b</span><span class="hl-code"> += </span><span class="hl-quotes">'</span><span class="hl-string"> style=&quot;</span><span class="hl-quotes">'</span><span class="hl-code"> + </span><span class="hl-identifier">s</span><span class="hl-code"> + </span><span class="hl-quotes">'</span><span class="hl-string">&quot;</span><span class="hl-quotes">'</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-reserved">typeof </span><span class="hl-identifier">s</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-brackets">){
</span><span class="hl-identifier">b</span><span class="hl-code"> += </span><span class="hl-quotes">'</span><span class="hl-string"> style=&quot;</span><span class="hl-quotes">'</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">key </span><span class="hl-reserved">in </span><span class="hl-identifier">s</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">s</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-quotes">'</span><span class="hl-string">function</span><span class="hl-quotes">'</span><span class="hl-brackets">){
</span><span class="hl-identifier">b</span><span class="hl-code"> += </span><span class="hl-identifier">key</span><span class="hl-code"> + </span><span class="hl-quotes">'</span><span class="hl-string">:</span><span class="hl-quotes">'</span><span class="hl-code"> + </span><span class="hl-identifier">s</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-quotes">'</span><span class="hl-string">;</span><span class="hl-quotes">'</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-quotes">'</span><span class="hl-string">&quot;</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">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">b</span><span class="hl-code"> += </span><span class="hl-quotes">'</span><span class="hl-string"> class=&quot;</span><span class="hl-quotes">'</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-quotes">'</span><span class="hl-string">&quot;</span><span class="hl-quotes">'</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">attr</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">htmlFor</span><span class="hl-quotes">'</span><span class="hl-brackets">){
</span><span class="hl-identifier">b</span><span class="hl-code"> += </span><span class="hl-quotes">'</span><span class="hl-string"> for=&quot;</span><span class="hl-quotes">'</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">htmlFor</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">&quot;</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-identifier">b</span><span class="hl-code"> += </span><span class="hl-quotes">' '</span><span class="hl-code"> + </span><span class="hl-identifier">attr</span><span class="hl-code"> + </span><span class="hl-quotes">'</span><span class="hl-string">=&quot;</span><span class="hl-quotes">'</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-quotes">'</span><span class="hl-string">&quot;</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">emptyTags</span><span class="hl-code">.</span><span class="hl-identifier">test</span><span class="hl-brackets">(</span><span class="hl-identifier">o</span><span class="hl-code">.</span><span class="hl-identifier">tag</span><span class="hl-brackets">)){
</span><span class="hl-identifier">b</span><span class="hl-code"> += </span><span class="hl-quotes">'</span><span class="hl-string"> /&gt;</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-identifier">b</span><span class="hl-code"> += </span><span class="hl-quotes">'</span><span class="hl-string">&gt;</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-identifier">o</span><span class="hl-code">.</span><span class="hl-identifier">children</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">o</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-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-identifier">b</span><span class="hl-code"> += </span><span class="hl-identifier">createHtml</span><span class="hl-brackets">(</span><span class="hl-identifier">o</span><span class="hl-code">.</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-identifier">b</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">html</span><span class="hl-brackets">){
</span><span class="hl-identifier">b</span><span class="hl-code"> += </span><span class="hl-identifier">o</span><span class="hl-code">.</span><span class="hl-identifier">html</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-quotes">'</span><span class="hl-string">&lt;/</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">tag</span><span class="hl-code"> + </span><span class="hl-quotes">'</span><span class="hl-string">&gt;</span><span class="hl-quotes">'</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return </span><span class="hl-identifier">b</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-comment">// build as dom
/** @ignore */
</span><span class="hl-reserved">var </span><span class="hl-identifier">createDom</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-code">, </span><span class="hl-identifier">parentNode</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-identifier">d</span><span class="hl-code">.</span><span class="hl-identifier">createElement</span><span class="hl-brackets">(</span><span class="hl-identifier">o</span><span class="hl-code">.</span><span class="hl-identifier">tag</span><span class="hl-brackets">)</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-comment">// In IE some elements don't have setAttribute
</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">tag</span><span class="hl-quotes">'</span><span class="hl-code"> || </span><span class="hl-identifier">attr</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">children</span><span class="hl-quotes">'</span><span class="hl-code"> || </span><span class="hl-identifier">attr</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">html</span><span class="hl-quotes">'</span><span class="hl-code"> || </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">if</span><span class="hl-brackets">(</span><span class="hl-identifier">o</span><span class="hl-code">.</span><span class="hl-identifier">children</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">o</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-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-identifier">createDom</span><span class="hl-brackets">(</span><span class="hl-identifier">o</span><span class="hl-code">.</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-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-identifier">o</span><span class="hl-code">.</span><span class="hl-identifier">html</span><span class="hl-brackets">){
</span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">innerHTML</span><span class="hl-code"> = </span><span class="hl-identifier">o</span><span class="hl-code">.</span><span class="hl-identifier">html</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">parentNode</span><span class="hl-brackets">){
</span><span class="hl-identifier">parentNode</span><span class="hl-code">.</span><span class="hl-identifier">appendChild</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">return </span><span class="hl-identifier">el</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">;
</span><span class="hl-comment">/**
* @ignore
* Nasty code for IE's broken table implementation
*/
</span><span class="hl-reserved">var </span><span class="hl-identifier">insertIntoTable</span><span class="hl-code"> = </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">tag</span><span class="hl-code">, </span><span class="hl-identifier">where</span><span class="hl-code">, </span><span class="hl-identifier">el</span><span class="hl-code">, </span><span class="hl-identifier">html</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">tempTableEl</span><span class="hl-brackets">){
</span><span class="hl-identifier">tempTableEl</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">'</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">node</span><span class="hl-code">;
</span><span class="hl-reserved">if</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">table</span><span class="hl-quotes">'</span><span class="hl-code"> || </span><span class="hl-identifier">tag</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">tbody</span><span class="hl-quotes">'</span><span class="hl-brackets">){
</span><span class="hl-identifier">tempTableEl</span><span class="hl-code">.</span><span class="hl-identifier">innerHTML</span><span class="hl-code"> = </span><span class="hl-quotes">'</span><span class="hl-string">&lt;table&gt;&lt;tbody&gt;</span><span class="hl-quotes">'</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;/tbody&gt;&lt;/table&gt;</span><span class="hl-quotes">'</span><span class="hl-code">;
</span><span class="hl-identifier">node</span><span class="hl-code"> = </span><span class="hl-identifier">tempTableEl</span><span class="hl-code">.</span><span class="hl-identifier">firstChild</span><span class="hl-code">.</span><span class="hl-identifier">firstChild</span><span class="hl-code">.</span><span class="hl-identifier">firstChild</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">tempTableEl</span><span class="hl-code">.</span><span class="hl-identifier">innerHTML</span><span class="hl-code"> = </span><span class="hl-quotes">'</span><span class="hl-string">&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;</span><span class="hl-quotes">'</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;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</span><span class="hl-quotes">'</span><span class="hl-code">;
</span><span class="hl-identifier">node</span><span class="hl-code"> = </span><span class="hl-identifier">tempTableEl</span><span class="hl-code">.</span><span class="hl-identifier">firstChild</span><span class="hl-code">.</span><span class="hl-identifier">firstChild</span><span class="hl-code">.</span><span class="hl-identifier">firstChild</span><span class="hl-code">.</span><span class="hl-identifier">firstChild</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">where</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">beforebegin</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">parentNode</span><span class="hl-code">.</span><span class="hl-identifier">insertBefore</span><span class="hl-brackets">(</span><span class="hl-identifier">node</span><span class="hl-code">, </span><span class="hl-identifier">el</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return </span><span class="hl-identifier">node</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">where</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">afterbegin</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">insertBefore</span><span class="hl-brackets">(</span><span class="hl-identifier">node</span><span class="hl-code">, </span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">firstChild</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return </span><span class="hl-identifier">node</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">where</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">beforeend</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">appendChild</span><span class="hl-brackets">(</span><span class="hl-identifier">node</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return </span><span class="hl-identifier">node</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">where</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">afterend</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">parentNode</span><span class="hl-code">.</span><span class="hl-identifier">insertBefore</span><span class="hl-brackets">(</span><span class="hl-identifier">node</span><span class="hl-code">, </span><span class="hl-identifier">el</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 </span><span class="hl-identifier">node</span><span class="hl-code">;
</span><span class="hl-brackets">}
}
</span><span class="hl-comment">/**
* Inserts an HTML fragment into the Dom
* @param {String} where Where to insert the html in relation to el - beforeBegin, afterBegin, beforeEnd, afterEnd.
* @param {HTMLElement} el The context element
* @param {String} html The HTML fragmenet
* @return {HTMLElement} The new node
*/
</span><span class="hl-reserved">this</span><span class="hl-code">.</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">el</span><span class="hl-code">, </span><span class="hl-identifier">html</span><span class="hl-brackets">){
</span><span class="hl-identifier">where</span><span class="hl-code"> = </span><span class="hl-identifier">where</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">if</span><span class="hl-brackets">(</span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">insertAdjacentHTML</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">tag</span><span class="hl-code"> = </span><span class="hl-identifier">el</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-reserved">if</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">table</span><span class="hl-quotes">'</span><span class="hl-code"> || </span><span class="hl-identifier">tag</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">tbody</span><span class="hl-quotes">'</span><span class="hl-code"> || </span><span class="hl-identifier">tag</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">tr</span><span class="hl-quotes">'</span><span class="hl-brackets">){
</span><span class="hl-reserved">return </span><span class="hl-identifier">insertIntoTable</span><span class="hl-brackets">(</span><span class="hl-identifier">tag</span><span class="hl-code">, </span><span class="hl-identifier">where</span><span class="hl-code">, </span><span class="hl-identifier">el</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-brackets">}
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">where</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">beforebegin</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">insertAdjacentHTML</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-code">;
</span><span class="hl-reserved">return </span><span class="hl-identifier">el</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">else if</span><span class="hl-brackets">(</span><span class="hl-identifier">where</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">afterbegin</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">insertAdjacentHTML</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-code">;
</span><span class="hl-reserved">return </span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">firstChild</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">where</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">beforeend</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">insertAdjacentHTML</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-code">;
</span><span class="hl-reserved">return </span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">lastChild</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">where</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">afterend</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">insertAdjacentHTML</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-code">;
</span><span class="hl-reserved">return </span><span class="hl-identifier">el</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">throw </span><span class="hl-quotes">'</span><span class="hl-string">Illegal insertion point -&gt; &quot;</span><span class="hl-quotes">'</span><span class="hl-code"> + </span><span class="hl-identifier">where</span><span class="hl-code"> + </span><span class="hl-quotes">'</span><span class="hl-string">&quot;</span><span class="hl-quotes">'</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">var </span><span class="hl-identifier">range</span><span class="hl-code"> = </span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">ownerDocument</span><span class="hl-code">.</span><span class="hl-identifier">createRange</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">frag</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">where</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">beforebegin</span><span class="hl-quotes">'</span><span class="hl-brackets">){
</span><span class="hl-identifier">range</span><span class="hl-code">.</span><span class="hl-identifier">setStartBefore</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">frag</span><span class="hl-code"> = </span><span class="hl-identifier">range</span><span class="hl-code">.</span><span class="hl-identifier">createContextualFragment</span><span class="hl-brackets">(</span><span class="hl-identifier">html</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">parentNode</span><span class="hl-code">.</span><span class="hl-identifier">insertBefore</span><span class="hl-brackets">(</span><span class="hl-identifier">frag</span><span class="hl-code">, </span><span class="hl-identifier">el</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return </span><span class="hl-identifier">el</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">else if</span><span class="hl-brackets">(</span><span class="hl-identifier">where</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">afterbegin</span><span class="hl-quotes">'</span><span class="hl-brackets">){
</span><span class="hl-identifier">range</span><span class="hl-code">.</span><span class="hl-identifier">selectNodeContents</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">range</span><span class="hl-code">.</span><span class="hl-identifier">collapse</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-identifier">frag</span><span class="hl-code"> = </span><span class="hl-identifier">range</span><span class="hl-code">.</span><span class="hl-identifier">createContextualFragment</span><span class="hl-brackets">(</span><span class="hl-identifier">html</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">insertBefore</span><span class="hl-brackets">(</span><span class="hl-identifier">frag</span><span class="hl-code">, </span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">firstChild</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return </span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">firstChild</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">where</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">beforeend</span><span class="hl-quotes">'</span><span class="hl-brackets">){
</span><span class="hl-identifier">range</span><span class="hl-code">.</span><span class="hl-identifier">selectNodeContents</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">range</span><span class="hl-code">.</span><span class="hl-identifier">collapse</span><span class="hl-brackets">(</span><span class="hl-reserved">false</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">frag</span><span class="hl-code"> = </span><span class="hl-identifier">range</span><span class="hl-code">.</span><span class="hl-identifier">createContextualFragment</span><span class="hl-brackets">(</span><span class="hl-identifier">html</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">appendChild</span><span class="hl-brackets">(</span><span class="hl-identifier">frag</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return </span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">lastChild</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">where</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">afterend</span><span class="hl-quotes">'</span><span class="hl-brackets">){
</span><span class="hl-identifier">range</span><span class="hl-code">.</span><span class="hl-identifier">setStartAfter</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">frag</span><span class="hl-code"> = </span><span class="hl-identifier">range</span><span class="hl-code">.</span><span class="hl-identifier">createContextualFragment</span><span class="hl-brackets">(</span><span class="hl-identifier">html</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">parentNode</span><span class="hl-code">.</span><span class="hl-identifier">insertBefore</span><span class="hl-brackets">(</span><span class="hl-identifier">frag</span><span class="hl-code">, </span><span class="hl-identifier">el</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 </span><span class="hl-identifier">el</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">else</span><span class="hl-brackets">{
</span><span class="hl-reserved">throw </span><span class="hl-quotes">'</span><span class="hl-string">Illegal insertion point -&gt; &quot;</span><span class="hl-quotes">'</span><span class="hl-code"> + </span><span class="hl-identifier">where</span><span class="hl-code"> + </span><span class="hl-quotes">'</span><span class="hl-string">&quot;</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">/**
* Creates new Dom element(s) and inserts them before el
* @param {HTMLElement} el The context element
* @param {Object} o The Dom object spec (and children)
* @param {&lt;i&gt;Boolean&lt;/i&gt;} returnElement (optional) true to return a YAHOO.ext.Element
* @return {HTMLElement} The new node
*/
</span><span class="hl-reserved">this</span><span class="hl-code">.</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-code">, </span><span class="hl-identifier">o</span><span class="hl-code">, </span><span class="hl-identifier">returnElement</span><span class="hl-brackets">){
</span><span class="hl-identifier">el</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-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">newNode</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">useDom</span><span class="hl-brackets">){
</span><span class="hl-identifier">newNode</span><span class="hl-code"> = </span><span class="hl-identifier">createDom</span><span class="hl-brackets">(</span><span class="hl-identifier">o</span><span class="hl-code">, </span><span class="hl-reserved">null</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">parentNode</span><span class="hl-code">.</span><span class="hl-identifier">insertBefore</span><span class="hl-brackets">(</span><span class="hl-identifier">newNode</span><span class="hl-code">, </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">else</span><span class="hl-brackets">{
</span><span class="hl-reserved">var </span><span class="hl-identifier">html</span><span class="hl-code"> = </span><span class="hl-identifier">createHtml</span><span class="hl-brackets">(</span><span class="hl-identifier">o</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">newNode</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">insertHtml</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">beforeBegin</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">el</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-brackets">}
</span><span class="hl-reserved">return </span><span class="hl-identifier">returnElement</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">newNode</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">newNode</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">;
</span><span class="hl-comment">/**
* Creates new Dom element(s) and inserts them after el
* @param {HTMLElement} el The context element
* @param {Object} o The Dom object spec (and children)
* @param {&lt;i&gt;Boolean&lt;/i&gt;} returnElement (optional) true to return a YAHOO.ext.Element
* @return {HTMLElement} The new node
*/
</span><span class="hl-reserved">this</span><span class="hl-code">.</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-code">, </span><span class="hl-identifier">o</span><span class="hl-code">, </span><span class="hl-identifier">returnElement</span><span class="hl-brackets">){
</span><span class="hl-identifier">el</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-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">newNode</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">useDom</span><span class="hl-brackets">){
</span><span class="hl-identifier">newNode</span><span class="hl-code"> = </span><span class="hl-identifier">createDom</span><span class="hl-brackets">(</span><span class="hl-identifier">o</span><span class="hl-code">, </span><span class="hl-reserved">null</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">parentNode</span><span class="hl-code">.</span><span class="hl-identifier">insertBefore</span><span class="hl-brackets">(</span><span class="hl-identifier">newNode</span><span class="hl-code">, </span><span class="hl-identifier">el</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-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-reserved">var </span><span class="hl-identifier">html</span><span class="hl-code"> = </span><span class="hl-identifier">createHtml</span><span class="hl-brackets">(</span><span class="hl-identifier">o</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">newNode</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">insertHtml</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">afterEnd</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">el</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-brackets">}
</span><span class="hl-reserved">return </span><span class="hl-identifier">returnElement</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">newNode</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">newNode</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">;
</span><span class="hl-comment">/**
* Creates new Dom element(s) and appends them to el
* @param {HTMLElement} el The context element
* @param {Object} o The Dom object spec (and children)
* @param {&lt;i&gt;Boolean&lt;/i&gt;} returnElement (optional) true to return a YAHOO.ext.Element
* @return {HTMLElement} The new node
*/
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">append</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-code">, </span><span class="hl-identifier">o</span><span class="hl-code">, </span><span class="hl-identifier">returnElement</span><span class="hl-brackets">){
</span><span class="hl-identifier">el</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-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">newNode</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">useDom</span><span class="hl-brackets">){
</span><span class="hl-identifier">newNode</span><span class="hl-code"> = </span><span class="hl-identifier">createDom</span><span class="hl-brackets">(</span><span class="hl-identifier">o</span><span class="hl-code">, </span><span class="hl-reserved">null</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">appendChild</span><span class="hl-brackets">(</span><span class="hl-identifier">newNode</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">html</span><span class="hl-code"> = </span><span class="hl-identifier">createHtml</span><span class="hl-brackets">(</span><span class="hl-identifier">o</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">newNode</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">insertHtml</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">beforeEnd</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">el</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-brackets">}
</span><span class="hl-reserved">return </span><span class="hl-identifier">returnElement</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">newNode</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">newNode</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">;
</span><span class="hl-comment">/**
* Creates new Dom element(s) and overwrites the contents of el with them
* @param {HTMLElement} el The context element
* @param {Object} o The Dom object spec (and children)
* @param {&lt;i&gt;Boolean&lt;/i&gt;} returnElement (optional) true to return a YAHOO.ext.Element
* @return {HTMLElement} The new node
*/
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">overwrite</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-code">, </span><span class="hl-identifier">o</span><span class="hl-code">, </span><span class="hl-identifier">returnElement</span><span class="hl-brackets">){
</span><span class="hl-identifier">el</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-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">innerHTML</span><span class="hl-code"> = </span><span class="hl-identifier">createHtml</span><span class="hl-brackets">(</span><span class="hl-identifier">o</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return </span><span class="hl-identifier">returnElement</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">el</span><span class="hl-code">.</span><span class="hl-identifier">firstChild</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">el</span><span class="hl-code">.</span><span class="hl-identifier">firstChild</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">;
</span><span class="hl-comment">/**
* Creates a new YAHOO.ext.DomHelper.Template from the Dom object spec
* @param {Object} o The Dom object spec (and children)
* @return {YAHOO.ext.DomHelper.Template} The new template
*/
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">createTemplate</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">html</span><span class="hl-code"> = </span><span class="hl-identifier">createHtml</span><span class="hl-brackets">(</span><span class="hl-identifier">o</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">return 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">DomHelper</span><span class="hl-code">.</span><span class="hl-identifier">Template</span><span class="hl-brackets">(</span><span class="hl-identifier">html</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">/**
* @class YAHOO.ext.DomHelper.Template
* Represents an HTML fragment template.
* For more information see &lt;a href=&quot;</span><span class="hl-url">http://www.jackslocum.com/yui/2006/10/06/domhelper-create-elements-using-dom-html-fragments-or-templates/</span><span class="hl-comment">&quot;&gt;this blog post with examples&lt;/a&gt;.
* &lt;br&gt;
* &lt;b&gt;This class is also available as YAHOO.ext.Template&lt;/b&gt;.
* @constructor
* @param {String} html The HTML fragment
*/
</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">DomHelper</span><span class="hl-default">.</span><span class="hl-identifier">Template</span><span class="hl-default"> = </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">html</span><span class="hl-brackets">){
</span><span class="hl-comment">/**@private*/
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">html</span><span class="hl-code"> = </span><span class="hl-identifier">html</span><span class="hl-code">;
</span><span class="hl-comment">/**@private*/
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">re</span><span class="hl-code"> = </span><span class="hl-quotes">/</span><span class="hl-string">\{(\w+)\}</span><span class="hl-quotes">/g</span><span class="hl-code">;
</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">DomHelper</span><span class="hl-default">.</span><span class="hl-identifier">Template</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">/**
* Returns an HTML fragment of this template with the specified values applied
* @param {Object} values The template values. Can be an array if your params are numeric (i.e. {0}) or an object (i.e. {foo: 'bar'})
* @return {String}
*/
</span><span class="hl-identifier">applyTemplate</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">values</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">compiled</span><span class="hl-brackets">){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">compiled</span><span class="hl-brackets">(</span><span class="hl-identifier">values</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">empty</span><span class="hl-code"> = </span><span class="hl-quotes">''</span><span class="hl-code">;
</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">match</span><span class="hl-code">, </span><span class="hl-identifier">index</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">values</span><span class="hl-brackets">[</span><span class="hl-identifier">index</span><span class="hl-brackets">]</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">values</span><span class="hl-brackets">[</span><span class="hl-identifier">index</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">empty</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">html</span><span class="hl-code">.</span><span class="hl-identifier">replace</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">re</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-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Compiles the template into an internal function, eliminating the RegEx overhead
*/
</span><span class="hl-identifier">compile</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">html</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">html</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">\{(\w+)\}</span><span class="hl-quotes">/g</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">body</span><span class="hl-code"> = </span><span class="hl-brackets">[]</span><span class="hl-code">;
</span><span class="hl-identifier">body</span><span class="hl-code">.</span><span class="hl-identifier">push</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">this.compiled = function(values){ return </span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">result</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">lastMatchEnd</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;
</span><span class="hl-reserved">while </span><span class="hl-brackets">((</span><span class="hl-identifier">result</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-code"> != </span><span class="hl-reserved">null</span><span class="hl-brackets">){
</span><span class="hl-identifier">body</span><span class="hl-code">.</span><span class="hl-identifier">push</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">'</span><span class="hl-quotes">&quot;</span><span class="hl-code">, </span><span class="hl-identifier">html</span><span class="hl-code">.</span><span class="hl-identifier">substring</span><span class="hl-brackets">(</span><span class="hl-identifier">lastMatchEnd</span><span class="hl-code">, </span><span class="hl-identifier">result</span><span class="hl-code">.</span><span class="hl-identifier">index</span><span class="hl-brackets">)</span><span class="hl-code">, </span><span class="hl-quotes">&quot;</span><span class="hl-string">' + </span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">body</span><span class="hl-code">.</span><span class="hl-identifier">push</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">values['</span><span class="hl-quotes">&quot;</span><span class="hl-code">, </span><span class="hl-identifier">html</span><span class="hl-code">.</span><span class="hl-identifier">substring</span><span class="hl-brackets">(</span><span class="hl-identifier">result</span><span class="hl-code">.</span><span class="hl-identifier">index</span><span class="hl-code">+</span><span class="hl-number">1</span><span class="hl-code">,</span><span class="hl-identifier">re</span><span class="hl-code">.</span><span class="hl-identifier">lastIndex</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-quotes">&quot;</span><span class="hl-string">'] + </span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">lastMatchEnd</span><span class="hl-code"> = </span><span class="hl-identifier">re</span><span class="hl-code">.</span><span class="hl-identifier">lastIndex</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-identifier">body</span><span class="hl-code">.</span><span class="hl-identifier">push</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">'</span><span class="hl-quotes">&quot;</span><span class="hl-code">, </span><span class="hl-identifier">html</span><span class="hl-code">.</span><span class="hl-identifier">substr</span><span class="hl-brackets">(</span><span class="hl-identifier">lastMatchEnd</span><span class="hl-brackets">)</span><span class="hl-code">, </span><span class="hl-quotes">&quot;</span><span class="hl-string">';};</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">eval</span><span class="hl-brackets">(</span><span class="hl-identifier">body</span><span class="hl-code">.</span><span class="hl-identifier">join</span><span class="hl-brackets">(</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">/**
* Applies the supplied values to the template and inserts the new node(s) before el
* @param {HTMLElement} el The context element
* @param {Object} values The template values. Can be an array if your params are numeric (i.e. {0}) or an object (i.e. {foo: 'bar'})
* @param {&lt;i&gt;Boolean&lt;/i&gt;} returnElement (optional) true to return a YAHOO.ext.Element
* @return {HTMLElement} The new node
*/
</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-code">, </span><span class="hl-identifier">values</span><span class="hl-code">, </span><span class="hl-identifier">returnElement</span><span class="hl-brackets">){
</span><span class="hl-identifier">el</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-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">newNode</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">insertHtml</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">beforeBegin</span><span class="hl-quotes">'</span><span class="hl-code">, </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">applyTemplate</span><span class="hl-brackets">(</span><span class="hl-identifier">values</span><span class="hl-brackets">))</span><span class="hl-code">;
</span><span class="hl-reserved">return </span><span class="hl-identifier">returnElement</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">newNode</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">newNode</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Applies the supplied values to the template and inserts the new node(s) after el
* @param {HTMLElement} el The context element
* @param {Object} values The template values. Can be an array if your params are numeric (i.e. {0}) or an object (i.e. {foo: 'bar'})
* @param {&lt;i&gt;Boolean&lt;/i&gt;} returnElement (optional) true to return a YAHOO.ext.Element
* @return {HTMLElement} The new node
*/
</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-code">, </span><span class="hl-identifier">values</span><span class="hl-code">, </span><span class="hl-identifier">returnElement</span><span class="hl-brackets">){
</span><span class="hl-identifier">el</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-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">newNode</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">insertHtml</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">afterEnd</span><span class="hl-quotes">'</span><span class="hl-code">, </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">applyTemplate</span><span class="hl-brackets">(</span><span class="hl-identifier">values</span><span class="hl-brackets">))</span><span class="hl-code">;
</span><span class="hl-reserved">return </span><span class="hl-identifier">returnElement</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">newNode</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">newNode</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Applies the supplied values to the template and append the new node(s) to el
* @param {HTMLElement} el The context element
* @param {Object} values The template values. Can be an array if your params are numeric (i.e. {0}) or an object (i.e. {foo: 'bar'})
* @param {&lt;i&gt;Boolean&lt;/i&gt;} returnElement (optional) true to return a YAHOO.ext.Element
* @return {HTMLElement} The new node
*/
</span><span class="hl-identifier">append</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-code">, </span><span class="hl-identifier">values</span><span class="hl-code">, </span><span class="hl-identifier">returnElement</span><span class="hl-brackets">){
</span><span class="hl-identifier">el</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-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">newNode</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">insertHtml</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">beforeEnd</span><span class="hl-quotes">'</span><span class="hl-code">, </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">applyTemplate</span><span class="hl-brackets">(</span><span class="hl-identifier">values</span><span class="hl-brackets">))</span><span class="hl-code">;
</span><span class="hl-reserved">return </span><span class="hl-identifier">returnElement</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">newNode</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">newNode</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Applies the supplied values to the template and overwrites the content of el with the new node(s)
* @param {HTMLElement} el The context element
* @param {Object} values The template values. Can be an array if your params are numeric (i.e. {0}) or an object (i.e. {foo: 'bar'})
* @param {&lt;i&gt;Boolean&lt;/i&gt;} returnElement (optional) true to return a YAHOO.ext.Element
* @return {HTMLElement} The new node
*/
</span><span class="hl-identifier">overwrite</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-code">, </span><span class="hl-identifier">values</span><span class="hl-code">, </span><span class="hl-identifier">returnElement</span><span class="hl-brackets">){
</span><span class="hl-identifier">el</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-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">innerHTML</span><span class="hl-code"> = </span><span class="hl-quotes">''</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">newNode</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">insertHtml</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">beforeEnd</span><span class="hl-quotes">'</span><span class="hl-code">, </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">applyTemplate</span><span class="hl-brackets">(</span><span class="hl-identifier">values</span><span class="hl-brackets">))</span><span class="hl-code">;
</span><span class="hl-reserved">return </span><span class="hl-identifier">returnElement</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">newNode</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">newNode</span><span class="hl-code">;
</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">Template</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">DomHelper</span><span class="hl-default">.</span><span class="hl-identifier">Template</span><span class="hl-default">;</span></pre></div><hr>Copyright &copy; 2006 Jack Slocum. All rights reserved.</body></html>