iplayer.air=function(){var q=iplayer.config,a=glow.embed,j=iplayer.environment.os,d=iplayer.localisation,l="none",n="none",c,g,r,t="/iplayer/"+((iplayer.locale=="en")?"":iplayer.locale+"/")+"install",k="",p="/iplayer/dm/iplayer_download_badge.swf",e="electrashim",u=164,f=24,v="",h,b=(j.mac)?q.air.flashVersionsRequired.mac.full:(j.linux||j.unix)?q.air.flashVersionsRequired.linux.full:q.air.flashVersionsRequired.win.full;function s(){var A=(j.mac)?q.air.flashVersionsRequired.mac:(j.linux||j.unix)?q.air.flashVersionsRequired.linux:q.air.flashVersionsRequired.win,y=a.Flash.version(),C=A.major,x=y.major,B=A.minor,z=y.minor,E=A.release,D=y.release;return((x>C)||((x==C)&&(z>B))||(((x==C)&&(z==B))&&(D>=E)))}function w(x){return new a.Flash(p,"#"+x,"9.0.0",o())}function o(){function x(){return"http://"+(/^[^:]+:\/\/([^\/]+)/.exec(window.location.href)[1])+"/iplayer/playlist/"+l+((c)?"/hd/":"")}var y={width:u,height:f,className:"",message:k,attributes:{id:"electraFlash",name:e},params:{flashVars:{flashVersionRequired:b,electraVersionRequired:q.air.electraVersion,pid:l,playItem:n,playlist:x(),loadingText:d.airDownloadLoading,labelText:d.download+((c)?" HD":""),fileSize:v,debugging:"on",installUrl:t},play:"true",loop:"true",menu:"false",bgcolor:"#000",quality:"high",scale:"showall",salign:"",wmode:"window",base:"/iplayer/dm/",allowscriptaccess:"sameDomain",allowfullscreen:"false",menu:"false"}};if(c){y.params.flashVars.bitrateCeiling=4000;y.params.flashVars.bitrateFloor=2500}return y}function i(y){var x=(y)?"upgrade/":"";window.location.href="/iplayer/install/"+x+"?pid="+l+"&vpid="+n+((c)?"&hd=1":(g)?"&sign=1":(r)?"&ad=1":"")}function m(){var z=(window.location.href.indexOf("upgrade")>=0),y=(z?"12x":"11x"),x="BBC Desktop Successful "+(z?"Upgrade":"Install");iplayer.sage.actioncache.add("elektra",[x,y])}return{setPid:function(x,y){l=x;n=y},setFileSize:function(x){if(!x){return}if(x>1000){v=(Math.round((x/1000)*10)/10)+"GB";return}v=x+"MB"},setReturnPath:function(x){h=x},setNoFlashHtml:function(x){k=x},setHD:function(){c=true},setSigned:function(){g=true},setAudiodescribed:function(){r=true},getSwfEmbed:w,buildInstallBadge:function(){u=217;f=180;e="electrabadge";p="/iplayer/dm/iplayer_install_badge.swf";if(!s()){$("#install-button").html('To install the BBC iPlayer Desktop, you first need to <a href="http://get.adobe.com/flashplayer/">upgrade your flash</a>.')}else{w("install-button").embed()}},installComplete:function(){m();window.location.href=h},openInstallPage:function(){i()},openUpgradePage:function(){i(true)},downloadComplete:function(){if(iplayer.sendDownloadStats){iplayer.sendDownloadStats()}}}}();function flashDebugOutput(c){function b(d){return d.replace("&","&amp;").replace("<","&lt;").replace(">","&gt;")}var a=document.getElementById("air-debug");if(a){a.innerHTML+=b(c)+"\n\n"}}iplayer.kdx=function(){var f,b,a;function e(){var g=iplayer.environment;if((g.browser.firefox)&&(g.browser.version>=1.5)&&(g.pluginMimeTypeExists("application/x-BBCPlugin"))){var h=document.createElement("div");document.body.appendChild(h);h.innerHTML='<embed type="application/x-BBCPlugin" id="ffBBCPlugin" width="0" height="0" onCallback="ffBBCCallback()">';a=document.getElementById("ffBBCPlugin")}}function d(){var g,h=iplayer.config.kdx;try{g=(a)?a:new ActiveXObject("KDX.SecureApi");g.authorize(h.authToken,h.authSignature);b=true}catch(i){g=null}return g}function c(g){if(!b){return null}try{var h=(a)?f.getpref(g):f.pref(g);return h}catch(i){return null}}return{hasKdx:function(){if(f){return}e();f=d();return(b)?c("kdx.installed"):false}}}();iplayer.download=function(){var g=iplayer.config.mediaSelector,j=g.bitrateSway,k=/^\{(\r|\n|\t|.)+\}[\r\n\t ]*$/,f=/^\d+$/,h,a="connectError",c="notavailable",i="badResponse";function e(m,n,l){return{status:m,mediaAssetId:n||"",mediaAssetUrl:l||""}}function b(p,n){h=false;if(!k.test(n.text())){return e(codeBaseResponse)}var w=n.json(),l=w.media||false,v,t;if(l&&w.result&&(w.result=="ok")){for(var o=0,m=l.length;o<m;o++){var u=l[o],q=u.bitrate;if((!u.connection)||(u.type!="video/wmv")||(!f.test(q))||(q<(p-j))||(q>(p+j))){continue}v=false;t=false;for(var s=0,r=u.connection.length;s<r;s++){var z=u.connection[s];if(z.kind=="licence"){v=z.identifier}if(z.kind=="sis"){t=z.href}if(v&&t){return e(w.result,v,t)}}}return e(c)}return e((w.result&&(w.result!="ok"))?w.result:i)}function d(){if(iplayer.sendDownloadStats){iplayer.sendDownloadStats()}}return{commenceComputerWMV:function(m,l){if(h){return}h=true;net.get(g.assetRequestUrl+m,{onLoad:function(n){l(b(g.bitrate.computerWMV,n))},onError:function(n){l(e(a));h=false}});d()},commenceMediaPlayer:function(m,l){if(h){return}h=true;net.get(g.assetRequestUrl+m,{onLoad:function(n){l(b(g.bitrate.mediaPlayer,n))},onError:function(n){l(e(a));h=false}});d()}}}();iplayer.downloadlicenceprefetch=function(){var x="http://www.siemens.com/sbs/webservices/iPlayer/LicenceDelivery",p="GetMediaLicenceForAssetId",v=0,b=1,r=113,u=901,B=902,A=903,g=904,j,f,k=null,i=null,l=null,n=null,y=null,d=null,s=null;function t(F,G,I){f=G;if(!c()){e(u,"Unable to create DRM.GetLicense.1. Invalid Media player version");return}if(!D()){e(g,"Windows Media Licence Store is possibly corrupt",d);return}if(!z()){e(r,"Individualisation Required");return}var H=o(F,l);if(H!=null){try{C(iplayer.config.wmrm.licenceIssuerUrl,x+"/"+p,H,q)}catch(J){}}}function z(){return(/^\d+\.\d+\.\d+\.1$/).test(n)}function e(G,F,H){if(!f){return}f(G,F,H)}function c(){if(j){return true}try{i=new window.ActiveXObject("DRM.GetLicense.1");j=true;return true}catch(F){return false}}function o(L,K){var F=E();if(F==null){e(B,"Unable to create Microsoft.XMLDOM");return null}var M=F.createElement("soap:Envelope");M.setAttribute("xmlns:xsi","http://www.w3.org/2001/XMLSchema-instance");M.setAttribute("xmlns:xsd","http://www.w3.org/2001/XMLSchema");M.setAttribute("xmlns:soap","http://schemas.xmlsoap.org/soap/envelope/");var H=F.createElement("soap:Body"),G=F.createElement(p);G.setAttribute("xmlns",x);var J=G.ownerDocument.createElement("mediaAssetId");J.text=L;G.appendChild(J);var I=G.ownerDocument.createElement("clientInfo");I.text=K;G.appendChild(I);H.appendChild(G);M.appendChild(H);F.appendChild(M);return F}function q(){if(k.readyState!=4){return}var J=b,I="Unspecified Error",G,H="Status: ["+k.status+"] : "+k.statusText,F;if((k.status!=200)&&(k.status!=500)){J=A;I="An Error occured communicating with server. "+H}else{F=new a(k.responseXML);if(F.getError()==null){if(h(F.getValue())){J=v;I="Licence stored successfully"}else{J=g;I="Desc: "+s+" - Error code: "+d;G=d}}else{J=F.getErrorCode();I=F.getError()}}e(J,I,G)}function w(F){return"0x"+((F<0?F+4294967296:F).toString(16)).toUpperCase()}function h(F){try{i.StoreLicense(F);return true}catch(G){d=w(G.number);s=G.description.replace(/Contact Microsoft product support./gi,"")}return false}function D(){try{l=i.GetSystemInfo();n=i.GetDRMSecurityVersion();y=i.GetDRMVersion();return true}catch(F){d=w(F.number);s=F.description.replace(/Contact Microsoft .*./gi,"");return false}}function E(){var G=null;try{G=new window.ActiveXObject("Microsoft.XMLDOM")}catch(F){}return G}function m(){var F=null;try{F=new window.ActiveXObject("Microsoft.XMLHTTP")}catch(G){}return F}function C(H,G,I,F){k=m();if(k==null){e(B,"Unable to create Microsoft.XMLHTTP");return}k.open("POST",H,true);k.setRequestHeader("Content-Type","text/xml");k.setRequestHeader("SOAPAction",G);k.onreadystatechange=F;k.send(I)}function a(I){this.getValue=function(){return this._value};this.getError=function(){return this._error};this.getErrorCode=function(){if(this._errorCode==null){try{this._errorCode=this._faultNode.selectSingleNode("//ErrorCode").text}catch(J){this._errorCode=b}}return this._errorCode};this._value=null;this._error=null;this._errorCode=null;var H=I.selectSingleNode("soap:Envelope");if(H==null){this._errorCode=A;this._error="Invalid SOAP Response: No soap:Envelope present.";return}var G=H.selectSingleNode("soap:Body"),F=G.selectSingleNode("soap:Fault");if(F==null){this._value=G.selectSingleNode("//Licence").text;this._bodyElement=G}else{this._error=F.selectSingleNode("faultstring").text;this._faultNode=F}}return{execute:t}}();if(iplayer.episode){iplayer.episode.extend("download",function(){var h=iplayer.environment,d=h.browser,t=h.os,m=iplayer.config,k=iplayer.download,L=iplayer.localisation,q=iplayer.air,l="connectError",x="badResponse",J="notavailable",b="notukerror",Q="invoke-mediaplayer",E="invoke-computerwmv",i="Windows Media Player",V="none",z="none",w,p,j,B,A,y,c,S,G,f,D,P,H,O,o=-1,g,F;function M(ab,aa,Z){if(!F){var Y=dom.create('<div id="bip-modaldialog"><div class="tr"></div><div class="tl"></div><div class="tb"><div></div></div><div class="tc"><div class="bars"></div><div id="more-downloads" class="barsinner"><h1>Title</h1><div class="content"><div class="message">****</div><div class="actions"><div><input type="submit" value="" class="close" /></div></div></div></div></div><div class="br"></div><div class="bl"></div><div class="bb"><div></div></div></div>'),X="#bip-modaldialog";g=new widgets.Overlay(Y,{modal:true,closeOnMaskClick:false,anim:"fade",x:"50%",y:"35%"}),F={title:$(X+" h1")[0],message:$(X+" div.message")[0],close:$(X+" div.actions .close")[0]};events.addListener(F.close,"click",T)}F.title.innerHTML=ab;F.message.innerHTML=aa;F.close.style.display=(Z)?"inline":"none";F.close.value=Z||"";if(F.download){F.download.remove();F.download=null}if(!f){g.show()}f=true}function T(){if(!f){return}f=false;g.hide()}function R(X){if(F.download){return}var Y=dom.create('<a class="download" href="'+X+'">'+L.download+"</a>").insertBefore(F.close);events.addListener(Y,"click",T);F.download=Y}function C(){window.location.href="#more-downloads"}function v(){return(P&&d.msie)}function I(){return iplayer.getString("upgradeWMPVersion",["http://www.microsoft.com/windows/windowsmedia/default.mspx"])}function a(){if(!s(10)){M(L.softwareUpgradeRequired,"<p>"+I()+"</p>",L.close);return}M(L.pleaseWait,'<p class="in-progress">'+L.pleaseWaitAcquireInfoDownload+"</p>");H(z,e)}function e(Z){var Y=W(Z.status);if(Y){M(Y.title,"<p>"+Y.msg+"</p>",L.close);C();return}if(Z.status==b){T();return}var X=Z.mediaAssetUrl;if(v()){iplayer.downloadlicenceprefetch.execute(Z.mediaAssetId,function(aa,ab,ac){U(aa,ab,ac,X)})}else{O(X);C()}}function W(Y){var X="<strong>"+w+"</strong>";if((Y==l)||(Y==x)){return{title:L.downloadUnavailable,msg:iplayer.getString("cannotDownloadRightNowServersBusy",[X])}}if(Y==J){return{title:L.downloadUnavailable,msg:iplayer.getString("mediaDownloadIsNotAvailable",[X])}}return}function U(Z,ab,ac,X){if(parseInt(Z)==0){O(X);C();return}var aa=K(Z,ac);var Y=aa.customMsgHtml?aa.customMsgHtml:"<p>"+aa.msg+"</p>";M(aa.title,Y,L.close)}function K(Z,aa){var Y="<strong>"+w+"</strong>";function X(){return{title:L.softwareUpgradeRequired,msg:iplayer.getString("updateWMPIndividualise",["http://drmlicense.one.microsoft.com/Indivsite/en/indivit.asp",m.helpBaseURL+"download_programmes/dr_problem"])}}if(Z==102){return{title:L.downloadUnavailable,msg:iplayer.getString("drmLicenceExpired",[Y,m.helpBaseURL+"finding_programmes/how_long"])}}if(Z==103){return{title:L.downloadUnavailable,msg:iplayer.getString("drmSorryWithdrawn",[Y])}}if(Z==109){return{title:L.softwareUpgradeRequired,msg:I()}}if(Z==113){return X()}if(Z==901){return{title:L.yellowBarTitle,customMsgHtml:'<div id="yellow-bar">'+iplayer.getString("yellowBarMessage",[m.helpBaseURL+"download_programmes/yellow_bar"])+"</div>"}}if((Z==904)&&((aa.indexOf("0xC00D2728")>-1)||(aa.indexOf("0xC00D2782")>-1))){return X()}return{title:L.licenceDeliveryError,msg:iplayer.getString("drmCouldNotRetrieveLicence",[Y])}}function n(){H=k.commenceMediaPlayer;O=u;a()}function u(X){M(L.portableDevices,iplayer.getString("mediaPlayerDownloadPrompt",["<p>Archos<br />Creative<br />Philips<br />Samsung<br />Sony</p>",[m.root+((iplayer.locale!="en")?iplayer.locale+"/":"")+"where_to_get_iplayer"],(v())?L.mediaPlayerDownloadSaveCopy:L.mediaPlayerDownloadSavePlayFirstCopy,m.helpBaseURL+"download_programmes/sideloading"]),L.cancel);R(X)}function r(){H=k.commenceComputerWMV;O=N;a()}function N(X){M(i,iplayer.getString("computerWMVDownloadPrompt",[m.root+((iplayer.locale!="en")?iplayer.locale+"/":"")+"where_to_get_iplayer"]),L.cancel);R(X)}function s(X){if(o<0){o=0;var ac=((d.firefox)&&(t.winVista||h.pluginMimeTypeExists("application/x-mplayer2")||h.pluginMimeTypeExists("application/x-ms-wmp")));if(ac){o=99}else{if(t.win&&window.ActiveXObject){var ab,Y;try{var aa=new window.ActiveXObject("WMPlayer.OCX.7");Y=aa.versionInfo.match(/^(\d+)/);Y=(Y)?Y[1]:0;ab=true}catch(Z){}if(ab){o=Y}}}}return(o>=X)}return{setEpisodeInfo:function(X,aa,ab,Z,Y){V=X;z=aa;w=ab;p=Z;j=Y},setDownloadInfo:function(ab,aa,X,Y,ac,Z){B=ab;A=aa;y=X;c=Y;S=ac;G=Z},setWMVLicenceServerEnabled:function(X){P=X},renderDownloadActions:function(aj){if(!B){return}var ac=[],af={},ah;function al(){return((t.winXP||t.winVista)&&(d.msie||d.firefox))}function ak(an){var am=(an>=1000);return{isGB:am,abbr:(am)?"GB":"MB",units:(am)?Math.round((an/1000)*10)/10:an}}function X(ao,am,an){var aq=ak(an),ap=(aq.isGB)?L.gigabytes:L.megabytes;ac[ac.length]=('<li><a id="'+ao+'" href=""><span class="label">'+am+'<span class="blq-hide"> '+L.download.toLowerCase()+"</span></span>"+((an)?" <span>"+aq.units+'<abbr title="'+ap+'">'+aq.abbr+"</abbr></span>":"")+"</a></li>")}function ag(am){ah=(am)?true:false;ad.parentNode.className="dropdown"+((ah)?"-open":"")}function Y(){function am(ap){if(!D){var ao=bbc.guidance;D=ao.callbacks.pass;ao.callbacks.pass=function(aq,ar){if(ar==Q){n();return}if(ar==E){r();return}D(aq,ar)}}bbc.guidance.verify(w,p,ap)}function an(ao){ao.preventDefault();ag();return !f}if(af.mediaPlayer){events.addListener("#download-mediaplayer","click",function(ao){if(!an(ao)){return}if(!p){n();return}am(Q)})}if(af.computerWMV){events.addListener("#download-computerwmv","click",function(ao){if(!an(ao)){return}if(!p){r();return}am(E)})}}if(/^\??electra-debug/.test(window.location.search)){dom.create('<textarea id="air-debug" cols="40" rows="8"></textarea>').insertAfter(aj)}var ae='<li><div id="download-air">**</div></li>';if(al()){if(y){X("download-mediaplayer",L.portableDevices,c);af.mediaPlayer=1}if(S){X("download-computerwmv",i,G);af.computerWMV=1}}if(ac.length){ae+='<li class="dropdown-holder"><div class="dropdown"><a id="download-select" href="">'+L.moreDownloads+'</a><ul id="download-options">';for(var ab=0,aa=ac.length;ab<aa;ab++){var ai=ac[ab];ae+=(ab==(aa-1))?ai.replace("<li>",'<li class="last">'):ai}ae+="</ul></div></li>"}dom.create('<div class="download"><h3>'+L.download+"</h3><ul>"+ae+"</ul></div>").insertAfter(aj.get("div.title"));q.setPid(V,z);q.setFileSize(A);if(j){q.setHD()}var Z=ak(A);q.setNoFlashHtml('<a href="'+m.root+'install/bbc_iplayer_desktop">'+L.download+((j)?" HD":"")+((Z.units)?" <span>"+Z.units+Z.abbr+"</span>":"")+"</a>");q.getSwfEmbed("download-air").embed();var ad=$("#download-select");if(ad.length){ad=ad[0];events.addListener(ad,"click",function(am){am.preventDefault();ag(!ah)});Y()}}}}())};