<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns:yui="http://yuilibrary.com/rdf/1.0/yui.rdf#">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>API: yui get.js (YUI Library)</title>
<link rel="stylesheet" type="text/css" href="assets/reset-fonts-grids-min.css" />
<link rel="stylesheet" type="text/css" href="assets/api.css" />
<script type="text/javascript" src="assets/api-js"></script>
<script type="text/javascript" src="assets/ac-js"></script>
</head>
<body id="yahoo-com">
<div id="doc3" class="yui-t2">
<div id="hd">
<h1><a href="http://developer.yahoo.com/yui/" title="Yahoo! UI Library">Yahoo! UI Library</a></h1>
<h3>yui <span class="subtitle">3.0.0b1</span></h3>
<a href="./index.html" title="Yahoo! UI Library">Yahoo! UI Library</a>
> <a href="./module_yui.html" title="yui">yui</a>
> get.js (source view)
<form onsubmit="return false">
<div id="propertysearch">
Search: <input autocomplete="off" id="searchinput" />
<div id="searchresults">
</div>
</div>
</form>
</div>
<div id="bd">
<div id="yui-main">
<div class="yui-b">
<form action="#" name="yui-classopts-form" method="get" id="yui-classopts-form">
<fieldset>
<legend>Filters</legend>
<span class="classopts"><input type="checkbox" name="show_private" id="show_private" /> <label for="show_private">Show Private</label></span>
<span class="classopts"><input type="checkbox" name="show_protected" id="show_protected" /> <label for="show_protected">Show Protected</label></span>
<span class="classopts"><input type="checkbox" name="show_deprecated" id="show_deprecated" /> <label for="show_deprecated">Show Deprecated</label></span>
</fieldset>
</form>
<div id="srcout">
<style>
#doc3 .classopts { display:none; }
</style>
<div class="highlight" ><pre><span class="o">(</span><span class="k">function</span><span class="o">()</span> <span class="o">{</span>
<span class="c">/**</span>
<span class="c"> * Provides a mechanism to fetch remote resources and</span>
<span class="c"> * insert them into a document.</span>
<span class="c"> * @module yui</span>
<span class="c"> * @submodule get</span>
<span class="c"> */</span>
<span class="k">var</span> <span class="nx">ua</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">UA</span><span class="o">,</span>
<span class="nx">L</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Lang</span><span class="o">,</span>
<span class="c">// PREFIX = Y.guid(),</span>
<span class="c"></span> <span class="nx">TYPE_JS</span> <span class="o">=</span> <span class="s2">"text/javascript"</span><span class="o">,</span>
<span class="nx">TYPE_CSS</span> <span class="o">=</span> <span class="s2">"text/css"</span><span class="o">,</span>
<span class="nx">STYLESHEET</span> <span class="o">=</span> <span class="s2">"stylesheet"</span><span class="o">;</span>
<span class="c">/**</span>
<span class="c"> * Fetches and inserts one or more script or link nodes into the document </span>
<span class="c"> * @class Get</span>
<span class="c"> * @static</span>
<span class="c"> */</span>
<span class="nx">Y</span><span class="o">.</span><span class="nx">Get</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
<span class="c">/**</span>
<span class="c"> * hash of queues to manage multiple requests</span>
<span class="c"> * @property queues</span>
<span class="c"> * @private</span>
<span class="c"> */</span>
<span class="k">var</span> <span class="nx">queues</span><span class="o">={},</span>
<span class="c">/**</span>
<span class="c"> * queue index used to generate transaction ids</span>
<span class="c"> * @property qidx</span>
<span class="c"> * @type int</span>
<span class="c"> * @private</span>
<span class="c"> */</span>
<span class="nx">qidx</span><span class="o">=</span><span class="m">0</span><span class="o">,</span>
<span class="c">/**</span>
<span class="c"> * interal property used to prevent multiple simultaneous purge </span>
<span class="c"> * processes</span>
<span class="c"> * @property purging</span>
<span class="c"> * @type boolean</span>
<span class="c"> * @private</span>
<span class="c"> */</span>
<span class="nx">purging</span><span class="o">=</span><span class="kc">false</span><span class="o">,</span>
<span class="c">/** </span>
<span class="c"> * Generates an HTML element, this is not appended to a document</span>
<span class="c"> * @method _node</span>
<span class="c"> * @param type {string} the type of element</span>
<span class="c"> * @param attr {string} the attributes</span>
<span class="c"> * @param win {Window} optional window to create the element in</span>
<span class="c"> * @return {HTMLElement} the generated node</span>
<span class="c"> * @private</span>
<span class="c"> */</span>
<span class="nx">_node</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">type</span><span class="o">,</span> <span class="nx">attr</span><span class="o">,</span> <span class="nx">win</span><span class="o">)</span> <span class="o">{</span>
<span class="k">var</span> <span class="nx">w</span> <span class="o">=</span> <span class="nx">win</span> <span class="o">||</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">config</span><span class="o">.</span><span class="nx">win</span><span class="o">,</span> <span class="nx">d</span><span class="o">=</span><span class="nx">w</span><span class="o">.</span><span class="nb">document</span><span class="o">,</span> <span class="nx">n</span><span class="o">=</span><span class="nx">d</span><span class="o">.</span><span class="nx">createElement</span><span class="o">(</span><span class="nx">type</span><span class="o">),</span>
<span class="nx">i</span><span class="o">;</span>
<span class="k">for</span> <span class="o">(</span><span class="nx">i</span> <span class="k">in</span> <span class="nx">attr</span><span class="o">)</span> <span class="o">{</span>
<span class="k">if</span> <span class="o">(</span><span class="nx">attr</span><span class="o">[</span><span class="nx">i</span><span class="o">]</span> <span class="o">&&</span> <span class="nx">attr</span><span class="o">.</span><span class="nx">hasOwnProperty</span><span class="o">(</span><span class="nx">i</span><span class="o">))</span> <span class="o">{</span>
<span class="nx">n</span><span class="o">.</span><span class="nx">setAttribute</span><span class="o">(</span><span class="nx">i</span><span class="o">,</span> <span class="nx">attr</span><span class="o">[</span><span class="nx">i</span><span class="o">]);</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="k">return</span> <span class="nx">n</span><span class="o">;</span>
<span class="o">},</span>
<span class="c">/**</span>
<span class="c"> * Generates a link node</span>
<span class="c"> * @method _linkNode</span>
<span class="c"> * @param url {string} the url for the css file</span>
<span class="c"> * @param win {Window} optional window to create the node in</span>
<span class="c"> * @param attributes optional attributes collection to apply to the new node</span>
<span class="c"> * @return {HTMLElement} the generated node</span>
<span class="c"> * @private</span>
<span class="c"> */</span>
<span class="nx">_linkNode</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">url</span><span class="o">,</span> <span class="nx">win</span><span class="o">,</span> <span class="nx">attributes</span><span class="o">)</span> <span class="o">{</span>
<span class="k">var</span> <span class="nx">o</span> <span class="o">=</span> <span class="o">{</span>
<span class="nx">id</span><span class="o">:</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">guid</span><span class="o">(),</span>
<span class="nx">type</span><span class="o">:</span> <span class="nx">TYPE_CSS</span><span class="o">,</span>
<span class="nx">rel</span><span class="o">:</span> <span class="nx">STYLESHEET</span><span class="o">,</span>
<span class="nx">href</span><span class="o">:</span> <span class="nx">url</span>
<span class="o">};</span>
<span class="k">if</span> <span class="o">(</span><span class="nx">attributes</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">Y</span><span class="o">.</span><span class="nx">mix</span><span class="o">(</span><span class="nx">o</span><span class="o">,</span> <span class="nx">attributes</span><span class="o">);</span>
<span class="o">}</span>
<span class="k">return</span> <span class="nx">_node</span><span class="o">(</span><span class="s2">"link"</span><span class="o">,</span> <span class="nx">o</span><span class="o">,</span> <span class="nx">win</span><span class="o">);</span>
<span class="o">},</span>
<span class="c">/**</span>
<span class="c"> * Generates a script node</span>
<span class="c"> * @method _scriptNode</span>
<span class="c"> * @param url {string} the url for the script file</span>
<span class="c"> * @param win {Window} optional window to create the node in</span>
<span class="c"> * @param attributes optional attributes collection to apply to the new node</span>
<span class="c"> * @return {HTMLElement} the generated node</span>
<span class="c"> * @private</span>
<span class="c"> */</span>
<span class="nx">_scriptNode</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">url</span><span class="o">,</span> <span class="nx">win</span><span class="o">,</span> <span class="nx">attributes</span><span class="o">)</span> <span class="o">{</span>
<span class="k">var</span> <span class="nx">o</span> <span class="o">=</span> <span class="o">{</span>
<span class="nx">id</span><span class="o">:</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">guid</span><span class="o">(),</span>
<span class="nx">type</span><span class="o">:</span> <span class="nx">TYPE_JS</span><span class="o">,</span>
<span class="nx">src</span><span class="o">:</span> <span class="nx">url</span>
<span class="o">};</span>
<span class="k">if</span> <span class="o">(</span><span class="nx">attributes</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">Y</span><span class="o">.</span><span class="nx">mix</span><span class="o">(</span><span class="nx">o</span><span class="o">,</span> <span class="nx">attributes</span><span class="o">);</span>
<span class="o">}</span>
<span class="k">return</span> <span class="nx">_node</span><span class="o">(</span><span class="s2">"script"</span><span class="o">,</span> <span class="nx">o</span><span class="o">,</span> <span class="nx">win</span><span class="o">);</span>
<span class="o">},</span>
<span class="c">/**</span>
<span class="c"> * Removes the nodes for the specified queue</span>
<span class="c"> * @method _purge</span>
<span class="c"> * @private</span>
<span class="c"> */</span>
<span class="nx">_purge</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">tId</span><span class="o">)</span> <span class="o">{</span>
<span class="k">var</span> <span class="nx">q</span><span class="o">=</span><span class="nx">queues</span><span class="o">[</span><span class="nx">tId</span><span class="o">],</span> <span class="nx">n</span><span class="o">,</span> <span class="nx">l</span><span class="o">,</span> <span class="nx">d</span><span class="o">,</span> <span class="nx">h</span><span class="o">,</span> <span class="nx">s</span><span class="o">,</span> <span class="nx">i</span><span class="o">;</span>
<span class="k">if</span> <span class="o">(</span><span class="nx">q</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">n</span> <span class="o">=</span> <span class="nx">q</span><span class="o">.</span><span class="nx">nodes</span><span class="o">;</span>
<span class="nx">l</span> <span class="o">=</span> <span class="nx">n</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span>
<span class="nx">d</span> <span class="o">=</span> <span class="nx">q</span><span class="o">.</span><span class="nx">win</span><span class="o">.</span><span class="nb">document</span><span class="o">;</span>
<span class="nx">h</span> <span class="o">=</span> <span class="nx">d</span><span class="o">.</span><span class="nx">getElementsByTagName</span><span class="o">(</span><span class="s2">"head"</span><span class="o">)[</span><span class="m">0</span><span class="o">];</span>
<span class="k">if</span> <span class="o">(</span><span class="nx">q</span><span class="o">.</span><span class="nx">insertBefore</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">s</span> <span class="o">=</span> <span class="nx">_get</span><span class="o">(</span><span class="nx">q</span><span class="o">.</span><span class="nx">insertBefore</span><span class="o">,</span> <span class="nx">tId</span><span class="o">);</span>
<span class="k">if</span> <span class="o">(</span><span class="nx">s</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">h</span> <span class="o">=</span> <span class="nx">s</span><span class="o">.</span><span class="nx">parentNode</span><span class="o">;</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="k">for</span> <span class="o">(</span><span class="nx">i</span><span class="o">=</span><span class="m">0</span><span class="o">;</span> <span class="nx">i</span><span class="o"><</span><span class="nx">l</span><span class="o">;</span> <span class="nx">i</span><span class="o">=</span><span class="nx">i</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">h</span><span class="o">.</span><span class="nx">removeChild</span><span class="o">(</span><span class="nx">n</span><span class="o">[</span><span class="nx">i</span><span class="o">]);</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="nx">q</span><span class="o">.</span><span class="nx">nodes</span> <span class="o">=</span> <span class="o">[];</span>
<span class="o">},</span>
<span class="c">/**</span>
<span class="c"> * Returns the data payload for callback functions</span>
<span class="c"> * @method _returnData</span>
<span class="c"> * @private</span>
<span class="c"> */</span>
<span class="nx">_returnData</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">q</span><span class="o">,</span> <span class="nx">msg</span><span class="o">,</span> <span class="nx">result</span><span class="o">)</span> <span class="o">{</span>
<span class="k">return</span> <span class="o">{</span>
<span class="nx">tId</span><span class="o">:</span> <span class="nx">q</span><span class="o">.</span><span class="nx">tId</span><span class="o">,</span>
<span class="nx">win</span><span class="o">:</span> <span class="nx">q</span><span class="o">.</span><span class="nx">win</span><span class="o">,</span>
<span class="nx">data</span><span class="o">:</span> <span class="nx">q</span><span class="o">.</span><span class="nx">data</span><span class="o">,</span>
<span class="nx">nodes</span><span class="o">:</span> <span class="nx">q</span><span class="o">.</span><span class="nx">nodes</span><span class="o">,</span>
<span class="nx">msg</span><span class="o">:</span> <span class="nx">msg</span><span class="o">,</span>
<span class="nx">statusText</span><span class="o">:</span> <span class="nx">result</span><span class="o">,</span>
<span class="nx">purge</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
<span class="nx">_purge</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">tId</span><span class="o">);</span>
<span class="o">}</span>
<span class="o">};</span>
<span class="o">},</span>
<span class="c">/**</span>
<span class="c"> * The transaction is finished</span>
<span class="c"> * @method _end</span>
<span class="c"> * @param id {string} the id of the request</span>
<span class="c"> * @private</span>
<span class="c"> */</span>
<span class="nx">_end</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">id</span><span class="o">,</span> <span class="nx">msg</span><span class="o">,</span> <span class="nx">result</span><span class="o">)</span> <span class="o">{</span>
<span class="k">var</span> <span class="nx">q</span> <span class="o">=</span> <span class="nx">queues</span><span class="o">[</span><span class="nx">id</span><span class="o">],</span> <span class="nx">sc</span><span class="o">;</span>
<span class="k">if</span> <span class="o">(</span><span class="nx">q</span> <span class="o">&&</span> <span class="nx">q</span><span class="o">.</span><span class="nx">onEnd</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">sc</span> <span class="o">=</span> <span class="nx">q</span><span class="o">.</span><span class="nx">context</span> <span class="o">||</span> <span class="nx">q</span><span class="o">;</span>
<span class="nx">q</span><span class="o">.</span><span class="nx">onEnd</span><span class="o">.</span><span class="nx">call</span><span class="o">(</span><span class="nx">sc</span><span class="o">,</span> <span class="nx">_returnData</span><span class="o">(</span><span class="nx">q</span><span class="o">,</span> <span class="nx">msg</span><span class="o">,</span> <span class="nx">result</span><span class="o">));</span>
<span class="o">}</span>
<span class="o">},</span>
<span class="c">/*</span>
<span class="c"> * The request failed, execute fail handler with whatever</span>
<span class="c"> * was accomplished. There isn't a failure case at the</span>
<span class="c"> * moment unless you count aborted transactions</span>
<span class="c"> * @method _fail</span>
<span class="c"> * @param id {string} the id of the request</span>
<span class="c"> * @private</span>
<span class="c"> */</span>
<span class="nx">_fail</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">id</span><span class="o">,</span> <span class="nx">msg</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"get failure: "</span> <span class="o">+</span> <span class="nx">msg</span><span class="o">,</span> <span class="s2">"warn"</span><span class="o">,</span> <span class="s2">"get"</span><span class="o">);</span>
<span class="k">var</span> <span class="nx">q</span> <span class="o">=</span> <span class="nx">queues</span><span class="o">[</span><span class="nx">id</span><span class="o">],</span> <span class="nx">sc</span><span class="o">;</span>
<span class="k">if</span> <span class="o">(</span><span class="nx">q</span><span class="o">.</span><span class="nx">timer</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">q</span><span class="o">.</span><span class="nx">timer</span><span class="o">.</span><span class="nx">cancel</span><span class="o">();</span>
<span class="o">}</span>
<span class="c">// execute failure callback</span>
<span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="nx">q</span><span class="o">.</span><span class="nx">onFailure</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">sc</span> <span class="o">=</span> <span class="nx">q</span><span class="o">.</span><span class="nx">context</span> <span class="o">||</span> <span class="nx">q</span><span class="o">;</span>
<span class="nx">q</span><span class="o">.</span><span class="nx">onFailure</span><span class="o">.</span><span class="nx">call</span><span class="o">(</span><span class="nx">sc</span><span class="o">,</span> <span class="nx">_returnData</span><span class="o">(</span><span class="nx">q</span><span class="o">,</span> <span class="nx">msg</span><span class="o">));</span>
<span class="o">}</span>
<span class="nx">_end</span><span class="o">(</span><span class="nx">id</span><span class="o">,</span> <span class="nx">msg</span><span class="o">,</span> <span class="s1">'failure'</span><span class="o">);</span>
<span class="o">},</span>
<span class="nx">_get</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">nId</span><span class="o">,</span> <span class="nx">tId</span><span class="o">)</span> <span class="o">{</span>
<span class="k">var</span> <span class="nx">q</span> <span class="o">=</span> <span class="nx">queues</span><span class="o">[</span><span class="nx">tId</span><span class="o">],</span>
<span class="nx">n</span> <span class="o">=</span> <span class="o">(</span><span class="nx">L</span><span class="o">.</span><span class="nx">isString</span><span class="o">(</span><span class="nx">nId</span><span class="o">))</span> <span class="o">?</span> <span class="nx">q</span><span class="o">.</span><span class="nx">win</span><span class="o">.</span><span class="nb">document</span><span class="o">.</span><span class="nx">getElementById</span><span class="o">(</span><span class="nx">nId</span><span class="o">)</span> <span class="o">:</span> <span class="nx">nId</span><span class="o">;</span>
<span class="k">if</span> <span class="o">(!</span><span class="nx">n</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">_fail</span><span class="o">(</span><span class="nx">tId</span><span class="o">,</span> <span class="s2">"target node not found: "</span> <span class="o">+</span> <span class="nx">nId</span><span class="o">);</span>
<span class="o">}</span>
<span class="k">return</span> <span class="nx">n</span><span class="o">;</span>
<span class="o">},</span>
<span class="c">/**</span>
<span class="c"> * The request is complete, so executing the requester's callback</span>
<span class="c"> * @method _finish</span>
<span class="c"> * @param id {string} the id of the request</span>
<span class="c"> * @private</span>
<span class="c"> */</span>
<span class="nx">_finish</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">id</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Finishing transaction "</span> <span class="o">+</span> <span class="nx">id</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"get"</span><span class="o">);</span>
<span class="k">var</span> <span class="nx">q</span> <span class="o">=</span> <span class="nx">queues</span><span class="o">[</span><span class="nx">id</span><span class="o">],</span> <span class="nx">msg</span><span class="o">,</span> <span class="nx">sc</span><span class="o">;</span>
<span class="k">if</span> <span class="o">(</span><span class="nx">q</span><span class="o">.</span><span class="nx">timer</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">q</span><span class="o">.</span><span class="nx">timer</span><span class="o">.</span><span class="nx">cancel</span><span class="o">();</span>
<span class="o">}</span>
<span class="nx">q</span><span class="o">.</span><span class="nx">finished</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
<span class="k">if</span> <span class="o">(</span><span class="nx">q</span><span class="o">.</span><span class="nx">aborted</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">msg</span> <span class="o">=</span> <span class="s2">"transaction "</span> <span class="o">+</span> <span class="nx">id</span> <span class="o">+</span> <span class="s2">" was aborted"</span><span class="o">;</span>
<span class="nx">_fail</span><span class="o">(</span><span class="nx">id</span><span class="o">,</span> <span class="nx">msg</span><span class="o">);</span>
<span class="k">return</span><span class="o">;</span>
<span class="o">}</span>
<span class="c">// execute success callback</span>
<span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="nx">q</span><span class="o">.</span><span class="nx">onSuccess</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">sc</span> <span class="o">=</span> <span class="nx">q</span><span class="o">.</span><span class="nx">context</span> <span class="o">||</span> <span class="nx">q</span><span class="o">;</span>
<span class="nx">q</span><span class="o">.</span><span class="nx">onSuccess</span><span class="o">.</span><span class="nx">call</span><span class="o">(</span><span class="nx">sc</span><span class="o">,</span> <span class="nx">_returnData</span><span class="o">(</span><span class="nx">q</span><span class="o">));</span>
<span class="o">}</span>
<span class="nx">_end</span><span class="o">(</span><span class="nx">id</span><span class="o">,</span> <span class="nx">msg</span><span class="o">,</span> <span class="s1">'OK'</span><span class="o">);</span>
<span class="o">},</span>
<span class="c">/**</span>
<span class="c"> * Timeout detected</span>
<span class="c"> * @method _timeout</span>
<span class="c"> * @param id {string} the id of the request</span>
<span class="c"> * @private</span>
<span class="c"> */</span>
<span class="nx">_timeout</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">id</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Timeout "</span> <span class="o">+</span> <span class="nx">id</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"get"</span><span class="o">);</span>
<span class="k">var</span> <span class="nx">q</span> <span class="o">=</span> <span class="nx">queues</span><span class="o">[</span><span class="nx">id</span><span class="o">],</span> <span class="nx">sc</span><span class="o">;</span>
<span class="k">if</span> <span class="o">(</span><span class="nx">q</span><span class="o">.</span><span class="nx">onTimeout</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">sc</span> <span class="o">=</span> <span class="nx">q</span><span class="o">.</span><span class="nx">context</span> <span class="o">||</span> <span class="nx">q</span><span class="o">;</span>
<span class="nx">q</span><span class="o">.</span><span class="nx">onTimeout</span><span class="o">.</span><span class="nx">call</span><span class="o">(</span><span class="nx">sc</span><span class="o">,</span> <span class="nx">_returnData</span><span class="o">(</span><span class="nx">q</span><span class="o">));</span>
<span class="o">}</span>
<span class="nx">_end</span><span class="o">(</span><span class="nx">id</span><span class="o">,</span> <span class="s1">'timeout'</span><span class="o">,</span> <span class="s1">'timeout'</span><span class="o">);</span>
<span class="o">},</span>
<span class="c">/**</span>
<span class="c"> * Loads the next item for a given request</span>
<span class="c"> * @method _next</span>
<span class="c"> * @param id {string} the id of the request</span>
<span class="c"> * @param loaded {string} the url that was just loaded, if any</span>
<span class="c"> * @private</span>
<span class="c"> */</span>
<span class="nx">_next</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">id</span><span class="o">,</span> <span class="nx">loaded</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"_next: "</span> <span class="o">+</span> <span class="nx">id</span> <span class="o">+</span> <span class="s2">", loaded: "</span> <span class="o">+</span> <span class="o">(</span><span class="nx">loaded</span> <span class="o">||</span> <span class="s2">"nothing"</span><span class="o">),</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"get"</span><span class="o">);</span>
<span class="k">var</span> <span class="nx">q</span> <span class="o">=</span> <span class="nx">queues</span><span class="o">[</span><span class="nx">id</span><span class="o">],</span> <span class="nx">msg</span><span class="o">,</span> <span class="nx">w</span><span class="o">,</span> <span class="nx">d</span><span class="o">,</span> <span class="nx">h</span><span class="o">,</span> <span class="nx">n</span><span class="o">,</span> <span class="nx">url</span><span class="o">,</span> <span class="nx">s</span><span class="o">;</span>
<span class="k">if</span> <span class="o">(</span><span class="nx">q</span><span class="o">.</span><span class="nx">timer</span><span class="o">)</span> <span class="o">{</span>
<span class="c">// Y.log('cancel timer');</span>
<span class="c"></span> <span class="nx">q</span><span class="o">.</span><span class="nx">timer</span><span class="o">.</span><span class="nx">cancel</span><span class="o">();</span>
<span class="o">}</span>
<span class="k">if</span> <span class="o">(</span><span class="nx">q</span><span class="o">.</span><span class="nx">aborted</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">msg</span> <span class="o">=</span> <span class="s2">"transaction "</span> <span class="o">+</span> <span class="nx">id</span> <span class="o">+</span> <span class="s2">" was aborted"</span><span class="o">;</span>
<span class="nx">_fail</span><span class="o">(</span><span class="nx">id</span><span class="o">,</span> <span class="nx">msg</span><span class="o">);</span>
<span class="k">return</span><span class="o">;</span>
<span class="o">}</span>
<span class="k">if</span> <span class="o">(</span><span class="nx">loaded</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">q</span><span class="o">.</span><span class="nx">url</span><span class="o">.</span><span class="nx">shift</span><span class="o">();</span>
<span class="k">if</span> <span class="o">(</span><span class="nx">q</span><span class="o">.</span><span class="nx">varName</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">q</span><span class="o">.</span><span class="nx">varName</span><span class="o">.</span><span class="nx">shift</span><span class="o">();</span>
<span class="o">}</span>
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
<span class="c">// This is the first pass: make sure the url is an array</span>
<span class="c"></span> <span class="nx">q</span><span class="o">.</span><span class="nx">url</span> <span class="o">=</span> <span class="o">(</span><span class="nx">L</span><span class="o">.</span><span class="nx">isString</span><span class="o">(</span><span class="nx">q</span><span class="o">.</span><span class="nx">url</span><span class="o">))</span> <span class="o">?</span> <span class="o">[</span><span class="nx">q</span><span class="o">.</span><span class="nx">url</span><span class="o">]</span> <span class="o">:</span> <span class="nx">q</span><span class="o">.</span><span class="nx">url</span><span class="o">;</span>
<span class="k">if</span> <span class="o">(</span><span class="nx">q</span><span class="o">.</span><span class="nx">varName</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">q</span><span class="o">.</span><span class="nx">varName</span> <span class="o">=</span> <span class="o">(</span><span class="nx">L</span><span class="o">.</span><span class="nx">isString</span><span class="o">(</span><span class="nx">q</span><span class="o">.</span><span class="nx">varName</span><span class="o">))</span> <span class="o">?</span> <span class="o">[</span><span class="nx">q</span><span class="o">.</span><span class="nx">varName</span><span class="o">]</span> <span class="o">:</span> <span class="nx">q</span><span class="o">.</span><span class="nx">varName</span><span class="o">;</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="nx">w</span> <span class="o">=</span> <span class="nx">q</span><span class="o">.</span><span class="nx">win</span><span class="o">;</span>
<span class="nx">d</span> <span class="o">=</span> <span class="nx">w</span><span class="o">.</span><span class="nb">document</span><span class="o">;</span>
<span class="nx">h</span> <span class="o">=</span> <span class="nx">d</span><span class="o">.</span><span class="nx">getElementsByTagName</span><span class="o">(</span><span class="s2">"head"</span><span class="o">)[</span><span class="m">0</span><span class="o">];</span>
<span class="k">if</span> <span class="o">(</span><span class="nx">q</span><span class="o">.</span><span class="nx">url</span><span class="o">.</span><span class="nx">length</span> <span class="o">===</span> <span class="m">0</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">_finish</span><span class="o">(</span><span class="nx">id</span><span class="o">);</span>
<span class="k">return</span><span class="o">;</span>
<span class="o">}</span>
<span class="nx">url</span> <span class="o">=</span> <span class="nx">q</span><span class="o">.</span><span class="nx">url</span><span class="o">[</span><span class="m">0</span><span class="o">];</span>
<span class="c">// if the url is undefined, this is probably a trailing comma problem in IE</span>
<span class="c"></span> <span class="k">if</span> <span class="o">(!</span><span class="nx">url</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">q</span><span class="o">.</span><span class="nx">url</span><span class="o">.</span><span class="nx">shift</span><span class="o">();</span>
<span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">'skipping empty url'</span><span class="o">);</span>
<span class="k">return</span> <span class="nx">_next</span><span class="o">(</span><span class="nx">id</span><span class="o">);</span>
<span class="o">}</span>
<span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"attempting to load "</span> <span class="o">+</span> <span class="nx">url</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"get"</span><span class="o">);</span>
<span class="k">if</span> <span class="o">(</span><span class="nx">q</span><span class="o">.</span><span class="nx">timeout</span><span class="o">)</span> <span class="o">{</span>
<span class="c">// Y.log('create timer');</span>
<span class="c"></span> <span class="nx">q</span><span class="o">.</span><span class="nx">timer</span> <span class="o">=</span> <span class="nx">L</span><span class="o">.</span><span class="nx">later</span><span class="o">(</span><span class="nx">q</span><span class="o">.</span><span class="nx">timeout</span><span class="o">,</span> <span class="nx">q</span><span class="o">,</span> <span class="nx">_timeout</span><span class="o">,</span> <span class="nx">id</span><span class="o">);</span>
<span class="o">}</span>
<span class="k">if</span> <span class="o">(</span><span class="nx">q</span><span class="o">.</span><span class="nx">type</span> <span class="o">===</span> <span class="s2">"script"</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">n</span> <span class="o">=</span> <span class="nx">_scriptNode</span><span class="o">(</span><span class="nx">url</span><span class="o">,</span> <span class="nx">w</span><span class="o">,</span> <span class="nx">q</span><span class="o">.</span><span class="nx">attributes</span><span class="o">);</span>
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
<span class="nx">n</span> <span class="o">=</span> <span class="nx">_linkNode</span><span class="o">(</span><span class="nx">url</span><span class="o">,</span> <span class="nx">w</span><span class="o">,</span> <span class="nx">q</span><span class="o">.</span><span class="nx">attributes</span><span class="o">);</span>
<span class="o">}</span>
<span class="c">// track this node's load progress</span>
<span class="c"></span> <span class="nx">_track</span><span class="o">(</span><span class="nx">q</span><span class="o">.</span><span class="nx">type</span><span class="o">,</span> <span class="nx">n</span><span class="o">,</span> <span class="nx">id</span><span class="o">,</span> <span class="nx">url</span><span class="o">,</span> <span class="nx">w</span><span class="o">,</span> <span class="nx">q</span><span class="o">.</span><span class="nx">url</span><span class="o">.</span><span class="nx">length</span><span class="o">);</span>
<span class="c">// add the node to the queue so we can return it to the user supplied callback</span>
<span class="c"></span> <span class="nx">q</span><span class="o">.</span><span class="nx">nodes</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">n</span><span class="o">);</span>
<span class="c">// add it to the head or insert it before 'insertBefore'</span>
<span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="nx">q</span><span class="o">.</span><span class="nx">insertBefore</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">s</span> <span class="o">=</span> <span class="nx">_get</span><span class="o">(</span><span class="nx">q</span><span class="o">.</span><span class="nx">insertBefore</span><span class="o">,</span> <span class="nx">id</span><span class="o">);</span>
<span class="k">if</span> <span class="o">(</span><span class="nx">s</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">s</span><span class="o">.</span><span class="nx">parentNode</span><span class="o">.</span><span class="nx">insertBefore</span><span class="o">(</span><span class="nx">n</span><span class="o">,</span> <span class="nx">s</span><span class="o">);</span>
<span class="o">}</span>
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
<span class="nx">h</span><span class="o">.</span><span class="nx">appendChild</span><span class="o">(</span><span class="nx">n</span><span class="o">);</span>
<span class="o">}</span>
<span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Appending node: "</span> <span class="o">+</span> <span class="nx">url</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"get"</span><span class="o">);</span>
<span class="c">// FireFox does not support the onload event for link nodes, so there is</span>
<span class="c"></span> <span class="c">// no way to make the css requests synchronous. This means that the css </span>
<span class="c"></span> <span class="c">// rules in multiple files could be applied out of order in this browser</span>
<span class="c"></span> <span class="c">// if a later request returns before an earlier one. Safari too.</span>
<span class="c"></span> <span class="k">if</span> <span class="o">((</span><span class="nx">ua</span><span class="o">.</span><span class="nx">webkit</span> <span class="o">||</span> <span class="nx">ua</span><span class="o">.</span><span class="nx">gecko</span><span class="o">)</span> <span class="o">&&</span> <span class="nx">q</span><span class="o">.</span><span class="nx">type</span> <span class="o">===</span> <span class="s2">"css"</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">_next</span><span class="o">(</span><span class="nx">id</span><span class="o">,</span> <span class="nx">url</span><span class="o">);</span>
<span class="o">}</span>
<span class="o">},</span>
<span class="c">/**</span>
<span class="c"> * Removes processed queues and corresponding nodes</span>
<span class="c"> * @method _autoPurge</span>
<span class="c"> * @private</span>
<span class="c"> */</span>
<span class="nx">_autoPurge</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
<span class="k">if</span> <span class="o">(</span><span class="nx">purging</span><span class="o">)</span> <span class="o">{</span>
<span class="k">return</span><span class="o">;</span>
<span class="o">}</span>
<span class="nx">purging</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
<span class="k">var</span> <span class="nx">i</span><span class="o">,</span> <span class="nx">q</span><span class="o">;</span>
<span class="k">for</span> <span class="o">(</span><span class="nx">i</span> <span class="k">in</span> <span class="nx">queues</span><span class="o">)</span> <span class="o">{</span>
<span class="k">if</span> <span class="o">(</span><span class="nx">queues</span><span class="o">.</span><span class="nx">hasOwnProperty</span><span class="o">(</span><span class="nx">i</span><span class="o">))</span> <span class="o">{</span>
<span class="nx">q</span> <span class="o">=</span> <span class="nx">queues</span><span class="o">[</span><span class="nx">i</span><span class="o">];</span>
<span class="k">if</span> <span class="o">(</span><span class="nx">q</span><span class="o">.</span><span class="nx">autopurge</span> <span class="o">&&</span> <span class="nx">q</span><span class="o">.</span><span class="nx">finished</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">_purge</span><span class="o">(</span><span class="nx">q</span><span class="o">.</span><span class="nx">tId</span><span class="o">);</span>
<span class="nx">delete</span> <span class="nx">queues</span><span class="o">[</span><span class="nx">i</span><span class="o">];</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="nx">purging</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
<span class="o">},</span>
<span class="c">/**</span>
<span class="c"> * Saves the state for the request and begins loading</span>
<span class="c"> * the requested urls</span>
<span class="c"> * @method queue</span>
<span class="c"> * @param type {string} the type of node to insert</span>
<span class="c"> * @param url {string} the url to load</span>
<span class="c"> * @param opts the hash of options for this request</span>
<span class="c"> * @private</span>
<span class="c"> */</span>
<span class="nx">_queue</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">type</span><span class="o">,</span> <span class="nx">url</span><span class="o">,</span> <span class="nx">opts</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">opts</span> <span class="o">=</span> <span class="nx">opts</span> <span class="o">||</span> <span class="o">{};</span>
<span class="k">var</span> <span class="nx">id</span> <span class="o">=</span> <span class="s2">"q"</span> <span class="o">+</span> <span class="o">(</span><span class="nx">qidx</span><span class="o">++),</span> <span class="nx">q</span><span class="o">,</span>
<span class="nx">thresh</span> <span class="o">=</span> <span class="nx">opts</span><span class="o">.</span><span class="nx">purgethreshold</span> <span class="o">||</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Get</span><span class="o">.</span><span class="nx">PURGE_THRESH</span><span class="o">;</span>
<span class="k">if</span> <span class="o">(</span><span class="nx">qidx</span> <span class="o">%</span> <span class="nx">thresh</span> <span class="o">===</span> <span class="m">0</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">_autoPurge</span><span class="o">();</span>
<span class="o">}</span>
<span class="nx">queues</span><span class="o">[</span><span class="nx">id</span><span class="o">]</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">merge</span><span class="o">(</span><span class="nx">opts</span><span class="o">,</span> <span class="o">{</span>
<span class="nx">tId</span><span class="o">:</span> <span class="nx">id</span><span class="o">,</span>
<span class="nx">type</span><span class="o">:</span> <span class="nx">type</span><span class="o">,</span>
<span class="nx">url</span><span class="o">:</span> <span class="nx">url</span><span class="o">,</span>
<span class="nx">finished</span><span class="o">:</span> <span class="kc">false</span><span class="o">,</span>
<span class="nx">nodes</span><span class="o">:</span> <span class="o">[]</span>
<span class="o">});</span>
<span class="nx">q</span> <span class="o">=</span> <span class="nx">queues</span><span class="o">[</span><span class="nx">id</span><span class="o">];</span>
<span class="nx">q</span><span class="o">.</span><span class="nx">win</span> <span class="o">=</span> <span class="nx">q</span><span class="o">.</span><span class="nx">win</span> <span class="o">||</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">config</span><span class="o">.</span><span class="nx">win</span><span class="o">;</span>
<span class="nx">q</span><span class="o">.</span><span class="nx">context</span> <span class="o">=</span> <span class="nx">q</span><span class="o">.</span><span class="nx">context</span> <span class="o">||</span> <span class="nx">q</span><span class="o">;</span>
<span class="nx">q</span><span class="o">.</span><span class="nx">autopurge</span> <span class="o">=</span> <span class="o">(</span><span class="s2">"autopurge"</span> <span class="k">in</span> <span class="nx">q</span><span class="o">)</span> <span class="o">?</span> <span class="nx">q</span><span class="o">.</span><span class="nx">autopurge</span> <span class="o">:</span>
<span class="o">(</span><span class="nx">type</span> <span class="o">===</span> <span class="s2">"script"</span><span class="o">)</span> <span class="o">?</span> <span class="kc">true</span> <span class="o">:</span> <span class="kc">false</span><span class="o">;</span>
<span class="k">if</span> <span class="o">(</span><span class="nx">opts</span><span class="o">.</span><span class="nx">charset</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">q</span><span class="o">.</span><span class="nx">attributes</span> <span class="o">=</span> <span class="nx">q</span><span class="o">.</span><span class="nx">attributes</span> <span class="o">||</span> <span class="o">{};</span>
<span class="nx">q</span><span class="o">.</span><span class="nx">attributes</span><span class="o">.</span><span class="nx">charset</span> <span class="o">=</span> <span class="nx">opts</span><span class="o">.</span><span class="nx">charset</span><span class="o">;</span>
<span class="o">}</span>
<span class="nx">L</span><span class="o">.</span><span class="nx">later</span><span class="o">(</span><span class="m">0</span><span class="o">,</span> <span class="nx">q</span><span class="o">,</span> <span class="nx">_next</span><span class="o">,</span> <span class="nx">id</span><span class="o">);</span>
<span class="k">return</span> <span class="o">{</span>
<span class="nx">tId</span><span class="o">:</span> <span class="nx">id</span>
<span class="o">};</span>
<span class="o">},</span>
<span class="c">/**</span>
<span class="c"> * Detects when a node has been loaded. In the case of</span>
<span class="c"> * script nodes, this does not guarantee that contained</span>
<span class="c"> * script is ready to use.</span>
<span class="c"> * @method _track</span>
<span class="c"> * @param type {string} the type of node to track</span>
<span class="c"> * @param n {HTMLElement} the node to track</span>
<span class="c"> * @param id {string} the id of the request</span>
<span class="c"> * @param url {string} the url that is being loaded</span>
<span class="c"> * @param win {Window} the targeted window</span>
<span class="c"> * @param qlength the number of remaining items in the queue,</span>
<span class="c"> * including this one</span>
<span class="c"> * @param trackfn {Function} function to execute when finished</span>
<span class="c"> * the default is _next</span>
<span class="c"> * @private</span>
<span class="c"> */</span>
<span class="nx">_track</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">type</span><span class="o">,</span> <span class="nx">n</span><span class="o">,</span> <span class="nx">id</span><span class="o">,</span> <span class="nx">url</span><span class="o">,</span> <span class="nx">win</span><span class="o">,</span> <span class="nx">qlength</span><span class="o">,</span> <span class="nx">trackfn</span><span class="o">)</span> <span class="o">{</span>
<span class="k">var</span> <span class="nx">f</span> <span class="o">=</span> <span class="nx">trackfn</span> <span class="o">||</span> <span class="nx">_next</span><span class="o">;</span>
<span class="c">// IE supports the readystatechange event for script and css nodes</span>
<span class="c"></span> <span class="c">// Opera only for script nodes. Opera support onload for script</span>
<span class="c"></span> <span class="c">// nodes, but this doesn't fire when there is a load failure.</span>
<span class="c"></span> <span class="c">// The onreadystatechange appears to be a better way to respond</span>
<span class="c"></span> <span class="c">// to both success and failure.</span>
<span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="nx">ua</span><span class="o">.</span><span class="nx">ie</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">n</span><span class="o">.</span><span class="nx">onreadystatechange</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
<span class="k">var</span> <span class="nx">rs</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">readyState</span><span class="o">;</span>
<span class="k">if</span> <span class="o">(</span><span class="s2">"loaded"</span> <span class="o">===</span> <span class="nx">rs</span> <span class="o">||</span> <span class="s2">"complete"</span> <span class="o">===</span> <span class="nx">rs</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="nx">id</span> <span class="o">+</span> <span class="s2">" onreadstatechange "</span> <span class="o">+</span> <span class="nx">url</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"get"</span><span class="o">);</span>
<span class="nx">n</span><span class="o">.</span><span class="nx">onreadystatechange</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
<span class="nx">f</span><span class="o">(</span><span class="nx">id</span><span class="o">,</span> <span class="nx">url</span><span class="o">);</span>
<span class="o">}</span>
<span class="o">};</span>
<span class="c">// webkit prior to 3.x is no longer supported</span>
<span class="c"></span> <span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="nx">ua</span><span class="o">.</span><span class="nx">webkit</span><span class="o">)</span> <span class="o">{</span>
<span class="k">if</span> <span class="o">(</span><span class="nx">type</span> <span class="o">===</span> <span class="s2">"script"</span><span class="o">)</span> <span class="o">{</span>
<span class="c">// Safari 3.x supports the load event for script nodes (DOM2)</span>
<span class="c"></span> <span class="nx">n</span><span class="o">.</span><span class="nx">addEventListener</span><span class="o">(</span><span class="s2">"load"</span><span class="o">,</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
<span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="nx">id</span> <span class="o">+</span> <span class="s2">" DOM2 onload "</span> <span class="o">+</span> <span class="nx">url</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"get"</span><span class="o">);</span>
<span class="nx">f</span><span class="o">(</span><span class="nx">id</span><span class="o">,</span> <span class="nx">url</span><span class="o">);</span>
<span class="o">});</span>
<span class="o">}</span>
<span class="c">// FireFox and Opera support onload (but not DOM2 in FF) handlers for</span>
<span class="c"></span> <span class="c">// script nodes. Opera, but not FF, supports the onload event for link</span>
<span class="c"></span> <span class="c">// nodes.</span>
<span class="c"></span> <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
<span class="nx">n</span><span class="o">.</span><span class="nx">onload</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
<span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="nx">id</span> <span class="o">+</span> <span class="s2">" onload "</span> <span class="o">+</span> <span class="nx">url</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"get"</span><span class="o">);</span>
<span class="nx">f</span><span class="o">(</span><span class="nx">id</span><span class="o">,</span> <span class="nx">url</span><span class="o">);</span>
<span class="o">};</span>
<span class="nx">n</span><span class="o">.</span><span class="nx">onerror</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">e</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">_fail</span><span class="o">(</span><span class="nx">id</span><span class="o">,</span> <span class="nx">e</span> <span class="o">+</span> <span class="s2">": "</span> <span class="o">+</span> <span class="nx">url</span><span class="o">);</span>
<span class="o">};</span>
<span class="o">}</span>
<span class="o">};</span>
<span class="k">return</span> <span class="o">{</span>
<span class="c">/**</span>
<span class="c"> * The number of request required before an automatic purge.</span>
<span class="c"> * Can be configured via the 'purgethreshold' config</span>
<span class="c"> * property PURGE_THRESH</span>
<span class="c"> * @static</span>
<span class="c"> * @type int</span>
<span class="c"> * @default 20</span>
<span class="c"> * @private</span>
<span class="c"> */</span>
<span class="nx">PURGE_THRESH</span><span class="o">:</span> <span class="m">20</span><span class="o">,</span>
<span class="c">/**</span>
<span class="c"> * Called by the the helper for detecting script load in Safari</span>
<span class="c"> * @method _finalize</span>
<span class="c"> * @static</span>
<span class="c"> * @param id {string} the transaction id</span>
<span class="c"> * @private</span>
<span class="c"> */</span>
<span class="nx">_finalize</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">id</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="nx">id</span> <span class="o">+</span> <span class="s2">" finalized "</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"get"</span><span class="o">);</span>
<span class="nx">L</span><span class="o">.</span><span class="nx">later</span><span class="o">(</span><span class="m">0</span><span class="o">,</span> <span class="kc">null</span><span class="o">,</span> <span class="nx">_finish</span><span class="o">,</span> <span class="nx">id</span><span class="o">);</span>
<span class="o">},</span>
<span class="c">/**</span>
<span class="c"> * Abort a transaction</span>
<span class="c"> * @method abort</span>
<span class="c"> * @static</span>
<span class="c"> * @param o {string|object} Either the tId or the object returned from</span>
<span class="c"> * script() or css()</span>
<span class="c"> */</span>
<span class="nx">abort</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">o</span><span class="o">)</span> <span class="o">{</span>
<span class="k">var</span> <span class="nx">id</span> <span class="o">=</span> <span class="o">(</span><span class="nx">L</span><span class="o">.</span><span class="nx">isString</span><span class="o">(</span><span class="nx">o</span><span class="o">))</span> <span class="o">?</span> <span class="nx">o</span> <span class="o">:</span> <span class="nx">o</span><span class="o">.</span><span class="nx">tId</span><span class="o">,</span>
<span class="nx">q</span> <span class="o">=</span> <span class="nx">queues</span><span class="o">[</span><span class="nx">id</span><span class="o">];</span>
<span class="k">if</span> <span class="o">(</span><span class="nx">q</span><span class="o">)</span> <span class="o">{</span>
<span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Aborting "</span> <span class="o">+</span> <span class="nx">id</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">,</span> <span class="s2">"get"</span><span class="o">);</span>
<span class="nx">q</span><span class="o">.</span><span class="nx">aborted</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
<span class="o">}</span>
<span class="o">},</span>
<span class="c">/**</span>
<span class="c"> * Fetches and inserts one or more script nodes into the head</span>
<span class="c"> * of the current document or the document in a specified window.</span>
<span class="c"> *</span>
<span class="c"> * @method script</span>
<span class="c"> * @static</span>
<span class="c"> * @param url {string|string[]} the url or urls to the script(s)</span>
<span class="c"> * @param opts {object} Options: </span>
<span class="c"> * <dl></span>
<span class="c"> * <dt>onSuccess</dt></span>
<span class="c"> * <dd></span>
<span class="c"> * callback to execute when the script(s) are finished loading</span>
<span class="c"> * The callback receives an object back with the following</span>
<span class="c"> * data:</span>
<span class="c"> * <dl></span>
<span class="c"> * <dt>win</dt></span>
<span class="c"> * <dd>the window the script(s) were inserted into</dd></span>
<span class="c"> * <dt>data</dt></span>
<span class="c"> * <dd>the data object passed in when the request was made</dd></span>
<span class="c"> * <dt>nodes</dt></span>
<span class="c"> * <dd>An array containing references to the nodes that were</span>
<span class="c"> * inserted</dd></span>
<span class="c"> * <dt>purge</dt></span>
<span class="c"> * <dd>A function that, when executed, will remove the nodes</span>
<span class="c"> * that were inserted</dd></span>
<span class="c"> * <dt></span>
<span class="c"> * </dl></span>
<span class="c"> * </dd></span>
<span class="c"> * <dt>onTimeout</dt></span>
<span class="c"> * <dd></span>
<span class="c"> * callback to execute when a timeout occurs.</span>
<span class="c"> * The callback receives an object back with the following</span>
<span class="c"> * data:</span>
<span class="c"> * <dl></span>
<span class="c"> * <dt>win</dt></span>
<span class="c"> * <dd>the window the script(s) were inserted into</dd></span>
<span class="c"> * <dt>data</dt></span>
<span class="c"> * <dd>the data object passed in when the request was made</dd></span>
<span class="c"> * <dt>nodes</dt></span>
<span class="c"> * <dd>An array containing references to the nodes that were</span>
<span class="c"> * inserted</dd></span>
<span class="c"> * <dt>purge</dt></span>
<span class="c"> * <dd>A function that, when executed, will remove the nodes</span>
<span class="c"> * that were inserted</dd></span>
<span class="c"> * <dt></span>
<span class="c"> * </dl></span>
<span class="c"> * </dd></span>
<span class="c"> * <dt>onEnd</dt></span>
<span class="c"> * <dd>a function that executes when the transaction finishes, regardless of the exit path</dd></span>
<span class="c"> * <dt>onFailure</dt></span>
<span class="c"> * <dd></span>
<span class="c"> * callback to execute when the script load operation fails</span>
<span class="c"> * The callback receives an object back with the following</span>
<span class="c"> * data:</span>
<span class="c"> * <dl></span>
<span class="c"> * <dt>win</dt></span>
<span class="c"> * <dd>the window the script(s) were inserted into</dd></span>
<span class="c"> * <dt>data</dt></span>
<span class="c"> * <dd>the data object passed in when the request was made</dd></span>
<span class="c"> * <dt>nodes</dt></span>
<span class="c"> * <dd>An array containing references to the nodes that were</span>
<span class="c"> * inserted successfully</dd></span>
<span class="c"> * <dt>purge</dt></span>
<span class="c"> * <dd>A function that, when executed, will remove any nodes</span>
<span class="c"> * that were inserted</dd></span>
<span class="c"> * <dt></span>
<span class="c"> * </dl></span>
<span class="c"> * </dd></span>
<span class="c"> * <dt>context</dt></span>
<span class="c"> * <dd>the execution context for the callbacks</dd></span>
<span class="c"> * <dt>win</dt></span>
<span class="c"> * <dd>a window other than the one the utility occupies</dd></span>
<span class="c"> * <dt>autopurge</dt></span>
<span class="c"> * <dd></span>
<span class="c"> * setting to true will let the utilities cleanup routine purge </span>
<span class="c"> * the script once loaded</span>
<span class="c"> * </dd></span>
<span class="c"> * <dt>purgethreshold</dt></span>
<span class="c"> * <dd></span>
<span class="c"> * The number of transaction before autopurge should be initiated</span>
<span class="c"> * </dd></span>
<span class="c"> * <dt>data</dt></span>
<span class="c"> * <dd></span>
<span class="c"> * data that is supplied to the callback when the script(s) are</span>
<span class="c"> * loaded.</span>
<span class="c"> * </dd></span>
<span class="c"> * <dt>insertBefore</dt></span>
<span class="c"> * <dd>node or node id that will become the new node's nextSibling</dd></span>
<span class="c"> * </dl></span>
<span class="c"> * <dt>charset</dt></span>
<span class="c"> * <dd>Node charset, default utf-8 (deprecated, use the attributes config)</dd></span>
<span class="c"> * <dt>attributes</dt></span>
<span class="c"> * <dd>An object literal containing additional attributes to add to the link tags</dd></span>
<span class="c"> * <dt>timeout</dt></span>
<span class="c"> * <dd>Number of milliseconds to wait before aborting and firing the timeout event</dd></span>
<span class="c"> * <pre></span>
<span class="c"> * &nbsp;&nbsp;Y.Get.script(</span>
<span class="c"> * &nbsp;&nbsp;["http://yui.yahooapis.com/2.5.2/build/yahoo/yahoo-min.js",</span>
<span class="c"> * &nbsp;&nbsp;&nbsp;"http://yui.yahooapis.com/2.5.2/build/event/event-min.js"], &#123;</span>
<span class="c"> * &nbsp;&nbsp;&nbsp;&nbsp;onSuccess: function(o) &#123;</span>
<span class="c"> * &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.log("won't cause error because Y is the context");</span>
<span class="c"> * &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Y.log(o.data); // foo</span>
<span class="c"> * &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Y.log(o.nodes.length === 2) // true</span>
<span class="c"> * &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// o.purge(); // optionally remove the script nodes immediately</span>
<span class="c"> * &nbsp;&nbsp;&nbsp;&nbsp;&#125;,</span>
<span class="c"> * &nbsp;&nbsp;&nbsp;&nbsp;onFailure: function(o) &#123;</span>
<span class="c"> * &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Y.log("transaction failed");</span>
<span class="c"> * &nbsp;&nbsp;&nbsp;&nbsp;&#125;,</span>
<span class="c"> * &nbsp;&nbsp;&nbsp;&nbsp;onTimeout: function(o) &#123;</span>
<span class="c"> * &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Y.log("transaction timed out");</span>
<span class="c"> * &nbsp;&nbsp;&nbsp;&nbsp;&#125;,</span>
<span class="c"> * &nbsp;&nbsp;&nbsp;&nbsp;data: "foo",</span>
<span class="c"> * &nbsp;&nbsp;&nbsp;&nbsp;timeout: 10000, // 10 second timeout</span>
<span class="c"> * &nbsp;&nbsp;&nbsp;&nbsp;context: Y, // make the YUI instance</span>
<span class="c"> * &nbsp;&nbsp;&nbsp;&nbsp;// win: otherframe // target another window/frame</span>
<span class="c"> * &nbsp;&nbsp;&nbsp;&nbsp;autopurge: true // allow the utility to choose when to remove the nodes</span>
<span class="c"> * &nbsp;&nbsp;&nbsp;&nbsp;purgetheshold: 1 // purge previous transaction before next transaction</span>
<span class="c"> * &nbsp;&nbsp;&#125;);</span>
<span class="c"> * </pre></span>
<span class="c"> * @return {tId: string} an object containing info about the transaction</span>
<span class="c"> */</span>
<span class="nx">script</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">url</span><span class="o">,</span> <span class="nx">opts</span><span class="o">)</span> <span class="o">{</span>
<span class="k">return</span> <span class="nx">_queue</span><span class="o">(</span><span class="s2">"script"</span><span class="o">,</span> <span class="nx">url</span><span class="o">,</span> <span class="nx">opts</span><span class="o">);</span>
<span class="o">},</span>
<span class="c">/**</span>
<span class="c"> * Fetches and inserts one or more css link nodes into the </span>
<span class="c"> * head of the current document or the document in a specified</span>
<span class="c"> * window.</span>
<span class="c"> * @method css</span>
<span class="c"> * @static</span>
<span class="c"> * @param url {string} the url or urls to the css file(s)</span>
<span class="c"> * @param opts Options: </span>
<span class="c"> * <dl></span>
<span class="c"> * <dt>onSuccess</dt></span>
<span class="c"> * <dd></span>
<span class="c"> * callback to execute when the css file(s) are finished loading</span>
<span class="c"> * The callback receives an object back with the following</span>
<span class="c"> * data:</span>
<span class="c"> * <dl>win</dl></span>
<span class="c"> * <dd>the window the link nodes(s) were inserted into</dd></span>
<span class="c"> * <dt>data</dt></span>
<span class="c"> * <dd>the data object passed in when the request was made</dd></span>
<span class="c"> * <dt>nodes</dt></span>
<span class="c"> * <dd>An array containing references to the nodes that were</span>
<span class="c"> * inserted</dd></span>
<span class="c"> * <dt>purge</dt></span>
<span class="c"> * <dd>A function that, when executed, will remove the nodes</span>
<span class="c"> * that were inserted</dd></span>
<span class="c"> * <dt></span>
<span class="c"> * </dl></span>
<span class="c"> * </dd></span>
<span class="c"> * <dt>context</dt></span>
<span class="c"> * <dd>the execution context for the callbacks</dd></span>
<span class="c"> * <dt>win</dt></span>
<span class="c"> * <dd>a window other than the one the utility occupies</dd></span>
<span class="c"> * <dt>data</dt></span>
<span class="c"> * <dd></span>
<span class="c"> * data that is supplied to the callbacks when the nodes(s) are</span>
<span class="c"> * loaded.</span>
<span class="c"> * </dd></span>
<span class="c"> * <dt>insertBefore</dt></span>
<span class="c"> * <dd>node or node id that will become the new node's nextSibling</dd></span>
<span class="c"> * <dt>charset</dt></span>
<span class="c"> * <dd>Node charset, default utf-8 (deprecated, use the attributes config)</dd></span>
<span class="c"> * <dt>attributes</dt></span>
<span class="c"> * <dd>An object literal containing additional attributes to add to the link tags</dd></span>
<span class="c"> * </dl></span>
<span class="c"> * <pre></span>
<span class="c"> * Y.Get.css("http://yui.yahooapis.com/2.3.1/build/menu/assets/skins/sam/menu.css");</span>
<span class="c"> * </pre></span>
<span class="c"> * <pre></span>
<span class="c"> * &nbsp;&nbsp;Y.Get.css(</span>
<span class="c"> * &nbsp;&nbsp;["http://yui.yahooapis.com/2.3.1/build/menu/assets/skins/sam/menu.css",</span>
<span class="c"> * &nbsp;&nbsp;&nbsp;"http://yui.yahooapis.com/2.3.1/build/logger/assets/skins/sam/logger.css"], &#123;</span>
<span class="c"> * &nbsp;&nbsp;&nbsp;&nbsp;insertBefore: 'custom-styles' // nodes will be inserted before the specified node</span>
<span class="c"> * &nbsp;&nbsp;&#125;);</span>
<span class="c"> * </pre></span>
<span class="c"> * @return {tId: string} an object containing info about the transaction</span>
<span class="c"> */</span>
<span class="nx">css</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">url</span><span class="o">,</span> <span class="nx">opts</span><span class="o">)</span> <span class="o">{</span>
<span class="k">return</span> <span class="nx">_queue</span><span class="o">(</span><span class="s2">"css"</span><span class="o">,</span> <span class="nx">url</span><span class="o">,</span> <span class="nx">opts</span><span class="o">);</span>
<span class="o">}</span>
<span class="o">};</span>
<span class="o">}();</span>
<span class="o">})();</span>
</pre></div>
</div>
</div>
</div>
<div class="yui-b">
<div class="nav">
<div id="moduleList" class="module">
<h4>Modules</h4>
<ul class="content">
<li class=""><a href="module_anim.html" title="anim">anim</a></li>
<li class=""><a href="module_attribute.html" title="attribute">attribute</a></li>
<li class=""><a href="module_base.html" title="base">base</a></li>
<li class=""><a href="module_cache.html" title="cache">cache</a></li>
<li class=""><a href="module_classnamemanager.html" title="classnamemanager">classnamemanager</a></li>
<li class=""><a href="module_collection.html" title="collection">collection</a></li>
<li class=""><a href="module_console.html" title="console">console</a></li>
<li class=""><a href="module_console-filters.html" title="console-filters">console-filters</a></li>
<li class=""><a href="module_cookie.html" title="cookie">cookie</a></li>
<li class=""><a href="module_dataschema.html" title="dataschema">dataschema</a></li>
<li class=""><a href="module_datasource.html" title="datasource">datasource</a></li>
<li class=""><a href="module_datatype.html" title="datatype">datatype</a></li>
<li class=""><a href="module_dd.html" title="dd">dd</a></li>
<li class=""><a href="module_dom.html" title="dom">dom</a></li>
<li class=""><a href="module_dump.html" title="dump">dump</a></li>
<li class=""><a href="module_event.html" title="event">event</a></li>
<li class=""><a href="module_event-custom.html" title="event-custom">event-custom</a></li>
<li class=""><a href="module_event-simulate.html" title="event-simulate">event-simulate</a></li>
<li class=""><a href="module_history.html" title="history">history</a></li>
<li class=""><a href="module_imageloader.html" title="imageloader">imageloader</a></li>
<li class=""><a href="module_io.html" title="io">io</a></li>
<li class=""><a href="module_json.html" title="json">json</a></li>
<li class=""><a href="module_node.html" title="node">node</a></li>
<li class=""><a href="module_node-focusmanager.html" title="node-focusmanager">node-focusmanager</a></li>
<li class=""><a href="module_node-menunav.html" title="node-menunav">node-menunav</a></li>
<li class=""><a href="module_oop.html" title="oop">oop</a></li>
<li class=""><a href="module_overlay.html" title="overlay">overlay</a></li>
<li class=""><a href="module_plugin.html" title="plugin">plugin</a></li>
<li class=""><a href="module_profiler.html" title="profiler">profiler</a></li>
<li class=""><a href="module_queue.html" title="queue">queue</a></li>
<li class=""><a href="module_slider.html" title="slider">slider</a></li>
<li class=""><a href="module_stylesheet.html" title="stylesheet">stylesheet</a></li>
<li class=""><a href="module_substitute.html" title="substitute">substitute</a></li>
<li class=""><a href="module_test.html" title="test">test</a></li>
<li class=""><a href="module_widget.html" title="widget">widget</a></li>
<li class=""><a href="module_widget-position.html" title="widget-position">widget-position</a></li>
<li class=""><a href="module_widget-position-ext.html" title="widget-position-ext">widget-position-ext</a></li>
<li class=""><a href="module_widget-stack.html" title="widget-stack">widget-stack</a></li>
<li class=""><a href="module_widget-stdmod.html" title="widget-stdmod">widget-stdmod</a></li>
<li class="selected"><a href="module_yui.html" title="yui">yui</a></li>
</ul>
</div>
<div id="classList" class="module">
<h4>Classes</h4>
<ul class="content">
<li class=""><a href="Array.html" title="Array">Array</a></li>
<li class=""><a href="config.html" title="config">config</a></li>
<li class=""><a href="Get.html" title="Get">Get</a></li>
<li class=""><a href="Lang.html" title="Lang">Lang</a></li>
<li class=""><a href="Loader.html" title="Loader">Loader</a></li>
<li class=""><a href="Object.html" title="Object">Object</a></li>
<li class=""><a href="UA.html" title="UA">UA</a></li>
<li class=""><a href="YUI.html" title="YUI">YUI</a></li>
</ul>
</div>
<div id="fileList" class="module">
<h4>Files</h4>
<ul class="content">
<li class=""><a href="_module.js.html" title="_module.js">_module.js</a></li>
<li class="selected"><a href="get.js.html" title="get.js">get.js</a></li>
<li class=""><a href="loader.js.html" title="loader.js">loader.js</a></li>
<li class=""><a href="yui-array.js.html" title="yui-array.js">yui-array.js</a></li>
<li class=""><a href="yui-base.js.html" title="yui-base.js">yui-base.js</a></li>
<li class=""><a href="yui-core.js.html" title="yui-core.js">yui-core.js</a></li>
<li class=""><a href="yui-init.js.html" title="yui-init.js">yui-init.js</a></li>
<li class=""><a href="yui-lang.js.html" title="yui-lang.js">yui-lang.js</a></li>
<li class=""><a href="yui-later.js.html" title="yui-later.js">yui-later.js</a></li>
<li class=""><a href="yui-log.js.html" title="yui-log.js">yui-log.js</a></li>
<li class=""><a href="yui-object.js.html" title="yui-object.js">yui-object.js</a></li>
<li class=""><a href="yui-ua.js.html" title="yui-ua.js">yui-ua.js</a></li>
<li class=""><a href="yui.js.html" title="yui.js">yui.js</a></li>
</ul>
</div>
</div>
</div>
</div>
<div id="ft">
<hr />
Copyright © 2009 Yahoo! Inc. All rights reserved.
</div>
</div>
<script type="text/javascript">
ALL_YUI_PROPS = [{"access": "", "host": "Object", "name": "()", "url": "Object.html#method_()", "type": "method"}, {"access": "", "host": "Array", "name": "()", "url": "Array.html#method_()", "type": "method"}, {"access": "", "host": "Get", "name": "abort", "url": "Get.html#method_abort", "type": "method"}, {"access": "", "host": "YUI", "name": "add", "url": "YUI.html#method_add", "type": "method"}, {"access": "", "host": "Loader", "name": "addModule", "url": "Loader.html#method_addModule", "type": "method"}, {"access": "private", "host": "Loader", "name": "_addSkin", "url": "Loader.html#method__addSkin", "type": "method"}, {"access": "", "host": "UA", "name": "air", "url": "UA.html#property_air", "type": "property"}, {"access": "", "host": "Loader", "name": "allowRollup", "url": "Loader.html#property_allowRollup", "type": "property"}, {"access": "", "host": "YUI", "name": "applyTo", "url": "YUI.html#method_applyTo", "type": "method"}, {"access": "", "host": "Loader", "name": "attaching", "url": "Loader.html#property_attaching", "type": "property"}, {"access": "private", "host": "Get", "name": "_autoPurge", "url": "Get.html#method__autoPurge", "type": "method"}, {"access": "", "host": "YUI", "name": "available", "url": "YUI.html#event_available", "type": "event"}, {"access": "", "host": "config", "name": "base", "url": "config.html#property_base", "type": "property"}, {"access": "", "host": "Loader", "name": "base", "url": "Loader.html#property_base", "type": "property"}, {"access": "", "host": "YUI", "name": "blur", "url": "YUI.html#event_blur", "type": "event"}, {"access": "", "host": "YUI", "name": "cached", "url": "YUI.html#method_cached", "type": "method"}, {"access": "", "host": "UA", "name": "caja", "url": "UA.html#property_caja", "type": "property"}, {"access": "", "host": "Loader", "name": "calculate", "url": "Loader.html#method_calculate", "type": "method"}, {"access": "", "host": "config", "name": "charset", "url": "config.html#property_charset", "type": "property"}, {"access": "", "host": "Loader", "name": "charset", "url": "Loader.html#property_charset", "type": "property"}, {"access": "", "host": "config", "name": "combine", "url": "config.html#property_combine", "type": "property"}, {"access": "", "host": "Loader", "name": "combine", "url": "Loader.html#property_combine", "type": "property"}, {"access": "", "host": "config", "name": "comboBase", "url": "config.html#property_comboBase", "type": "property"}, {"access": "", "host": "Loader", "name": "comboBase", "url": "Loader.html#property_comboBase", "type": "property"}, {"access": "", "host": "YUI", "name": "contentready", "url": "YUI.html#event_contentready", "type": "event"}, {"access": "", "host": "Loader", "name": "context", "url": "Loader.html#property_context", "type": "property"}, {"access": "", "host": "config", "name": "core", "url": "config.html#property_core", "type": "property"}, {"access": "", "host": "Get", "name": "css", "url": "Get.html#method_css", "type": "method"}, {"access": "", "host": "config", "name": "cssAttributes", "url": "config.html#property_cssAttributes", "type": "property"}, {"access": "", "host": "Loader", "name": "cssAttributes", "url": "Loader.html#property_cssAttributes", "type": "property"}, {"access": "", "host": "Loader", "name": "data", "url": "Loader.html#property_data", "type": "property"}, {"access": "", "host": "config", "name": "dateFormat", "url": "config.html#property_dateFormat", "type": "property"}, {"access": "", "host": "config", "name": "debug", "url": "config.html#property_debug", "type": "property"}, {"access": "", "host": "YUI", "name": "delegate", "url": "YUI.html#event_delegate", "type": "event"}, {"access": "", "host": "Loader", "name": "dirty", "url": "Loader.html#property_dirty", "type": "property"}, {"access": "", "host": "config", "name": "doc", "url": "config.html#property_doc", "type": "property"}, {"access": "", "host": "YUI", "name": "domready", "url": "YUI.html#event_domready", "type": "event"}, {"access": "", "host": "Object", "name": "each", "url": "Object.html#method_each", "type": "method"}, {"access": "", "host": "Array", "name": "each", "url": "Array.html#method_each", "type": "method"}, {"access": "private", "host": "Get", "name": "_end", "url": "Get.html#method__end", "type": "method"}, {"access": "", "host": "YUI", "name": "error", "url": "YUI.html#method_error", "type": "method"}, {"access": "", "host": "YUI", "name": "event:ready", "url": "YUI.html#event_event:ready", "type": "event"}, {"access": "private", "host": "Loader", "name": "_explode", "url": "Loader.html#method__explode", "type": "method"}, {"access": "private", "host": "Object", "name": "_extract", "url": "Object.html#method__extract", "type": "method"}, {"access": "", "host": "config", "name": "filter", "url": "config.html#property_filter", "type": "property"}, {"access": "", "host": "Loader", "name": "filter", "url": "Loader.html#property_filter", "type": "property"}, {"access": "private", "host": "Loader", "name": "_filter", "url": "Loader.html#method__filter", "type": "method"}, {"access": "", "host": "config", "name": "filters", "url": "config.html#property_filters", "type": "property"}, {"access": "", "host": "Loader", "name": "filters", "url": "Loader.html#property_filters", "type": "property"}, {"access": "private", "host": "Get", "name": "_finalize", "url": "Get.html#method__finalize", "type": "method"}, {"access": "private", "host": "Get", "name": "_finish", "url": "Get.html#method__finish", "type": "method"}, {"access": "", "host": "YUI", "name": "focus", "url": "YUI.html#event_focus", "type": "event"}, {"access": "", "host": "config", "name": "force", "url": "config.html#property_force", "type": "property"}, {"access": "", "host": "Loader", "name": "force", "url": "Loader.html#property_force", "type": "property"}, {"access": "", "host": "Loader", "name": "formatSkin", "url": "Loader.html#method_formatSkin", "type": "method"}, {"access": "", "host": "UA", "name": "gecko", "url": "UA.html#property_gecko", "type": "property"}, {"access": "", "host": "Loader", "name": "getProvides", "url": "Loader.html#method_getProvides", "type": "method"}, {"access": "", "host": "Loader", "name": "getRequires", "url": "Loader.html#method_getRequires", "type": "method"}, {"access": "", "host": "Object", "name": "getValue", "url": "Object.html#method_getValue", "type": "method"}, {"access": "", "host": "YUI", "name": "Global", "url": "YUI.html#property_Global", "type": "property"}, {"access": "", "host": "YUI", "name": "guid", "url": "YUI.html#method_guid", "type": "method"}, {"access": "", "host": "Array", "name": "hash", "url": "Array.html#method_hash", "type": "method"}, {"access": "", "host": "Object", "name": "hasKey", "url": "Object.html#method_hasKey", "type": "method"}, {"access": "", "host": "Object", "name": "hasValue", "url": "Object.html#method_hasValue", "type": "method"}, {"access": "", "host": "UA", "name": "ie", "url": "UA.html#property_ie", "type": "property"}, {"access": "", "host": "config", "name": "ignore", "url": "config.html#property_ignore", "type": "property"}, {"access": "", "host": "Loader", "name": "ignore", "url": "Loader.html#property_ignore", "type": "property"}, {"access": "", "host": "Loader", "name": "ignoreRegistered", "url": "Loader.html#property_ignoreRegistered", "type": "property"}, {"access": "", "host": "Array", "name": "indexOf", "url": "Array.html#method_indexOf", "type": "method"}, {"access": "private", "host": "YUI", "name": "_init", "url": "YUI.html#method__init", "type": "method"}, {"access": "", "host": "config", "name": "injected", "url": "config.html#property_injected", "type": "property"}, {"access": "", "host": "Loader", "name": "insert", "url": "Loader.html#method_insert", "type": "method"}, {"access": "", "host": "config", "name": "insertBefore", "url": "config.html#property_insertBefore", "type": "property"}, {"access": "", "host": "Loader", "name": "insertBefore", "url": "Loader.html#property_insertBefore", "type": "property"}, {"access": "", "host": "Loader", "name": "inserted", "url": "Loader.html#property_inserted", "type": "property"}, {"access": "private", "host": "Loader", "name": "_internalCallback", "url": "Loader.html#property__internalCallback", "type": "property"}, {"access": "", "host": "Lang", "name": "isArray", "url": "Lang.html#method_isArray", "type": "method"}, {"access": "", "host": "Lang", "name": "isBoolean", "url": "Lang.html#method_isBoolean", "type": "method"}, {"access": "", "host": "Lang", "name": "isDate", "url": "Lang.html#method_isDate", "type": "method"}, {"access": "", "host": "Lang", "name": "isFunction", "url": "Lang.html#method_isFunction", "type": "method"}, {"access": "", "host": "Lang", "name": "isNull", "url": "Lang.html#method_isNull", "type": "method"}, {"access": "", "host": "Lang", "name": "isNumber", "url": "Lang.html#method_isNumber", "type": "method"}, {"access": "", "host": "Lang", "name": "isObject", "url": "Lang.html#method_isObject", "type": "method"}, {"access": "", "host": "Lang", "name": "isString", "url": "Lang.html#method_isString", "type": "method"}, {"access": "", "host": "Lang", "name": "isUndefined", "url": "Lang.html#method_isUndefined", "type": "method"}, {"access": "", "host": "Lang", "name": "isValue", "url": "Lang.html#method_isValue", "type": "method"}, {"access": "", "host": "config", "name": "jsAttributes", "url": "config.html#property_jsAttributes", "type": "property"}, {"access": "", "host": "Loader", "name": "jsAttributes", "url": "Loader.html#property_jsAttributes", "type": "property"}, {"access": "", "host": "YUI", "name": "key", "url": "YUI.html#event_key", "type": "event"}, {"access": "", "host": "Object", "name": "keys", "url": "Object.html#method_keys", "type": "method"}, {"access": "", "host": "YUI", "name": "later", "url": "YUI.html#method_later", "type": "method"}, {"access": "private", "host": "Get", "name": "_linkNode", "url": "Get.html#method__linkNode", "type": "method"}, {"access": "", "host": "Loader", "name": "loaded", "url": "Loader.html#property_loaded", "type": "property"}, {"access": "", "host": "Loader", "name": "loadNext", "url": "Loader.html#method_loadNext", "type": "method"}, {"access": "", "host": "Loader", "name": "loadOptional", "url": "Loader.html#property_loadOptional", "type": "property"}, {"access": "", "host": "config", "name": "locale", "url": "config.html#property_locale", "type": "property"}, {"access": "", "host": "YUI", "name": "log", "url": "YUI.html#method_log", "type": "method"}, {"access": "", "host": "config", "name": "logExclude", "url": "config.html#property_logExclude", "type": "property"}, {"access": "", "host": "config", "name": "logInclude", "url": "config.html#property_logInclude", "type": "property"}, {"access": "", "host": "YUI", "name": "merge", "url": "YUI.html#method_merge", "type": "method"}, {"access": "", "host": "YUI", "name": "message", "url": "YUI.html#method_message", "type": "method"}, {"access": "", "host": "YUI", "name": "mix", "url": "YUI.html#method_mix", "type": "method"}, {"access": "", "host": "UA", "name": "mobile", "url": "UA.html#property_mobile", "type": "property"}, {"access": "", "host": "Loader", "name": "moduleInfo", "url": "Loader.html#property_moduleInfo", "type": "property"}, {"access": "", "host": "config", "name": "modules", "url": "config.html#property_modules", "type": "property"}, {"access": "", "host": "YUI", "name": "mouseenter", "url": "YUI.html#event_mouseenter", "type": "event"}, {"access": "", "host": "YUI", "name": "mouseleave", "url": "YUI.html#event_mouseleave", "type": "event"}, {"access": "", "host": "YUI", "name": "namespace", "url": "YUI.html#method_namespace", "type": "method"}, {"access": "private", "host": "Get", "name": "_next", "url": "Get.html#method__next", "type": "method"}, {"access": "private", "host": "Get", "name": "_node", "url": "Get.html#method__node", "type": "method"}, {"access": "", "host": "Array", "name": "numericSort", "url": "Array.html#method_numericSort", "type": "method"}, {"access": "", "host": "config", "name": "onCSS", "url": "config.html#property_onCSS", "type": "property"}, {"access": "", "host": "Loader", "name": "onCSS", "url": "Loader.html#method_onCSS", "type": "method"}, {"access": "", "host": "Loader", "name": "onFailure", "url": "Loader.html#method_onFailure", "type": "method"}, {"access": "", "host": "Loader", "name": "onProgress", "url": "Loader.html#method_onProgress", "type": "method"}, {"access": "", "host": "Loader", "name": "onSuccess", "url": "Loader.html#method_onSuccess", "type": "method"}, {"access": "", "host": "Loader", "name": "onTimeout", "url": "Loader.html#method_onTimeout", "type": "method"}, {"access": "", "host": "UA", "name": "opera", "url": "UA.html#property_opera", "type": "property"}, {"access": "", "host": "UA", "name": "os", "url": "UA.html#property_os", "type": "property"}, {"access": "", "host": "Object", "name": "owns", "url": "Object.html#method_owns", "type": "method"}, {"access": "", "host": "config", "name": "pollInterval", "url": "config.html#property_pollInterval", "type": "property"}, {"access": "private", "host": "Get", "name": "_purge", "url": "Get.html#method__purge", "type": "method"}, {"access": "private", "host": "Get", "name": "PURGE_THRESH", "url": "Get.html#property_PURGE_THRESH", "type": "property"}, {"access": "", "host": "config", "name": "purgethreshold", "url": "config.html#property_purgethreshold", "type": "property"}, {"access": "private", "host": "Get", "name": "purging", "url": "Get.html#property_purging", "type": "property"}, {"access": "private", "host": "Get", "name": "qidx", "url": "Get.html#property_qidx", "type": "property"}, {"access": "private", "host": "Get", "name": "queue", "url": "Get.html#method_queue", "type": "method"}, {"access": "private", "host": "Get", "name": "queues", "url": "Get.html#property_queues", "type": "property"}, {"access": "private", "host": "Loader", "name": "_reduce", "url": "Loader.html#method__reduce", "type": "method"}, {"access": "", "host": "Loader", "name": "require", "url": "Loader.html#method_require", "type": "method"}, {"access": "", "host": "Loader", "name": "required", "url": "Loader.html#property_required", "type": "property"}, {"access": "private", "host": "Get", "name": "_returnData", "url": "Get.html#method__returnData", "type": "method"}, {"access": "private", "host": "Loader", "name": "_rollup", "url": "Loader.html#method__rollup", "type": "method"}, {"access": "", "host": "Loader", "name": "rollups", "url": "Loader.html#property_rollups", "type": "property"}, {"access": "", "host": "config", "name": "root", "url": "config.html#property_root", "type": "property"}, {"access": "", "host": "Loader", "name": "root", "url": "Loader.html#property_root", "type": "property"}, {"access": "", "host": "Get", "name": "script", "url": "Get.html#method_script", "type": "method"}, {"access": "private", "host": "Get", "name": "_scriptNode", "url": "Get.html#method__scriptNode", "type": "method"}, {"access": "", "host": "UA", "name": "secure", "url": "UA.html#property_secure", "type": "property"}, {"access": "", "host": "config", "name": "secureBase", "url": "config.html#property_secureBase", "type": "property"}, {"access": "private", "host": "YUI", "name": "_setup", "url": "YUI.html#method__setup", "type": "method"}, {"access": "private", "host": "Loader", "name": "_setup", "url": "Loader.html#method__setup", "type": "method"}, {"access": "", "host": "Object", "name": "setValue", "url": "Object.html#method_setValue", "type": "method"}, {"access": "", "host": "YUI", "name": "simulate", "url": "YUI.html#method_simulate", "type": "method"}, {"access": "", "host": "Object", "name": "size", "url": "Object.html#method_size", "type": "method"}, {"access": "", "host": "Loader", "name": "skin", "url": "Loader.html#property_skin", "type": "property"}, {"access": "", "host": "Loader", "name": "skipped", "url": "Loader.html#property_skipped", "type": "property"}, {"access": "", "host": "Array", "name": "some", "url": "Array.html#method_some", "type": "method"}, {"access": "private", "host": "Loader", "name": "_sort", "url": "Loader.html#method__sort", "type": "method"}, {"access": "", "host": "Loader", "name": "sorted", "url": "Loader.html#property_sorted", "type": "property"}, {"access": "", "host": "YUI", "name": "stamp", "url": "YUI.html#method_stamp", "type": "method"}, {"access": "", "host": "Array", "name": "test", "url": "Array.html#method_test", "type": "method"}, {"access": "", "host": "config", "name": "throwFail", "url": "config.html#property_throwFail", "type": "property"}, {"access": "", "host": "config", "name": "timeout", "url": "config.html#property_timeout", "type": "property"}, {"access": "private", "host": "Get", "name": "_timeout", "url": "Get.html#method__timeout", "type": "method"}, {"access": "", "host": "Loader", "name": "timeout", "url": "Loader.html#property_timeout", "type": "property"}, {"access": "private", "host": "Get", "name": "_track", "url": "Get.html#method__track", "type": "method"}, {"access": "", "host": "Lang", "name": "trim", "url": "Lang.html#method_trim", "type": "method"}, {"access": "", "host": "Lang", "name": "type", "url": "Lang.html#method_type", "type": "method"}, {"access": "private", "host": "Loader", "name": "_url", "url": "Loader.html#method__url", "type": "method"}, {"access": "", "host": "YUI", "name": "use", "url": "YUI.html#method_use", "type": "method"}, {"access": "", "host": "config", "name": "useBrowserConsole", "url": "config.html#property_useBrowserConsole", "type": "property"}, {"access": "private", "host": "Loader", "name": "_useYahooListener", "url": "Loader.html#property__useYahooListener", "type": "property"}, {"access": "", "host": "Object", "name": "values", "url": "Object.html#method_values", "type": "method"}, {"access": "", "host": "UA", "name": "webkit", "url": "UA.html#property_webkit", "type": "property"}, {"access": "", "host": "config", "name": "win", "url": "config.html#property_win", "type": "property"}, {"access": "", "host": "YUI", "name": "windowresize", "url": "YUI.html#event_windowresize", "type": "event"}, {"access": "", "host": "config", "name": "windowResizeDelay", "url": "config.html#property_windowResizeDelay", "type": "property"}];
</script>
</body>
</html>