



<!DOCTYPE html>
<html>
<head>
 <link rel="icon" type="image/vnd.microsoft.icon" href="http://www.gstatic.com/codesite/ph/images/phosting.ico">
 
 
 <script type="text/javascript">
 
 
 
 
 var codesite_token = "322f845bf4d7b40b65c442d6f1a3b1ba";
 
 
 var CS_env = {"assetHostPath":"http://www.gstatic.com/codesite/ph","projectName":"flowplayer-core","projectHomeUrl":"/p/flowplayer-core","urlPrefix":"p","domainName":null,"relativeBaseUrl":"","profileUrl":["/u/@VhVQQ1BWDxREXQN5/"],"token":"322f845bf4d7b40b65c442d6f1a3b1ba","assetVersionPath":"http://www.gstatic.com/codesite/ph/16068301655475685827","absoluteBaseUrl":"http://code.google.com","loggedInUserEmail":"losdemar@gmail.com"};
 var _gaq = _gaq || [];
 _gaq.push(
 ['siteTracker._setAccount', 'UA-18071-1'],
 ['siteTracker._trackPageview']);
 
 _gaq.push(
 ['projectTracker._setAccount', 'UA-5877901-1'],
 ['projectTracker._trackPageview']);
 
 
 </script>
 
 
 <title>flowplayer.ipad-3.2.2.min.js - 
 flowplayer-core -
 
 
 Flowplayer core - Google Project Hosting
 </title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" >
 
 <meta name="ROBOTS" content="NOARCHIVE">
 
 <link type="text/css" rel="stylesheet" href="http://www.gstatic.com/codesite/ph/16068301655475685827/css/core.css">
 
 <link type="text/css" rel="stylesheet" href="http://www.gstatic.com/codesite/ph/16068301655475685827/css/ph_detail.css" >
 
 
 <link type="text/css" rel="stylesheet" href="http://www.gstatic.com/codesite/ph/16068301655475685827/css/d_sb.css" >
 
 
 
<!--[if IE]>
 <link type="text/css" rel="stylesheet" href="http://www.gstatic.com/codesite/ph/16068301655475685827/css/d_ie.css" >
