src/cm/media/js/lib/yui/yui_3.0.0b1/api/imageloader.js.html
changeset 0 40c8f766c9b8
equal deleted inserted replaced
-1:000000000000 0:40c8f766c9b8
       
     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
       
     2 <html xmlns:yui="http://yuilibrary.com/rdf/1.0/yui.rdf#">
       
     3 <head>
       
     4     <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
       
     5 	<title>API: imageloader   imageloader.js  (YUI Library)</title>
       
     6 
       
     7 	<link rel="stylesheet" type="text/css" href="assets/reset-fonts-grids-min.css" />
       
     8 	<link rel="stylesheet" type="text/css" href="assets/api.css" />
       
     9 
       
    10     <script type="text/javascript" src="assets/api-js"></script>
       
    11     <script type="text/javascript" src="assets/ac-js"></script>
       
    12 </head>
       
    13 
       
    14 <body id="yahoo-com">
       
    15 
       
    16 <div id="doc3" class="yui-t2">
       
    17 	<div id="hd">
       
    18         <h1><a href="http://developer.yahoo.com/yui/" title="Yahoo! UI Library">Yahoo! UI Library</a></h1>
       
    19         <h3>imageloader&nbsp; <span class="subtitle">3.0.0b1</span></h3>
       
    20         <a href="./index.html" title="Yahoo! UI Library">Yahoo! UI Library</a> 
       
    21             &gt; <a href="./module_imageloader.html" title="imageloader">imageloader</a>
       
    22                 
       
    23                  &gt; imageloader.js (source view) 
       
    24         <form onsubmit="return false">
       
    25             <div id="propertysearch">
       
    26                 Search: <input autocomplete="off" id="searchinput" />
       
    27                 <div id="searchresults">
       
    28                     &nbsp;
       
    29                 </div>
       
    30             </div>
       
    31         </form>
       
    32 	</div>
       
    33 
       
    34 	<div id="bd">
       
    35 		<div id="yui-main">
       
    36 			<div class="yui-b">
       
    37             <form action="#" name="yui-classopts-form" method="get" id="yui-classopts-form">
       
    38                 <fieldset>
       
    39                     <legend>Filters</legend>
       
    40                 <span class="classopts"><input type="checkbox" name="show_private" id="show_private" /> <label for="show_private">Show Private</label></span>
       
    41                 <span class="classopts"><input type="checkbox" name="show_protected" id="show_protected" /> <label for="show_protected">Show Protected</label></span>
       
    42                 <span class="classopts"><input type="checkbox" name="show_deprecated" id="show_deprecated" /> <label for="show_deprecated">Show Deprecated</label></span>
       
    43                 </fieldset>
       
    44             </form>
       
    45 
       
    46                     <div id="srcout">
       
    47                         <style>
       
    48                             #doc3 .classopts { display:none; }
       
    49                         </style>
       
    50 <div class="highlight" ><pre><span class="c">/**</span>
       
    51 <span class="c"> * The ImageLoader Utility is a framework to dynamically load images according to certain triggers,</span>
       
    52 <span class="c"> * enabling faster load times and a more responsive UI.</span>
       
    53 <span class="c"> *</span>
       
    54 <span class="c"> * @module imageloader</span>
       
    55 <span class="c"> * @requires node</span>
       
    56 <span class="c"> */</span>
       
    57 
       
    58 
       
    59 	<span class="c">/**</span>
       
    60 <span class="c">	 * A group for images. A group can have one time limit and a series of triggers. Thus the images belonging to this group must share these constraints.</span>
       
    61 <span class="c">	 * @class ImgLoadGroup</span>
       
    62 <span class="c">	 * @extends Base</span>
       
    63 <span class="c">	 * @constructor</span>
       
    64 <span class="c">	 */</span>
       
    65 	<span class="nx">Y</span><span class="o">.</span><span class="nx">ImgLoadGroup</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
       
    66 		<span class="c">// call init first, because it sets up local vars for storing attribute-related info</span>
       
    67 <span class="c"></span>		<span class="k">this</span><span class="o">.</span><span class="nx">_init</span><span class="o">();</span>
       
    68 		<span class="nx">Y</span><span class="o">.</span><span class="nx">ImgLoadGroup</span><span class="o">.</span><span class="nx">superclass</span><span class="o">.</span><span class="nx">constructor</span><span class="o">.</span><span class="nx">apply</span><span class="o">(</span><span class="k">this</span><span class="o">,</span> <span class="nx">arguments</span><span class="o">);</span>
       
    69 	<span class="o">};</span>
       
    70 
       
    71 	<span class="nx">Y</span><span class="o">.</span><span class="nx">ImgLoadGroup</span><span class="o">.</span><span class="nx">NAME</span> <span class="o">=</span> <span class="s1">&#39;imgLoadGroup&#39;</span><span class="o">;</span>
       
    72 
       
    73 	<span class="nx">Y</span><span class="o">.</span><span class="nx">ImgLoadGroup</span><span class="o">.</span><span class="nx">ATTRS</span> <span class="o">=</span> <span class="o">{</span>
       
    74 		
       
    75 		<span class="c">/**</span>
       
    76 <span class="c">		 * Name for the group. Only used to identify the group in logging statements.</span>
       
    77 <span class="c">		 * @attribute name</span>
       
    78 <span class="c">		 * @type String</span>
       
    79 <span class="c">		 */</span>
       
    80 		<span class="nx">name</span><span class="o">:</span> <span class="o">{</span>
       
    81 			<span class="nx">value</span><span class="o">:</span> <span class="s1">&#39;&#39;</span>
       
    82 		<span class="o">},</span>
       
    83 
       
    84 		<span class="c">/**</span>
       
    85 <span class="c">		 * Time limit, in seconds, after which images are fetched regardless of trigger events.</span>
       
    86 <span class="c">		 * @attribute timeLimit</span>
       
    87 <span class="c">		 * @type Number</span>
       
    88 <span class="c">		 */</span>
       
    89 		<span class="nx">timeLimit</span><span class="o">:</span> <span class="o">{</span>
       
    90 			<span class="nx">value</span><span class="o">:</span> <span class="kc">null</span>
       
    91 		<span class="o">},</span>
       
    92 
       
    93 		<span class="c">/**</span>
       
    94 <span class="c">		 * Distance below the fold for which images are loaded. Images are not loaded until they are at most this distance away from (or above) the fold.</span>
       
    95 <span class="c">		 * This check is performed at page load (domready) and after any window scroll or window resize event (until all images are loaded).</span>
       
    96 <span class="c">		 * @attribute foldDistance</span>
       
    97 <span class="c">		 * @type Number</span>
       
    98 <span class="c">		 */</span>
       
    99 		<span class="nx">foldDistance</span><span class="o">:</span> <span class="o">{</span>
       
   100 			<span class="nx">validator</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="nx">isNumber</span><span class="o">,</span>
       
   101 			<span class="nx">setter</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">val</span><span class="o">)</span> <span class="o">{</span> <span class="k">this</span><span class="o">.</span><span class="nx">_setFoldTriggers</span><span class="o">();</span> <span class="k">return</span> <span class="nx">val</span><span class="o">;</span> <span class="o">},</span>
       
   102 			<span class="nx">lazyAdd</span><span class="o">:</span> <span class="kc">false</span>
       
   103 		<span class="o">},</span>
       
   104 
       
   105 		<span class="c">/**</span>
       
   106 <span class="c">		 * Class name that will identify images belonging to the group. This class name will be removed from each element in order to fetch images.</span>
       
   107 <span class="c">		 * This class should have, in its CSS style definition, &quot;&lt;code&gt;background:none !important;&lt;/code&gt;&quot;.</span>
       
   108 <span class="c">		 * @attribute className</span>
       
   109 <span class="c">		 * @type String</span>
       
   110 <span class="c">		 */</span>
       
   111 		<span class="nx">className</span><span class="o">:</span> <span class="o">{</span>
       
   112 			<span class="nx">value</span><span class="o">:</span> <span class="kc">null</span><span class="o">,</span>
       
   113 			<span class="nx">setter</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">name</span><span class="o">)</span> <span class="o">{</span> <span class="k">this</span><span class="o">.</span><span class="nx">_className</span> <span class="o">=</span> <span class="nx">name</span><span class="o">;</span> <span class="k">return</span> <span class="nx">name</span><span class="o">;</span> <span class="o">},</span>
       
   114 			<span class="nx">lazyAdd</span><span class="o">:</span> <span class="kc">false</span>
       
   115 		<span class="o">}</span>
       
   116 
       
   117 	<span class="o">};</span>
       
   118 
       
   119 	<span class="k">var</span> <span class="nx">groupProto</span> <span class="o">=</span> <span class="o">{</span>
       
   120 
       
   121 		<span class="c">/**</span>
       
   122 <span class="c">		 * Initialize all private members needed for the group.</span>
       
   123 <span class="c">		 * @method _init</span>
       
   124 <span class="c">		 * @private</span>
       
   125 <span class="c">		 */</span>
       
   126 		<span class="nx">_init</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
       
   127 
       
   128 			<span class="c">/**</span>
       
   129 <span class="c">			 * Collection of triggers for this group.</span>
       
   130 <span class="c">			 * Keeps track of each trigger&#39;s event handle, as returned from &lt;code&gt;Y.on&lt;/code&gt;.</span>
       
   131 <span class="c">			 * @property _triggers</span>
       
   132 <span class="c">			 * @private</span>
       
   133 <span class="c">			 * @type Array</span>
       
   134 <span class="c">			 */</span>
       
   135 			<span class="k">this</span><span class="o">.</span><span class="nx">_triggers</span> <span class="o">=</span> <span class="o">[];</span>
       
   136 
       
   137 			<span class="c">/**</span>
       
   138 <span class="c">			 * Collection of images (&lt;code&gt;Y.ImgLoadImgObj&lt;/code&gt; objects) registered with this group, keyed by DOM id.</span>
       
   139 <span class="c">			 * @property _imgObjs</span>
       
   140 <span class="c">			 * @private</span>
       
   141 <span class="c">			 * @type Object</span>
       
   142 <span class="c">			 */</span>
       
   143 			<span class="k">this</span><span class="o">.</span><span class="nx">_imgObjs</span> <span class="o">=</span> <span class="o">{};</span>
       
   144 
       
   145 			<span class="c">/**</span>
       
   146 <span class="c">			 * Timeout object to keep a handle on the time limit.</span>
       
   147 <span class="c">			 * @property _timeout</span>
       
   148 <span class="c">			 * @private</span>
       
   149 <span class="c">			 * @type Object</span>
       
   150 <span class="c">			 */</span>
       
   151 			<span class="k">this</span><span class="o">.</span><span class="nx">_timeout</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
       
   152 
       
   153 			<span class="c">/**</span>
       
   154 <span class="c">			 * DOM elements having the class name that is associated with this group.</span>
       
   155 <span class="c">			 * Elements are stored during the &lt;code&gt;_foldCheck&lt;/code&gt; function and reused later during any subsequent &lt;code&gt;_foldCheck&lt;/code&gt; calls - gives a slight performance improvement when the page fold is repeatedly checked.</span>
       
   156 <span class="c">			 * @property _classImageEls</span>
       
   157 <span class="c">			 * @private</span>
       
   158 <span class="c">			 * @type Array</span>
       
   159 <span class="c">			 */</span>
       
   160 			<span class="k">this</span><span class="o">.</span><span class="nx">_classImageEls</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
       
   161 
       
   162 			<span class="c">/**</span>
       
   163 <span class="c">			 * Keep the CSS class name in a member variable for ease and speed.</span>
       
   164 <span class="c">			 * @property _className</span>
       
   165 <span class="c">			 * @private</span>
       
   166 <span class="c">			 * @type String</span>
       
   167 <span class="c">			 */</span>
       
   168 			<span class="k">this</span><span class="o">.</span><span class="nx">_className</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
       
   169 
       
   170 			<span class="c">/**</span>
       
   171 <span class="c">			 * Boolean tracking whether the window scroll and window resize triggers have been set if this is a fold group.</span>
       
   172 <span class="c">			 * @property _areFoldTriggersSet</span>
       
   173 <span class="c">			 * @private</span>
       
   174 <span class="c">			 * @type Boolean</span>
       
   175 <span class="c">			 */</span>
       
   176 			<span class="k">this</span><span class="o">.</span><span class="nx">_areFoldTriggersSet</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
       
   177 
       
   178 			<span class="c">/**</span>
       
   179 <span class="c">			 * The maximum pixel height of the document that has been made visible.</span>
       
   180 <span class="c">			 * During fold checks, if the user scrolls up then there&#39;s no need to check for newly exposed images.</span>
       
   181 <span class="c">			 * @property _maxKnownHLimit</span>
       
   182 <span class="c">			 * @private</span>
       
   183 <span class="c">			 * @type Int</span>
       
   184 <span class="c">			 */</span>
       
   185 			<span class="k">this</span><span class="o">.</span><span class="nx">_maxKnownHLimit</span> <span class="o">=</span> <span class="m">0</span><span class="o">;</span>
       
   186 
       
   187 			<span class="c">// add a listener to domready that will start the time limit</span>
       
   188 <span class="c"></span>			<span class="nx">Y</span><span class="o">.</span><span class="nx">on</span><span class="o">(</span><span class="s1">&#39;domready&#39;</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">_onloadTasks</span><span class="o">,</span> <span class="k">this</span><span class="o">);</span>
       
   189 		<span class="o">},</span>
       
   190 
       
   191 		<span class="c">/**</span>
       
   192 <span class="c">		 * Adds a trigger to the group. Arguments are passed to &lt;code&gt;Y.on&lt;/code&gt;.</span>
       
   193 <span class="c">		 * @method addTrigger</span>
       
   194 <span class="c">		 * @chainable</span>
       
   195 <span class="c">		 * @param {Object} obj  The DOM object to attach the trigger event to</span>
       
   196 <span class="c">		 * @param {String} type  The event type</span>
       
   197 <span class="c">		 */</span>
       
   198 		<span class="nx">addTrigger</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">obj</span><span class="o">,</span> <span class="nx">type</span><span class="o">)</span> <span class="o">{</span>
       
   199 			<span class="k">if</span> <span class="o">(!</span> <span class="nx">obj</span> <span class="o">||</span> <span class="o">!</span> <span class="nx">type</span><span class="o">)</span> <span class="o">{</span>
       
   200 				<span class="k">return</span> <span class="k">this</span><span class="o">;</span>
       
   201 			<span class="o">}</span>
       
   202 
       
   203 			<span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">&#39;adding trigger to group: &#39;</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;name&#39;</span><span class="o">),</span> <span class="s1">&#39;info&#39;</span><span class="o">,</span> <span class="s1">&#39;imageloader&#39;</span><span class="o">);</span>
       
   204 
       
   205 			<span class="c">/* Need to wrap the fetch function. Event Util can&#39;t distinguish prototyped functions of different instantiations.</span>
       
   206 <span class="c">			 *   Leads to this scenario: groupA and groupZ both have window-scroll triggers. groupZ also has a 2-sec timeout (groupA has no timeout).</span>
       
   207 <span class="c">			 *   groupZ&#39;s timeout fires; we remove the triggers. The detach call finds the first window-scroll event with Y.ILG.p.fetch, which is groupA&#39;s. </span>
       
   208 <span class="c">			 *   groupA&#39;s trigger is removed and never fires, leaving images unfetched.</span>
       
   209 <span class="c">			 */</span>
       
   210 			<span class="k">var</span> <span class="nx">wrappedFetch</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
       
   211 				<span class="k">this</span><span class="o">.</span><span class="nx">fetch</span><span class="o">();</span>
       
   212 			<span class="o">};</span>
       
   213 			<span class="k">this</span><span class="o">.</span><span class="nx">_triggers</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">on</span><span class="o">(</span><span class="nx">type</span><span class="o">,</span> <span class="nx">wrappedFetch</span><span class="o">,</span> <span class="nx">obj</span><span class="o">,</span> <span class="k">this</span><span class="o">)</span> <span class="o">);</span>
       
   214 
       
   215 			<span class="k">return</span> <span class="k">this</span><span class="o">;</span>
       
   216 		<span class="o">},</span>
       
   217 
       
   218 		<span class="c">/**</span>
       
   219 <span class="c">		 * Adds a custom event trigger to the group.</span>
       
   220 <span class="c">		 * @method addCustomTrigger</span>
       
   221 <span class="c">		 * @chainable</span>
       
   222 <span class="c">		 * @param {String} name  The name of the event</span>
       
   223 <span class="c">		 * @param {Object} obj  The object on which to attach the event. &lt;code&gt;obj&lt;/code&gt; is optional - by default the event is attached to the &lt;code&gt;Y&lt;/code&gt; instance</span>
       
   224 <span class="c">		 */</span>
       
   225 		<span class="nx">addCustomTrigger</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">name</span><span class="o">,</span> <span class="nx">obj</span><span class="o">)</span> <span class="o">{</span>
       
   226 			<span class="k">if</span> <span class="o">(!</span> <span class="nx">name</span><span class="o">)</span> <span class="o">{</span>
       
   227 				<span class="k">return</span> <span class="k">this</span><span class="o">;</span>
       
   228 			<span class="o">}</span>
       
   229 
       
   230 			<span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">&#39;adding custom trigger to group: &#39;</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;name&#39;</span><span class="o">),</span> <span class="s1">&#39;info&#39;</span><span class="o">,</span> <span class="s1">&#39;imageloader&#39;</span><span class="o">);</span>
       
   231 
       
   232 			<span class="c">// see comment in addTrigger()</span>
       
   233 <span class="c"></span>			<span class="k">var</span> <span class="nx">wrappedFetch</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
       
   234 				<span class="k">this</span><span class="o">.</span><span class="nx">fetch</span><span class="o">();</span>
       
   235 			<span class="o">};</span>
       
   236 			<span class="k">if</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="nx">isUndefined</span><span class="o">(</span><span class="nx">obj</span><span class="o">))</span> <span class="o">{</span>
       
   237 				<span class="k">this</span><span class="o">.</span><span class="nx">_triggers</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">on</span><span class="o">(</span><span class="nx">name</span><span class="o">,</span> <span class="nx">wrappedFetch</span><span class="o">,</span> <span class="k">this</span><span class="o">)</span> <span class="o">);</span>
       
   238 			<span class="o">}</span>
       
   239 			<span class="k">else</span> <span class="o">{</span>
       
   240 				<span class="k">this</span><span class="o">.</span><span class="nx">_triggers</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span> <span class="nx">obj</span><span class="o">.</span><span class="nx">on</span><span class="o">(</span><span class="nx">name</span><span class="o">,</span> <span class="nx">wrappedFetch</span><span class="o">,</span> <span class="k">this</span><span class="o">)</span> <span class="o">);</span>
       
   241 			<span class="o">}</span>
       
   242 
       
   243 			<span class="k">return</span> <span class="k">this</span><span class="o">;</span>
       
   244 		<span class="o">},</span>
       
   245 
       
   246 		<span class="c">/**</span>
       
   247 <span class="c">		 * Sets the window scroll and window resize triggers for any group that is fold-conditional (i.e., has a fold distance set).</span>
       
   248 <span class="c">		 * @method _setFoldTriggers</span>
       
   249 <span class="c">		 * @private</span>
       
   250 <span class="c">		 */</span>
       
   251 		<span class="nx">_setFoldTriggers</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
       
   252 			<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_areFoldTriggersSet</span><span class="o">)</span> <span class="o">{</span>
       
   253 				<span class="k">return</span><span class="o">;</span>
       
   254 			<span class="o">}</span>
       
   255 
       
   256 			<span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">&#39;setting window scroll and resize events for group: &#39;</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;name&#39;</span><span class="o">),</span> <span class="s1">&#39;info&#39;</span><span class="o">,</span> <span class="s1">&#39;imageloader&#39;</span><span class="o">);</span>
       
   257 
       
   258 			<span class="k">var</span> <span class="nx">wrappedFoldCheck</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
       
   259 				<span class="k">this</span><span class="o">.</span><span class="nx">_foldCheck</span><span class="o">();</span>
       
   260 			<span class="o">};</span>
       
   261 			<span class="k">this</span><span class="o">.</span><span class="nx">_triggers</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">on</span><span class="o">(</span><span class="s1">&#39;scroll&#39;</span><span class="o">,</span> <span class="nx">wrappedFoldCheck</span><span class="o">,</span> <span class="nb">window</span><span class="o">,</span> <span class="k">this</span><span class="o">)</span> <span class="o">);</span>
       
   262 			<span class="k">this</span><span class="o">.</span><span class="nx">_triggers</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">on</span><span class="o">(</span><span class="s1">&#39;resize&#39;</span><span class="o">,</span> <span class="nx">wrappedFoldCheck</span><span class="o">,</span> <span class="nb">window</span><span class="o">,</span> <span class="k">this</span><span class="o">)</span> <span class="o">);</span>
       
   263 			<span class="k">this</span><span class="o">.</span><span class="nx">_areFoldTriggersSet</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
       
   264 		<span class="o">},</span>
       
   265 
       
   266 		<span class="c">/**</span>
       
   267 <span class="c">		 * Performs necessary setup at domready time.</span>
       
   268 <span class="c">		 * Initiates time limit for group; executes the fold check for the images.</span>
       
   269 <span class="c">		 * @method _onloadTasks</span>
       
   270 <span class="c">		 * @private</span>
       
   271 <span class="c">		 */</span>
       
   272 		<span class="nx">_onloadTasks</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
       
   273 			<span class="k">var</span> <span class="nx">timeLim</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;timeLimit&#39;</span><span class="o">);</span>
       
   274 			<span class="k">if</span> <span class="o">(</span><span class="nx">timeLim</span> <span class="o">&amp;&amp;</span> <span class="nx">timeLim</span> <span class="o">&gt;</span> <span class="m">0</span><span class="o">)</span> <span class="o">{</span>
       
   275 				<span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">&#39;setting time limit of &#39;</span> <span class="o">+</span> <span class="nx">timeLim</span> <span class="o">+</span> <span class="s1">&#39; seconds for group: &#39;</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;name&#39;</span><span class="o">),</span> <span class="s1">&#39;info&#39;</span><span class="o">,</span> <span class="s1">&#39;imageloader&#39;</span><span class="o">);</span>
       
   276 				<span class="k">this</span><span class="o">.</span><span class="nx">_timeout</span> <span class="o">=</span> <span class="nx">setTimeout</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_getFetchTimeout</span><span class="o">(),</span> <span class="nx">timeLim</span> <span class="o">*</span> <span class="m">1000</span><span class="o">);</span>
       
   277 			<span class="o">}</span>
       
   278 
       
   279 			<span class="k">if</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="nx">isUndefined</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;foldDistance&#39;</span><span class="o">)))</span> <span class="o">{</span>
       
   280 				<span class="k">this</span><span class="o">.</span><span class="nx">_foldCheck</span><span class="o">();</span>
       
   281 			<span class="o">}</span>
       
   282 		<span class="o">},</span>
       
   283 
       
   284 		<span class="c">/**</span>
       
   285 <span class="c">		 * Returns the group&#39;s &lt;code&gt;fetch&lt;/code&gt; method, with the proper closure, for use with &lt;code&gt;setTimeout&lt;/code&gt;.</span>
       
   286 <span class="c">		 * @method _getFetchTimeout</span>
       
   287 <span class="c">		 * @return {Function}  group&#39;s &lt;code&gt;fetch&lt;/code&gt; method</span>
       
   288 <span class="c">		 * @private</span>
       
   289 <span class="c">		 */</span>
       
   290 		<span class="nx">_getFetchTimeout</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
       
   291 			<span class="k">var</span> <span class="nx">self</span> <span class="o">=</span> <span class="k">this</span><span class="o">;</span>
       
   292 			<span class="k">return</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span> <span class="nx">self</span><span class="o">.</span><span class="nx">fetch</span><span class="o">();</span> <span class="o">};</span>
       
   293 		<span class="o">},</span>
       
   294 
       
   295 		<span class="c">/**</span>
       
   296 <span class="c">		 * Registers an image with the group.</span>
       
   297 <span class="c">		 * Arguments are passed through to a &lt;code&gt;Y.ImgLoadImgObj&lt;/code&gt; constructor; see that class&#39; attribute documentation for detailed information. &quot;&lt;code&gt;domId&lt;/code&gt;&quot; is a required attribute.</span>
       
   298 <span class="c">		 * @method registerImage</span>
       
   299 <span class="c">		 * @param {Object} *  A configuration object literal with attribute name/value pairs  (passed through to a &lt;code&gt;Y.ImgLoadImgObj&lt;/code&gt; constructor)</span>
       
   300 <span class="c">		 * @return {Object}  &lt;code&gt;Y.ImgLoadImgObj&lt;/code&gt; that was registered</span>
       
   301 <span class="c">		 */</span>
       
   302 		<span class="nx">registerImage</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
       
   303 			<span class="k">var</span> <span class="nx">domId</span> <span class="o">=</span> <span class="nx">arguments</span><span class="o">[</span><span class="m">0</span><span class="o">].</span><span class="nx">domId</span><span class="o">;</span>
       
   304 			<span class="k">if</span> <span class="o">(!</span> <span class="nx">domId</span><span class="o">)</span> <span class="o">{</span>
       
   305 				<span class="k">return</span> <span class="kc">null</span><span class="o">;</span>
       
   306 			<span class="o">}</span>
       
   307 
       
   308 			<span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">&#39;adding image with id: &#39;</span> <span class="o">+</span> <span class="nx">domId</span> <span class="o">+</span> <span class="s1">&#39; to group: &#39;</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;name&#39;</span><span class="o">),</span> <span class="s1">&#39;info&#39;</span><span class="o">,</span> <span class="s1">&#39;imageloader&#39;</span><span class="o">);</span>
       
   309 
       
   310 			<span class="k">this</span><span class="o">.</span><span class="nx">_imgObjs</span><span class="o">[</span><span class="nx">domId</span><span class="o">]</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">ImgLoadImgObj</span><span class="o">(</span><span class="nx">arguments</span><span class="o">[</span><span class="m">0</span><span class="o">]);</span>
       
   311 			<span class="k">return</span> <span class="k">this</span><span class="o">.</span><span class="nx">_imgObjs</span><span class="o">[</span><span class="nx">domId</span><span class="o">];</span>
       
   312 		<span class="o">},</span>
       
   313 
       
   314 		<span class="c">/**</span>
       
   315 <span class="c">		 * Displays the images in the group.</span>
       
   316 <span class="c">		 * This method is called when a trigger fires or the time limit expires; it shouldn&#39;t be called externally, but is not private in the rare event that it needs to be called immediately.</span>
       
   317 <span class="c">		 * @method fetch</span>
       
   318 <span class="c">		 */</span>
       
   319 		<span class="nx">fetch</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
       
   320 			<span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">&#39;Fetching images in group: &quot;&#39;</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;name&#39;</span><span class="o">)</span> <span class="o">+</span> <span class="s1">&#39;&quot;.&#39;</span><span class="o">,</span> <span class="s1">&#39;info&#39;</span><span class="o">,</span> <span class="s1">&#39;imageloader&#39;</span><span class="o">);</span>
       
   321 
       
   322 			<span class="c">// done with the triggers</span>
       
   323 <span class="c"></span>			<span class="k">this</span><span class="o">.</span><span class="nx">_clearTriggers</span><span class="o">();</span>
       
   324 
       
   325 			<span class="c">// fetch whatever we need to by className</span>
       
   326 <span class="c"></span>			<span class="k">this</span><span class="o">.</span><span class="nx">_fetchByClass</span><span class="o">();</span>
       
   327 
       
   328 			<span class="c">// fetch registered images</span>
       
   329 <span class="c"></span>			<span class="k">for</span> <span class="o">(</span><span class="k">var</span> <span class="nx">id</span> <span class="k">in</span> <span class="k">this</span><span class="o">.</span><span class="nx">_imgObjs</span><span class="o">)</span> <span class="o">{</span>
       
   330 				<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_imgObjs</span><span class="o">.</span><span class="nx">hasOwnProperty</span><span class="o">(</span><span class="nx">id</span><span class="o">))</span> <span class="o">{</span>
       
   331 					<span class="k">this</span><span class="o">.</span><span class="nx">_imgObjs</span><span class="o">[</span><span class="nx">id</span><span class="o">].</span><span class="nx">fetch</span><span class="o">();</span>
       
   332 				<span class="o">}</span>
       
   333 			<span class="o">}</span>
       
   334 		<span class="o">},</span>
       
   335 
       
   336 		<span class="c">/**</span>
       
   337 <span class="c">		 * Clears the timeout and all triggers associated with the group.</span>
       
   338 <span class="c">		 * @method _clearTriggers</span>
       
   339 <span class="c">		 * @private</span>
       
   340 <span class="c">		 */</span>
       
   341 		<span class="nx">_clearTriggers</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
       
   342 			<span class="nx">clearTimeout</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_timeout</span><span class="o">);</span>
       
   343 			<span class="c">// detach all listeners</span>
       
   344 <span class="c"></span>			<span class="k">for</span> <span class="o">(</span><span class="k">var</span> <span class="nx">i</span><span class="o">=</span><span class="m">0</span><span class="o">,</span> <span class="nx">len</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_triggers</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> <span class="nx">i</span> <span class="o">&lt;</span> <span class="nx">len</span><span class="o">;</span> <span class="nx">i</span><span class="o">++)</span> <span class="o">{</span>
       
   345 				<span class="k">this</span><span class="o">.</span><span class="nx">_triggers</span><span class="o">[</span><span class="nx">i</span><span class="o">].</span><span class="nx">detach</span><span class="o">();</span>
       
   346 			<span class="o">}</span>
       
   347 		<span class="o">},</span>
       
   348 
       
   349 		<span class="c">/**</span>
       
   350 <span class="c">		 * Checks the position of each image in the group. If any part of the image is within the specified distance (&lt;code&gt;foldDistance&lt;/code&gt;) of the client viewport, the image is fetched immediately.</span>
       
   351 <span class="c">		 * @method _foldCheck</span>
       
   352 <span class="c">		 * @private</span>
       
   353 <span class="c">		 */</span>
       
   354 		<span class="nx">_foldCheck</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
       
   355 			<span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">&#39;Checking for images above the fold in group: &quot;&#39;</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;name&#39;</span><span class="o">)</span> <span class="o">+</span> <span class="s1">&#39;&quot;&#39;</span><span class="o">,</span> <span class="s1">&#39;info&#39;</span><span class="o">,</span> <span class="s1">&#39;imageloader&#39;</span><span class="o">);</span>
       
   356 
       
   357 			<span class="k">var</span> <span class="nx">allFetched</span> <span class="o">=</span> <span class="kc">true</span><span class="o">,</span>
       
   358 			    <span class="nx">viewReg</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">DOM</span><span class="o">.</span><span class="nx">viewportRegion</span><span class="o">(),</span>
       
   359 			    <span class="nx">hLimit</span> <span class="o">=</span> <span class="nx">viewReg</span><span class="o">.</span><span class="nx">bottom</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;foldDistance&#39;</span><span class="o">),</span>
       
   360 					<span class="nx">id</span><span class="o">,</span> <span class="nx">imgFetched</span><span class="o">,</span> <span class="nx">els</span><span class="o">,</span> <span class="nx">i</span><span class="o">,</span> <span class="nx">len</span><span class="o">;</span>
       
   361 
       
   362 			<span class="c">// unless we&#39;ve uncovered new frontiers, there&#39;s no need to continue</span>
       
   363 <span class="c"></span>			<span class="k">if</span> <span class="o">(</span><span class="nx">hLimit</span> <span class="o">&lt;=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_maxKnownHLimit</span><span class="o">)</span> <span class="o">{</span>
       
   364 				<span class="k">return</span><span class="o">;</span>
       
   365 			<span class="o">}</span>
       
   366 			<span class="k">this</span><span class="o">.</span><span class="nx">_maxKnownHLimit</span> <span class="o">=</span> <span class="nx">hLimit</span><span class="o">;</span>
       
   367 
       
   368 			<span class="k">for</span> <span class="o">(</span><span class="nx">id</span> <span class="k">in</span> <span class="k">this</span><span class="o">.</span><span class="nx">_imgObjs</span><span class="o">)</span> <span class="o">{</span>
       
   369 				<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_imgObjs</span><span class="o">.</span><span class="nx">hasOwnProperty</span><span class="o">(</span><span class="nx">id</span><span class="o">))</span> <span class="o">{</span>
       
   370 					<span class="nx">imgFetched</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_imgObjs</span><span class="o">[</span><span class="nx">id</span><span class="o">].</span><span class="nx">fetch</span><span class="o">(</span><span class="nx">hLimit</span><span class="o">);</span>
       
   371 					<span class="nx">allFetched</span> <span class="o">=</span> <span class="nx">allFetched</span> <span class="o">&amp;&amp;</span> <span class="nx">imgFetched</span><span class="o">;</span>
       
   372 				<span class="o">}</span>
       
   373 			<span class="o">}</span>
       
   374 
       
   375 			<span class="c">// and by class</span>
       
   376 <span class="c"></span>			<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_className</span><span class="o">)</span> <span class="o">{</span>
       
   377 				<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_classImageEls</span> <span class="o">===</span> <span class="kc">null</span><span class="o">)</span> <span class="o">{</span>
       
   378 					<span class="c">// get all the relevant elements and store them</span>
       
   379 <span class="c"></span>					<span class="k">this</span><span class="o">.</span><span class="nx">_classImageEls</span> <span class="o">=</span> <span class="o">[];</span>
       
   380 					<span class="nx">els</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">all</span><span class="o">(</span><span class="s1">&#39;.&#39;</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">_className</span><span class="o">);</span>
       
   381 					<span class="nx">els</span><span class="o">.</span><span class="nx">each</span><span class="o">(</span> <span class="k">function</span><span class="o">(</span><span class="nx">node</span><span class="o">)</span> <span class="o">{</span> <span class="k">this</span><span class="o">.</span><span class="nx">_classImageEls</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span> <span class="o">{</span> <span class="nx">el</span><span class="o">:</span> <span class="nx">node</span><span class="o">,</span> <span class="nx">y</span><span class="o">:</span> <span class="nx">node</span><span class="o">.</span><span class="nx">getY</span><span class="o">(),</span> <span class="nx">fetched</span><span class="o">:</span> <span class="kc">false</span> <span class="o">}</span> <span class="o">);</span> <span class="o">},</span> <span class="k">this</span><span class="o">);</span>
       
   382 				<span class="o">}</span>
       
   383 				<span class="nx">els</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_classImageEls</span><span class="o">;</span>
       
   384 				<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">len</span> <span class="o">=</span> <span class="nx">els</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> <span class="nx">i</span> <span class="o">&lt;</span> <span class="nx">len</span><span class="o">;</span> <span class="nx">i</span><span class="o">++)</span> <span class="o">{</span>
       
   385 					<span class="k">if</span> <span class="o">(</span><span class="nx">els</span><span class="o">[</span><span class="nx">i</span><span class="o">].</span><span class="nx">fetched</span><span class="o">)</span> <span class="o">{</span>
       
   386 						<span class="k">continue</span><span class="o">;</span>
       
   387 					<span class="o">}</span>
       
   388 					<span class="k">if</span> <span class="o">(</span><span class="nx">els</span><span class="o">[</span><span class="nx">i</span><span class="o">].</span><span class="nx">y</span> <span class="o">&amp;&amp;</span> <span class="nx">els</span><span class="o">[</span><span class="nx">i</span><span class="o">].</span><span class="nx">y</span> <span class="o">&lt;=</span> <span class="nx">hLimit</span><span class="o">)</span> <span class="o">{</span>
       
   389 						<span class="nx">els</span><span class="o">[</span><span class="nx">i</span><span class="o">].</span><span class="nx">el</span><span class="o">.</span><span class="nx">removeClass</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_className</span><span class="o">);</span>
       
   390 						<span class="nx">els</span><span class="o">[</span><span class="nx">i</span><span class="o">].</span><span class="nx">fetched</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
       
   391 						<span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">&#39;Image with id &quot;&#39;</span> <span class="o">+</span> <span class="nx">els</span><span class="o">[</span><span class="nx">i</span><span class="o">].</span><span class="nx">el</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;id&#39;</span><span class="o">)</span> <span class="o">+</span> <span class="s1">&#39;&quot; is within distance of the fold. Fetching image. (Image registered by class name with the group - may not have an id.)&#39;</span><span class="o">,</span> <span class="s1">&#39;info&#39;</span><span class="o">,</span> <span class="s1">&#39;imageloader&#39;</span><span class="o">);</span>
       
   392 					<span class="o">}</span>
       
   393 					<span class="k">else</span> <span class="o">{</span>
       
   394 						<span class="nx">allFetched</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
       
   395 					<span class="o">}</span>
       
   396 				<span class="o">}</span>
       
   397 			<span class="o">}</span>
       
   398 			
       
   399 			<span class="c">// if allFetched, remove listeners</span>
       
   400 <span class="c"></span>			<span class="k">if</span> <span class="o">(</span><span class="nx">allFetched</span><span class="o">)</span> <span class="o">{</span>
       
   401 				<span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">&#39;All images fetched; removing listeners for group: &quot;&#39;</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;name&#39;</span><span class="o">)</span> <span class="o">+</span> <span class="s1">&#39;&quot;&#39;</span><span class="o">,</span> <span class="s1">&#39;info&#39;</span><span class="o">,</span> <span class="s1">&#39;imageloader&#39;</span><span class="o">);</span>
       
   402 				<span class="k">this</span><span class="o">.</span><span class="nx">_clearTriggers</span><span class="o">();</span>
       
   403 			<span class="o">}</span>
       
   404 		<span class="o">},</span>
       
   405 
       
   406 		<span class="c">/**</span>
       
   407 <span class="c">		 * Finds all elements in the DOM with the class name specified in the group. Removes the class from the element in order to let the style definitions trigger the image fetching.</span>
       
   408 <span class="c">		 * @method _fetchByClass</span>
       
   409 <span class="c">		 * @private</span>
       
   410 <span class="c">		 */</span>
       
   411 		<span class="nx">_fetchByClass</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
       
   412 			<span class="k">if</span> <span class="o">(!</span> <span class="k">this</span><span class="o">.</span><span class="nx">_className</span><span class="o">)</span> <span class="o">{</span>
       
   413 				<span class="k">return</span><span class="o">;</span>
       
   414 			<span class="o">}</span>
       
   415 
       
   416 			<span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">&#39;Fetching all images with class &quot;&#39;</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">_className</span> <span class="o">+</span> <span class="s1">&#39;&quot; in group &quot;&#39;</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;name&#39;</span><span class="o">)</span> <span class="o">+</span> <span class="s1">&#39;&quot;.&#39;</span><span class="o">,</span> <span class="s1">&#39;info&#39;</span><span class="o">,</span> <span class="s1">&#39;imageloader&#39;</span><span class="o">);</span>
       
   417 
       
   418 			<span class="nx">Y</span><span class="o">.</span><span class="nx">all</span><span class="o">(</span><span class="s1">&#39;.&#39;</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">_className</span><span class="o">).</span><span class="nx">removeClass</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_className</span><span class="o">);</span>
       
   419 		<span class="o">}</span>
       
   420 
       
   421 	<span class="o">};</span>
       
   422 
       
   423 
       
   424 	<span class="nx">Y</span><span class="o">.</span><span class="nx">extend</span><span class="o">(</span><span class="nx">Y</span><span class="o">.</span><span class="nx">ImgLoadGroup</span><span class="o">,</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Base</span><span class="o">,</span> <span class="nx">groupProto</span><span class="o">);</span>
       
   425 
       
   426 
       
   427 	<span class="c">//------------------------------------------------</span>
       
   428 <span class="c"></span>
       
   429 
       
   430 	<span class="c">/**</span>
       
   431 <span class="c">	 * Image objects to be registered with the groups</span>
       
   432 <span class="c">	 * @class ImgLoadImgObj</span>
       
   433 <span class="c">	 * @extends Base</span>
       
   434 <span class="c">	 * @constructor</span>
       
   435 <span class="c">	 */</span>
       
   436 	<span class="nx">Y</span><span class="o">.</span><span class="nx">ImgLoadImgObj</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
       
   437 		<span class="nx">Y</span><span class="o">.</span><span class="nx">ImgLoadImgObj</span><span class="o">.</span><span class="nx">superclass</span><span class="o">.</span><span class="nx">constructor</span><span class="o">.</span><span class="nx">apply</span><span class="o">(</span><span class="k">this</span><span class="o">,</span> <span class="nx">arguments</span><span class="o">);</span>
       
   438 		<span class="k">this</span><span class="o">.</span><span class="nx">_init</span><span class="o">();</span>
       
   439 	<span class="o">};</span>
       
   440 		
       
   441 	<span class="nx">Y</span><span class="o">.</span><span class="nx">ImgLoadImgObj</span><span class="o">.</span><span class="nx">NAME</span> <span class="o">=</span> <span class="s1">&#39;imgLoadImgObj&#39;</span><span class="o">;</span>
       
   442 
       
   443 	<span class="nx">Y</span><span class="o">.</span><span class="nx">ImgLoadImgObj</span><span class="o">.</span><span class="nx">ATTRS</span> <span class="o">=</span> <span class="o">{</span>
       
   444 		<span class="c">/**</span>
       
   445 <span class="c">		 * HTML DOM id of the image element.</span>
       
   446 <span class="c">		 * @attribute domId</span>
       
   447 <span class="c">		 * @type String</span>
       
   448 <span class="c">		 */</span>
       
   449 		<span class="nx">domId</span><span class="o">:</span> <span class="o">{</span>
       
   450 			<span class="nx">value</span><span class="o">:</span> <span class="kc">null</span><span class="o">,</span>
       
   451 			<span class="nx">writeOnce</span><span class="o">:</span> <span class="kc">true</span>
       
   452 		<span class="o">},</span>
       
   453 
       
   454 		<span class="c">/**</span>
       
   455 <span class="c">		 * Background URL for the image.</span>
       
   456 <span class="c">		 * For an image whose URL is specified by &quot;&lt;code&gt;background-image&lt;/code&gt;&quot; in the element&#39;s style.</span>
       
   457 <span class="c">		 * @attribute bgUrl</span>
       
   458 <span class="c">		 * @type String</span>
       
   459 <span class="c">		 */</span>
       
   460 		<span class="nx">bgUrl</span><span class="o">:</span> <span class="o">{</span>
       
   461 			<span class="nx">value</span><span class="o">:</span> <span class="kc">null</span>
       
   462 		<span class="o">},</span>
       
   463 
       
   464 		<span class="c">/**</span>
       
   465 <span class="c">		 * Source URL for the image.</span>
       
   466 <span class="c">		 * For an image whose URL is specified by a &quot;&lt;code&gt;src&lt;/code&gt;&quot; attribute in the DOM element.</span>
       
   467 <span class="c">		 * @attribute srcUrl</span>
       
   468 <span class="c">		 * @type String</span>
       
   469 <span class="c">		 */</span>
       
   470 		<span class="nx">srcUrl</span><span class="o">:</span> <span class="o">{</span>
       
   471 			<span class="nx">value</span><span class="o">:</span> <span class="kc">null</span>
       
   472 		<span class="o">},</span>
       
   473 
       
   474 		<span class="c">/**</span>
       
   475 <span class="c">		 * Pixel width of the image. Will be set as a &lt;code&gt;width&lt;/code&gt; attribute on the DOM element after the image is fetched.</span>
       
   476 <span class="c">		 * Defaults to the natural width of the image (no &lt;code&gt;width&lt;/code&gt; attribute will be set).</span>
       
   477 <span class="c">		 * Usually only used with src images.</span>
       
   478 <span class="c">		 * @attribute width</span>
       
   479 <span class="c">		 * @type Int</span>
       
   480 <span class="c">		 */</span>
       
   481 		<span class="nx">width</span><span class="o">:</span> <span class="o">{</span>
       
   482 			<span class="nx">value</span><span class="o">:</span> <span class="kc">null</span>
       
   483 		<span class="o">},</span>
       
   484 
       
   485 		<span class="c">/**</span>
       
   486 <span class="c">		 * Pixel height of the image. Will be set as a &lt;code&gt;height&lt;/code&gt; attribute on the DOM element after the image is fetched.</span>
       
   487 <span class="c">		 * Defaults to the natural height of the image (no &lt;code&gt;height&lt;/code&gt; attribute will be set).</span>
       
   488 <span class="c">		 * Usually only used with src images.</span>
       
   489 <span class="c">		 * @attribute height</span>
       
   490 <span class="c">		 * @type Int</span>
       
   491 <span class="c">		 */</span>
       
   492 		<span class="nx">height</span><span class="o">:</span> <span class="o">{</span>
       
   493 			<span class="nx">value</span><span class="o">:</span> <span class="kc">null</span>
       
   494 		<span class="o">},</span>
       
   495 
       
   496 		<span class="c">/**</span>
       
   497 <span class="c">		 * Whether the image&#39;s &lt;code&gt;style.visibility&lt;/code&gt; should be set to &lt;code&gt;visible&lt;/code&gt; after the image is fetched.</span>
       
   498 <span class="c">		 * Used when setting images as &lt;code&gt;visibility:hidden&lt;/code&gt; prior to image fetching.</span>
       
   499 <span class="c">		 * @attribute setVisible</span>
       
   500 <span class="c">		 * @type Boolean</span>
       
   501 <span class="c">		 */</span>
       
   502 		<span class="nx">setVisible</span><span class="o">:</span> <span class="o">{</span>
       
   503 			<span class="nx">value</span><span class="o">:</span> <span class="kc">false</span>
       
   504 		<span class="o">},</span>
       
   505 
       
   506 		<span class="c">/**</span>
       
   507 <span class="c">		 * Whether the image is a PNG.</span>
       
   508 <span class="c">		 * PNG images get special treatment in that the URL is specified through AlphaImageLoader for IE, versions 6 and earlier.</span>
       
   509 <span class="c">		 * Only used with background images.</span>
       
   510 <span class="c">		 * @attribute isPng</span>
       
   511 <span class="c">		 * @type Boolean</span>
       
   512 <span class="c">		 */</span>
       
   513 		<span class="nx">isPng</span><span class="o">:</span> <span class="o">{</span>
       
   514 			<span class="nx">value</span><span class="o">:</span> <span class="kc">false</span>
       
   515 		<span class="o">},</span>
       
   516 
       
   517 		<span class="c">/**</span>
       
   518 <span class="c">		 * AlphaImageLoader &lt;code&gt;sizingMethod&lt;/code&gt; property to be set for the image.</span>
       
   519 <span class="c">		 * Only set if &lt;code&gt;isPng&lt;/code&gt; value for this image is set to &lt;code&gt;true&lt;/code&gt;.</span>
       
   520 <span class="c">		 * Defaults to &lt;code&gt;scale&lt;/code&gt;.</span>
       
   521 <span class="c">		 * @attribute sizingMethod</span>
       
   522 <span class="c">		 * @type String</span>
       
   523 <span class="c">		 */</span>
       
   524 		<span class="nx">sizingMethod</span><span class="o">:</span> <span class="o">{</span>
       
   525 			<span class="nx">value</span><span class="o">:</span> <span class="s1">&#39;scale&#39;</span>
       
   526 		<span class="o">},</span>
       
   527 
       
   528 		<span class="c">/**</span>
       
   529 <span class="c">		 * AlphaImageLoader &lt;code&gt;enabled&lt;/code&gt; property to be set for the image.</span>
       
   530 <span class="c">		 * Only set if &lt;code&gt;isPng&lt;/code&gt; value for this image is set to &lt;code&gt;true&lt;/code&gt;.</span>
       
   531 <span class="c">		 * Defaults to &lt;code&gt;true&lt;/code&gt;.</span>
       
   532 <span class="c">		 * @attribute enabled</span>
       
   533 <span class="c">		 * @type String</span>
       
   534 <span class="c">		 */</span>
       
   535 		<span class="nx">enabled</span><span class="o">:</span> <span class="o">{</span>
       
   536 			<span class="nx">value</span><span class="o">:</span> <span class="s1">&#39;true&#39;</span>
       
   537 		<span class="o">}</span>
       
   538 
       
   539 	<span class="o">};</span>
       
   540 
       
   541 	<span class="k">var</span> <span class="nx">imgProto</span> <span class="o">=</span> <span class="o">{</span>
       
   542 
       
   543 		<span class="c">/**</span>
       
   544 <span class="c">		 * Initialize all private members needed for the group.</span>
       
   545 <span class="c">		 * @method _init</span>
       
   546 <span class="c">		 * @private</span>
       
   547 <span class="c">		 */</span>
       
   548 		<span class="nx">_init</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
       
   549 
       
   550 			<span class="c">/**</span>
       
   551 <span class="c">			 * Whether this image has already been fetched.</span>
       
   552 <span class="c">			 * In the case of fold-conditional groups, images won&#39;t be fetched twice.</span>
       
   553 <span class="c">			 * @property _fetched</span>
       
   554 <span class="c">			 * @private</span>
       
   555 <span class="c">			 * @type Boolean</span>
       
   556 <span class="c">			 */</span>
       
   557 			<span class="k">this</span><span class="o">.</span><span class="nx">_fetched</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
       
   558 
       
   559 			<span class="c">/**</span>
       
   560 <span class="c">			 * The Node object returned from &lt;code&gt;Y.get&lt;/code&gt;, to avoid repeat calls to access the DOM.</span>
       
   561 <span class="c">			 * @property _imgEl</span>
       
   562 <span class="c">			 * @private</span>
       
   563 <span class="c">			 * @type Object</span>
       
   564 <span class="c">			 */</span>
       
   565 			<span class="k">this</span><span class="o">.</span><span class="nx">_imgEl</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
       
   566 
       
   567 			<span class="c">/**</span>
       
   568 <span class="c">			 * The vertical position returned from &lt;code&gt;getY&lt;/code&gt;, to avoid repeat calls to access the DOM.</span>
       
   569 <span class="c">			 * The Y position is checked only for images registered with fold-conditional groups. The position is checked first at page load (domready)</span>
       
   570 <span class="c">			 *   and this caching enhancement assumes that the image&#39;s vertical position won&#39;t change after that first check.</span>
       
   571 <span class="c">			 * @property _yPos</span>
       
   572 <span class="c">			 * @private</span>
       
   573 <span class="c">			 * @type Int</span>
       
   574 <span class="c">			 */</span>
       
   575 			<span class="k">this</span><span class="o">.</span><span class="nx">_yPos</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
       
   576 		<span class="o">},</span>
       
   577 
       
   578 		<span class="c">/**</span>
       
   579 <span class="c">		 * Displays the image; puts the URL into the DOM.</span>
       
   580 <span class="c">		 * This method shouldn&#39;t be called externally, but is not private in the rare event that it needs to be called immediately.</span>
       
   581 <span class="c">		 * @method fetch</span>
       
   582 <span class="c">		 * @param {Int} withinY  The pixel distance from the top of the page, for which if the image lies within, it will be fetched. Undefined indicates that no check should be made, and the image should always be fetched</span>
       
   583 <span class="c">		 * @return {Boolean}  Whether the image has been fetched (either during this execution or previously)</span>
       
   584 <span class="c">		 */</span>
       
   585 		<span class="nx">fetch</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">withinY</span><span class="o">)</span> <span class="o">{</span>
       
   586 			<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_fetched</span><span class="o">)</span> <span class="o">{</span>
       
   587 				<span class="k">return</span> <span class="kc">true</span><span class="o">;</span>
       
   588 			<span class="o">}</span>
       
   589 
       
   590 			<span class="k">var</span> <span class="nx">el</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_getImgEl</span><span class="o">(),</span>
       
   591 			    <span class="nx">yPos</span><span class="o">;</span>
       
   592 			<span class="k">if</span> <span class="o">(!</span> <span class="nx">el</span><span class="o">)</span> <span class="o">{</span>
       
   593 				<span class="k">return</span> <span class="kc">false</span><span class="o">;</span>
       
   594 			<span class="o">}</span>
       
   595 
       
   596 			<span class="k">if</span> <span class="o">(</span><span class="nx">withinY</span><span class="o">)</span> <span class="o">{</span>
       
   597 				<span class="c">// need a distance check</span>
       
   598 <span class="c"></span>				<span class="nx">yPos</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_getYPos</span><span class="o">();</span>
       
   599 				<span class="k">if</span> <span class="o">(!</span> <span class="nx">yPos</span> <span class="o">||</span> <span class="nx">yPos</span> <span class="o">&gt;</span> <span class="nx">withinY</span><span class="o">)</span> <span class="o">{</span>
       
   600 					<span class="k">return</span> <span class="kc">false</span><span class="o">;</span>
       
   601 				<span class="o">}</span>
       
   602 				<span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">&#39;Image with id &quot;&#39;</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;domId&#39;</span><span class="o">)</span> <span class="o">+</span> <span class="s1">&#39;&quot; is within distance of the fold. Fetching image.&#39;</span><span class="o">,</span> <span class="s1">&#39;info&#39;</span><span class="o">,</span> <span class="s1">&#39;imageloader&#39;</span><span class="o">);</span>
       
   603 			<span class="o">}</span>
       
   604 
       
   605 			<span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">&#39;Fetching image with id &quot;&#39;</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;domId&#39;</span><span class="o">)</span> <span class="o">+</span> <span class="s1">&#39;&quot;.&#39;</span><span class="o">,</span> <span class="s1">&#39;info&#39;</span><span class="o">,</span> <span class="s1">&#39;imageloader&#39;</span><span class="o">);</span>
       
   606 
       
   607 			<span class="c">// apply url</span>
       
   608 <span class="c"></span>			<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;bgUrl&#39;</span><span class="o">)</span> <span class="o">!==</span> <span class="kc">null</span><span class="o">)</span> <span class="o">{</span>
       
   609 				<span class="c">// bg url</span>
       
   610 <span class="c"></span>				<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;isPng&#39;</span><span class="o">)</span> <span class="o">&amp;&amp;</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">UA</span><span class="o">.</span><span class="nx">ie</span> <span class="o">&amp;&amp;</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">UA</span><span class="o">.</span><span class="nx">ie</span> <span class="o">&lt;=</span> <span class="m">6</span><span class="o">)</span> <span class="o">{</span>
       
   611 					<span class="c">// png for which to apply AlphaImageLoader</span>
       
   612 <span class="c"></span>					<span class="nx">el</span><span class="o">.</span><span class="nx">setStyle</span><span class="o">(</span><span class="s1">&#39;filter&#39;</span><span class="o">,</span> <span class="s1">&#39;progid:DXImageTransform.Microsoft.AlphaImageLoader(src=&quot;&#39;</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;url&#39;</span><span class="o">)</span> <span class="o">+</span> <span class="s1">&#39;&quot;, sizingMethod=&quot;&#39;</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;sizingMethod&#39;</span><span class="o">)</span> <span class="o">+</span> <span class="s1">&#39;&quot;, enabled=&quot;&#39;</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;enabled&#39;</span><span class="o">)</span> <span class="o">+</span> <span class="s1">&#39;&quot;)&#39;</span><span class="o">);</span>
       
   613 				<span class="o">}</span>
       
   614 				<span class="k">else</span> <span class="o">{</span>
       
   615 					<span class="c">// regular bg image</span>
       
   616 <span class="c"></span>					<span class="nx">el</span><span class="o">.</span><span class="nx">setStyle</span><span class="o">(</span><span class="s1">&#39;backgroundImage&#39;</span><span class="o">,</span> <span class="s2">&quot;url(&#39;&quot;</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;bgUrl&#39;</span><span class="o">)</span> <span class="o">+</span> <span class="s2">&quot;&#39;)&quot;</span><span class="o">);</span>
       
   617 				<span class="o">}</span>
       
   618 			<span class="o">}</span>
       
   619 			<span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;srcUrl&#39;</span><span class="o">)</span> <span class="o">!==</span> <span class="kc">null</span><span class="o">)</span> <span class="o">{</span>
       
   620 				<span class="c">// regular src image</span>
       
   621 <span class="c"></span>				<span class="nx">el</span><span class="o">.</span><span class="nx">setAttribute</span><span class="o">(</span><span class="s1">&#39;src&#39;</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;srcUrl&#39;</span><span class="o">));</span>
       
   622 			<span class="o">}</span>
       
   623 
       
   624 			<span class="c">// apply attributes</span>
       
   625 <span class="c"></span>			<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;setVisible&#39;</span><span class="o">))</span> <span class="o">{</span>
       
   626 				<span class="nx">el</span><span class="o">.</span><span class="nx">setStyle</span><span class="o">(</span><span class="s1">&#39;visibility&#39;</span><span class="o">,</span> <span class="s1">&#39;visible&#39;</span><span class="o">);</span>
       
   627 			<span class="o">}</span>
       
   628 			<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;width&#39;</span><span class="o">))</span> <span class="o">{</span>
       
   629 				<span class="nx">el</span><span class="o">.</span><span class="nx">setAttribute</span><span class="o">(</span><span class="s1">&#39;width&#39;</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;width&#39;</span><span class="o">));</span>
       
   630 			<span class="o">}</span>
       
   631 			<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;height&#39;</span><span class="o">))</span> <span class="o">{</span>
       
   632 				<span class="nx">el</span><span class="o">.</span><span class="nx">setAttribute</span><span class="o">(</span><span class="s1">&#39;height&#39;</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;height&#39;</span><span class="o">));</span>
       
   633 			<span class="o">}</span>
       
   634 
       
   635 			<span class="k">this</span><span class="o">.</span><span class="nx">_fetched</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
       
   636 
       
   637 			<span class="k">return</span> <span class="kc">true</span><span class="o">;</span>
       
   638 		<span class="o">},</span>
       
   639 
       
   640 		<span class="c">/**</span>
       
   641 <span class="c">		 * Gets the object (as a &lt;code&gt;Y.Node&lt;/code&gt;) of the DOM element indicated by &quot;&lt;code&gt;domId&lt;/code&gt;&quot;.</span>
       
   642 <span class="c">		 * @method _getImgEl</span>
       
   643 <span class="c">		 * @returns {Object} DOM element of the image as a &lt;code&gt;Y.Node&lt;/code&gt; object</span>
       
   644 <span class="c">		 * @private</span>
       
   645 <span class="c">		 */</span>
       
   646 		<span class="nx">_getImgEl</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
       
   647 			<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_imgEl</span> <span class="o">===</span> <span class="kc">null</span><span class="o">)</span> <span class="o">{</span>
       
   648 				<span class="k">this</span><span class="o">.</span><span class="nx">_imgEl</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="s1">&#39;#&#39;</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;domId&#39;</span><span class="o">));</span>
       
   649 			<span class="o">}</span>
       
   650 			<span class="k">return</span> <span class="k">this</span><span class="o">.</span><span class="nx">_imgEl</span><span class="o">;</span>
       
   651 		<span class="o">},</span>
       
   652 
       
   653 		<span class="c">/**</span>
       
   654 <span class="c">		 * Gets the Y position of the node in page coordinates.</span>
       
   655 <span class="c">		 * Expects that the page-coordinate position of the image won&#39;t change.</span>
       
   656 <span class="c">		 * @method _getYPos</span>
       
   657 <span class="c">		 * @returns {Object} The Y position of the image</span>
       
   658 <span class="c">		 * @private</span>
       
   659 <span class="c">		 */</span>
       
   660 		<span class="nx">_getYPos</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
       
   661 			<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_yPos</span> <span class="o">===</span> <span class="kc">null</span><span class="o">)</span> <span class="o">{</span>
       
   662 				<span class="k">this</span><span class="o">.</span><span class="nx">_yPos</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_getImgEl</span><span class="o">().</span><span class="nx">getY</span><span class="o">();</span>
       
   663 			<span class="o">}</span>
       
   664 			<span class="k">return</span> <span class="k">this</span><span class="o">.</span><span class="nx">_yPos</span><span class="o">;</span>
       
   665 		<span class="o">}</span>
       
   666 
       
   667 	<span class="o">};</span>
       
   668 
       
   669 
       
   670 	<span class="nx">Y</span><span class="o">.</span><span class="nx">extend</span><span class="o">(</span><span class="nx">Y</span><span class="o">.</span><span class="nx">ImgLoadImgObj</span><span class="o">,</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Base</span><span class="o">,</span> <span class="nx">imgProto</span><span class="o">);</span>
       
   671 </pre></div>
       
   672                     </div>
       
   673 			</div>
       
   674 		</div>
       
   675 		<div class="yui-b">
       
   676             <div class="nav">
       
   677 
       
   678                     <div id="moduleList" class="module">
       
   679                         <h4>Modules</h4>
       
   680                         <ul class="content">
       
   681                                 <li class=""><a href="module_anim.html" title="anim">anim</a></li>
       
   682                                 <li class=""><a href="module_attribute.html" title="attribute">attribute</a></li>
       
   683                                 <li class=""><a href="module_base.html" title="base">base</a></li>
       
   684                                 <li class=""><a href="module_cache.html" title="cache">cache</a></li>
       
   685                                 <li class=""><a href="module_classnamemanager.html" title="classnamemanager">classnamemanager</a></li>
       
   686                                 <li class=""><a href="module_collection.html" title="collection">collection</a></li>
       
   687                                 <li class=""><a href="module_console.html" title="console">console</a></li>
       
   688                                 <li class=""><a href="module_console-filters.html" title="console-filters">console-filters</a></li>
       
   689                                 <li class=""><a href="module_cookie.html" title="cookie">cookie</a></li>
       
   690                                 <li class=""><a href="module_dataschema.html" title="dataschema">dataschema</a></li>
       
   691                                 <li class=""><a href="module_datasource.html" title="datasource">datasource</a></li>
       
   692                                 <li class=""><a href="module_datatype.html" title="datatype">datatype</a></li>
       
   693                                 <li class=""><a href="module_dd.html" title="dd">dd</a></li>
       
   694                                 <li class=""><a href="module_dom.html" title="dom">dom</a></li>
       
   695                                 <li class=""><a href="module_dump.html" title="dump">dump</a></li>
       
   696                                 <li class=""><a href="module_event.html" title="event">event</a></li>
       
   697                                 <li class=""><a href="module_event-custom.html" title="event-custom">event-custom</a></li>
       
   698                                 <li class=""><a href="module_event-simulate.html" title="event-simulate">event-simulate</a></li>
       
   699                                 <li class=""><a href="module_history.html" title="history">history</a></li>
       
   700                                 <li class="selected"><a href="module_imageloader.html" title="imageloader">imageloader</a></li>
       
   701                                 <li class=""><a href="module_io.html" title="io">io</a></li>
       
   702                                 <li class=""><a href="module_json.html" title="json">json</a></li>
       
   703                                 <li class=""><a href="module_node.html" title="node">node</a></li>
       
   704                                 <li class=""><a href="module_node-focusmanager.html" title="node-focusmanager">node-focusmanager</a></li>
       
   705                                 <li class=""><a href="module_node-menunav.html" title="node-menunav">node-menunav</a></li>
       
   706                                 <li class=""><a href="module_oop.html" title="oop">oop</a></li>
       
   707                                 <li class=""><a href="module_overlay.html" title="overlay">overlay</a></li>
       
   708                                 <li class=""><a href="module_plugin.html" title="plugin">plugin</a></li>
       
   709                                 <li class=""><a href="module_profiler.html" title="profiler">profiler</a></li>
       
   710                                 <li class=""><a href="module_queue.html" title="queue">queue</a></li>
       
   711                                 <li class=""><a href="module_slider.html" title="slider">slider</a></li>
       
   712                                 <li class=""><a href="module_stylesheet.html" title="stylesheet">stylesheet</a></li>
       
   713                                 <li class=""><a href="module_substitute.html" title="substitute">substitute</a></li>
       
   714                                 <li class=""><a href="module_test.html" title="test">test</a></li>
       
   715                                 <li class=""><a href="module_widget.html" title="widget">widget</a></li>
       
   716                                 <li class=""><a href="module_widget-position.html" title="widget-position">widget-position</a></li>
       
   717                                 <li class=""><a href="module_widget-position-ext.html" title="widget-position-ext">widget-position-ext</a></li>
       
   718                                 <li class=""><a href="module_widget-stack.html" title="widget-stack">widget-stack</a></li>
       
   719                                 <li class=""><a href="module_widget-stdmod.html" title="widget-stdmod">widget-stdmod</a></li>
       
   720                                 <li class=""><a href="module_yui.html" title="yui">yui</a></li>
       
   721                         </ul>
       
   722                     </div>
       
   723 
       
   724                     <div id="classList" class="module">
       
   725                         <h4>Classes</h4>
       
   726                         <ul class="content">
       
   727                                 <li class=""><a href="ImgLoadGroup.html" title="ImgLoadGroup">ImgLoadGroup</a></li>
       
   728                                 <li class=""><a href="ImgLoadImgObj.html" title="ImgLoadImgObj">ImgLoadImgObj</a></li>
       
   729                         </ul>
       
   730                     </div>
       
   731 
       
   732                     <div id="fileList" class="module">
       
   733                         <h4>Files</h4>
       
   734                         <ul class="content">        
       
   735                                 <li class="selected"><a href="imageloader.js.html" title="imageloader.js">imageloader.js</a></li>
       
   736                         </ul>
       
   737                     </div>
       
   738 
       
   739 
       
   740 
       
   741 
       
   742 
       
   743             </div>
       
   744 		</div>
       
   745 	</div>
       
   746 	<div id="ft">
       
   747         <hr />
       
   748         Copyright &copy; 2009 Yahoo! Inc. All rights reserved.
       
   749 	</div>
       
   750 </div>
       
   751 <script type="text/javascript">
       
   752     ALL_YUI_PROPS = [{"access": "", "host": "ImgLoadGroup", "name": "addCustomTrigger", "url": "ImgLoadGroup.html#method_addCustomTrigger", "type": "method"}, {"access": "", "host": "ImgLoadGroup", "name": "addTrigger", "url": "ImgLoadGroup.html#method_addTrigger", "type": "method"}, {"access": "private", "host": "ImgLoadGroup", "name": "_areFoldTriggersSet", "url": "ImgLoadGroup.html#property__areFoldTriggersSet", "type": "property"}, {"access": "", "host": "ImgLoadImgObj", "name": "bgUrl", "url": "ImgLoadImgObj.html#config_bgUrl", "type": "config"}, {"access": "", "host": "ImgLoadImgObj", "name": "bgUrlChange", "url": "ImgLoadImgObj.html#event_bgUrlChange", "type": "event"}, {"access": "private", "host": "ImgLoadGroup", "name": "_classImageEls", "url": "ImgLoadGroup.html#property__classImageEls", "type": "property"}, {"access": "private", "host": "ImgLoadGroup", "name": "_className", "url": "ImgLoadGroup.html#property__className", "type": "property"}, {"access": "", "host": "ImgLoadGroup", "name": "className", "url": "ImgLoadGroup.html#config_className", "type": "config"}, {"access": "", "host": "ImgLoadGroup", "name": "classNameChange", "url": "ImgLoadGroup.html#event_classNameChange", "type": "event"}, {"access": "private", "host": "ImgLoadGroup", "name": "_clearTriggers", "url": "ImgLoadGroup.html#method__clearTriggers", "type": "method"}, {"access": "", "host": "ImgLoadImgObj", "name": "domId", "url": "ImgLoadImgObj.html#config_domId", "type": "config"}, {"access": "", "host": "ImgLoadImgObj", "name": "domIdChange", "url": "ImgLoadImgObj.html#event_domIdChange", "type": "event"}, {"access": "", "host": "ImgLoadImgObj", "name": "enabled", "url": "ImgLoadImgObj.html#config_enabled", "type": "config"}, {"access": "", "host": "ImgLoadImgObj", "name": "enabledChange", "url": "ImgLoadImgObj.html#event_enabledChange", "type": "event"}, {"access": "", "host": "ImgLoadGroup", "name": "fetch", "url": "ImgLoadGroup.html#method_fetch", "type": "method"}, {"access": "", "host": "ImgLoadImgObj", "name": "fetch", "url": "ImgLoadImgObj.html#method_fetch", "type": "method"}, {"access": "private", "host": "ImgLoadGroup", "name": "_fetchByClass", "url": "ImgLoadGroup.html#method__fetchByClass", "type": "method"}, {"access": "private", "host": "ImgLoadImgObj", "name": "_fetched", "url": "ImgLoadImgObj.html#property__fetched", "type": "property"}, {"access": "private", "host": "ImgLoadGroup", "name": "_foldCheck", "url": "ImgLoadGroup.html#method__foldCheck", "type": "method"}, {"access": "", "host": "ImgLoadGroup", "name": "foldDistance", "url": "ImgLoadGroup.html#config_foldDistance", "type": "config"}, {"access": "", "host": "ImgLoadGroup", "name": "foldDistanceChange", "url": "ImgLoadGroup.html#event_foldDistanceChange", "type": "event"}, {"access": "private", "host": "ImgLoadGroup", "name": "_getFetchTimeout", "url": "ImgLoadGroup.html#method__getFetchTimeout", "type": "method"}, {"access": "private", "host": "ImgLoadImgObj", "name": "_getImgEl", "url": "ImgLoadImgObj.html#method__getImgEl", "type": "method"}, {"access": "private", "host": "ImgLoadImgObj", "name": "_getYPos", "url": "ImgLoadImgObj.html#method__getYPos", "type": "method"}, {"access": "", "host": "ImgLoadImgObj", "name": "height", "url": "ImgLoadImgObj.html#config_height", "type": "config"}, {"access": "", "host": "ImgLoadImgObj", "name": "heightChange", "url": "ImgLoadImgObj.html#event_heightChange", "type": "event"}, {"access": "private", "host": "ImgLoadImgObj", "name": "_imgEl", "url": "ImgLoadImgObj.html#property__imgEl", "type": "property"}, {"access": "private", "host": "ImgLoadGroup", "name": "_imgObjs", "url": "ImgLoadGroup.html#property__imgObjs", "type": "property"}, {"access": "private", "host": "ImgLoadGroup", "name": "_init", "url": "ImgLoadGroup.html#method__init", "type": "method"}, {"access": "private", "host": "ImgLoadImgObj", "name": "_init", "url": "ImgLoadImgObj.html#method__init", "type": "method"}, {"access": "", "host": "ImgLoadImgObj", "name": "isPng", "url": "ImgLoadImgObj.html#config_isPng", "type": "config"}, {"access": "", "host": "ImgLoadImgObj", "name": "isPngChange", "url": "ImgLoadImgObj.html#event_isPngChange", "type": "event"}, {"access": "private", "host": "ImgLoadGroup", "name": "_maxKnownHLimit", "url": "ImgLoadGroup.html#property__maxKnownHLimit", "type": "property"}, {"access": "", "host": "ImgLoadGroup", "name": "name", "url": "ImgLoadGroup.html#config_name", "type": "config"}, {"access": "", "host": "ImgLoadGroup", "name": "nameChange", "url": "ImgLoadGroup.html#event_nameChange", "type": "event"}, {"access": "private", "host": "ImgLoadGroup", "name": "_onloadTasks", "url": "ImgLoadGroup.html#method__onloadTasks", "type": "method"}, {"access": "", "host": "ImgLoadGroup", "name": "registerImage", "url": "ImgLoadGroup.html#method_registerImage", "type": "method"}, {"access": "private", "host": "ImgLoadGroup", "name": "_setFoldTriggers", "url": "ImgLoadGroup.html#method__setFoldTriggers", "type": "method"}, {"access": "", "host": "ImgLoadImgObj", "name": "setVisible", "url": "ImgLoadImgObj.html#config_setVisible", "type": "config"}, {"access": "", "host": "ImgLoadImgObj", "name": "setVisibleChange", "url": "ImgLoadImgObj.html#event_setVisibleChange", "type": "event"}, {"access": "", "host": "ImgLoadImgObj", "name": "sizingMethod", "url": "ImgLoadImgObj.html#config_sizingMethod", "type": "config"}, {"access": "", "host": "ImgLoadImgObj", "name": "sizingMethodChange", "url": "ImgLoadImgObj.html#event_sizingMethodChange", "type": "event"}, {"access": "", "host": "ImgLoadImgObj", "name": "srcUrl", "url": "ImgLoadImgObj.html#config_srcUrl", "type": "config"}, {"access": "", "host": "ImgLoadImgObj", "name": "srcUrlChange", "url": "ImgLoadImgObj.html#event_srcUrlChange", "type": "event"}, {"access": "", "host": "ImgLoadGroup", "name": "timeLimit", "url": "ImgLoadGroup.html#config_timeLimit", "type": "config"}, {"access": "", "host": "ImgLoadGroup", "name": "timeLimitChange", "url": "ImgLoadGroup.html#event_timeLimitChange", "type": "event"}, {"access": "private", "host": "ImgLoadGroup", "name": "_timeout", "url": "ImgLoadGroup.html#property__timeout", "type": "property"}, {"access": "private", "host": "ImgLoadGroup", "name": "_triggers", "url": "ImgLoadGroup.html#property__triggers", "type": "property"}, {"access": "", "host": "ImgLoadImgObj", "name": "width", "url": "ImgLoadImgObj.html#config_width", "type": "config"}, {"access": "", "host": "ImgLoadImgObj", "name": "widthChange", "url": "ImgLoadImgObj.html#event_widthChange", "type": "event"}, {"access": "private", "host": "ImgLoadImgObj", "name": "_yPos", "url": "ImgLoadImgObj.html#property__yPos", "type": "property"}];
       
   753 </script>
       
   754 </body>
       
   755 </html>