Changeset 1957


Ignore:
Timestamp:
08/16/11 09:45:30 (22 months ago)
Author:
jeroen
Message:

added onclick option (play or link) to related plugin

Location:
plugins/related
Files:
1 added
1 deleted
20 edited

Legend:

Unmodified
Added
Removed
  • plugins/related/doc/guide.html

    r1944 r1957  
    88    h2 { margin-top: 50px; } 
    99    h3 { margin-top: 25px; } 
    10     img, #player { -webkit-box-shadow: 0 0 5px #999; margin: 0 10px; } 
     10    img.shadow, #player { -webkit-box-shadow: 0 0 5px #999; margin: 0 10px; } 
    1111    pre { font-size: 12px; background: #E5F3C8; padding:5px 10px; border: 1px solid #D3EAA4; } 
    1212    dd { color: #333; font-style: italic; } 
     
    2626<h2>Introduction</h2> 
    2727 
    28 <p>The Related plugin for the JW Player presents a screen with related videos to your viewers. This screen is shown when a video is completed or when a viewer presses the <em>related</em> button. Upon clicking a related video, the viewer is redirected to the page with that video, improving user engagement and advertising opportunities.</p> 
    29  
    30 <p><img alt="Related Example Player" src="assets/related_example.png" style="margin-left: 10px" /></p> 
    31  
    32 <p>The list of related videos is loaded using an mRSS feed. The plugin automatically renders up to 2 rows of up to 5 related videos on the screen. Buttons for re-playing the video and for closing the overlay are shown in the top corners.</p> 
    33  
    34 <p>The plugin works in both Flash and HTML5, including touch devices like the iPad/iPhone and Android.  When using a playlist, every entry can have its own related videos.</p> 
     28<p>The Related plugin for the JW Player presents a screen with related videos to your viewers. This screen is shown when a video is completed or when a viewer presses the <em>related</em> button. Upon clicking a related video, the viewer is either redirected to the page with that video, or the related video is loaded in the player.</p> 
     29 
     30<p><img alt="Related Example Player" src="assets/related_example.png" /></p> 
     31 
     32<p>The list of related videos is loaded using an mRSS feed. The plugin automatically renders as many thumbs as fit the screen. Buttons for re-playing the video and for closing the overlay are shown in the top corners.</p> 
     33 
     34<p>The plugin works in both Flash and HTML5, including touch devices like the iPad/iPhone and Android. When using a playlist, every entry can have its own related videos.</p> 
    3535 
    3636 
     
    4242<dl> 
    4343<dt><strong>file</strong> ( <em>undefined</em> )</dt> 
    44 <dd>Location of the mRSS file with related videos, e.g. <strong>http://example.com/related.xml</strong>.</dd> 
     44<dd>Location of the mRSS file with related videos, e.g. <strong>http://example.com/related.xml</strong>. See below section for more info.</dd> 
     45<dt><strong>onclick</strong> ( <em>play</em> )</dt> 
     46<dd>What to do when the user clicks a thumb: play the related video in the player (<strong>play</strong>) or jump to the play page of the related video (<strong>link</strong>).</dd> 
    4547<dt><strong>oncomplete</strong> ( <em>true</em> )</dt> 
    4648<dd>Whether to display the related videos screen when the video is completed. When set <strong>false</strong>, the screen does not automatically pop up.</dd> 
     
    4951<dt><strong>heading</strong> ( <em>Watch related videos</em> )</dt> 
    5052<dd>Single line heading displayed above the grid with related videos. Generally contains a short call-to-action.</dd> 
    51 <dt><strong>titles</strong> ( <em>true</em> )</dt> 
    52 <dd>Whether to show the titles over the thumbs or not. When set <strong>false</strong>, only the thumbnail images are shown.</dd> 
    53  
     53<dt><strong>dimensions</strong> ( <em>140x80</em> )</dt> 
     54<dd>The width and height of each thumbnail in pixels. Set this to a different value to make the thumbnails larger (e.g. <strong>160x90</strong>) or smaller (e.g. <strong>120x70</strong>). Note the plugin always renders a fixed 10px spacing between the thumbs.</dd> 
    5455</dl> 
    5556 
     
    7677 
    7778 
    78 <h2>The mRSS File</h2> 
    79  
    80 <p>The mRSS feed is loaded into the <strong>file</strong> option of the plugin is can be any standard feed, just like for the <a href="http://www.longtailvideo.com/support/jw-player/jw-player-for-flash-v5/19824/playlist-support-in-the-jw-player">JW Player playlist</a>. The <em>title</em>, <em>link</em> and <em>media:thumbnail</em> options are required and used by the plugin. All other data in the mRSS feed is ignored. Here's an example feed with three related videos:</p> 
     79<h2>The mRSS Feed</h2> 
     80 
     81<p>The mRSS feed used for loading the related videos should be identical to those loading a <a href="http://www.longtailvideo.com/support/jw-player/jw-player-for-flash-v5/19824/playlist-support-in-the-jw-player">JW Player playlist</a>. Here's an example feed with 2 related videos:</p> 
    8182 
    8283<pre> 
     
    8687      &lt;title&gt;Big Buck Bunny&lt;/title&gt; 
    8788      &lt;link&gt;http://example.com/watch/28839&lt;/link&gt; 
    88       &lt;media:thumbnail&gt;http://example.com/thumbs/28839.jpg&lt;/media:thumbnail&gt; 
    89     &lt;/item&gt; 
    90  
    91     &lt;item&gt; 
    92       &lt;title&gt;Sintel&lt;/title&gt; 
    93       &lt;link&gt;http://example.com/watch/21987&lt;/link&gt; 
    94       &lt;media:thumbnail&gt;http://example.com/thumbs/21987.jpg&lt;/media:thumbnail&gt; 
     89      &lt;media:content url="http://example.com/video/28839.mp4"/&gt; 
     90      &lt;media:thumbnail url="http://example.com/thumbs/28839.jpg"/&gt; 
    9591    &lt;/item&gt; 
    9692 
     
    9894      &lt;title&gt;Elephant's Dream&lt;/title&gt; 
    9995      &lt;link&gt;http://example.com/watch/8791&lt;/link&gt; 
    100       &lt;media:thumbnail&gt;http://example.com/thumbs/8791.jpg&lt;/media:thumbnail&gt; 
     96      &lt;media:content url="http://example.com/video/8791.mp4"/&gt; 
     97      &lt;media:thumbnail url="http://example.com/thumbs/8791.jpg"/&gt; 
    10198    &lt;/item&gt; 
    10299  &lt;/channel&gt; 
     
    104101</pre> 
    105102 
    106 <p>Entries in the mRSS feed that do not contain a title, link and thumbnail are ignored. If the mRSS feed has 0 valid entries, or if the mRSS feed fails loading or parsing:</p> 
     103<p>Note the following properties are required for every item in the feed. Items that do not contain these properties are ignored:</p> 
     104     
     105<ul> 
     106    <li>The <strong>title</strong> (for diplaying the related video titles).</li> 
     107    <li>Either the <strong>media:thumbnail</strong> or <strong>jwplayer:image</strong> (for displaying the thumbs).</li> 
     108    <li>The <strong>link</strong>, in case the <em>onclick</em> option is set to <em>link</em> (for linking out).</li> 
     109    <li>Either the <strong>media:content</strong> or <strong>jwplayer:file</strong>, in case the <em>onclick</em> option is set to <em>play</em> (for playing the video).</li> 
     110</ul> 
     111     
     112<p>If the mRSS feed has 0 valid entries, or if the mRSS feed fails loading or parsing:</p> 
    107113 
    108114<ul> 
     
    111117</ul> 
    112118 
    113  
    114  
    115 <h2>Thumbnail dimensions</h2> 
    116  
    117 <p>By default, the thumbnails in the related videos screen are 140px wide by 70px high. The plugin will automatically render as many thumbs as fit the screen, with a maximum of 5 columns and 2 rows. A 10px spacing is used in between the thumbs:</p> 
    118  
    119 <p><img alt="Related Thumb Dimensions" src="assets/related_dimensions.png" style="margin-left: 10px" /></p> 
    120  
    121 <p>These dimensions can be changed by setting a configuration option: <strong>dimensions</strong>. This option needs to be a comma-separated list of the <em>width</em>, <em>height</em>, <em>columns</em> and <em>rows</em>. for example:</p> 
    122  
    123 <ul> 
    124     <li>Setting the dimensions option to <strong>"120,70,5,3"</strong> will render fairly small (120x70 pixels) thumbnails in up to 5 columns and 3 rows.</li> 
    125     <li>Setting the dimensions option to <strong>"200,120,2,1"</strong> will render up to two (one row, 2 columns) fairly large (200x120 pixels) thumbnails.</li> 
    126 </ul> 
     119<h3>Related Related Videos</h3> 
     120 
     121<p>For every item in the mRSS feed, you can include a <em>&lt;jwplayer:related.file&gt;</em> property. When using the <strong>onclick=play</strong> option, this will then define the related videos for your related videos. With this trick, you can create an endless carrousel of related videos for users that can't get enough watching your videos.</p> 
     122 
     123<p>If no per-item related files are loaded, the global related videos file will remain active.</p> 
     124 
    127125 
    128126 
    129127<h2>Device Support</h2> 
    130128 
    131 <p>On touch devices (iPhone, iPad, Android), the related plugin fully functions, with one exception: the Related dock button is not available when the video is playing. This because no custom controls can be shown when a video plays in fullscreen.</p> 
    132  
    133 <p>Before and after playback, the player is displayed inline in the page and the related videos screen is available.</p> 
     129<p>On touch devices (iPhone, iPad, Android), the related plugin fully functions, with one exception: the dock button is not available when the video is playing. This because no custom controls can be shown when a video plays in fullscreen.</p> 
     130 
     131<p><img alt="Realted plugin on iPhone" src="assets/related_iphone.png" style="margin-left: 10px" /></p> 
     132 
     133<p>Before playback starts and after it completes, the player is displayed inline in the page and the related videos screen is available.</p> 
    134134 
    135135 
     
    193193<ul> 
    194194<li>Load related videos using an mRSS feed.</li> 
     195<li>Related videos are either linked to or loaded in the player</li> 
    195196<li>Enter related screen through dock button or upon complete.</li> 
    196197<li>Support for Flash and HTML5 modes (including touch devices).</li> 
  • plugins/related/related.js

    r1944 r1957  
    1 (function(a){var b=function(e,t,w){var l;var g;var i;var q;var v;var u;var s;var j={cursor:"pointer",position:"absolute",left:"0px",top:"0px",margin:"0px",padding:"0px",display:"block",width:"50px",height:"50px"};var n={backgroundImage:"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAGQCAYAAACJccGfAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJlJREFUeNrskksKwDAIRFV6/+v1Nv0sQymkBD+jVchGdOY5hIlop6GEHrXd75hOnNqNIA5Y0cQaPisLGiZgQbbzFdhrS0/ksUUhhb02aKW0Rh6w0i55OCqRdmLd6Mb4C7nzKJkYCqkPh4nLv0QXNIJsg9BRVkpz+Nj6oKOQ+qSuYZuH9HVCcka4qCEgiYnLtWze+Garfu0lwAArHE4YPfyZuAAAAABJRU5ErkJggg==)",backgroundRepeat:"no-repeat",backgroundSize:"100% 100%",opacity:0,webkitTransition:"opacity 150ms linear",MozTransition:"opacity 150ms linear",msTransition:"opacity 150ms linear",transition:"opacity 150ms linear",cursor:"pointer",visibility:"hidden"};var o={position:"absolute",border:"none",color:"#FFF",display:"block",font:"16px/24px Arial,sans-serif",overflow:"hidden",width:"240px",margin:"0 0 0 0",textAlign:"center",textTransform:"none",textShadow:"#000 1px 1px 0",padding:"0 0 0 0"};var z="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAArlJREFUeNrsWe1xozAQhZv8hw7sDkQH5CpwOnA6oATSQdIB7sC5CshVgFMBuQqcq0BZzT3N7SiAFiw7nol2ZkcyWi16Wn28xUkSJUqUKN9CtNYlaUPa68/So01BvXanjiddAGBFxY70lvRA+kz64piZtnvSNX6/oc+Q3R1pgbb7NE3/XCIKG9IjaWciIrTrUd94otv57EKC0FgKmdCuQr1FOQUmQx99NjBmOWG2Gqkd6RaD2rIBHrE0p3w0ErulQMyMdlI7FgkOorbREfjpJHZzQSgMoBTaNQMgKrYHtO+Uwp7xvnMukEYYjYYdq2MgSskSZVFpQgIxp04ttPOB6Oz9IfBXS+zmABGFmA18CkRnDwHhhatDgchmAuk8IOzSunogEhB2w68uBmTB0qo9IDp7DF80Igs3+xSI6is3+9zj1wdCf9XxWwovxJJR89FIzLwQVRJSZlIU7bBfC2IvoR44YMJTlIWkUTsgGikZPCtpXEjjWxaJ5ipo/AmJ1VGSMIVIrG5m5cVp+oteVNi0lepjqa6xeUeqWyDVLcj+3ZPqFhdJdQdoe6iPD2USJUqUKFFOSMLUGfyqKSZxDiClgBCaG79aQFi998yPmcRROQNfeSJUOlEyN3g+YJONTEwWerZ7psrSbJ498ogwrtWirFmOYZMvhf7Wz4ZNWM8+gPfBbn6e5FD5aJcHZrRnM2uBVGxgG/a8ZsA75lPZfAf+a+b/GHRpEZl7ZcvjCR8GODHkYojkLQDsRlyaPgf4OTAflkCad/5FWxIMCBMz+LsUYoBQ8duxeYHdQ/LvD58xPzn3w58zuzw4jWez/YAvNWvU145NDuqeAwyn72tsYuNnR/Wn5P+/Wz8RQeu/GIj2aTm783uLTbp31vkj3xdoN/U9s2nxLMOead2sk/WvsWdUEiVKlChRrlE+BBgA99ZhJqocsJoAAAAASUVORK5CYII=";var A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAytJREFUeNrsWC2T2zAQdToBAQUGBYaGgYGBBgUGBwwPHAg8UFB4P+VgQMGBgoMGBQcLAw0NCgwKDAoMOpPuJk/TrWpL68S5Xue0Mxp/PUt6q11pd6MoSJAgQf4nmZ36436/T+myosbX2PrcUqupfcXz2oebzWbNsxIhAjyZAhPjwStMRoohGYsJ7wZwS2oJvj0SofbiRIjEEiR4sJIGrRW4d9R+YpKVY3VzEB/EueTNSBLXWIGth4TB8SosqP2gdoNvf2vz2NcW/1wP4c4mIsxpR4OyxjofDqbCWv5M7RvMpwCmj0zHfePfQdy5K3IwEwzkxcF3+P5R+MsnmE7htPXjGK0PN5oIaSbBZEolrsFKSBIlnPrg4MC6pAQunXJFeOtshnzCwr3FxG0SZge7h8+sPatSQyGrKYmkcEINbuEg8YCVmuO7TyolTk0k7tn/h3A+EhGcX+PItRI3bvtVytJDohzrxP+KSOohwedLJ7bqF0vki4dEa+KvU0ORc4i0Sqdj3HsPCT7srnCvWd12SiK1OAN8uLmHRC6wGn+rpyTCE0gUh9MOE75xkOD77yK8d6UIiQ83iggOp1po04dj03rqIVHB0WtX7kEkFsDXY3IUrbPz+RDTIIUCxxr/YJHYgYQ5a1ySK3HjiWCH4Y5XTAZac+FanPJXIipYuRIn7hOKWp2SYF06sYqFuV00sXqdqW5P2O4tKiiLDztFdB0kSJAgQV6J8KGpiMtUkQS19eQZIh+Cdk0KMVJqxV/xUOFgAG/I26lCgpjNK3MlgQ067JCbHOIhEVM1eP+AE3qD/zJ6frKiARPeM5lDDZmuHM5k/B4h0BaKyPBfPcnJz0R4UmK5zURvjRah5Vtxv+npJzMmh35irNBHs0JsStRygc8mWxErPZUF7MRoCpr1lUI5cGSl3CHYbGA+rP07eh+NSIVPJtInHWuSK+nQaOfDR8eyqTGbHNkkl2TvRYb47OUg1moB8yqiP0uri57aVQ6cId0hnV3AjFL4l9ypYg05LZFGaLvDsykwNNBuE/2u2DdwaLsIXeL/TDxHlnNXYoOo8D6NggQJEiTIS5RfAgwAwPzrJ/KrwvYAAAAASUVORK5CYII=";var B=function(){if(q){e.pause(true);w.style.visibility="visible";w.style.opacity=1;try{e.getPlugin("display").hide();e.getPlugin("dock").hide()}catch(C){}}};function y(C){if(t.oncomplete!==false){setTimeout(B,50)}}function k(C){if(C==q){console.log("RELATED: Failed to load "+C)}else{console.log("RELATED: "+C)}q=undefined;u.innerHTML="";d();if(t.usedock!==false){e.getPlugin("dock").setButton("related",B,A)}}function d(C){setTimeout(r,200);w.style.opacity=0;try{e.getPlugin("display").show();e.getPlugin("dock").show()}catch(D){}}function r(){w.style.visibility="hidden"}function p(D){q=undefined;u.innerHTML="";d();var C=e.getPlaylist()[D.index];if(C["related.file"]){q=C["related.file"]}else{if(t.file){q=t.file}}if(q){if(t.usedock!==false){e.getPlugin("dock").setButton("related",B,z)}a.utils.ajax(q,f,k)}else{k("No related videos file found")}}function f(D){var J=[];var K=[];try{J=a.utils.parsers.rssparser.parse(D.responseXML.firstChild)}catch(I){k("This feed is not valid XML and/or RSS.");return}for(var H=0;H<J.length;H++){if(J[H].image&&J[H].link&&J[H].title){var G={link:J[H].link,image:J[H].image};if(t.titles!==false){G.title=J[H].title}K.push(G)}}if(K.length){var E=0;var L=0;for(var F=0;F<K.length;F++){var C=a.related.thumb(i[0],i[1],K[F].image,K[F].link,K[F].title);u.appendChild(C);m(C,{left:((i[0]+10)*E)+"px",top:((i[1]+10)*L)+"px"});i[6]=Math.max(i[6],i[0]*(E+1)+10*E);i[7]=Math.max(i[7],i[1]*(L+1)+10*L);if(E==i[2]-1||(i[0]+10)*(E+2)>i[4]){if(L==i[3]-1||(i[1]+10)*(L+2)>i[5]-40){break}else{L++;E=0}}else{E++}}c(i[4],i[5])}else{k("RSS feed has 0 entries that contain title,link and image.")}}function h(){if(e.getRenderingMode()=="flash"){return}e.onPlaylistItem(p);e.onComplete(y);m(w,n);w.onclick=d;s=document.createElement("div");m(s,j);m(s,{background:"transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABKhJREFUeNrsWF1IY1cQvtGsVruSoCiKoqH+FVFvQClBxITimw/aLir4orCgxRfz5pOkqa9K1lSs+tCksKKomAgSlJImBRHqi0YRKihJ4y8oXuuu/z/TmXDvchH3p5uke6X3gyFzT85Jzndm5szMZRgZMmTIkCFDhoz/FwBAjfIM5bvHSkCJwgaDwd84jgOLxQI4vPSYCChQMq+vr394jUAdTk9Pwel0QklJCcTHx3/zGEh8jvLt1dXVKjwAsszY2Ngrq9X67FEQWVtbO4e34O7uDjY2NmBkZKRX8q6VmZkJZrMZDg4O3sYH1tfXoauryy51L2uOi4sDnU4Xio2TkxNwuVwwODgINzc3ISKXl5ehsZycnJeR+tPYKBDx3d7eBra3tw2zs7OfraysMKgzAwMDDF4CTFVVFRMbG8skJCQwaLXSxcVFNa6ZC/dPlVGyyi8o3uPjY83U1JRCqVQSCcDnL30+348syz5Rq9WMVquluVopxMRTlHKUr1G+QlG9Z36G2+3+ldzr4uICJicnKb94IrGXmDDXF+OG3Pjp3tra+qO9vf34PRu7zsrK+pMUhUIRcrFIIVwi15g3TklJSkpiCgoKSFW/Y74KA72CFIwj5uzsTDJEuL29vU2BSHl5OZOXl0c+zz7gVvEYJyXZ2dmhmDg/P2d2d3clkzeejo6O/oSnG7pW8YQBgxuQjI9OXzTvCYoBb689IZesrq5CZWVlxGIkbNTU1Jimp6ffJDt0NcDsDg6H43d8bEJ5jvIz5pBdYc7R0RH09vYSCekQSU9P/6Kpqekl5gv4EJDV6LZKS0sTKmJWMqk8MTHRgDkBMAG+kwRZor+/H5KTkwVr2KRYmthUKhU0NjbCzMwMbG5uwv7+PmBAh+JheHgYKioqAK9cgYRfHEdSgop3FfhAYRkZMmSIk6ceJWo5I+a/JOP1eg3RSoAx/+JEWRQLvUdAWeLHLHyK8KPU8mPNKCZ+jGB54LeaRd/TZw5vMZNoTq34OZIWoarWiE2RNzc3V9PZ2cnRGJbjLzAZajiOox6cyGiwgfoeC0hvfn5+AGGsr6+/T8bY1tbmxbUBbIc1VqvV29DQQC2AEdtfYfMtPT09VGCaIu7jHo9HyAF0gp7Dw0M/jZFOlqquriZrmfgXchw/z4SAvr6+Dn49zVW1trZyc3NzDrIIfU8bRt3W0dFBC2gdpKamkhs2R6vV9aL8RUp3d7dmeXmZVPJ9hvSJiQkDWoQe7cI8wvz8fF1paSmTkpJClg2YzWbv+Pi4lvoSEV4YjcYW7O+dWBU4saevw7G6aAe702AwMDs7O0bcoNFut1MvUqfT6ZZbWloYvV5/TL5PLrKwsOB801IWF5O7BIqKigxDQ0OBjIwMjfAduppPo9EsY6epRbcSDuPvaLmWh39WYVPlEF4k4ulSHPiDwaAFS3jw+0OxzOEa8nH/PdfyCIFOv2Gz2UCIBboI6K0kX4vVRusG1d+7PlV8BSvERLMQE6g7+M1wIj8Xr/eIikebUAnTepfLJaz7pIlPIGL6iLVkYa6srMz2yUt8igt+Ix9DhC0sLFwSbjwpVCQ5YWyElQoJGTJkSBD/CDAA0ma8tkQpWYgAAAAASUVORK5CYII=)"});s.onclick=x;w.appendChild(s);g=document.createElement("div");m(g,j);m(g,{background:"transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA0xJREFUeNrsVz1IW1EUjtKtQyh0yRQr2kFCIlHB7cUMBhpCXKKY5UVBnfwZWgUppFvHOEUkg84ucXBxeg1ChiKmUCQ0EV+K1Q4BnyKImujtOem95fp8pvTHeIX7weHlnXNeON+955x7rs0mISEhISEhISEh0UgQQoIgOyBvfuPnBvkM8lZEEiHCYWpqioA6buHnrVQqVeY3MzODfglhiFxfX1eICX19fRikypF4fnV1VTX7oQnELgSR9fX198QC/f39p2D2wM+nZ2dnJbN9aGiIEVFE2RRlcHCQwIrfIjMxMVG+vLz8aNZHIhFGQigimBqK1+vNn5yckHo4Pz8n4McI5EQicYNQR0fHzt7eniWJ3d1d4na7eRJ2m8Cw+/3+L1ZEVFV9NCSwOz07PDwsWhEBPenu7r7RzUQl8bJarX6tVyMXFxckEAgUhN0RiNEP58mNtgUtl8RiMbK/v3+L0MjIiC4cGYjrlTlQbMVdXV21mnA6neTo6OguMuIAVv67Ocienh5W2Bis4nK5vlmlmlDnyNLS0ms+uPHxcRaggSc7dfOEQqFT3m92dla8AxGCJNvb23xwKGGTnxoMBkmhUCDz8/O8n1C1kuACs5x+KeImv4RNQkLiUd3ZNZAHaaPN//sPfT7fh4c4E5r/YfXjIAY91xJ17CjTnD5Bv9FBwlRnp7tJ6NPTqBTCO7gOc9Rya2uroes66e3txQA1RVHI5OTktNlOdQoI3kMSeC+Zm5vDUz8MujQckEhWQ30+n89x08C9EolvbGyk6QzlpKJDMDoSWV1d1Xg7+gOIgkbYoVwuhys/3dbWhsEjQTzp9a2tLYPtDOjTfxLTk78lk81mB+DxDgTvHs6mpqYX7e3tGry3mO3sm0wm40P74uJiaXh4eKFYLJbgu07QLYyNjbWwMqPPgUbUyBrcMWywwLX8xndN036NI5ubm7wddysGxNZGR0cxuBWHw9GZTCYXjo+PMfhP+D00iRrRaDS6kkqlShyhe08v1TB+1vrBwcEy3sGBDKZPbZLFdKJ2A1IG7TpNLVbUBqQgNgl08pTL5RxrApFIBPVaI7ueSsd0fvDTuPYbp3aDGyDt1IeN+Ozu7uH0ekOKXUJCQkJCguKHAAMAvduPUQLB93IAAAAASUVORK5CYII=)"});g.onclick=d;w.appendChild(g);v=document.createElement("div");if(t.heading){v.innerHTML=t.heading}else{v.innerHTML="Watch related videos"}m(v,o);w.appendChild(v);u=document.createElement("div");w.appendChild(u);m(u,{position:"absolute"})}e.onReady(h);this.resize=function(E,C){if(e.getRenderingMode()=="flash"){return}if(!i){i=[140,80,5,2,E,C,0,0];if(t.dimensions){var F=t.dimensions.split(",");for(var D=0;D<4;D++){i[D]=Number(F[D])}}}c(E,C)};function c(D,C){m(w,{height:C+"px",width:D+"px"});m(g,{left:(D-50)+"px"});m(u,{left:Math.round(D/2-i[6]/2)+"px",top:Math.round(C/2-i[7]/2)+"px"});m(v,{left:Math.round(D/2-i[6]/2)+"px",width:i[6]+"px",top:Math.round(C/2-i[7]/2-30)+"px"})}function x(C){e.seek(0)}function m(C,D){for(var E in D){C.style[E]=D[E]}}};a().registerPlugin("related",b,"./related.swf")})(jwplayer);(function(a){if(a.related){return}a.related={};a.related.thumb=function(e,g,j,i,p){var b;var d={border:"1px solid #000",webkitBoxShadow:"0 0 4px #000",MozBoxShadow:"0 0 4px #000",msBoxShadow:"0 0 4px #000",boxShadow:"0 0 4px #000",backgroundColor:"#000",backgroundSize:"cover",position:"absolute",textDecoration:"none",display:"block",margin:"0 0 0 0",padding:"0 0 0 0"};var l;var o={psition:"absolute",left:"0px",top:"0px",border:"none",margin:"0 0 0 0",padding:"0 0 0 0"};var n;var k={backgroundColor:"rgba(0,0,0,0.8)",left:"0px",position:"absolute",border:"none",color:"#FFF",display:"block",font:"12px/26px Arial,sans-serif",overflow:"hidden",margin:"0 0 0 0",textAlign:"center",textDecoration:"none",textTransform:"none",padding:"0 0 0 0",height:"26px"};function f(q){c(b,{border:"1px solid #FFF",webkitBoxShadow:"0 0 4px #FFF",MozBoxShadow:"0 0 4px #FFF",msBoxShadow:"0 0 4px #FFF",boxShadow:"0 0 4px #FFF"})}function m(q){c(b,{border:"1px solid #000",webkitBoxShadow:"0 0 4px #000",MozBoxShadow:"0 0 4px #000",msBoxShadow:"0 0 4px #000",boxShadow:"0 0 4px #000"})}function h(){b=document.createElement("a");b.setAttribute("href",i);b.setAttribute("target","_top");b.onmouseout=m;b.onmouseover=f;c(b,d);c(b,{backgroundImage:"url("+j+")",width:(e-2)+"px",height:(g-2)+"px"});l=document.createElement("img");l.setAttribute("src","data:image/png;base64,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");c(l,o);c(l,{width:e-2+"px",height:g-20+"px"});b.appendChild(l);if(p){n=document.createElement("div");n.innerHTML=p;c(n,k);c(n,{top:(g-28)+"px",width:(e-2)+"px"});b.appendChild(n)}return b}function c(q,r){for(var s in r){q.style[s]=r[s]}}return h()}})(jwplayer); 
     1(function(a){var b=function(e,u,x){var m;var g;var i;var r;var w;var v;var t;var j={cursor:"pointer",position:"absolute",left:"0px",top:"0px",margin:"0px",padding:"0px",display:"block",width:"50px",height:"50px"};var o={backgroundImage:"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAGQCAYAAACJccGfAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJlJREFUeNrskksKwDAIRFV6/+v1Nv0sQymkBD+jVchGdOY5hIlop6GEHrXd75hOnNqNIA5Y0cQaPisLGiZgQbbzFdhrS0/ksUUhhb02aKW0Rh6w0i55OCqRdmLd6Mb4C7nzKJkYCqkPh4nLv0QXNIJsg9BRVkpz+Nj6oKOQ+qSuYZuH9HVCcka4qCEgiYnLtWze+Garfu0lwAArHE4YPfyZuAAAAABJRU5ErkJggg==)",backgroundRepeat:"no-repeat",backgroundSize:"100% 100%",opacity:0,webkitTransition:"opacity 150ms linear",MozTransition:"opacity 150ms linear",msTransition:"opacity 150ms linear",transition:"opacity 150ms linear",cursor:"pointer",visibility:"hidden"};var p={position:"absolute",border:"none",color:"#FFF",display:"block",font:"16px/24px Arial,sans-serif",overflow:"hidden",width:"240px",margin:"0 0 0 0",textAlign:"center",textTransform:"none",textShadow:"#000 1px 1px 0",padding:"0 0 0 0"};var A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAArlJREFUeNrsWe1xozAQhZv8hw7sDkQH5CpwOnA6oATSQdIB7sC5CshVgFMBuQqcq0BZzT3N7SiAFiw7nol2ZkcyWi16Wn28xUkSJUqUKN9CtNYlaUPa68/So01BvXanjiddAGBFxY70lvRA+kz64piZtnvSNX6/oc+Q3R1pgbb7NE3/XCIKG9IjaWciIrTrUd94otv57EKC0FgKmdCuQr1FOQUmQx99NjBmOWG2Gqkd6RaD2rIBHrE0p3w0ErulQMyMdlI7FgkOorbREfjpJHZzQSgMoBTaNQMgKrYHtO+Uwp7xvnMukEYYjYYdq2MgSskSZVFpQgIxp04ttPOB6Oz9IfBXS+zmABGFmA18CkRnDwHhhatDgchmAuk8IOzSunogEhB2w68uBmTB0qo9IDp7DF80Igs3+xSI6is3+9zj1wdCf9XxWwovxJJR89FIzLwQVRJSZlIU7bBfC2IvoR44YMJTlIWkUTsgGikZPCtpXEjjWxaJ5ipo/AmJ1VGSMIVIrG5m5cVp+oteVNi0lepjqa6xeUeqWyDVLcj+3ZPqFhdJdQdoe6iPD2USJUqUKFFOSMLUGfyqKSZxDiClgBCaG79aQFi998yPmcRROQNfeSJUOlEyN3g+YJONTEwWerZ7psrSbJ498ogwrtWirFmOYZMvhf7Wz4ZNWM8+gPfBbn6e5FD5aJcHZrRnM2uBVGxgG/a8ZsA75lPZfAf+a+b/GHRpEZl7ZcvjCR8GODHkYojkLQDsRlyaPgf4OTAflkCad/5FWxIMCBMz+LsUYoBQ8duxeYHdQ/LvD58xPzn3w58zuzw4jWez/YAvNWvU145NDuqeAwyn72tsYuNnR/Wn5P+/Wz8RQeu/GIj2aTm783uLTbp31vkj3xdoN/U9s2nxLMOead2sk/WvsWdUEiVKlChRrlE+BBgA99ZhJqocsJoAAAAASUVORK5CYII=";var B="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAytJREFUeNrsWC2T2zAQdToBAQUGBYaGgYGBBgUGBwwPHAg8UFB4P+VgQMGBgoMGBQcLAw0NCgwKDAoMOpPuJk/TrWpL68S5Xue0Mxp/PUt6q11pd6MoSJAgQf4nmZ36436/T+myosbX2PrcUqupfcXz2oebzWbNsxIhAjyZAhPjwStMRoohGYsJ7wZwS2oJvj0SofbiRIjEEiR4sJIGrRW4d9R+YpKVY3VzEB/EueTNSBLXWIGth4TB8SosqP2gdoNvf2vz2NcW/1wP4c4mIsxpR4OyxjofDqbCWv5M7RvMpwCmj0zHfePfQdy5K3IwEwzkxcF3+P5R+MsnmE7htPXjGK0PN5oIaSbBZEolrsFKSBIlnPrg4MC6pAQunXJFeOtshnzCwr3FxG0SZge7h8+sPatSQyGrKYmkcEINbuEg8YCVmuO7TyolTk0k7tn/h3A+EhGcX+PItRI3bvtVytJDohzrxP+KSOohwedLJ7bqF0vki4dEa+KvU0ORc4i0Sqdj3HsPCT7srnCvWd12SiK1OAN8uLmHRC6wGn+rpyTCE0gUh9MOE75xkOD77yK8d6UIiQ83iggOp1po04dj03rqIVHB0WtX7kEkFsDXY3IUrbPz+RDTIIUCxxr/YJHYgYQ5a1ySK3HjiWCH4Y5XTAZac+FanPJXIipYuRIn7hOKWp2SYF06sYqFuV00sXqdqW5P2O4tKiiLDztFdB0kSJAgQV6J8KGpiMtUkQS19eQZIh+Cdk0KMVJqxV/xUOFgAG/I26lCgpjNK3MlgQ067JCbHOIhEVM1eP+AE3qD/zJ6frKiARPeM5lDDZmuHM5k/B4h0BaKyPBfPcnJz0R4UmK5zURvjRah5Vtxv+npJzMmh35irNBHs0JsStRygc8mWxErPZUF7MRoCpr1lUI5cGSl3CHYbGA+rP07eh+NSIVPJtInHWuSK+nQaOfDR8eyqTGbHNkkl2TvRYb47OUg1moB8yqiP0uri57aVQ6cId0hnV3AjFL4l9ypYg05LZFGaLvDsykwNNBuE/2u2DdwaLsIXeL/TDxHlnNXYoOo8D6NggQJEiTIS5RfAgwAwPzrJ/KrwvYAAAAASUVORK5CYII=";var C=function(){if(r){e.pause(true);x.style.visibility="visible";x.style.opacity=1;try{e.getPlugin("display").hide();e.getPlugin("dock").hide()}catch(D){}}};function k(D){if(u.onclick=="play"){e.load(D);e.play()}else{window.top.location=D.link}}function z(D){if(u.oncomplete!==false){setTimeout(C,50)}}function l(D){if(D==r){console.log("RELATED: Failed to load "+D)}else{console.log("RELATED: "+D)}r=undefined;v.innerHTML="";d();if(u.usedock!==false){e.getPlugin("dock").setButton("related",C,B)}}function d(D){setTimeout(s,200);x.style.opacity=0;try{e.getPlugin("display").show();e.getPlugin("dock").show()}catch(E){}}function s(){x.style.visibility="hidden"}function q(E){r=undefined;v.innerHTML="";d();var D=e.getPlaylist()[E.index];if(D["related.file"]){r=D["related.file"]}else{if(u.file){r=u.file}}if(r){if(u.usedock!==false){e.getPlugin("dock").setButton("related",C,A)}a.utils.ajax(r,f,l)}else{l("No related videos file found")}}function f(E){var J=[];var K=[];try{J=a.utils.parsers.rssparser.parse(E.responseXML.firstChild)}catch(I){l("This feed is not valid XML and/or RSS.");return}for(var H=0;H<J.length;H++){if(J[H].image&&J[H].title&&((u.onclick=="play"&&J[H].file)||(u.onclick!="play"&&J[H].link))){K.push(J[H])}}if(K.length){var F=0;var L=0;i[4]=0;i[5]=0;for(var G=0;G<K.length;G++){var D=a.related.thumb(i[0],i[1],K[G],k);v.appendChild(D);n(D,{left:((i[0]+10)*F)+"px",top:((i[1]+10)*L)+"px"});i[4]=Math.max(i[4],i[0]*(F+1)+10*F);i[5]=Math.max(i[5],i[1]*(L+1)+10*L);if((i[0]+10)*(F+2)>i[2]){if((i[1]+10)*(L+2)>i[3]-80){break}else{L++;F=0}}else{F++}}c(i[2],i[3])}else{l("RSS feed has 0 entries that contain title,link and image.")}}function h(){if(e.getRenderingMode()=="flash"){return}e.onPlaylistItem(q);e.onComplete(z);n(x,o);x.onclick=d;t=document.createElement("div");n(t,j);n(t,{background:"transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABKhJREFUeNrsWF1IY1cQvtGsVruSoCiKoqH+FVFvQClBxITimw/aLir4orCgxRfz5pOkqa9K1lSs+tCksKKomAgSlJImBRHqi0YRKihJ4y8oXuuu/z/TmXDvchH3p5uke6X3gyFzT85Jzndm5szMZRgZMmTIkCFDhoz/FwBAjfIM5bvHSkCJwgaDwd84jgOLxQI4vPSYCChQMq+vr394jUAdTk9Pwel0QklJCcTHx3/zGEh8jvLt1dXVKjwAsszY2Ngrq9X67FEQWVtbO4e34O7uDjY2NmBkZKRX8q6VmZkJZrMZDg4O3sYH1tfXoauryy51L2uOi4sDnU4Xio2TkxNwuVwwODgINzc3ISKXl5ehsZycnJeR+tPYKBDx3d7eBra3tw2zs7OfraysMKgzAwMDDF4CTFVVFRMbG8skJCQwaLXSxcVFNa6ZC/dPlVGyyi8o3uPjY83U1JRCqVQSCcDnL30+348syz5Rq9WMVquluVopxMRTlHKUr1G+QlG9Z36G2+3+ldzr4uICJicnKb94IrGXmDDXF+OG3Pjp3tra+qO9vf34PRu7zsrK+pMUhUIRcrFIIVwi15g3TklJSkpiCgoKSFW/Y74KA72CFIwj5uzsTDJEuL29vU2BSHl5OZOXl0c+zz7gVvEYJyXZ2dmhmDg/P2d2d3clkzeejo6O/oSnG7pW8YQBgxuQjI9OXzTvCYoBb689IZesrq5CZWVlxGIkbNTU1Jimp6ffJDt0NcDsDg6H43d8bEJ5jvIz5pBdYc7R0RH09vYSCekQSU9P/6Kpqekl5gv4EJDV6LZKS0sTKmJWMqk8MTHRgDkBMAG+kwRZor+/H5KTkwVr2KRYmthUKhU0NjbCzMwMbG5uwv7+PmBAh+JheHgYKioqAK9cgYRfHEdSgop3FfhAYRkZMmSIk6ceJWo5I+a/JOP1eg3RSoAx/+JEWRQLvUdAWeLHLHyK8KPU8mPNKCZ+jGB54LeaRd/TZw5vMZNoTq34OZIWoarWiE2RNzc3V9PZ2cnRGJbjLzAZajiOox6cyGiwgfoeC0hvfn5+AGGsr6+/T8bY1tbmxbUBbIc1VqvV29DQQC2AEdtfYfMtPT09VGCaIu7jHo9HyAF0gp7Dw0M/jZFOlqquriZrmfgXchw/z4SAvr6+Dn49zVW1trZyc3NzDrIIfU8bRt3W0dFBC2gdpKamkhs2R6vV9aL8RUp3d7dmeXmZVPJ9hvSJiQkDWoQe7cI8wvz8fF1paSmTkpJClg2YzWbv+Pi4lvoSEV4YjcYW7O+dWBU4saevw7G6aAe702AwMDs7O0bcoNFut1MvUqfT6ZZbWloYvV5/TL5PLrKwsOB801IWF5O7BIqKigxDQ0OBjIwMjfAduppPo9EsY6epRbcSDuPvaLmWh39WYVPlEF4k4ulSHPiDwaAFS3jw+0OxzOEa8nH/PdfyCIFOv2Gz2UCIBboI6K0kX4vVRusG1d+7PlV8BSvERLMQE6g7+M1wIj8Xr/eIikebUAnTepfLJaz7pIlPIGL6iLVkYa6srMz2yUt8igt+Ix9DhC0sLFwSbjwpVCQ5YWyElQoJGTJkSBD/CDAA0ma8tkQpWYgAAAAASUVORK5CYII=)"});t.onclick=y;x.appendChild(t);g=document.createElement("div");n(g,j);n(g,{background:"transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA0xJREFUeNrsVz1IW1EUjtKtQyh0yRQr2kFCIlHB7cUMBhpCXKKY5UVBnfwZWgUppFvHOEUkg84ucXBxeg1ChiKmUCQ0EV+K1Q4BnyKImujtOem95fp8pvTHeIX7weHlnXNeON+955x7rs0mISEhISEhISEh0UgQQoIgOyBvfuPnBvkM8lZEEiHCYWpqioA6buHnrVQqVeY3MzODfglhiFxfX1eICX19fRikypF4fnV1VTX7oQnELgSR9fX198QC/f39p2D2wM+nZ2dnJbN9aGiIEVFE2RRlcHCQwIrfIjMxMVG+vLz8aNZHIhFGQigimBqK1+vNn5yckHo4Pz8n4McI5EQicYNQR0fHzt7eniWJ3d1d4na7eRJ2m8Cw+/3+L1ZEVFV9NCSwOz07PDwsWhEBPenu7r7RzUQl8bJarX6tVyMXFxckEAgUhN0RiNEP58mNtgUtl8RiMbK/v3+L0MjIiC4cGYjrlTlQbMVdXV21mnA6neTo6OguMuIAVv67Ocienh5W2Bis4nK5vlmlmlDnyNLS0ms+uPHxcRaggSc7dfOEQqFT3m92dla8AxGCJNvb23xwKGGTnxoMBkmhUCDz8/O8n1C1kuACs5x+KeImv4RNQkLiUd3ZNZAHaaPN//sPfT7fh4c4E5r/YfXjIAY91xJ17CjTnD5Bv9FBwlRnp7tJ6NPTqBTCO7gOc9Rya2uroes66e3txQA1RVHI5OTktNlOdQoI3kMSeC+Zm5vDUz8MujQckEhWQ30+n89x08C9EolvbGyk6QzlpKJDMDoSWV1d1Xg7+gOIgkbYoVwuhys/3dbWhsEjQTzp9a2tLYPtDOjTfxLTk78lk81mB+DxDgTvHs6mpqYX7e3tGry3mO3sm0wm40P74uJiaXh4eKFYLJbgu07QLYyNjbWwMqPPgUbUyBrcMWywwLX8xndN036NI5ubm7wddysGxNZGR0cxuBWHw9GZTCYXjo+PMfhP+D00iRrRaDS6kkqlShyhe08v1TB+1vrBwcEy3sGBDKZPbZLFdKJ2A1IG7TpNLVbUBqQgNgl08pTL5RxrApFIBPVaI7ueSsd0fvDTuPYbp3aDGyDt1IeN+Ozu7uH0ekOKXUJCQkJCguKHAAMAvduPUQLB93IAAAAASUVORK5CYII=)"});g.onclick=d;x.appendChild(g);w=document.createElement("div");if(u.heading){w.innerHTML=u.heading}else{w.innerHTML="Watch related videos"}n(w,p);x.appendChild(w);v=document.createElement("div");x.appendChild(v);n(v,{position:"absolute"})}e.onReady(h);this.resize=function(F,D){if(e.getRenderingMode()=="flash"){return}if(!i){i=[140,80,F,D,0,0];if(u.dimensions){var G=u.dimensions.split("x");for(var E=0;E<2;E++){i[E]=Number(G[E])}}}c(F,D)};function c(E,D){n(x,{height:D+"px",width:E+"px"});n(g,{left:(E-50)+"px"});n(v,{left:Math.round(E/2-i[4]/2)+"px",top:Math.round(D/2-i[5]/2)+"px"});n(w,{left:Math.round(E/2-i[4]/2)+"px",width:i[4]+"px",top:Math.round(D/2-i[5]/2-30)+"px"})}function y(D){e.seek(0)}function n(D,E){for(var F in E){D.style[F]=E[F]}}};a().registerPlugin("related",b,"./related.swf")})(jwplayer);(function(a){if(a.related){return}a.related={};a.related.thumb=function(f,h,n,p){var c;var e={border:"1px solid #000",webkitBoxShadow:"0 0 4px #000",MozBoxShadow:"0 0 4px #000",msBoxShadow:"0 0 4px #000",boxShadow:"0 0 4px #000",backgroundColor:"#000",backgroundSize:"cover",position:"absolute",textDecoration:"none",display:"block",margin:"0 0 0 0",padding:"0 0 0 0"};var k;var o={psition:"absolute",left:"0px",top:"0px",border:"none",margin:"0 0 0 0",padding:"0 0 0 0"};var m;var j={backgroundColor:"rgba(0,0,0,0.8)",left:"0px",position:"absolute",border:"none",color:"#FFF",display:"block",font:"12px/26px Arial,sans-serif",overflow:"hidden",margin:"0 0 0 0",textAlign:"center",textDecoration:"none",textTransform:"none",padding:"0 0 0 0",height:"26px"};function g(q){d(c,{border:"1px solid #FFF",webkitBoxShadow:"0 0 4px #FFF",MozBoxShadow:"0 0 4px #FFF",msBoxShadow:"0 0 4px #FFF",boxShadow:"0 0 4px #FFF"})}function l(q){d(c,{border:"1px solid #000",webkitBoxShadow:"0 0 4px #000",MozBoxShadow:"0 0 4px #000",msBoxShadow:"0 0 4px #000",boxShadow:"0 0 4px #000"})}function b(q){p(n)}function i(){c=document.createElement("div");c.onclick=b;c.onmouseout=l;c.onmouseover=g;d(c,e);d(c,{backgroundImage:"url("+n.image+")",width:(f-2)+"px",height:(h-2)+"px"});k=document.createElement("img");k.setAttribute("src","data:image/png;base64,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");d(k,o);d(k,{width:f-2+"px",height:h-20+"px"});c.appendChild(k);m=document.createElement("div");m.innerHTML=n.title;d(m,j);d(m,{top:(h-28)+"px",width:(f-2)+"px"});c.appendChild(m);return c}function d(q,r){for(var s in r){q.style[s]=r[s]}}return i()}})(jwplayer); 
  • plugins/related/src/as/Related.as

    r1944 r1957  
    6363        private function _backHandler(evt:MouseEvent):void { hide(); }; 
    6464 
     65 
     66        /** A thumbnail is clicked. **/ 
     67        private function _clickHandler(item:Object):void { 
     68            if(_config.onclick == 'play') { 
     69                _player.load(item); 
     70                _player.play(); 
     71            } else { 
     72                navigateToURL(new URLRequest(item.link),'_top'); 
     73            } 
     74        }; 
    6575 
    6676        /** Display the related items on complete. **/ 
     
    202212            var related:Array = new Array(); 
    203213            for (var i:Number = 0; i < rss.length; i++) { 
    204                 if(rss[i].image && rss[i].link && rss[i].title) { 
    205                     var entry:Object = { 
    206                         image: rss[i].image, 
    207                         link: rss[i].link 
    208                     } 
    209                     if(_config.titles !== false) {  
    210                         entry.title = rss[i].title 
    211                     } 
    212                     related.push(entry); 
     214                if(rss[i].image && rss[i].title && ( 
     215                    (_config.onclick == 'play' && rss[i].file) ||  
     216                    (_config.onclick != 'play' && rss[i].link))) { 
     217                    related.push(rss[i]); 
    213218                } 
    214219            } 
     
    220225                        _dimensions[0], 
    221226                        _dimensions[1], 
    222                         related[j].image, 
    223                         related[j].link, 
    224                         related[j].title 
     227                        related[j], 
     228                        _clickHandler 
    225229                    ); 
    226230                    thumb.x = (_dimensions[0]+10) * col; 
    227231                    thumb.y = (_dimensions[1]+10) * row; 
    228232                    _grid.addChild(thumb); 
    229                     if(col == _dimensions[2]-1 ||  
    230                         (_dimensions[0]+10)*(col+2) > _dimensions[4]) { 
    231                         if(row == _dimensions[3]-1 ||  
    232                             (_dimensions[1]+10)*(row+2) > _dimensions[5]-40) { 
     233                    if((_dimensions[0]+10)*(col+2) > _dimensions[2]) { 
     234                        if((_dimensions[1]+10)*(row+2) > _dimensions[3]-80) { 
    233235                            break; 
    234236                        } else { 
     
    240242                    } 
    241243                } 
    242                 resize(_dimensions[4],_dimensions[5]); 
     244                resize(_dimensions[2],_dimensions[3]); 
    243245            } else { 
    244246                _errorHandler(new ErrorEvent(ErrorEvent.ERROR,false,false, 
     
    266268            _heading.x = Math.round(width/2 - _heading.width/2); 
    267269            // Store thumb dimensions on first resize. 
    268             _dimensions = [140,80,5,2,width,height]; 
     270            _dimensions = [140,80,width,height]; 
    269271            if(_config.dimensions) { 
    270                 var dim:Array = _config.dimensions.split(','); 
    271                 for(var i:Number=0; i<dim.length; i++) {  
     272                var dim:Array = _config.dimensions.split('x'); 
     273                for(var i:Number=0; i<2; i++) { 
    272274                    _dimensions[i] = Number(dim[i]); 
    273275                } 
  • plugins/related/src/as/RelatedThumb.as

    r1944 r1957  
    2121        /** Background for the entire thumb. **/ 
    2222        private var _back:Sprite; 
    23         /** The link to redirect to. **/ 
    24         private var _link:String; 
     23        /** The handler to report clicks to. **/ 
     24        private var _click:Function; 
     25        /** The related item that was loaded. **/ 
     26        private var _item:Object; 
    2527        /** Container that imports the preview thumbnail **/ 
    2628        private var _loader:Loader; 
     
    4244 
    4345        /** Constructor. **/ 
    44         public function RelatedThumb(width:Number,height:Number,image:String,link:String,title:String=null) { 
     46        public function RelatedThumb(width:Number,height:Number,item:Object,click:Function) { 
    4547            _width = width; 
    4648            _height = height; 
    47             _link = link; 
     49            _item = item; 
     50            _click = click; 
    4851            _back = new Sprite(); 
    4952            _back.graphics.beginFill(0,1); 
     
    5356            _loader = new Loader(); 
    5457            _loader.contentLoaderInfo.addEventListener(Event.COMPLETE,_loaderHandler); 
    55             _loader.load(new URLRequest(image)); 
     58            _loader.load(new URLRequest(item.image)); 
    5659            addChild(_loader); 
    5760            _mask = new Sprite(); 
     
    6669            _glow.scaleY = _glow.scaleX; 
    6770            addChild(_glow); 
    68             if(title) { 
    69                 _overlay = new Sprite(); 
    70                 _overlay.graphics.beginFill(0,0.8); 
    71                 _overlay.graphics.drawRect(1,height-27,width-2,26); 
    72                 addChild(_overlay); 
    73                 _field = new TextField(); 
    74                 _field.height = 20; 
    75                 _field.width = width-10; 
    76                 _field.x = 5; 
    77                 _field.y = height-22; 
    78                 _format = new TextFormat('Arial', 12, 0xFFFFFF); 
    79                 _format.align = 'center'; 
    80                 _field.defaultTextFormat = _format; 
    81                 _field.selectable = false; 
    82                 _field.text = title; 
    83                 addChild(_field); 
    84             } 
     71            _overlay = new Sprite(); 
     72            _overlay.graphics.beginFill(0,0.8); 
     73            _overlay.graphics.drawRect(1,height-27,width-2,26); 
     74            addChild(_overlay); 
     75            _field = new TextField(); 
     76            _field.height = 20; 
     77            _field.width = width-10; 
     78            _field.x = 5; 
     79            _field.y = height-22; 
     80            _format = new TextFormat('Arial', 12, 0xFFFFFF); 
     81            _format.align = 'center'; 
     82            _field.defaultTextFormat = _format; 
     83            _field.selectable = false; 
     84            _field.text = item.title; 
     85            addChild(_field); 
    8586            buttonMode = true; 
    8687            mouseChildren = false; 
     
    9293 
    9394        /** Redirect on thumb click. **/ 
    94         private function _clickHandler(event:MouseEvent):void {  
    95             navigateToURL(new URLRequest(_link),'_top'); 
     95        private function _clickHandler(event:MouseEvent):void { 
     96            _click(_item); 
    9697        }; 
    9798 
  • plugins/related/src/js/related.js

    r1944 r1957  
    8787 
    8888 
     89        /** Link or play when a thumb is clicked. **/ 
     90        function _click(item) { 
     91            if(_options.onclick == 'play') {  
     92                _player.load(item); 
     93                _player.play(); 
     94            } else { 
     95                window.top.location = item.link; 
     96            } 
     97        }; 
     98 
     99 
    89100        /** Display the related items on complete. **/ 
    90101        function _complete(event) { 
     
    164175            } 
    165176            for (var i=0; i < rss.length; i++) { 
    166                 if(rss[i].image && rss[i].link && rss[i].title) { 
    167                     var obj = { link: rss[i].link, image: rss[i].image }; 
    168                     if(_options.titles !== false) {  
    169                         obj.title = rss[i].title; 
    170                     } 
    171                     related.push(obj); 
     177                if(rss[i].image && rss[i].title && ( 
     178                    (_options.onclick == 'play' && rss[i].file) ||  
     179                    (_options.onclick != 'play' && rss[i].link))) { 
     180                    related.push(rss[i]); 
    172181                } 
    173182            } 
     
    176185                var col = 0; 
    177186                var row = 0; 
     187                _dimensions[4] = 0; 
     188                _dimensions[5] = 0; 
    178189                for(var j = 0; j < related.length; j++) { 
    179190                    // Append new thumb to grid. 
     
    181192                        _dimensions[0], 
    182193                        _dimensions[1], 
    183                         related[j].image, 
    184                         related[j].link, 
    185                         related[j].title 
     194                        related[j], 
     195                        _click 
    186196                    ); 
    187197                    _grid.appendChild(thumb); 
     
    191201                    }); 
    192202                    // Store the new grid width and height 
    193                     _dimensions[6] = Math.max(_dimensions[6],_dimensions[0]*(col+1)+10*col) 
    194                     _dimensions[7] = Math.max(_dimensions[7],_dimensions[1]*(row+1)+10*row) 
     203                    _dimensions[4] = Math.max(_dimensions[4],_dimensions[0]*(col+1)+10*col) 
     204                    _dimensions[5] = Math.max(_dimensions[5],_dimensions[1]*(row+1)+10*row) 
    195205                    // Calculate column/row wrapping. 
    196                     if(col == _dimensions[2]-1 ||  
    197                         (_dimensions[0]+10)*(col+2) > _dimensions[4]) { 
    198                         if(row == _dimensions[3]-1 ||  
    199                             (_dimensions[1]+10)*(row+2) > _dimensions[5]-40) { 
     206                    if((_dimensions[0]+10)*(col+2) > _dimensions[2]) { 
     207                        if((_dimensions[1]+10)*(row+2) > _dimensions[3]-80) { 
    200208                            break; 
    201209                        } else { 
     
    207215                    } 
    208216                } 
    209                 _reposition(_dimensions[4],_dimensions[5]); 
     217                _reposition(_dimensions[2],_dimensions[3]); 
    210218            } else { 
    211219                _error("RSS feed has 0 entries that contain title,link and image."); 
     
    250258            if(_player.getRenderingMode() == 'flash') { return; } 
    251259            if(!_dimensions) { 
    252                 _dimensions = [140,80,5,2,width,height,0,0]; 
     260                _dimensions = [140,80,width,height,0,0]; 
    253261                if(_options.dimensions) { 
    254                     var dim = _options.dimensions.split(','); 
    255                     for(var i=0; i<4; i++) { 
     262                    var dim = _options.dimensions.split('x'); 
     263                    for(var i=0; i<2; i++) { 
    256264                        _dimensions[i] = Number(dim[i]); 
    257265                    } 
     
    270278            _style(_close,{left: (width-50)+'px'}); 
    271279            _style(_grid,{ 
    272                 left: Math.round(width/2 - _dimensions[6]/2)+'px', 
    273                 top: Math.round(height/2 - _dimensions[7]/2)+'px' 
     280                left: Math.round(width/2 - _dimensions[4]/2)+'px', 
     281                top: Math.round(height/2 - _dimensions[5]/2)+'px' 
    274282            }); 
    275283            _style(_heading,{ 
    276                 left: Math.round(width/2 - _dimensions[6]/2)+'px', 
    277                 width: _dimensions[6]+'px', 
    278                 top: Math.round(height/2 - _dimensions[7]/2 - 30)+'px' 
     284                left: Math.round(width/2 - _dimensions[4]/2)+'px', 
     285                width: _dimensions[4]+'px', 
     286                top: Math.round(height/2 - _dimensions[5]/2 - 30)+'px' 
    279287            }); 
    280288        }; 
  • plugins/related/src/js/related.thumb.js

    r1944 r1957  
    77    if(jwplayer.related) { return; } 
    88    jwplayer.related = {}; 
    9     jwplayer.related.thumb = function(_width,_height,_image,_link,_title) { 
     9    jwplayer.related.thumb = function(_width,_height,_item,_handler) { 
    1010 
    1111 
     
    8383 
    8484 
     85        /** Call the click handler when thumb is clicked. **/ 
     86        function _click(event) { 
     87            _handler(_item); 
     88        }; 
     89 
     90 
    8591        /** Create all elements. **/ 
    8692        function _setup() {  
    87             _back = document.createElement("a"); 
    88             _back.setAttribute('href',_link); 
    89             _back.setAttribute('target','_top'); 
     93            _back = document.createElement("div"); 
     94            _back.onclick = _click; 
    9095            _back.onmouseout = _out; 
    9196            _back.onmouseover = _over; 
    9297            _style(_back,_backStyle); 
    9398            _style(_back,{ 
    94                 backgroundImage: 'url('+_image+')', 
     99                backgroundImage: 'url('+_item.image+')', 
    95100                width: (_width-2)+'px', 
    96101                height: (_height-2)+'px' 
     
    104109            }); 
    105110            _back.appendChild(_glow); 
    106             if(_title) {  
    107                 _text = document.createElement('div'); 
    108                 _text.innerHTML = _title; 
    109                 _style(_text,_textStyle); 
    110                 _style(_text,{ 
    111                     top: (_height-28) + 'px', 
    112                     width: (_width-2) + 'px' 
    113                 }); 
    114                 _back.appendChild(_text); 
    115             } 
     111            _text = document.createElement('div'); 
     112            _text.innerHTML = _item.title; 
     113            _style(_text,_textStyle); 
     114            _style(_text,{ 
     115                top: (_height-28) + 'px', 
     116                width: (_width-2) + 'px' 
     117            }); 
     118            _back.appendChild(_text); 
    116119            return _back; 
    117120        } 
  • plugins/related/test/assets/blender.xml

    r1940 r1957  
    1 <rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/"> 
     1<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/"  
     2    xmlns:jwplayer="http://developer.longtailvideo.com/trac/wiki/FlashFormats"> 
    23        <channel> 
    34                <item> 
    45                        <title>Big Buck Bunny</title> 
    56                        <link>http://content.bitsontherun.com/previews/ntPYsD4L-ALJ3XQCI</link> 
    6                         <media:thumbnail url="http://content.bitsontherun.com/thumbs/ntPYsD4L-320.jpg" /> 
     7                        <media:content url="http://content.bitsontherun.com/videos/ntPYsD4L.mp4" /> 
     8                        <media:thumbnail url="http://content.bitsontherun.com/thumbs/ntPYsD4L.jpg" /> 
     9                        <jwplayer:related.file>assets/blender.xml</jwplayer:related.file> 
    710                </item> 
    811                <item> 
    912                        <title>Elephants Dream</title> 
    1013                        <link>http://content.bitsontherun.com/previews/LJSVMnCF-ALJ3XQCI</link> 
    11                         <media:thumbnail url="http://content.bitsontherun.com/thumbs/LJSVMnCF-320.jpg" /> 
     14                        <media:content url="http://content.bitsontherun.com/videos/LJSVMnCF.mp4" /> 
     15                        <media:thumbnail url="http://content.bitsontherun.com/thumbs/LJSVMnCF.jpg" /> 
     16                        <jwplayer:related.file>assets/blender.xml</jwplayer:related.file> 
    1217                </item> 
    1318                <item> 
    1419                        <title>Sintel</title> 
    1520                        <link>http://content.bitsontherun.com/previews/r3ABWwdO-ALJ3XQCI</link> 
    16                         <media:thumbnail url="http://content.bitsontherun.com/thumbs/r3ABWwdO-320.jpg" /> 
     21                        <media:content url="http://content.bitsontherun.com/videos/r3ABWwdO.mp4" /> 
     22                        <media:thumbnail url="http://content.bitsontherun.com/thumbs/r3ABWwdO.jpg" /> 
     23                        <jwplayer:related.file>assets/screencasts.xml</jwplayer:related.file> 
    1724                </item> 
    1825        </channel> 
  • plugins/related/test/assets/heineken.xml

    r1940 r1957  
    8888        <media:thumbnail url="http://i.ytimg.com/vi/ozWu3lzE8d0/0.jpg" height="90" width="120" time="00:01:26"/> 
    8989    </item> 
    90     <item> 
    91         <title>Northampton Saints vs Perpignan - Heineken Cup semi final - 2011</title> 
    92         <link>http://www.youtube.com/watch?v=Olqz6eIUL_Y&amp;feature=youtube_gdata</link> 
    93         <media:thumbnail url="http://i.ytimg.com/vi/Olqz6eIUL_Y/0.jpg" height="90" width="120" time="00:02:47.500"/> 
    94     </item> 
    95     <item> 
    96         <title>Heineken Open Design Explorations</title> 
    97         <link>http://www.youtube.com/watch?v=zsszRzTPft4&amp;feature=youtube_gdata</link> 
    98         <media:thumbnail url="http://i.ytimg.com/vi/zsszRzTPft4/0.jpg" height="90" width="120" time="00:00:50.500"/> 
    99     </item> 
    10090</channel> 
    10191</rss> 
  • plugins/related/test/assets/screencasts.xml

    r1944 r1957  
    1 <rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/"> 
     1<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/" xmlns:jwplayer="http://developer.longtailvideo.com/trac/wiki/FlashFormats"> 
    22        <channel> 
    33                <item> 
    44                    <title>Uploading videos</title> 
    55                        <link>http://content.bitsontherun.com/previews/sFLjZ5Ne-izMKc5WX</link> 
    6                         <media:thumbnail url="http://content.bitsontherun.com/thumbs/sFLjZ5Ne-320.jpg" /> 
     6                        <media:content url="http://content.bitsontherun.com/videos/sFLjZ5Ne.mp4" /> 
     7                        <media:thumbnail url="http://content.bitsontherun.com/thumbs/sFLjZ5Ne.jpg" /> 
     8                        <jwplayer:related.file>assets/screencasts.xml</jwplayer:related.file> 
    79                </item> 
    810                <item> 
    911                    <title>Creating playlists</title> 
    1012                        <link>http://content.bitsontherun.com/previews/WhmFbPBE-izMKc5WX</link> 
    11                         <media:thumbnail url="http://content.bitsontherun.com/thumbs/WhmFbPBE-320.jpg" /> 
     13                        <media:content url="http://content.bitsontherun.com/videos/WhmFbPBE.mp4" /> 
     14                        <media:thumbnail url="http://content.bitsontherun.com/thumbs/WhmFbPBE.jpg" /> 
     15                        <jwplayer:related.file>assets/screencasts.xml</jwplayer:related.file> 
    1216                </item> 
    1317                <item> 
    1418                    <title>Building players</title> 
    1519                        <link>http://content.bitsontherun.com/previews/f3oBo7sS-izMKc5WX</link> 
    16                         <media:thumbnail url="http://content.bitsontherun.com/thumbs/f3oBo7sS-320.jpg" /> 
     20                        <media:content url="http://content.bitsontherun.com/videos/f3oBo7sS.mp4" /> 
     21                        <media:thumbnail url="http://content.bitsontherun.com/thumbs/f3oBo7sS.jpg" /> 
     22                        <jwplayer:related.file>assets/screencasts.xml</jwplayer:related.file> 
    1723                </item> 
    1824                <item> 
    1925                    <title>Video Analytics</title> 
    2026                        <link>http://content.bitsontherun.com/previews/erpBm96r-izMKc5WX</link> 
    21                         <media:thumbnail url="http://content.bitsontherun.com/thumbs/erpBm96r-320.jpg" /> 
     27                        <media:content url="http://content.bitsontherun.com/videos/erpBm96r.mp4" /> 
     28                        <media:thumbnail url="http://content.bitsontherun.com/thumbs/erpBm96r.jpg" /> 
     29                        <jwplayer:related.file>assets/screencasts.xml</jwplayer:related.file> 
    2230                </item> 
    2331                <item> 
    2432                    <title>Reseller overview</title> 
    2533                        <link>http://content.bitsontherun.com/previews/yDtLAunz-izMKc5WX</link> 
    26                         <media:thumbnail url="http://content.bitsontherun.com/thumbs/yDtLAunz-320.jpg" /> 
     34                        <media:content url="http://content.bitsontherun.com/videos/yDtLAunz.mp4" /> 
     35                        <media:thumbnail url="http://content.bitsontherun.com/thumbs/yDtLAunz.jpg" /> 
     36                        <jwplayer:related.file>assets/blender.xml</jwplayer:related.file> 
    2737                </item> 
    2838        </channel> 
  • plugins/related/test/basic.html

    r1938 r1957  
    1 <html> 
     1<!DOCTYPE html> 
     2<html lang="en"> 
    23<head> 
    34 
  • plugins/related/test/compatibility.html

    r1938 r1957  
    1 <html> 
     1<!DOCTYPE html> 
     2<html lang="en"> 
    23<head> 
    34 
  • plugins/related/test/css.html

    r1944 r1957  
    1 <html> 
     1<!DOCTYPE html> 
     2<html lang="en"> 
    23<head> 
    34 
  • plugins/related/test/dimensions.html

    r1944 r1957  
    1 <html> 
     1<!DOCTYPE html> 
     2<html lang="en"> 
    23<head> 
    34 
     
    2324function reload(width,height,feed) { 
    2425    var dimensions = document.getElementById("dimWidth").value +  
    25         "," + document.getElementById("dimHeight").value + 
    26         "," + document.getElementById("dimCols").value + 
    27         "," + document.getElementById("dimRows").value; 
     26        "x" + document.getElementById("dimHeight").value; 
    2827    jwplayer("player").setup({ 
    2928        file: 'http://content.bitsontherun.com/videos/nPripu9l-327.mp4', 
     
    4645 
    4746<form> 
    48     <label>Width:</label><input type="text" id="dimWidth" value="140" /> 
    49     <label>Height:</label><input type="text" id="dimHeight" value="80" /> 
    50     <label>Cols:</label><input type="text" id="dimCols" value="5" /> 
    51     <label>Rows:</label><input type="text" id="dimRows" value="2" /> 
     47    <label>Thumb width:</label><input type="text" id="dimWidth" value="140" /> 
     48    <label>Thumb height:</label><input type="text" id="dimHeight" value="80" /> 
    5249</form> 
    5350 
     
    8380    The related videos overlay should look good in various dimensions.<br /> 
    8481    The larger the screen, the mover videos will fit.<br/> 
    85     There is a maximum of 3 rows and 5 columns. 
     82    The dimensions of a thumb can be changed to tweak the looks. 
    8683</p> 
    8784 
  • plugins/related/test/errors.html

    r1944 r1957  
    1 <html> 
     1<!DOCTYPE html> 
     2<html lang="en"> 
    23<head> 
    34 
     
    2829            '../related.js': { 
    2930                file: feed, 
     31                onclick: 'play' 
    3032            } 
    3133        }, 
  • plugins/related/test/index.html

    r1944 r1957  
    1 <html> 
     1<!DOCTYPE html> 
     2<html lang="en"> 
    23<head> 
    34 
  • plugins/related/test/modes.html

    r1940 r1957  
    1 <html> 
     1<!DOCTYPE html> 
     2<html lang="en"> 
    23<head> 
    34 
     
    2728        plugins: { 
    2829            '../related.js': { 
    29                 file: 'assets/blender.xml' 
     30                file: 'assets/blender.xml', 
     31                onclick: 'play' 
    3032            } 
    3133        }, 
  • plugins/related/test/options.html

    r1944 r1957  
    1 <html> 
     1<!DOCTYPE html> 
     2<html lang="en"> 
    23<head> 
    34 
     
    1920 
    2021<script type="text/javascript"> 
    21 function reload(oncomplete,usedock,titles,heading) { 
     22function reload(oncomplete,usedock,onclick,heading) { 
    2223    jwplayer("player").setup({ 
    2324        file: 'http://content.bitsontherun.com/videos/nPripu9l-327.mp4', 
     
    2930                file: 'assets/blender.xml', 
    3031                oncomplete: oncomplete, 
    31                 titles: titles, 
     32                onclick: onclick, 
    3233                usedock: usedock, 
    3334                heading: heading 
     
    4142 
    4243<ul> 
    43     <li><a href="javascript:reload(true,true,true,'Watch related videos');">Oncomplete + dock enabled</a></li> 
    44     <li><a href="javascript:reload(true,false,true,'Watch some additional related videos');">Only oncomplete, long heading</a></li> 
    45     <li><a href="javascript:reload(false,true,true,'لوحة ال٠
     44    <li><a href="javascript:reload(true,true,'link','Watch related videos');">Oncomplete and dock enabled</a></li> 
     45    <li><a href="javascript:reload(true,false,'link','Watch some additional related videos');">Only oncomplete, long heading</a></li> 
     46    <li><a href="javascript:reload(false,true,'link','لوحة ال٠
    4647فاتيح العرؚية');">Only the dock, arab heading</a></li> 
    47     <li><a href="javascript:reload(false,true,false,'لوحة ال٠
    48 ÙØ§ØªÙŠØ­ العرؚية');">Only the dock, no thumb titles</a></li> 
     48    <li><a href="javascript:reload(true,true,'play',' ');">Onclick set to play, empty heading</a></li> 
    4949</ul> 
    5050 
     
    5353    The oncomplete option (true/false) determines whether related thumbs are shown at the end of the video.<br /> 
    5454    The usedock option (true/false) determines whether a related dock button is shown.<br/> 
    55     A custom heading replaces the default <em>Watch more videos</em>. 
     55    A custom heading replaces the default <em>Watch more videos</em>.<br/> 
     56    When the onclick is set to <em>play</em>, related videos play inline instead of getting linked off.<br/> 
    5657</p> 
    5758 
  • plugins/related/test/playlist.html

    r1940 r1957  
    1 <html> 
     1<!DOCTYPE html> 
     2<html lang="en"> 
    23<head> 
    34 
     
    2728        width: 880 
    2829    }; 
    29     if(typeof(list) == 'string') {  
     30    if(typeof(list) == 'string') { 
    3031        options.file = list; 
    3132    } else { 
Note: See TracChangeset for help on using the changeset viewer.