<![endif]-->
 <style type="text/css">
 .menuIcon.off { background: no-repeat url(http://www.gstatic.com/codesite/ph/images/dropdown_sprite.gif) 0 -42px }
 .menuIcon.on { background: no-repeat url(http://www.gstatic.com/codesite/ph/images/dropdown_sprite.gif) 0 -28px }
 .menuIcon.down { background: no-repeat url(http://www.gstatic.com/codesite/ph/images/dropdown_sprite.gif) 0 0; }
 
 
 
  tr.inline_comment {
 background: #fff;
 vertical-align: top;
 }
 div.draft, div.published {
 padding: .3em;
 border: 1px solid #999; 
 margin-bottom: .1em;
 font-family: arial, sans-serif;
 max-width: 60em;
 }
 div.draft {
 background: #ffa;
 } 
 div.published {
 background: #e5ecf9;
 }
 div.published .body, div.draft .body {
 padding: .5em .1em .1em .1em;
 max-width: 60em;
 white-space: pre-wrap;
 white-space: -moz-pre-wrap;
 white-space: -pre-wrap;
 white-space: -o-pre-wrap;
 word-wrap: break-word;
 font-size: 1em;
 }
 div.draft .actions {
 margin-left: 1em;
 font-size: 90%;
 }
 div.draft form {
 padding: .5em .5em .5em 0;
 }
 div.draft textarea, div.published textarea {
 width: 95%;
 height: 10em;
 font-family: arial, sans-serif;
 margin-bottom: .5em;
 }

 
 .nocursor, .nocursor td, .cursor_hidden, .cursor_hidden td {
 background-color: white;
 height: 2px;
 }
 .cursor, .cursor td {
 background-color: darkblue;
 height: 2px;
 display: '';
 }
 
 
.list {
 border: 1px solid white;
 border-bottom: 0;
}

 
 </style>
</head>
<body class="t4">
<script type="text/javascript">
 (function() {
 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
 (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);
 })();
</script>
<div class="headbg">

 <div id="gaia">
 

 <span>
 
 
 <b>losdemar@gmail.com</b>
 
 
 | <a href="/u/@VhVQQ1BWDxREXQN5/" id="projects-dropdown" onclick="return false;"
 ><u>My favorites</u> <small>&#9660;</small></a>
 | <a href="/u/@VhVQQ1BWDxREXQN5/" onclick="_CS_click('/gb/ph/profile');"
 title="Profile, Updates, and Settings"
 ><u>Profile</u></a>
 | <a href="https://www.google.com/accounts/Logout?continue=http%3A%2F%2Fcode.google.com%2Fp%2Fflowplayer-core%2Fsource%2Fbrowse%2Fflowplayer%2Ftrunk%2Ftest%2Fflowplayer.ipad-3.2.2.min.js%3Fspec%3Dsvn655%26r%3D631" 
 onclick="_CS_click('/gb/ph/signout');"
 ><u>Sign out</u></a>
 
 </span>

 </div>

 <div class="gbh" style="left: 0pt;"></div>
 <div class="gbh" style="right: 0pt;"></div>
 
 
 <div style="height: 1px"></div>
<!--[if lte IE 7]>
<div style="text-align:center;">
Your version of Internet Explorer is not supported. Try a browser that
contributes to open source, such as <a href="http://www.firefox.com">Firefox</a>,
<a href="http://www.google.com/chrome">Google Chrome</a>, or
<a href="http://code.google.com/chrome/chromeframe/">Google Chrome Frame</a>.
</div>
<![endif]-->




 <table style="padding:0px; margin: 0px 0px 10px 0px; width:100%" cellpadding="0" cellspacing="0"
 itemscope itemtype="http://schema.org/CreativeWork">
 <tr style="height: 58px;">
 
 <td id="plogo">
 <link itemprop="url" href="/p/flowplayer-core">
 <a href="/p/flowplayer-core/">
 
 
 <img src="/p/flowplayer-core/logo?cct=1313483398"
 alt="Logo" itemprop="image">
 
 </a>
 </td>
 
 <td style="padding-left: 0.5em">
 
 <div id="pname">
 <a href="/p/flowplayer-core/"><span itemprop="name">flowplayer-core</span></a>
 </div>
 
 <div id="psum">
 <a id="project_summary_link"
 href="/p/flowplayer-core/"><span itemprop="description">Flowplayer core</span></a>
 
 </div>
 
 
 </td>
 <td style="white-space:nowrap;text-align:right; vertical-align:bottom;">
 
 <form action="/hosting/search">
 <input size="30" name="q" value="" type="text">
 
 <input type="submit" name="projectsearch" value="Search projects" >
 </form>
 
 </tr>
 </table>

</div>

 
<div id="mt" class="gtb"> 
 <a href="/p/flowplayer-core/" class="tab ">Project&nbsp;Home</a>
 
 
 
 
 <a href="/p/flowplayer-core/downloads/list" class="tab ">Downloads</a>
 
 
 
 
 
 <a href="/p/flowplayer-core/w/list" class="tab ">Wiki</a>
 
 
 
 
 
 <a href="/p/flowplayer-core/issues/list"
 class="tab ">Issues</a>
 
 
 
 
 
 <a href="/p/flowplayer-core/source/checkout"
 class="tab active">Source</a>
 
 
 
 
 
 <div class=gtbc></div>
</div>
<table cellspacing="0" cellpadding="0" width="100%" align="center" border="0" class="st">
 <tr>
 
 
 
 
 
 
 <td class="subt">
 <div class="st2">
 <div class="isf">
 
 


 <span class="inst1"><a href="/p/flowplayer-core/source/checkout">Checkout</a></span> &nbsp;
 <span class="inst2"><a href="/p/flowplayer-core/source/browse/">Browse</a></span> &nbsp;
 <span class="inst3"><a href="/p/flowplayer-core/source/list">Changes</a></span> &nbsp;
 
 <form action="http://www.google.com/codesearch" method="get" style="display:inline"
 onsubmit="document.getElementById('codesearchq').value = document.getElementById('origq').value + ' package:http://flowplayer-core\\.googlecode\\.com'">
 <input type="hidden" name="q" id="codesearchq" value="">
 <input type="text" maxlength="2048" size="38" id="origq" name="origq" value="" title="Google Code Search" style="font-size:92%">&nbsp;<input type="submit" value="Search Trunk" name="btnG" style="font-size:92%">
 
 
 
 </form>
 </div>
</div>

 </td>
 
 
 
 <td align="right" valign="top" class="bevel-right"></td>
 </tr>
</table>


<script type="text/javascript">
 var cancelBubble = false;
 function _go(url) { document.location = url; }
</script>
<div id="maincol"
 
>

 
<!-- IE -->




<div class="expand">
<div id="colcontrol">
<style type="text/css">
 #file_flipper { white-space: nowrap; padding-right: 2em; }
 #file_flipper.hidden { display: none; }
 #file_flipper .pagelink { color: #0000CC; text-decoration: underline; }
 #file_flipper #visiblefiles { padding-left: 0.5em; padding-right: 0.5em; }
</style>
<table id="nav_and_rev" class="list"
 cellpadding="0" cellspacing="0" width="100%">
 <tr>
 
 <td nowrap="nowrap" class="src_crumbs src_nav" width="33%">
 <strong class="src_nav">Source path:&nbsp;</strong>
 <span id="crumb_root">
 
 <a href="/p/flowplayer-core/source/browse/?r=631">svn</a>/&nbsp;</span>
 <span id="crumb_links" class="ifClosed"><a href="/p/flowplayer-core/source/browse/flowplayer/?r=631">flowplayer</a><span class="sp">/&nbsp;</span><a href="/p/flowplayer-core/source/browse/flowplayer/trunk/?r=631">trunk</a><span class="sp">/&nbsp;</span><a href="/p/flowplayer-core/source/browse/flowplayer/trunk/test/?r=631">test</a><span class="sp">/&nbsp;</span>flowplayer.ipad-3.2.2.min.js</span>
 
 

 </td>
 
 
 <td nowrap="nowrap" width="33%" align="right">
 <table cellpadding="0" cellspacing="0" style="font-size: 100%"><tr>
 
 
 <td class="flipper"><b>r631</b></td>
 
 </tr></table>
 </td> 
 </tr>
</table>

<div class="fc">
 
 
 
<style type="text/css">
.undermouse span {
 background-image: url(http://www.gstatic.com/codesite/ph/images/comments.gif); }
</style>
<table class="opened" id="review_comment_area"
><tr>
<td id="nums">
<pre><table width="100%"><tr class="nocursor"><td></td></tr></table></pre>
<pre><table width="100%" id="nums_table_0"><tr id="gr_svn631_1"

><td id="1"><a href="#1">1</a></td></tr
><tr id="gr_svn631_2"

><td id="2"><a href="#2">2</a></td></tr
><tr id="gr_svn631_3"

><td id="3"><a href="#3">3</a></td></tr
><tr id="gr_svn631_4"

><td id="4"><a href="#4">4</a></td></tr
><tr id="gr_svn631_5"

><td id="5"><a href="#5">5</a></td></tr
><tr id="gr_svn631_6"

><td id="6"><a href="#6">6</a></td></tr
><tr id="gr_svn631_7"

><td id="7"><a href="#7">7</a></td></tr
><tr id="gr_svn631_8"

><td id="8"><a href="#8">8</a></td></tr
><tr id="gr_svn631_9"

><td id="9"><a href="#9">9</a></td></tr
><tr id="gr_svn631_10"

><td id="10"><a href="#10">10</a></td></tr
><tr id="gr_svn631_11"

><td id="11"><a href="#11">11</a></td></tr
><tr id="gr_svn631_12"

><td id="12"><a href="#12">12</a></td></tr
><tr id="gr_svn631_13"

><td id="13"><a href="#13">13</a></td></tr
><tr id="gr_svn631_14"

><td id="14"><a href="#14">14</a></td></tr
><tr id="gr_svn631_15"

><td id="15"><a href="#15">15</a></td></tr
><tr id="gr_svn631_16"

><td id="16"><a href="#16">16</a></td></tr
><tr id="gr_svn631_17"

><td id="17"><a href="#17">17</a></td></tr
><tr id="gr_svn631_18"

><td id="18"><a href="#18">18</a></td></tr
><tr id="gr_svn631_19"

><td id="19"><a href="#19">19</a></td></tr
><tr id="gr_svn631_20"

><td id="20"><a href="#20">20</a></td></tr
><tr id="gr_svn631_21"

><td id="21"><a href="#21">21</a></td></tr
><tr id="gr_svn631_22"

><td id="22"><a href="#22">22</a></td></tr
><tr id="gr_svn631_23"

><td id="23"><a href="#23">23</a></td></tr
><tr id="gr_svn631_24"

><td id="24"><a href="#24">24</a></td></tr
><tr id="gr_svn631_25"

><td id="25"><a href="#25">25</a></td></tr
></table></pre>
<pre><table width="100%"><tr class="nocursor"><td></td></tr></table></pre>
</td>
<td id="lines">
<pre><table width="100%"><tr class="cursor_stop cursor_hidden"><td></td></tr></table></pre>
<pre class="prettyprint lang-js"><table id="src_table_0"><tr
id=sl_svn631_1

><td class="source">/*<br></td></tr
><tr
id=sl_svn631_2

><td class="source"> * ipad.js 3.2.2. The Flowplayer ipad/iphone fallback.<br></td></tr
><tr
id=sl_svn631_3

><td class="source"> *<br></td></tr
><tr
id=sl_svn631_4

><td class="source"> * Copyright 2010, 2011 Flowplayer Oy<br></td></tr
><tr
id=sl_svn631_5

><td class="source"> * By Thomas Dubois &lt;thomas@flowplayer.org&gt;<br></td></tr
><tr
id=sl_svn631_6

><td class="source"> *<br></td></tr
><tr
id=sl_svn631_7

><td class="source"> * This file is part of Flowplayer.<br></td></tr
><tr
id=sl_svn631_8

><td class="source"> *<br></td></tr
><tr
id=sl_svn631_9

><td class="source"> * Flowplayer is free software: you can redistribute it and/or modify<br></td></tr
><tr
id=sl_svn631_10

><td class="source"> * it under the terms of the GNU General Public License as published by<br></td></tr
><tr
id=sl_svn631_11

><td class="source"> * the Free Software Foundation, either version 3 of the License, or<br></td></tr
><tr
id=sl_svn631_12

><td class="source"> * (at your option) any later version.<br></td></tr
><tr
id=sl_svn631_13

><td class="source"> *<br></td></tr
><tr
id=sl_svn631_14

><td class="source"> * Flowplayer is distributed in the hope that it will be useful,<br></td></tr
><tr
id=sl_svn631_15

><td class="source"> * but WITHOUT ANY WARRANTY; without even the implied warranty of<br></td></tr
><tr
id=sl_svn631_16

><td class="source"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the<br></td></tr
><tr
id=sl_svn631_17

><td class="source"> * GNU General Public License for more details.<br></td></tr
><tr
id=sl_svn631_18

><td class="source"> *<br></td></tr
><tr
id=sl_svn631_19

><td class="source"> * You should have received a copy of the GNU General Public License<br></td></tr
><tr
id=sl_svn631_20

><td class="source"> * along with Flowplayer.  If not, see &lt;http://www.gnu.org/licenses/&gt;.<br></td></tr
><tr
id=sl_svn631_21

><td class="source"> *<br></td></tr
><tr
id=sl_svn631_22

><td class="source"> * Date: 2011-01-10 07:50:57 -0500 (Mon, 10 Jan 2011)<br></td></tr
><tr
id=sl_svn631_23

><td class="source"> * Revision: 4901<br></td></tr
><tr
id=sl_svn631_24

><td class="source"> */<br></td></tr
><tr
id=sl_svn631_25

><td class="source">$f.addPlugin(&quot;ipad&quot;,function(t){var L=-1;var u=0;var v=1;var J=2;var z=3;var F=4;var g=5;var f=this;var N=1;var M=false;var C=false;var q=false;var o=0;var K=[];var c={accelerated:false,autoBuffering:false,autoPlay:true,baseUrl:null,bufferLength:3,connectionProvider:null,cuepointMultiplier:1000,cuepoints:[],controls:{},duration:0,extension:&quot;&quot;,fadeInSpeed:1000,fadeOutSpeed:1000,image:false,linkUrl:null,linkWindow:&quot;_self&quot;,live:false,metaData:{},originalUrl:null,position:0,playlist:[],provider:&quot;http&quot;,scaling:&quot;scale&quot;,seekableOnBegin:false,start:0,url:null,urlResolvers:[]};var s=L;var m=L;var p=/iPad|iPhone|iPod/i.test(navigator.userAgent);var b=null;function j(R,Q,O){if(Q){for(key in Q){if(key){if(Q[key]&amp;&amp;typeof Q[key]==&quot;function&quot;&amp;&amp;!O){continue}if(Q[key]&amp;&amp;typeof Q[key]==&quot;object&quot;&amp;&amp;Q[key].length==undefined){var P={};j(P,Q[key]);R[key]=P}else{R[key]=Q[key]}}}}return R}var w={simulateiDevice:false,controlsSizeRatio:1.5,controls:true,debug:false,validExtensions:/mov|m4v|mp4|avi/gi};j(w,t);function e(){if(w.debug){if(p){var O=[].splice.call(arguments,0).join(&quot;, &quot;);console.log.apply(console,[O])}else{console.log.apply(console,arguments)}}}function i(O){switch(O){case -1:return&quot;UNLOADED&quot;;case 0:return&quot;LOADED&quot;;case 1:return&quot;UNSTARTED&quot;;case 2:return&quot;BUFFERING&quot;;case 3:return&quot;PLAYING&quot;;case 4:return&quot;PAUSED&quot;;case 5:return&quot;ENDED&quot;}return&quot;UNKOWN&quot;}function D(O){var P=$f.fireEvent(f.id(),&quot;onBefore&quot;+O,o);return P!==false}function H(O){O.stopPropagation();O.preventDefault();return false}function G(P,O){if(s==L&amp;&amp;!O){return}m=s;s=P;y();if(P==z){l()}e(i(P))}function x(){b.fp_stop();M=false;C=false;q=false;G(v);G(v)}var d=null;function l(){if(d){return}console.log(&quot;starting tracker&quot;);d=setInterval(A,100);A()}function y(){clearInterval(d);d=null}function A(){var P=Math.floor(b.fp_getTime()*10)*100;var Q=Math.floor(b.duration*10)*100;var R=(new Date()).time;function O(U,S){U=U&gt;=0?U:Q-Math.abs(U);for(var T=0;T&lt;S.length;T++){if(S[T].lastTimeFired&gt;R){S[T].lastTimeFired=-1}else{if(S[T].lastTimeFired+500&gt;R){continue}else{if(U==P||(P-500&lt;U&amp;&amp;P&gt;U)){S[T].lastTimeFired=R;$f.fireEvent(f.id(),&quot;onCuepoint&quot;,o,S[T].fnId,S[T].parameters)}}}}}$f.each(f.getCommonClip()._cuepoints,O);$f.each(K[o]._cuepoints,O)}function B(){x();q=true;b.fp_seek(0)}function I(O){}function n(){function O(Q){var P={};j(P,c);j(P,f.getCommonClip());j(P,Q);if(P.ipadUrl){url=decodeURIComponent(P.ipadUrl)}else{if(P.url){url=P.url}}if(url&amp;&amp;url.indexOf(&quot;://&quot;)==-1&amp;&amp;P.baseUrl){url=P.baseUrl+&quot;/&quot;+url}P.originalUrl=P.url;P.completeUrl=url;P.extension=P.completeUrl.substr(P.completeUrl.lastIndexOf(&quot;.&quot;));P.type=&quot;video&quot;;delete P.index;e(&quot;fixed clip&quot;,P);return P}b.fp_play=function(S,Q,U){var P=null;var T=true;var R=true;e(&quot;Calling play() &quot;+S,S);if(Q){e(&quot;ERROR: inStream clips not yet supported&quot;);return}if(S!==undefined){if(typeof S==&quot;number&quot;){if(o&gt;=K.length){return}o=S;S=K[o]}else{if(typeof S==&quot;string&quot;){S={url:S}}b.fp_setPlaylist(S.length!==undefined?S:[S])}if(!w.validExtensions.test(K[o].extension)){if(K.length&gt;1&amp;&amp;o&lt;(K.length-1)){e(&quot;Not last clip in the playlist, moving to next one&quot;);b.fp_play(++o,false,true)}return}S=K[o];P=S.completeUrl;if(S.autoBuffering!==undefined&amp;&amp;S.autoBuffering===false){T=false}if(S.autoPlay===undefined||S.autoPlay===true||U===true){T=true;R=true}else{R=false}}else{e(&quot;clip was not given, simply calling video.play, if not already buffering&quot;);if(s!=J){b.play()}return}e(&quot;about to play &quot;+P,T,R);x();if(P){e(&quot;Changing SRC attribute&quot;+P);b.setAttribute(&quot;src&quot;,P)}if(T){if(!D(&quot;Begin&quot;)){return false}$f.fireEvent(f.id(),&quot;onBegin&quot;,o);e(&quot;calling video.load()&quot;);b.load()}if(R){e(&quot;calling video.play()&quot;);b.play()}};b.fp_pause=function(){e(&quot;pause called&quot;);if(!D(&quot;Pause&quot;)){return false}b.pause()};b.fp_resume=function(){e(&quot;resume called&quot;);if(!D(&quot;Resume&quot;)){return false}b.play()};b.fp_stop=function(){e(&quot;stop called&quot;);if(!D(&quot;Stop&quot;)){return false}C=true;b.pause();try{b.currentTime=0}catch(P){}};b.fp_seek=function(P){e(&quot;seek called &quot;+P);if(!D(&quot;Seek&quot;)){return false}var T=0;var P=P+&quot;&quot;;if(P.charAt(P.length-1)==&quot;%&quot;){var Q=parseInt(P.substr(0,P.length-1))/100;var S=b.duration;T=S*Q}else{T=P}try{b.currentTime=T}catch(R){e(&quot;Wrong seek time&quot;)}};b.fp_getTime=function(){return b.currentTime};b.fp_mute=function(){e(&quot;mute called&quot;);if(!D(&quot;Mute&quot;)){return false}N=b.volume;b.volume=0};b.fp_unmute=function(){if(!D(&quot;Unmute&quot;)){return false}b.volume=N};b.fp_getVolume=function(){return b.volume*100};b.fp_setVolume=function(P){if(!D(&quot;Volume&quot;)){return false}b.volume=P/100};b.fp_toggle=function(){e(&quot;toggle called&quot;);if(f.getState()==g){B();return}if(b.paused){b.fp_play()}else{b.fp_pause()}};b.fp_isPaused=function(){return b.paused};b.fp_isPlaying=function(){return !b.paused};b.fp_getPlugin=function(Q){if(Q==&quot;canvas&quot;||Q==&quot;controls&quot;){var P=f.getConfig();return P.plugins&amp;&amp;P.plugins[Q]?P.plugins[Q]:null}e(&quot;ERROR: no support for &quot;+Q+&quot; plugin on iDevices&quot;);return null};b.fp_close=function(){G(L);b.parentNode.removeChild(b);b=null};b.fp_getStatus=function(){var Q=0;var R=0;try{Q=b.buffered.start();R=b.buffered.end()}catch(P){}return{bufferStart:Q,bufferEnd:R,state:s,time:b.fp_getTime(),muted:b.muted,volume:b.fp_getVolume()}};b.fp_getState=function(){return s};b.fp_startBuffering=function(){if(s==v){b.load()}};b.fp_setPlaylist=function(Q){e(&quot;Setting playlist&quot;);o=0;for(var P=0;P&lt;Q.length;P++){Q[P]=O(Q[P])}K=Q;$f.fireEvent(f.id(),&quot;onPlaylistReplace&quot;,Q)};b.fp_addClip=function(Q,P){Q=O(Q);K.splice(P,0,Q);$f.fireEvent(f.id(),&quot;onClipAdd&quot;,Q,P)};b.fp_updateClip=function(Q,P){j(K[P],Q);return K[P]};b.fp_getVersion=function(){return&quot;3.2.3&quot;};b.fp_isFullscreen=function(){return false};b.fp_toggleFullscreen=function(){if(b.fp_isFullscreen()){b.webkitExitFullscreen()}else{b.webkitEnterFullscreen()}};b.fp_addCuepoints=function(S,Q,P){var U=Q==-1?f.getCommonClip():K[Q];U._cuepoints=U._cuepoints||{};S=S instanceof Array?S:[S];for(var R=0;R&lt;S.length;R++){var V=typeof S[R]==&quot;object&quot;?(S[R][&quot;time&quot;]||null):S[R];if(V==null){continue}V=Math.floor(V/100)*100;var T=V;if(typeof S[R]==&quot;object&quot;){T=j({},S[R],false);if(T.time!=undefined){delete T.time}if(T.parameters!=undefined){j(T,T.parameters,false);delete T.parameters}}U._cuepoints[V]=U._cuepoints[V]||[];U._cuepoints[V].push({fnId:P,lastTimeFired:-1,parameters:T})}};$f.each((&quot;toggleFullscreen,stopBuffering,reset,playFeed,setKeyboardShortcutsEnabled,isKeyboardShortcutsEnabled,css,animate,showPlugin,hidePlugin,togglePlugin,fadeTo,invoke,loadPlugin&quot;).split(&quot;,&quot;),function(){var P=this;b[&quot;fp_&quot;+P]=function(){e(&quot;ERROR: unsupported API on iDevices &quot;+P);return false}})}function E(){var Z=[&quot;abort&quot;,&quot;canplay&quot;,&quot;canplaythrough&quot;,&quot;durationchange&quot;,&quot;emptied&quot;,&quot;ended&quot;,&quot;error&quot;,&quot;loadeddata&quot;,&quot;loadedmetadata&quot;,&quot;loadstart&quot;,&quot;pause&quot;,&quot;play&quot;,&quot;playing&quot;,&quot;progress&quot;,&quot;ratechange&quot;,&quot;seeked&quot;,&quot;seeking&quot;,&quot;stalled&quot;,&quot;suspend&quot;,&quot;volumechange&quot;,&quot;waiting&quot;];var R=function(ab){e(&quot;Got event &quot;+ab.type,ab)};for(var T=0;T&lt;Z.length;T++){b.addEventListener(Z[T],R,false)}var O=function(ab){e(&quot;got onBufferEmpty event &quot;+ab.type);G(J);$f.fireEvent(f.id(),&quot;onBufferEmpty&quot;,o)};b.addEventListener(&quot;emptied&quot;,O,false);b.addEventListener(&quot;waiting&quot;,O,false);var Q=function(ab){if(m==v||m==J){}else{e(&quot;Restoring old state &quot;+i(m));G(m)}$f.fireEvent(f.id(),&quot;onBufferFull&quot;,o)};b.addEventListener(&quot;canplay&quot;,Q,false);b.addEventListener(&quot;canplaythrough&quot;,Q,false);var P=function(ab){b.fp_updateClip({duration:b.duration,metaData:{duration:b.duration}},o);K[o].duration=b.duration;$f.fireEvent(f.id(),&quot;onMetaData&quot;,o,K[o])};b.addEventListener(&quot;loadedmetadata&quot;,P,false);b.addEventListener(&quot;durationchange&quot;,P,false);var Y=function(ab){if(s==F){if(!D(&quot;Resume&quot;)){e(&quot;Resume disallowed, pausing&quot;);b.fp_pause();return H(ab)}$f.fireEvent(f.id(),&quot;onResume&quot;,o)}G(z);if(!M){M=true;$f.fireEvent(f.id(),&quot;onStart&quot;,o)}};b.addEventListener(&quot;playing&quot;,Y,false);var V=function(ab){if(!D(&quot;Finish&quot;)){if(K.length==1){e(&quot;Active playlist only has one clip, onBeforeFinish returned false. Replaying&quot;);B()}else{if(o!=(K.length-1)){e(&quot;Not the last clip in the playlist, but onBeforeFinish returned false. Returning to the beginning of current clip&quot;);b.fp_seek(0)}else{e(&quot;Last clip in playlist, but onBeforeFinish returned false, start again from the beginning&quot;);b.fp_play(0)}}return H(ab)}G(g);$f.fireEvent(f.id(),&quot;onFinish&quot;,o);if(K.length&gt;1&amp;&amp;o&lt;(K.length-1)){e(&quot;Not last clip in the playlist, moving to next one&quot;);b.fp_play(++o,false,true)}};b.addEventListener(&quot;ended&quot;,V,false);var U=function(ab){G(u,true);$f.fireEvent(f.id(),&quot;onError&quot;,o,201);if(w.onFail&amp;&amp;w.onFail instanceof Function){w.onFail.apply(f,[])}};b.addEventListener(&quot;error&quot;,U,false);var X=function(ab){e(&quot;got pause event from player&quot;+f.id());if(C){return}if(s==J&amp;&amp;m==v){e(&quot;forcing play&quot;);setTimeout(function(){b.play()},0);return}if(!D(&quot;Pause&quot;)){b.fp_resume();return H(ab)}G(F);$f.fireEvent(f.id(),&quot;onPause&quot;,o)};b.addEventListener(&quot;pause&quot;,X,false);var aa=function(ab){$f.fireEvent(f.id(),&quot;onBeforeSeek&quot;,o)};b.addEventListener(&quot;seeking&quot;,aa,false);var S=function(ab){if(C){C=false;$f.fireEvent(f.id(),&quot;onStop&quot;,o)}else{$f.fireEvent(f.id(),&quot;onSeek&quot;,o)}e(&quot;seek done, currentState&quot;,i(s));if(q){q=false;b.fp_play()}else{if(s!=z){b.fp_pause()}}};b.addEventListener(&quot;seeked&quot;,S,false);var W=function(ab){$f.fireEvent(f.id(),&quot;onVolume&quot;,b.fp_getVolume())};b.addEventListener(&quot;volumechange&quot;,W,false)}function k(){b.fp_play(0)}function r(){}if(p||w.simulateiDevice){if(!window.flashembed.__replaced){var h=window.flashembed;window.flashembed=function(Q,V,R){if(typeof Q==&quot;string&quot;){Q=document.getElementById(Q.replace(&quot;#&quot;,&quot;&quot;))}if(!Q){return}var U=window.getComputedStyle(Q,null);var T=parseInt(U.width);var O=parseInt(U.height);while(Q.firstChild){Q.removeChild(Q.firstChild)}var P=document.createElement(&quot;div&quot;);var S=document.createElement(&quot;video&quot;);P.appendChild(S);Q.appendChild(P);P.style.height=O+&quot;px&quot;;P.style.width=T+&quot;px&quot;;P.style.display=&quot;block&quot;;P.style.position=&quot;relative&quot;;P.style.background=&quot;-webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.7)))&quot;;P.style.cursor=&quot;default&quot;;P.style.webkitUserDrag=&quot;none&quot;;S.style.height=&quot;100%&quot;;S.style.width=&quot;100%&quot;;S.style.display=&quot;block&quot;;S.id=V.id;S.name=V.id;S.style.cursor=&quot;pointer&quot;;S.style.webkitUserDrag=&quot;none&quot;;S.type=&quot;video/mp4&quot;;S.playerConfig=R.config;$f.fireEvent(R.config.playerId,&quot;onLoad&quot;,&quot;player&quot;)};flashembed.getVersion=h.getVersion;flashembed.asString=h.asString;flashembed.isSupported=function(){return true};flashembed.__replaced=true}var a=f._fireEvent;f._fireEvent=function(O){if(O[0]==&quot;onLoad&quot;&amp;&amp;O[1]==&quot;player&quot;){b=f.getParent().querySelector(&quot;video&quot;);if(w.controls){b.controls=&quot;controls&quot;}n();E();G(u,true);b.fp_setPlaylist(b.playerConfig.playlist);k();a.apply(f,[O])}var P=s!=L;if(s==L&amp;&amp;typeof O==&quot;string&quot;){P=true}if(P){return a.apply(f,[O])}};f._swfHeight=function(){return parseInt(b.style.height)};f.hasiPadSupport=function(){return true}}return f});<br></td></tr
></table></pre>
<pre><table width="100%"><tr class="cursor_stop cursor_hidden"><td></td></tr></table></pre>
</td>
</tr></table>

 
<script type="text/javascript">
 var lineNumUnderMouse = -1;
 
 function gutterOver(num) {
 gutterOut();
 var newTR = document.getElementById('gr_svn631_' + num);
 if (newTR) {
 newTR.className = 'undermouse';
 }
 lineNumUnderMouse = num;
 }
 function gutterOut() {
 if (lineNumUnderMouse != -1) {
 var oldTR = document.getElementById(
 'gr_svn631_' + lineNumUnderMouse);
 if (oldTR) {
 oldTR.className = '';
 }
 lineNumUnderMouse = -1;
 }
 }
 var numsGenState = {table_base_id: 'nums_table_'};
 var srcGenState = {table_base_id: 'src_table_'};
 var alignerRunning = false;
 var startOver = false;
 function setLineNumberHeights() {
 if (alignerRunning) {
 startOver = true;
 return;
 }
 numsGenState.chunk_id = 0;
 numsGenState.table = document.getElementById('nums_table_0');
 numsGenState.row_num = 0;
 if (!numsGenState.table) {
 return; // Silently exit if no file is present.
 }
 srcGenState.chunk_id = 0;
 srcGenState.table = document.getElementById('src_table_0');
 srcGenState.row_num = 0;
 alignerRunning = true;
 continueToSetLineNumberHeights();
 }
 function rowGenerator(genState) {
 if (genState.row_num < genState.table.rows.length) {
 var currentRow = genState.table.rows[genState.row_num];
 genState.row_num++;
 return currentRow;
 }
 var newTable = document.getElementById(
 genState.table_base_id + (genState.chunk_id + 1));
 if (newTable) {
 genState.chunk_id++;
 genState.row_num = 0;
 genState.table = newTable;
 return genState.table.rows[0];
 }
 return null;
 }
 var MAX_ROWS_PER_PASS = 1000;
 function continueToSetLineNumberHeights() {
 var rowsInThisPass = 0;
 var numRow = 1;
 var srcRow = 1;
 while (numRow && srcRow && rowsInThisPass < MAX_ROWS_PER_PASS) {
 numRow = rowGenerator(numsGenState);
 srcRow = rowGenerator(srcGenState);
 rowsInThisPass++;
 if (numRow && srcRow) {
 if (numRow.offsetHeight != srcRow.offsetHeight) {
 numRow.firstChild.style.height = srcRow.offsetHeight + 'px';
 }
 }
 }
 if (rowsInThisPass >= MAX_ROWS_PER_PASS) {
 setTimeout(continueToSetLineNumberHeights, 10);
 } else {
 alignerRunning = false;
 if (startOver) {
 startOver = false;
 setTimeout(setLineNumberHeights, 500);
 }
 }
 }
 function initLineNumberHeights() {
 // Do 2 complete passes, because there can be races
 // between this code and prettify.
 startOver = true;
 setTimeout(setLineNumberHeights, 250);
 window.onresize = setLineNumberHeights;
 }
 initLineNumberHeights();
</script>

 
 
 <div id="log">
 <div style="text-align:right">
 <a class="ifCollapse" href="#" onclick="_toggleMeta('', 'p', 'flowplayer-core', this)">Show details</a>
 <a class="ifExpand" href="#" onclick="_toggleMeta('', 'p', 'flowplayer-core', this)">Hide details</a>
 </div>
 <div class="ifExpand">
 
 
 <div class="pmeta_bubble_bg" style="border:1px solid white">
 <div class="round4"></div>
 <div class="round2"></div>
 <div class="round1"></div>
 <div class="box-inner">
 <div id="changelog">
 <p>Change log</p>
 <div>
 <a href="/p/flowplayer-core/source/detail?spec=svn655&amp;r=631">r631</a>
 by anssip
 on Mar 20, 2011
 &nbsp; <a href="/p/flowplayer-core/source/diff?spec=svn655&r=631&amp;format=side&amp;path=/flowplayer/trunk/test/flowplayer.ipad-3.2.2.min.js&amp;old_path=/flowplayer/trunk/test/flowplayer.ipad-3.2.2.min.js&amp;old=">Diff</a>
 </div>
 <pre>Fixed 'orig' scaling in fullscreen: http:/
/flowplayer.org/forum/2/10274#post-52646</pre>
 </div>
 
 
 
 
 
 
 <script type="text/javascript">
 var detail_url = '/p/flowplayer-core/source/detail?r=631&spec=svn655';
 var publish_url = '/p/flowplayer-core/source/detail?r=631&spec=svn655#publish';
 // describe the paths of this revision in javascript.
 var changed_paths = [];
 var changed_urls = [];
 
 changed_paths.push('/flowplayer/trunk/README.txt');
 changed_urls.push('/p/flowplayer-core/source/browse/flowplayer/trunk/README.txt?r\x3d631\x26spec\x3dsvn655');
 
 
 changed_paths.push('/flowplayer/trunk/build.xml');
 changed_urls.push('/p/flowplayer-core/source/browse/flowplayer/trunk/build.xml?r\x3d631\x26spec\x3dsvn655');
 
 
 changed_paths.push('/flowplayer/trunk/lib/licensekey/licensekey.swc');
 changed_urls.push('/p/flowplayer-core/source/browse/flowplayer/trunk/lib/licensekey/licensekey.swc?r\x3d631\x26spec\x3dsvn655');
 
 
 changed_paths.push('/flowplayer/trunk/src/actionscript/org/flowplayer/controller/NetConnectionClient.as');
 changed_urls.push('/p/flowplayer-core/source/browse/flowplayer/trunk/src/actionscript/org/flowplayer/controller/NetConnectionClient.as?r\x3d631\x26spec\x3dsvn655');
 
 
 changed_paths.push('/flowplayer/trunk/src/actionscript/org/flowplayer/view/Flowplayer.as');
 changed_urls.push('/p/flowplayer-core/source/browse/flowplayer/trunk/src/actionscript/org/flowplayer/view/Flowplayer.as?r\x3d631\x26spec\x3dsvn655');
 
 
 changed_paths.push('/flowplayer/trunk/src/actionscript/org/flowplayer/view/FlowplayerBase.as');
 changed_urls.push('/p/flowplayer-core/source/browse/flowplayer/trunk/src/actionscript/org/flowplayer/view/FlowplayerBase.as?r\x3d631\x26spec\x3dsvn655');
 
 
 changed_paths.push('/flowplayer/trunk/src/actionscript/org/flowplayer/view/Screen.as');
 changed_urls.push('/p/flowplayer-core/source/browse/flowplayer/trunk/src/actionscript/org/flowplayer/view/Screen.as?r\x3d631\x26spec\x3dsvn655');
 
 
 changed_paths.push('/flowplayer/trunk/test/bitrates.smil.xml');
 changed_urls.push('/p/flowplayer-core/source/browse/flowplayer/trunk/test/bitrates.smil.xml?r\x3d631\x26spec\x3dsvn655');
 
 
 changed_paths.push('/flowplayer/trunk/test/bwcheck.html');
 changed_urls.push('/p/flowplayer-core/source/browse/flowplayer/trunk/test/bwcheck.html?r\x3d631\x26spec\x3dsvn655');
 
 
 changed_paths.push('/flowplayer/trunk/test/flowplayer.ipad-3.2.2.min.js');
 changed_urls.push('/p/flowplayer-core/source/browse/flowplayer/trunk/test/flowplayer.ipad-3.2.2.min.js?r\x3d631\x26spec\x3dsvn655');
 
 var selected_path = '/flowplayer/trunk/test/flowplayer.ipad-3.2.2.min.js';
 
 
 changed_paths.push('/flowplayer/trunk/test/ipad.html');
 changed_urls.push('/p/flowplayer-core/source/browse/flowplayer/trunk/test/ipad.html?r\x3d631\x26spec\x3dsvn655');
 
 
 changed_paths.push('/flowplayer/trunk/test/rss-smil.html');
 changed_urls.push('/p/flowplayer-core/source/browse/flowplayer/trunk/test/rss-smil.html?r\x3d631\x26spec\x3dsvn655');
 
 
 changed_paths.push('/flowplayer/trunk/test/rtmp-audio.html');
 changed_urls.push('/p/flowplayer-core/source/browse/flowplayer/trunk/test/rtmp-audio.html?r\x3d631\x26spec\x3dsvn655');
 
 
 changed_paths.push('/flowplayer/trunk/test/rtmp-rss.html');
 changed_urls.push('/p/flowplayer-core/source/browse/flowplayer/trunk/test/rtmp-rss.html?r\x3d631\x26spec\x3dsvn655');
 
 
 changed_paths.push('/flowplayer/trunk/test/sharing.html');
 changed_urls.push('/p/flowplayer-core/source/browse/flowplayer/trunk/test/sharing.html?r\x3d631\x26spec\x3dsvn655');
 
 
 changed_paths.push('/flowplayer/trunk/test/simple.html');
 changed_urls.push('/p/flowplayer-core/source/browse/flowplayer/trunk/test/simple.html?r\x3d631\x26spec\x3dsvn655');
 
 
 changed_paths.push('/flowplayer/trunk/test/viral.html');
 changed_urls.push('/p/flowplayer-core/source/browse/flowplayer/trunk/test/viral.html?r\x3d631\x26spec\x3dsvn655');
 
 
 function getCurrentPageIndex() {
 for (var i = 0; i < changed_paths.length; i++) {
 if (selected_path == changed_paths[i]) {
 return i;
 }
 }
 }
 function getNextPage() {
 var i = getCurrentPageIndex();
 if (i < changed_paths.length - 1) {
 return changed_urls[i + 1];
 }
 return null;
 }
 function getPreviousPage() {
 var i = getCurrentPageIndex();
 if (i > 0) {
 return changed_urls[i - 1];
 }
 return null;
 }
 function gotoNextPage() {
 var page = getNextPage();
 if (!page) {
 page = detail_url;
 }
 window.location = page;
 }
 function gotoPreviousPage() {
 var page = getPreviousPage();
 if (!page) {
 page = detail_url;
 }
 window.location = page;
 }
 function gotoDetailPage() {
 window.location = detail_url;
 }
 function gotoPublishPage() {
 window.location = publish_url;
 }
</script>

 
 <style type="text/css">
 #review_nav {
 border-top: 3px solid white;
 padding-top: 6px;
 margin-top: 1em;
 }
 #review_nav td {
 vertical-align: middle;
 }
 #review_nav select {
 margin: .5em 0;
 }
 </style>
 <div id="review_nav">
 <table><tr><td>Go to:&nbsp;</td><td>
 <select name="files_in_rev" onchange="window.location=this.value">
 
 <option value="/p/flowplayer-core/source/browse/flowplayer/trunk/README.txt?r=631&amp;spec=svn655"
 
 >/flowplayer/trunk/README.txt</option>
 
 <option value="/p/flowplayer-core/source/browse/flowplayer/trunk/build.xml?r=631&amp;spec=svn655"
 
 >/flowplayer/trunk/build.xml</option>
 
 <option value="/p/flowplayer-core/source/browse/flowplayer/trunk/lib/licensekey/licensekey.swc?r=631&amp;spec=svn655"
 
 >...nk/lib/licensekey/licensekey.swc</option>
 
 <option value="/p/flowplayer-core/source/browse/flowplayer/trunk/src/actionscript/org/flowplayer/controller/NetConnectionClient.as?r=631&amp;spec=svn655"
 
 >...ontroller/NetConnectionClient.as</option>
 
 <option value="/p/flowplayer-core/source/browse/flowplayer/trunk/src/actionscript/org/flowplayer/view/Flowplayer.as?r=631&amp;spec=svn655"
 
 >...rg/flowplayer/view/Flowplayer.as</option>
 
 <option value="/p/flowplayer-core/source/browse/flowplayer/trunk/src/actionscript/org/flowplayer/view/FlowplayerBase.as?r=631&amp;spec=svn655"
 
 >...lowplayer/view/FlowplayerBase.as</option>
 
 <option value="/p/flowplayer-core/source/browse/flowplayer/trunk/src/actionscript/org/flowplayer/view/Screen.as?r=631&amp;spec=svn655"
 
 >...pt/org/flowplayer/view/Screen.as</option>
 
 <option value="/p/flowplayer-core/source/browse/flowplayer/trunk/test/bitrates.smil.xml?r=631&amp;spec=svn655"
 
 >...yer/trunk/test/bitrates.smil.xml</option>
 
 <option value="/p/flowplayer-core/source/browse/flowplayer/trunk/test/bwcheck.html?r=631&amp;spec=svn655"
 
 >/flowplayer/trunk/test/bwcheck.html</option>
 
 <option value="/p/flowplayer-core/source/browse/flowplayer/trunk/test/flowplayer.ipad-3.2.2.min.js?r=631&amp;spec=svn655"
 selected="selected"
 >...est/flowplayer.ipad-3.2.2.min.js</option>
 
 <option value="/p/flowplayer-core/source/browse/flowplayer/trunk/test/ipad.html?r=631&amp;spec=svn655"
 
 >/flowplayer/trunk/test/ipad.html</option>
 
 <option value="/p/flowplayer-core/source/browse/flowplayer/trunk/test/rss-smil.html?r=631&amp;spec=svn655"
 
 >...wplayer/trunk/test/rss-smil.html</option>
 
 <option value="/p/flowplayer-core/source/browse/flowplayer/trunk/test/rtmp-audio.html?r=631&amp;spec=svn655"
 
 >...layer/trunk/test/rtmp-audio.html</option>
 
 <option value="/p/flowplayer-core/source/browse/flowplayer/trunk/test/rtmp-rss.html?r=631&amp;spec=svn655"
 
 >...wplayer/trunk/test/rtmp-rss.html</option>
 
 <option value="/p/flowplayer-core/source/browse/flowplayer/trunk/test/sharing.html?r=631&amp;spec=svn655"
 
 >/flowplayer/trunk/test/sharing.html</option>
 
 <option value="/p/flowplayer-core/source/browse/flowplayer/trunk/test/simple.html?r=631&amp;spec=svn655"
 
 >/flowplayer/trunk/test/simple.html</option>
 
 <option value="/p/flowplayer-core/source/browse/flowplayer/trunk/test/viral.html?r=631&amp;spec=svn655"
 
 >/flowplayer/trunk/test/viral.html</option>
 
 </select>
 </td></tr></table>
 
 
 



 
 </div>
 
 
 </div>
 <div class="round1"></div>
 <div class="round2"></div>
 <div class="round4"></div>
 </div>
 <div class="pmeta_bubble_bg" style="border:1px solid white">
 <div class="round4"></div>
 <div class="round2"></div>
 <div class="round1"></div>
 <div class="box-inner">
 <div id="older_bubble">
 <p>Older revisions</p>
 
 <a href="/p/flowplayer-core/source/list?path=/flowplayer/trunk/test/flowplayer.ipad-3.2.2.min.js&start=631">All revisions of this file</a>
 </div>
 </div>
 <div class="round1"></div>
 <div class="round2"></div>
 <div class="round4"></div>
 </div>
 
 <div class="pmeta_bubble_bg" style="border:1px solid white">
 <div class="round4"></div>
 <div class="round2"></div>
 <div class="round1"></div>
 <div class="box-inner">
 <div id="fileinfo_bubble">
 <p>File info</p>
 
 <div>Size: 11633 bytes,
 25 lines</div>
 
 <div><a href="//flowplayer-core.googlecode.com/svn-history/r631/flowplayer/trunk/test/flowplayer.ipad-3.2.2.min.js">View raw file</a></div>
 </div>
 
 </div>
 <div class="round1"></div>
 <div class="round2"></div>
 <div class="round4"></div>
 </div>
 </div>
 </div>


</div>

</div>
</div>

<script src="http://www.gstatic.com/codesite/ph/16068301655475685827/js/prettify/prettify.js"></script>
<script type="text/javascript">prettyPrint();</script>


<script src="http://www.gstatic.com/codesite/ph/16068301655475685827/js/source_file_scripts.js"></script>

 <script type="text/javascript" src="https://kibbles.googlecode.com/files/kibbles-1.3.3.comp.js"></script>
 <script type="text/javascript">
 var lastStop = null;
 var initialized = false;
 
 function updateCursor(next, prev) {
 if (prev && prev.element) {
 prev.element.className = 'cursor_stop cursor_hidden';
 }
 if (next && next.element) {
 next.element.className = 'cursor_stop cursor';
 lastStop = next.index;
 }
 }
 
 function pubRevealed(data) {
 updateCursorForCell(data.cellId, 'cursor_stop cursor_hidden');
 if (initialized) {
 reloadCursors();
 }
 }
 
 function draftRevealed(data) {
 updateCursorForCell(data.cellId, 'cursor_stop cursor_hidden');
 if (initialized) {
 reloadCursors();
 }
 }
 
 function draftDestroyed(data) {
 updateCursorForCell(data.cellId, 'nocursor');
 if (initialized) {
 reloadCursors();
 }
 }
 function reloadCursors() {
 kibbles.skipper.reset();
 loadCursors();
 if (lastStop != null) {
 kibbles.skipper.setCurrentStop(lastStop);
 }
 }
 // possibly the simplest way to insert any newly added comments
 // is to update the class of the corresponding cursor row,
 // then refresh the entire list of rows.
 function updateCursorForCell(cellId, className) {
 var cell = document.getElementById(cellId);
 // we have to go two rows back to find the cursor location
 var row = getPreviousElement(cell.parentNode);
 row.className = className;
 }
 // returns the previous element, ignores text nodes.
 function getPreviousElement(e) {
 var element = e.previousSibling;
 if (element.nodeType == 3) {
 element = element.previousSibling;
 }
 if (element && element.tagName) {
 return element;
 }
 }
 function loadCursors() {
 // register our elements with skipper
 var elements = CR_getElements('*', 'cursor_stop');
 var len = elements.length;
 for (var i = 0; i < len; i++) {
 var element = elements[i]; 
 element.className = 'cursor_stop cursor_hidden';
 kibbles.skipper.append(element);
 }
 }
 function toggleComments() {
 CR_toggleCommentDisplay();
 reloadCursors();
 }
 function keysOnLoadHandler() {
 // setup skipper
 kibbles.skipper.addStopListener(
 kibbles.skipper.LISTENER_TYPE.PRE, updateCursor);
 // Set the 'offset' option to return the middle of the client area
 // an option can be a static value, or a callback
 kibbles.skipper.setOption('padding_top', 50);
 // Set the 'offset' option to return the middle of the client area
 // an option can be a static value, or a callback
 kibbles.skipper.setOption('padding_bottom', 100);
 // Register our keys
 kibbles.skipper.addFwdKey("n");
 kibbles.skipper.addRevKey("p");
 kibbles.keys.addKeyPressListener(
 'u', function() { window.location = detail_url; });
 kibbles.keys.addKeyPressListener(
 'r', function() { window.location = detail_url + '#publish'; });
 
 kibbles.keys.addKeyPressListener('j', gotoNextPage);
 kibbles.keys.addKeyPressListener('k', gotoPreviousPage);
 
 
 }
 </script>
<script src="http://www.gstatic.com/codesite/ph/16068301655475685827/js/code_review_scripts.js"></script>
<script type="text/javascript">
 function showPublishInstructions() {
 var element = document.getElementById('review_instr');
 if (element) {
 element.className = 'opened';
 }
 }
 var codereviews;
 function revsOnLoadHandler() {
 // register our source container with the commenting code
 var paths = {'svn631': '/flowplayer/trunk/test/flowplayer.ipad-3.2.2.min.js'}
 codereviews = CR_controller.setup(
 {"assetHostPath":"http://www.gstatic.com/codesite/ph","projectName":"flowplayer-core","projectHomeUrl":"/p/flowplayer-core","urlPrefix":"p","domainName":null,"relativeBaseUrl":"","profileUrl":["/u/@VhVQQ1BWDxREXQN5/"],"token":"322f845bf4d7b40b65c442d6f1a3b1ba","assetVersionPath":"http://www.gstatic.com/codesite/ph/16068301655475685827","absoluteBaseUrl":"http://code.google.com","loggedInUserEmail":"losdemar@gmail.com"}, '', 'svn655', paths,
 CR_BrowseIntegrationFactory);
 
 codereviews.registerActivityListener(CR_ActivityType.REVEAL_DRAFT_PLATE, showPublishInstructions);
 
 codereviews.registerActivityListener(CR_ActivityType.REVEAL_PUB_PLATE, pubRevealed);
 codereviews.registerActivityListener(CR_ActivityType.REVEAL_DRAFT_PLATE, draftRevealed);
 codereviews.registerActivityListener(CR_ActivityType.DISCARD_DRAFT_COMMENT, draftDestroyed);
 
 
 
 
 
 
 
 var initialized = true;
 reloadCursors();
 }
 window.onload = function() {keysOnLoadHandler(); revsOnLoadHandler();};

</script>
<script type="text/javascript" src="http://www.gstatic.com/codesite/ph/16068301655475685827/js/dit_scripts.js"></script>

 
 
 
 <script type="text/javascript" src="http://www.gstatic.com/codesite/ph/16068301655475685827/js/ph_core.js"></script>
 
 
 
 
 <script type="text/javascript" src="/js/codesite_product_dictionary_ph.pack.04102009.js"></script>
</div> 
<div id="footer" dir="ltr">
 <div class="text">
 &copy;2011 Google -
 <a href="/projecthosting/terms.html">Terms</a> -
 <a href="http://www.google.com/privacy.html">Privacy</a> -
 <a href="/p/support/">Project Hosting Help</a>
 </div>
</div>
 <div class="hostedBy" style="margin-top: -20px;">
 <span style="vertical-align: top;">Powered by <a href="http://code.google.com/projecthosting/">Google Project Hosting</a></span>
 </div>
 
 


 
 </body>
</html>


