Files
Phraseanet/www/include/jslibs/yui2.8/docs/Env.js.html
2011-02-16 16:09:48 +01:00

430 lines
40 KiB
HTML

<!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: yahoo Env.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>YAHOO Global&nbsp; <span class="subtitle">2.8.2r1</span></h3>
<a href="./index.html" title="Yahoo! UI Library">Yahoo! UI Library</a>
&gt; <a href="./module_yahoo.html" title="yahoo">yahoo</a>
&gt; Env.js (source view)
<form onsubmit="return false">
<div id="propertysearch">
Search: <input autocomplete="off" id="searchinput" />
<div id="searchresults">
&nbsp;
</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="cm">/**</span>
<span class="cm"> * YAHOO.env is used to keep track of what is known about the YUI library and</span>
<span class="cm"> * the browsing environment</span>
<span class="cm"> * @class YAHOO.env</span>
<span class="cm"> * @static</span>
<span class="cm"> */</span>
<span class="nx">YAHOO</span><span class="p">.</span><span class="nx">env</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="p">.</span><span class="nx">env</span> <span class="o">||</span> <span class="p">{</span>
<span class="cm">/**</span>
<span class="cm"> * Keeps the version info for all YUI modules that have reported themselves</span>
<span class="cm"> * @property modules</span>
<span class="cm"> * @type Object[]</span>
<span class="cm"> */</span>
<span class="nx">modules</span><span class="o">:</span> <span class="p">[],</span>
<span class="cm">/**</span>
<span class="cm"> * List of functions that should be executed every time a YUI module</span>
<span class="cm"> * reports itself.</span>
<span class="cm"> * @property listeners</span>
<span class="cm"> * @type Function[]</span>
<span class="cm"> */</span>
<span class="nx">listeners</span><span class="o">:</span> <span class="p">[]</span>
<span class="p">};</span>
<span class="cm">/**</span>
<span class="cm"> * Returns the version data for the specified module:</span>
<span class="cm"> * &lt;dl&gt;</span>
<span class="cm"> * &lt;dt&gt;name:&lt;/dt&gt; &lt;dd&gt;The name of the module&lt;/dd&gt;</span>
<span class="cm"> * &lt;dt&gt;version:&lt;/dt&gt; &lt;dd&gt;The version in use&lt;/dd&gt;</span>
<span class="cm"> * &lt;dt&gt;build:&lt;/dt&gt; &lt;dd&gt;The build number in use&lt;/dd&gt;</span>
<span class="cm"> * &lt;dt&gt;versions:&lt;/dt&gt; &lt;dd&gt;All versions that were registered&lt;/dd&gt;</span>
<span class="cm"> * &lt;dt&gt;builds:&lt;/dt&gt; &lt;dd&gt;All builds that were registered.&lt;/dd&gt;</span>
<span class="cm"> * &lt;dt&gt;mainClass:&lt;/dt&gt; &lt;dd&gt;An object that was was stamped with the</span>
<span class="cm"> * current version and build. If </span>
<span class="cm"> * mainClass.VERSION != version or mainClass.BUILD != build,</span>
<span class="cm"> * multiple versions of pieces of the library have been</span>
<span class="cm"> * loaded, potentially causing issues.&lt;/dd&gt;</span>
<span class="cm"> * &lt;/dl&gt;</span>
<span class="cm"> *</span>
<span class="cm"> * @method getVersion</span>
<span class="cm"> * @static</span>
<span class="cm"> * @param {String} name the name of the module (event, slider, etc)</span>
<span class="cm"> * @return {Object} The version info</span>
<span class="cm"> */</span>
<span class="nx">YAHOO</span><span class="p">.</span><span class="nx">env</span><span class="p">.</span><span class="nx">getVersion</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">name</span><span class="p">)</span> <span class="p">{</span>
<span class="k">return</span> <span class="nx">YAHOO</span><span class="p">.</span><span class="nx">env</span><span class="p">.</span><span class="nx">modules</span><span class="p">[</span><span class="nx">name</span><span class="p">]</span> <span class="o">||</span> <span class="kc">null</span><span class="p">;</span>
<span class="p">};</span>
<span class="cm">/**</span>
<span class="cm"> * Do not fork for a browser if it can be avoided. Use feature detection when</span>
<span class="cm"> * you can. Use the user agent as a last resort. YAHOO.env.ua stores a version</span>
<span class="cm"> * number for the browser engine, 0 otherwise. This value may or may not map</span>
<span class="cm"> * to the version number of the browser using the engine. The value is </span>
<span class="cm"> * presented as a float so that it can easily be used for boolean evaluation </span>
<span class="cm"> * as well as for looking for a particular range of versions. Because of this, </span>
<span class="cm"> * some of the granularity of the version info may be lost (e.g., Gecko 1.8.0.9 </span>
<span class="cm"> * reports 1.8).</span>
<span class="cm"> * @class YAHOO.env.ua</span>
<span class="cm"> * @static</span>
<span class="cm"> */</span>
<span class="nx">YAHOO</span><span class="p">.</span><span class="nx">env</span><span class="p">.</span><span class="nx">ua</span> <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">numberfy</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">s</span><span class="p">)</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">c</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
<span class="k">return</span> <span class="nb">parseFloat</span><span class="p">(</span><span class="nx">s</span><span class="p">.</span><span class="nx">replace</span><span class="p">(</span><span class="sr">/\./g</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="k">return</span> <span class="p">(</span><span class="nx">c</span><span class="o">++</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span> <span class="o">?</span> <span class="s1">&#39;&#39;</span> <span class="o">:</span> <span class="s1">&#39;.&#39;</span><span class="p">;</span>
<span class="p">}));</span>
<span class="p">},</span>
<span class="nx">nav</span> <span class="o">=</span> <span class="nx">navigator</span><span class="p">,</span>
<span class="nx">o</span> <span class="o">=</span> <span class="p">{</span>
<span class="cm">/**</span>
<span class="cm"> * Internet Explorer version number or 0. Example: 6</span>
<span class="cm"> * @property ie</span>
<span class="cm"> * @type float</span>
<span class="cm"> */</span>
<span class="nx">ie</span><span class="o">:</span> <span class="mi">0</span><span class="p">,</span>
<span class="cm">/**</span>
<span class="cm"> * Opera version number or 0. Example: 9.2</span>
<span class="cm"> * @property opera</span>
<span class="cm"> * @type float</span>
<span class="cm"> */</span>
<span class="nx">opera</span><span class="o">:</span> <span class="mi">0</span><span class="p">,</span>
<span class="cm">/**</span>
<span class="cm"> * Gecko engine revision number. Will evaluate to 1 if Gecko </span>
<span class="cm"> * is detected but the revision could not be found. Other browsers</span>
<span class="cm"> * will be 0. Example: 1.8</span>
<span class="cm"> * &lt;pre&gt;</span>
<span class="cm"> * Firefox 1.0.0.4: 1.7.8 &lt;-- Reports 1.7</span>
<span class="cm"> * Firefox 1.5.0.9: 1.8.0.9 &lt;-- Reports 1.8</span>
<span class="cm"> * Firefox 2.0.0.3: 1.8.1.3 &lt;-- Reports 1.8</span>
<span class="cm"> * Firefox 3 alpha: 1.9a4 &lt;-- Reports 1.9</span>
<span class="cm"> * &lt;/pre&gt;</span>
<span class="cm"> * @property gecko</span>
<span class="cm"> * @type float</span>
<span class="cm"> */</span>
<span class="nx">gecko</span><span class="o">:</span> <span class="mi">0</span><span class="p">,</span>
<span class="cm">/**</span>
<span class="cm"> * AppleWebKit version. KHTML browsers that are not WebKit browsers </span>
<span class="cm"> * will evaluate to 1, other browsers 0. Example: 418.9.1</span>
<span class="cm"> * &lt;pre&gt;</span>
<span class="cm"> * Safari 1.3.2 (312.6): 312.8.1 &lt;-- Reports 312.8 -- currently the </span>
<span class="cm"> * latest available for Mac OSX 10.3.</span>
<span class="cm"> * Safari 2.0.2: 416 &lt;-- hasOwnProperty introduced</span>
<span class="cm"> * Safari 2.0.4: 418 &lt;-- preventDefault fixed</span>
<span class="cm"> * Safari 2.0.4 (419.3): 418.9.1 &lt;-- One version of Safari may run</span>
<span class="cm"> * different versions of webkit</span>
<span class="cm"> * Safari 2.0.4 (419.3): 419 &lt;-- Tiger installations that have been</span>
<span class="cm"> * updated, but not updated</span>
<span class="cm"> * to the latest patch.</span>
<span class="cm"> * Webkit 212 nightly: 522+ &lt;-- Safari 3.0 precursor (with native SVG</span>
<span class="cm"> * and many major issues fixed). </span>
<span class="cm"> * 3.x yahoo.com, flickr:422 &lt;-- Safari 3.x hacks the user agent</span>
<span class="cm"> * string when hitting yahoo.com and </span>
<span class="cm"> * flickr.com.</span>
<span class="cm"> * Safari 3.0.4 (523.12):523.12 &lt;-- First Tiger release - automatic update</span>
<span class="cm"> * from 2.x via the 10.4.11 OS patch</span>
<span class="cm"> * Webkit nightly 1/2008:525+ &lt;-- Supports DOMContentLoaded event.</span>
<span class="cm"> * yahoo.com user agent hack removed.</span>
<span class="cm"> * </span>
<span class="cm"> * &lt;/pre&gt;</span>
<span class="cm"> * http://developer.apple.com/internet/safari/uamatrix.html</span>
<span class="cm"> * @property webkit</span>
<span class="cm"> * @type float</span>
<span class="cm"> */</span>
<span class="nx">webkit</span><span class="o">:</span> <span class="mi">0</span><span class="p">,</span>
<span class="cm">/**</span>
<span class="cm"> * The mobile property will be set to a string containing any relevant</span>
<span class="cm"> * user agent information when a modern mobile browser is detected.</span>
<span class="cm"> * Currently limited to Safari on the iPhone/iPod Touch, Nokia N-series</span>
<span class="cm"> * devices with the WebKit-based browser, and Opera Mini. </span>
<span class="cm"> * @property mobile </span>
<span class="cm"> * @type string</span>
<span class="cm"> */</span>
<span class="nx">mobile</span><span class="o">:</span> <span class="kc">null</span><span class="p">,</span>
<span class="cm">/**</span>
<span class="cm"> * Adobe AIR version number or 0. Only populated if webkit is detected.</span>
<span class="cm"> * Example: 1.0</span>
<span class="cm"> * @property air</span>
<span class="cm"> * @type float</span>
<span class="cm"> */</span>
<span class="nx">air</span><span class="o">:</span> <span class="mi">0</span><span class="p">,</span>
<span class="cm">/**</span>
<span class="cm"> * Google Caja version number or 0.</span>
<span class="cm"> * @property caja</span>
<span class="cm"> * @type float</span>
<span class="cm"> */</span>
<span class="nx">caja</span><span class="o">:</span> <span class="nx">nav</span><span class="p">.</span><span class="nx">cajaVersion</span><span class="p">,</span>
<span class="cm">/**</span>
<span class="cm"> * Set to true if the page appears to be in SSL</span>
<span class="cm"> * @property secure</span>
<span class="cm"> * @type boolean</span>
<span class="cm"> * @static</span>
<span class="cm"> */</span>
<span class="nx">secure</span><span class="o">:</span> <span class="kc">false</span><span class="p">,</span>
<span class="cm">/**</span>
<span class="cm"> * The operating system. Currently only detecting windows or macintosh</span>
<span class="cm"> * @property os</span>
<span class="cm"> * @type string</span>
<span class="cm"> * @static</span>
<span class="cm"> */</span>
<span class="nx">os</span><span class="o">:</span> <span class="kc">null</span>
<span class="p">},</span>
<span class="nx">ua</span> <span class="o">=</span> <span class="nx">navigator</span> <span class="o">&amp;&amp;</span> <span class="nx">navigator</span><span class="p">.</span><span class="nx">userAgent</span><span class="p">,</span>
<span class="nx">loc</span> <span class="o">=</span> <span class="nb">window</span> <span class="o">&amp;&amp;</span> <span class="nb">window</span><span class="p">.</span><span class="nx">location</span><span class="p">,</span>
<span class="nx">href</span> <span class="o">=</span> <span class="nx">loc</span> <span class="o">&amp;&amp;</span> <span class="nx">loc</span><span class="p">.</span><span class="nx">href</span><span class="p">,</span>
<span class="nx">m</span><span class="p">;</span>
<span class="nx">o</span><span class="p">.</span><span class="nx">secure</span> <span class="o">=</span> <span class="nx">href</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="nx">href</span><span class="p">.</span><span class="nx">toLowerCase</span><span class="p">().</span><span class="nx">indexOf</span><span class="p">(</span><span class="s2">&quot;https&quot;</span><span class="p">)</span> <span class="o">===</span> <span class="mi">0</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">ua</span><span class="p">)</span> <span class="p">{</span>
<span class="k">if</span> <span class="p">((</span><span class="sr">/windows|win32/i</span><span class="p">).</span><span class="nx">test</span><span class="p">(</span><span class="nx">ua</span><span class="p">))</span> <span class="p">{</span>
<span class="nx">o</span><span class="p">.</span><span class="nx">os</span> <span class="o">=</span> <span class="s1">&#39;windows&#39;</span><span class="p">;</span>
<span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">((</span><span class="sr">/macintosh/i</span><span class="p">).</span><span class="nx">test</span><span class="p">(</span><span class="nx">ua</span><span class="p">))</span> <span class="p">{</span>
<span class="nx">o</span><span class="p">.</span><span class="nx">os</span> <span class="o">=</span> <span class="s1">&#39;macintosh&#39;</span><span class="p">;</span>
<span class="p">}</span>
<span class="c1">// Modern KHTML browsers should qualify as Safari X-Grade</span>
<span class="k">if</span> <span class="p">((</span><span class="sr">/KHTML/</span><span class="p">).</span><span class="nx">test</span><span class="p">(</span><span class="nx">ua</span><span class="p">))</span> <span class="p">{</span>
<span class="nx">o</span><span class="p">.</span><span class="nx">webkit</span><span class="o">=</span><span class="mi">1</span><span class="p">;</span>
<span class="p">}</span>
<span class="c1">// Modern WebKit browsers are at least X-Grade</span>
<span class="nx">m</span><span class="o">=</span><span class="nx">ua</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="sr">/AppleWebKit\/([^\s]*)/</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">m</span><span class="o">&amp;&amp;</span><span class="nx">m</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="p">{</span>
<span class="nx">o</span><span class="p">.</span><span class="nx">webkit</span><span class="o">=</span><span class="nx">numberfy</span><span class="p">(</span><span class="nx">m</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
<span class="c1">// Mobile browser check</span>
<span class="k">if</span> <span class="p">(</span><span class="sr">/ Mobile\//</span><span class="p">.</span><span class="nx">test</span><span class="p">(</span><span class="nx">ua</span><span class="p">))</span> <span class="p">{</span>
<span class="nx">o</span><span class="p">.</span><span class="nx">mobile</span> <span class="o">=</span> <span class="s2">&quot;Apple&quot;</span><span class="p">;</span> <span class="c1">// iPhone or iPod Touch</span>
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
<span class="nx">m</span><span class="o">=</span><span class="nx">ua</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="sr">/NokiaN[^\/]*/</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">m</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">o</span><span class="p">.</span><span class="nx">mobile</span> <span class="o">=</span> <span class="nx">m</span><span class="p">[</span><span class="mi">0</span><span class="p">];</span> <span class="c1">// Nokia N-series, ex: NokiaN95</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="nx">m</span><span class="o">=</span><span class="nx">ua</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="sr">/AdobeAIR\/([^\s]*)/</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">m</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">o</span><span class="p">.</span><span class="nx">air</span> <span class="o">=</span> <span class="nx">m</span><span class="p">[</span><span class="mi">0</span><span class="p">];</span> <span class="c1">// Adobe AIR 1.0 or better</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">o</span><span class="p">.</span><span class="nx">webkit</span><span class="p">)</span> <span class="p">{</span> <span class="c1">// not webkit</span>
<span class="c1">// @todo check Opera/8.01 (J2ME/MIDP; Opera Mini/2.0.4509/1316; fi; U; ssr)</span>
<span class="nx">m</span><span class="o">=</span><span class="nx">ua</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="sr">/Opera[\s\/]([^\s]*)/</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">m</span><span class="o">&amp;&amp;</span><span class="nx">m</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="p">{</span>
<span class="nx">o</span><span class="p">.</span><span class="nx">opera</span><span class="o">=</span><span class="nx">numberfy</span><span class="p">(</span><span class="nx">m</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
<span class="nx">m</span><span class="o">=</span><span class="nx">ua</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="sr">/Opera Mini[^;]*/</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">m</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">o</span><span class="p">.</span><span class="nx">mobile</span> <span class="o">=</span> <span class="nx">m</span><span class="p">[</span><span class="mi">0</span><span class="p">];</span> <span class="c1">// ex: Opera Mini/2.0.4509/1316</span>
<span class="p">}</span>
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span> <span class="c1">// not opera or webkit</span>
<span class="nx">m</span><span class="o">=</span><span class="nx">ua</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="sr">/MSIE\s([^;]*)/</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">m</span><span class="o">&amp;&amp;</span><span class="nx">m</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="p">{</span>
<span class="nx">o</span><span class="p">.</span><span class="nx">ie</span><span class="o">=</span><span class="nx">numberfy</span><span class="p">(</span><span class="nx">m</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span> <span class="c1">// not opera, webkit, or ie</span>
<span class="nx">m</span><span class="o">=</span><span class="nx">ua</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="sr">/Gecko\/([^\s]*)/</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">m</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">o</span><span class="p">.</span><span class="nx">gecko</span><span class="o">=</span><span class="mi">1</span><span class="p">;</span> <span class="c1">// Gecko detected, look for revision</span>
<span class="nx">m</span><span class="o">=</span><span class="nx">ua</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="sr">/rv:([^\s\)]*)/</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">m</span><span class="o">&amp;&amp;</span><span class="nx">m</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="p">{</span>
<span class="nx">o</span><span class="p">.</span><span class="nx">gecko</span><span class="o">=</span><span class="nx">numberfy</span><span class="p">(</span><span class="nx">m</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="k">return</span> <span class="nx">o</span><span class="p">;</span>
<span class="p">}();</span>
<span class="cm">/*</span>
<span class="cm"> * Initializes the global by creating the default namespaces and applying</span>
<span class="cm"> * any new configuration information that is detected. This is the setup</span>
<span class="cm"> * for env.</span>
<span class="cm"> * @method init</span>
<span class="cm"> * @static</span>
<span class="cm"> * @private</span>
<span class="cm"> */</span>
<span class="p">(</span><span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">YAHOO</span><span class="p">.</span><span class="nx">namespace</span><span class="p">(</span><span class="s2">&quot;util&quot;</span><span class="p">,</span> <span class="s2">&quot;widget&quot;</span><span class="p">,</span> <span class="s2">&quot;example&quot;</span><span class="p">);</span>
<span class="cm">/*global YAHOO_config*/</span>
<span class="k">if</span> <span class="p">(</span><span class="s2">&quot;undefined&quot;</span> <span class="o">!==</span> <span class="k">typeof</span> <span class="nx">YAHOO_config</span><span class="p">)</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">l</span><span class="o">=</span><span class="nx">YAHOO_config</span><span class="p">.</span><span class="nx">listener</span><span class="p">,</span> <span class="nx">ls</span><span class="o">=</span><span class="nx">YAHOO</span><span class="p">.</span><span class="nx">env</span><span class="p">.</span><span class="nx">listeners</span><span class="p">,</span><span class="nx">unique</span><span class="o">=</span><span class="kc">true</span><span class="p">,</span> <span class="nx">i</span><span class="p">;</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">l</span><span class="p">)</span> <span class="p">{</span>
<span class="c1">// if YAHOO is loaded multiple times we need to check to see if</span>
<span class="c1">// this is a new config object. If it is, add the new component</span>
<span class="c1">// load listener to the stack</span>
<span class="k">for</span> <span class="p">(</span><span class="nx">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span> <span class="nx">i</span><span class="o">&lt;</span><span class="nx">ls</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">ls</span><span class="p">[</span><span class="nx">i</span><span class="p">]</span> <span class="o">==</span> <span class="nx">l</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">unique</span> <span class="o">=</span> <span class="kc">false</span><span class="p">;</span>
<span class="k">break</span><span class="p">;</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">unique</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">ls</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="nx">l</span><span class="p">);</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="p">})();</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_animation.html" title="animation">animation</a></li>
<li class=""><a href="module_autocomplete.html" title="autocomplete">autocomplete</a></li>
<li class=""><a href="module_button.html" title="button">button</a></li>
<li class=""><a href="module_calendar.html" title="calendar">calendar</a></li>
<li class=""><a href="module_carousel.html" title="carousel">carousel</a></li>
<li class=""><a href="module_charts.html" title="charts">charts</a></li>
<li class=""><a href="module_colorpicker.html" title="colorpicker">colorpicker</a></li>
<li class=""><a href="module_connection.html" title="connection">connection</a></li>
<li class=""><a href="module_container.html" title="container">container</a></li>
<li class=""><a href="module_cookie.html" title="cookie">cookie</a></li>
<li class=""><a href="module_datasource.html" title="datasource">datasource</a></li>
<li class=""><a href="module_datatable.html" title="datatable">datatable</a></li>
<li class=""><a href="module_datemath.html" title="datemath">datemath</a></li>
<li class=""><a href="module_dom.html" title="dom">dom</a></li>
<li class=""><a href="module_dragdrop.html" title="dragdrop">dragdrop</a></li>
<li class=""><a href="module_editor.html" title="editor">editor</a></li>
<li class=""><a href="module_element.html" title="element">element</a></li>
<li class=""><a href="module_element-delegate.html" title="element-delegate">element-delegate</a></li>
<li class=""><a href="module_event.html" title="event">event</a></li>
<li class=""><a href="module_event-delegate.html" title="event-delegate">event-delegate</a></li>
<li class=""><a href="module_event-mouseenter.html" title="event-mouseenter">event-mouseenter</a></li>
<li class=""><a href="module_event-simulate.html" title="event-simulate">event-simulate</a></li>
<li class=""><a href="module_get.html" title="get">get</a></li>
<li class=""><a href="module_history.html" title="history">history</a></li>
<li class=""><a href="module_imagecropper.html" title="imagecropper">imagecropper</a></li>
<li class=""><a href="module_imageloader.html" title="imageloader">imageloader</a></li>
<li class=""><a href="module_json.html" title="json">json</a></li>
<li class=""><a href="module_layout.html" title="layout">layout</a></li>
<li class=""><a href="module_logger.html" title="logger">logger</a></li>
<li class=""><a href="module_menu.html" title="menu">menu</a></li>
<li class=""><a href="module_paginator.html" title="paginator">paginator</a></li>
<li class=""><a href="module_profiler.html" title="profiler">profiler</a></li>
<li class=""><a href="module_profilerviewer.html" title="profilerviewer">profilerviewer</a></li>
<li class=""><a href="module_progressbar.html" title="progressbar">progressbar</a></li>
<li class=""><a href="module_resize.html" title="resize">resize</a></li>
<li class=""><a href="module_selector.html" title="selector">selector</a></li>
<li class=""><a href="module_slider.html" title="slider">slider</a></li>
<li class=""><a href="module_storage.html" title="Storage">Storage</a></li>
<li class=""><a href="module_stylesheet.html" title="stylesheet">stylesheet</a></li>
<li class=""><a href="module_swf.html" title="swf">swf</a></li>
<li class=""><a href="module_swfdetect.html" title="swfdetect">swfdetect</a></li>
<li class=""><a href="module_swfstore.html" title="swfstore">swfstore</a></li>
<li class=""><a href="module_tabview.html" title="tabview">tabview</a></li>
<li class=""><a href="module_treeview.html" title="treeview">treeview</a></li>
<li class=""><a href="module_uploader.html" title="uploader">uploader</a></li>
<li class="selected"><a href="module_yahoo.html" title="yahoo">yahoo</a></li>
<li class=""><a href="module_yuiloader.html" title="yuiloader">yuiloader</a></li>
<li class=""><a href="module_yuitest.html" title="yuitest">yuitest</a></li>
</ul>
</div>
<div id="classList" class="module">
<h4>Classes</h4>
<ul class="content">
<li class=""><a href="YAHOO.html" title="YAHOO">YAHOO</a></li>
<li class=""><a href="YAHOO.env.html" title="YAHOO.env">YAHOO.env</a></li>
<li class=""><a href="YAHOO.env.ua.html" title="YAHOO.env.ua">YAHOO.env.ua</a></li>
<li class=""><a href="YAHOO.lang.html" title="YAHOO.lang">YAHOO.lang</a></li>
<li class=""><a href="YAHOO_config.html" title="YAHOO_config">YAHOO_config</a></li>
</ul>
</div>
<div id="fileList" class="module">
<h4>Files</h4>
<ul class="content">
<li class="selected"><a href="Env.js.html" title="Env.js">Env.js</a></li>
<li class=""><a href="Lang.js.html" title="Lang.js">Lang.js</a></li>
<li class=""><a href="YAHOO.js.html" title="YAHOO.js">YAHOO.js</a></li>
</ul>
</div>
</div>
</div>
</div>
<div id="ft">
<hr />
Copyright &copy; 2010 Yahoo! Inc. All rights reserved.
</div>
</div>
<script type="text/javascript">
var ALL_YUI_PROPS = [{"access": "", "host": "YAHOO.env.ua", "name": "air", "url": "YAHOO.env.ua.html#property_air", "type": "property"}, {"access": "", "host": "YAHOO.lang", "name": "augment", "url": "YAHOO.lang.html#method_augment", "type": "method"}, {"access": "", "host": "YAHOO", "name": "augment", "url": "YAHOO.html#method_augment", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "augmentObject", "url": "YAHOO.lang.html#method_augmentObject", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "augmentProto", "url": "YAHOO.lang.html#method_augmentProto", "type": "method"}, {"access": "", "host": "YAHOO.env.ua", "name": "caja", "url": "YAHOO.env.ua.html#property_caja", "type": "property"}, {"access": "", "host": "YAHOO.lang", "name": "dump", "url": "YAHOO.lang.html#method_dump", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "extend", "url": "YAHOO.lang.html#method_extend", "type": "method"}, {"access": "", "host": "YAHOO", "name": "extend", "url": "YAHOO.html#method_extend", "type": "method"}, {"access": "", "host": "YAHOO.env.ua", "name": "gecko", "url": "YAHOO.env.ua.html#property_gecko", "type": "property"}, {"access": "", "host": "YAHOO.env", "name": "getVersion", "url": "YAHOO.env.html#method_getVersion", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "hasOwnProperty", "url": "YAHOO.lang.html#method_hasOwnProperty", "type": "method"}, {"access": "", "host": "YAHOO.env.ua", "name": "ie", "url": "YAHOO.env.ua.html#property_ie", "type": "property"}, {"access": "private", "host": "YAHOO.lang", "name": "_IEEnumFix", "url": "YAHOO.lang.html#property__IEEnumFix", "type": "property"}, {"access": "", "host": "YAHOO_config", "name": "injecting", "url": "YAHOO_config.html#property_injecting", "type": "property"}, {"access": "", "host": "YAHOO.lang", "name": "isArray", "url": "YAHOO.lang.html#method_isArray", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "isBoolean", "url": "YAHOO.lang.html#method_isBoolean", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "isFunction", "url": "YAHOO.lang.html#method_isFunction", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "isNull", "url": "YAHOO.lang.html#method_isNull", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "isNumber", "url": "YAHOO.lang.html#method_isNumber", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "isObject", "url": "YAHOO.lang.html#method_isObject", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "isString", "url": "YAHOO.lang.html#method_isString", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "isUndefined", "url": "YAHOO.lang.html#method_isUndefined", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "isValue", "url": "YAHOO.lang.html#method_isValue", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "later", "url": "YAHOO.lang.html#method_later", "type": "method"}, {"access": "", "host": "YAHOO_config", "name": "listener", "url": "YAHOO_config.html#property_listener", "type": "property"}, {"access": "", "host": "YAHOO.env", "name": "listeners", "url": "YAHOO.env.html#property_listeners", "type": "property"}, {"access": "", "host": "YAHOO_config", "name": "load", "url": "YAHOO_config.html#property_load", "type": "property"}, {"access": "", "host": "YAHOO_config", "name": "locale", "url": "YAHOO_config.html#property_locale", "type": "property"}, {"access": "", "host": "YAHOO", "name": "log", "url": "YAHOO.html#method_log", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "merge", "url": "YAHOO.lang.html#method_merge", "type": "method"}, {"access": "", "host": "YAHOO.env.ua", "name": "mobile", "url": "YAHOO.env.ua.html#property_mobile", "type": "property"}, {"access": "", "host": "YAHOO.env", "name": "modules", "url": "YAHOO.env.html#property_modules", "type": "property"}, {"access": "", "host": "YAHOO", "name": "namespace", "url": "YAHOO.html#method_namespace", "type": "method"}, {"access": "", "host": "YAHOO.env.ua", "name": "opera", "url": "YAHOO.env.ua.html#property_opera", "type": "property"}, {"access": "", "host": "YAHOO.env.ua", "name": "os", "url": "YAHOO.env.ua.html#property_os", "type": "property"}, {"access": "", "host": "YAHOO", "name": "register", "url": "YAHOO.html#method_register", "type": "method"}, {"access": "", "host": "YAHOO.env.ua", "name": "secure", "url": "YAHOO.env.ua.html#property_secure", "type": "property"}, {"access": "", "host": "YAHOO.lang", "name": "substitute", "url": "YAHOO.lang.html#method_substitute", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "trim", "url": "YAHOO.lang.html#method_trim", "type": "method"}, {"access": "", "host": "YAHOO.env.ua", "name": "webkit", "url": "YAHOO.env.ua.html#property_webkit", "type": "property"}];
</script>
</body>
</html>