(function(I,K,C){var J=I.identity,F=I.idProperties,O=I.gloader;if(J==C){J=I.identity={}}if(F==C){F=I.idProperties={}}if(!F.panelAppearTimeout){F.panelAppearTimeout=8000}if(J.status==C){J.status={}}J.status.enableJavaScript=function(){J.enableJavaScript()};J.status.refresh=function(){J.statusbar.refresh()};var N,H,A,G,P,E,L,M,B=F.env=="sandbox"||F.env=="dev";function D(){var Q=["bbc.co.uk/users/signin","bbc.co.uk/users/register","bbc.co.uk/users/upgrade","bbc.co.uk/users/dash","bbc.co.uk/users/delete","bbc.co.uk/users/settings","bbc.co.uk/users/error","bbc.co.uk/users/status","bbc.co.uk/users/help","bbc.co.uk/users/feedback","bbc.co.uk/users/signedout","bbc.co.uk/users/recover"];for(i=0;i<Q.length;i++){var R=new RegExp(Q[i]);if(I.location.href.match(R)){return true}}return false}J.isBrowserSupported=function(){var Q=function(S){return navigator.userAgent.match(S)},R=Q(/^.*mobile.*$/i)||Q(/^.*blackberry.*$/i)||Q(/^.*opera mini.*$/i)||Q(/^.*windows ce.*$/i)||(Q(/^.*ppc.*$/i)&&!Q(/^.*ppc\smac.*$/i))||Q(/^.*symbian.*$/i)||Q(/^.*avantgo.*$/i)||Q(/^.*opera mini.*$/i)||Q(/^.*wii.*$/i)||Q(/^.*playstation.*$/i);return !R};J.urls={help:"/users/help",feedback:"/users/feedback",login:"/users/signin",signin:"/users/signin",signout:"/users/signout",settings:"/users/dash",register:"/users/register",forgotpw:"/users/recover",terms:"http://www.bbc.co.uk/terms",privacy:"http://www.bbc.co.uk/privacy/"};J.statusbar=(function(){var S={},T,W,V,U=(function(){var a,Z=false,Y=false,X=false;return function(){if(D()){return }if(Z){N.events.removeListener(Z)}if(!J.user.isSignedIn()){a=T.get(".idSignin");if(a.length){Z=A(a,"click",function(b){if(Y){return }Y=true;b.preventDefault();Q();J.showSigninPanel(b,{onSuccess:function(){R();Y=false}})})}}if(X){N.events.removeListener(X)}X=A(J,"panelLoaded",function(){R()})}})(),Q=function(){T.get("div").addClass("id-status-working")},R=function(){T.get("div").removeClass("id-status-working")};S.render=function(){var n={signedIn:{common:'<div id="id-status{gel.navid}"><div class="id-in blq-rst"><h2><span class="blq-hide">Your BBC iD: </span>{username.markup}</h2><ul>{profile.markup}<li>{settings.markup}</li><li><a name="idSignout" class="blq-nogo has-ptrt idSignout" href="{signout.link}">{signout.title}</a></li></ul></div></div>',gel:'<div id="id-status"><div class="id-in id-gel">{username.markup}</div></div>'},signedOut:{gvl2:'<div id="id-status"><div class="id-out"><h2 class="blq-hide">BBC iD</h2><ul><li>{signin.markup}</li><li>{register.markup}</li></ul></div></div>',gel:'<div id="id-status"><div class="id-out id-gel"><h2 class="blq-hide">BBC iD</h2>{signin.markup}</div></div>'},signin:{active:'<strong class="idSignin">{signin.title}</strong>',link:'<a href="{signin.link}" class="blq-nogo has-ptrt idSignin">{signin.title}</a>'},register:{active:'<strong class="idRegister">{register.title}</strong>',link:'<a href="{register.link}" class="blq-nogo has-ptrt idRegister">{register.title}</a>'},username:{abbr:'<abbr title="{username.title}">{username.abbr}</abbr>',span:'<span class="idUsername blq-nogo{username.class}">{username.title}</span>',link:'<a class="idUsername blq-nogo{username.class}" href="{username.link}"{gel.navAnchor}>{username.title}</a>'},profile:{active:"<li><strong>{profile.title}</strong></li>",link:'<li><a href="{profile.link}" class="blq-nogo">{profile.title}</a></li>'},settings:{active:'<strong class="idDash">{settings.title}</strong>',link:'<a name="idDash" class="blq-nogo has-ptrt idDash" href="{settings.link}">{settings.title}</a>'}},b={"en-GB":{signin:{title:"Sign in"},signout:{title:"Sign out"},register:{title:"Register"},profile:{title:"Profile"},settings:{title:"Settings"}},"cy-GB":{signin:{title:"Mewngofnodi"},signout:{title:"Allgofnodi"},register:{title:"Cofrestru"},profile:{title:"Proffeil"},settings:{title:"Dewisiadau"}}},j="en-GB",d,k=function(o){if(b[o]){return b[o]}return b["en-GB"]},h=function(p,r){var s,q={};for(s in p){q[s]=p[s]}for(s in r){if(q[s]&&(typeof q[s]=="object")&&(typeof r[s]=="object")){q[s]=h(q[s],r[s])}else{q[s]=r[s]}}return q},Y=function(){d={profile:{link:J.user.getProfileUrl()},register:{link:F.secureServer+J.urls.register+"?s=sb"},settings:{link:F.secureServer+J.urls.settings+"?s=sb"},signout:{link:F.secureServer+J.urls.signout+"?s=sb"},signin:{link:F.secureServer+J.urls.signin+"?s=sb"},username:{title:(function(){if(!J.user.isSignedIn()){return""}var p=J.user.getDisplayname();if(!p){p=J.user.getUsername()}if(!p){return""}var o=V?14:18;if(p.length>=o){return'<abbr title="'+p+'">'+p.substring(0,o-1)+"&#8230;</abbr>"}return p})()}};d=h(d,k(j))},l=function(p,q,o){if(o&&typeof o=="object"){o=h(d,o)}else{o=d}return N.lang.interpolate(n[p][q],o)},X=function(p,o){var q=false;return l(p,(q)?"active":"link",o)},g=function(){var p={gel:{},username:{},profile:{},settings:{}},o="",q="";if(V){q=F.secureServer+J.urls.settings}else{if(J.user.hasProfile()){q=J.user.getProfileUrl()}}if(V){p.username["markup"]=l("username","link",{username:{"class":"",link:"#id-nav"},gel:{navAnchor:""}});o+=l("signedIn","gel",p)}p.gel["navid"]=(V?"-nav":"");p.username["markup"]=l("username",(q?"link":"span"),{username:{"class":"",link:q},gel:{navAnchor:(V?' name="id-nav"':"")}});p.profile["markup"]=(V&&J.user.hasProfile())?X("profile"):"";p.settings["markup"]=X("settings");return o+l("signedIn","common",p)},m=function(){var o={signin:{markup:X("signin")},register:{}},p;if(!V){o.register["markup"]=X("register")}return l("signedOut",(V?"gel":"gvl2"),o)};j=H("#blq-container-inner").prop("lang");Y();var f=J.user.isSignedIn()?g():m(),e=N.dom.create(f),Z=e.filter(function(){return this.id=="id-status"}),c=e.filter(function(){return this.id=="id-status-nav"});if(!T||!T.length){T=H("#id-status")}if(!T.length){var a=H("#blq-mast");a.length&&Z.prependTo(a)}else{T.replaceWith(Z)}T=Z;if(W&&W.length){W.replaceWith(c)}else{T.after(c)}W=c};S.refresh=function(){S.render();U();if(V){S.menu.init(T)}P(J,"statusbarRefresh");return };S.setPtrt=(function(){var Y="#id-status",c="#id-status-nav",X=".idSignin",d=".idRegister",Z=".idDash",e=".idSignout",a="a.has-ptrt",f=function(g){return H(T.get(g),W.get(g))},b=function(g,h){g.each(function(){var k,l=H(this),j=l.attr("href"),m=j.split("?");j=(m[0])?m[0]:j;m=(m[1])?m[1]:"";k=N.data.decodeUrl(m);k.ptrt=h;m=N.data.encodeUrl(k);l.attr("href",j+"?"+m)})};return function(h){if(!h){b(f(a),I.location.href)}else{if(typeof (h)=="string"){b(f(a),h)}else{if(typeof (h)=="object"){var g,j;for(g in h){switch(g){case"register":j=f(d);break;case"signin":j=f(X);break;case"settings":j=f(Z);break;case"signout":j=f(e);break;default:continue}if(j.is("a")){b(j,h[g])}}}}}}})();S.enableJavaScript=(function(){var X=false;return function(){if(!X&&J.isBrowserSupported()){X=true;U();J.addSigninHandler(S.refresh)}}})();S.init=function(){var X=H("#blq-container");T=H("#id-status");V=T.hasClass("id-gel")||X.hasClass("blq-gvl-3")||X.hasClass("blq-gvl-2-7");if(T&&T.length>0&&T.get("div.id-jsstatusbar").length){S.render(T)}W=H("#id-status-nav");if(V){S.menu.init(T,W)}if(!D()){J.setStatusbarPtrt()}};return S})();J.statusbar.menu=(function(){var S={},V=0.35,U=98,T,R,Q,W;S.toggle=function(X){if(X.preventDefault){X.preventDefault()}if(X.stopPropagation){X.stopPropagation()}X.returnValue=false;if(Q){S.hide()}else{S.show()}};S.hide=function(Y){Y=Y!=false;if(Y){if(!Q){return }var X;N.anim.css(T,V,{opacity:0},{onComplete:function(){T.css("display","none");if(W!=U){X=N.anim.css(R,0.2,{width:W+"px"},{onComplete:function(){Q=false;X=""}}).start()}Q=false}}).start()}else{T.css("opacity",0);T.css("display","none");Q=false}};S.show=function(){if(Q){return }T.css("display","block");Q=true;var X;if(!W){W=R.width()}if(W==U){X=N.anim.fadeIn(T,V)}else{N.anim.css(R,V/2,{width:U+"px"},{onFrame:function(){if(!X&&this.value>=0.5){X=N.anim.fadeIn(T,V)}}}).start()}};S.init=function(X,Y){T=Y||H("#id-status-nav");if(!T||!T.length){return }X=X||H("#id-status");R=X.get(".idUsername");T.appendTo("#blq-container-inner");Q=false;W="";S.hide(false);A(H(R,T.get(".idUsername")),"click",S.toggle);A(K,"click",function(Z){if(!H(Z.source).isWithin(H("#id-status,#id-status-nav"))){S.hide()}})};return S})();J.enableJavaScript=(function(){var S=false,T=[],Q=function(){var V;for(var U=0,W;W=T[U];U++){R(W);delete T[U]}},R=function(V){try{V();return true}catch(U){L("identity.onLoad: Could not execute iD onload callback function.",U);throw U}};J.onLoad=function(V){if(typeof V=="function"){if(S){return R(V)}var U=T.length;T[U]=V;return U}throw new TypeError("identity.onLoad: Required parameter callback must be a JavaScript function reference.")};return function(){if(!S&&J.isBrowserSupported()){S=true;J.statusbar.enableJavaScript();J.cta.parseLinks();Q()}}})();J.addSigninHandler=function(Q){return A(J,"signin",Q)};J.addSigninCancelHandler=function(Q){return A(J,"signinCancel",Q)};J.addStatusbarRefreshHandler=function(Q){return A(J,"statusbarRefresh",Q)};J.removeHandler=function(Q){G(Q)};J.setStatusbarPtrt=(function(){var Q;return function(R,T){if(Q){J.removeHandler(Q);Q=null}if(typeof T!="boolean"){T=true}var S=function(){J.statusbar.setPtrt(R)};S();if(T){Q=J.addStatusbarRefreshHandler(function(){S()})}return true}})();J.setEnv=function(S){var Q=".bbc.co.uk",T,R=I.location.protocol;switch(S){case"dev":case"sandbox":T="pal.sandbox.dev"+Q;S="sandbox";break;case"int":case"test":case"stage":T="id."+S+Q;break;case"live":T="id"+Q;break;case C:T=I.location.hostname;default:return false}F.env=S;F.dynamicServer=I.location.protocol+"//"+T;F.secureServer="https://"+T;J.statusbar.refresh();return true};J.setStatusbarEnv=J.setEnv;J.loadResources=(function(){var V=false,S="id-resources-loaded",U="script/",Q="id.js",R={"id-status.js":{},"id-app.js":{},"id-forms.js":{},"id-glow-panel-extensions.js":{}},T=function(){for(var W in R){if(!R[W].loaded){return false}}if(!V&&P!=C){P(J,S);V=true}return true};J.isResourcesLoaded=T;J.resourceLoaded=function(W){if(R[W]){R[W].loaded=true}T()};return function(Z){var W=N.net.loadScript,Y=false;if(typeof Z=="function"){if(T()){Z()}else{A(J,S,Z)}}if(!T()){if(B){for(var X in R){if(R[X].request){continue}Y=true;R[X].request=W(F.assetPath+U+X,{useCache:false})}}else{W(F.assetPath+U+Q,{useCache:true})}}return Y}})();J.showSigninPanel=function(R,Q){return J.showPanel("signin",R,Q)};J.showPanel=(function(){var R=false,Q=function(U,X){if(R){return }var W=I.idPanelObj,S=I.idInfoPanelObj,T,V=X.dom.create('<div class="id-panel-css-load-test"></div>');H("body").append(V);if(U!=C&&!B){T=I.setTimeout(function(){try{I.location=U.source.href}catch(Y){}},F.panelAppearTimeout)}if(J.app!=C&&J.app.init&&J.util!=C&&J.util.init&&W!=C&&W.init&&S!=C&&S.init&&J.forms!=C&&J.forms.init&&V.width()==50){if(T){I.clearTimeout(T)}J.app.init(X,U);W.init(X);S.init(X);J.forms.init(X);R=true;P(J,"id-panels-initialised");V.remove()}};return function(U,W,V){J.enableJavaScript();var X=function(){if(typeof V=="function"){V={onSuccess:V}}J.app.showPanel(U,W,V)},S=function(){if(!R){O.load(["glow","1","glow.net","glow.anim","glow.tweens","glow.widgets","glow.i18n"],{onLoad:function(Y){Q(W,Y);X()},async:true})}else{X()}};if(!J.overlayEnabled()){var T=H(W.attachedTo);if(T.is("a")){I.location.href=T.attr("href");return }}if(!J.isResourcesLoaded()){J.loadResources(S)}else{S()}if(W){W.preventDefault()}}})();J.setDebugMode=function(Q,R){K.cookie="bbc."+Q+".debug="+(R?1:0)+";path=/;domain=.bbc.co.uk";I.location.reload()};J.setOverlayEnabled=function(Q){F.useOverlay=Q?true:false};J.overlayEnabled=function(){if(typeof F.useOverlay=="undefined"||F.useOverlay){return true}else{return false}};if(J.util==C){J.util={}}if(J.util.getCookie==C){J.util.getCookie=function(R){var T=[R,"="].join("");var Q=K.cookie.split(";");for(var S=0;S<Q.length;S++){var U=Q[S];while(U.charAt(0)==" "){U=U.substring(1,U.length)}if(U.indexOf(T)===0){return U.substring(T.length,U.length)}}return null}}J.cta=(function(){var Y={},T,R="IDENTITY",V="IDENTITY_ENV",Z=[],W="/users/authorized.bool",U=function(c,b){if(!b){b={}}if(typeof b.onSuccess!="function"){b.onSuccess=function(){}}if(typeof b.onFailure!="function"){b.onFailure=function(){}}var a=X(c);N.net.get([W,"?url=",a].join(""),{onLoad:function(e){var d=Y.text();if(d=="0"){b.onFailure()}else{if(d=="1"){b.onSuccess()}}}})},S=function(b){var c=b.split("?");if(!c[1]||c[2]){return false}var a=N.data.decodeUrl(c[1]);return a.ptrt||false},X=function(b){var c=b.split("?");if(!c[1]||c[2]){return I.location.href}var a=N.data.decodeUrl(c[1]);return a.target_resource||a.ptrt||I.location.href},Q=function(){var c=function(d){T=d};var a=J.util.getCookie(R);var b=T;if(typeof T=="undefined"){c(a);return 2}else{if(a==b){return false}else{c(a);return true}}};Y.parseLinks=function(){var c=H("a.id-cta").filter(function(e){var d=H(this).attr("href");if(d.match(/((^https?:\/\/(www|id|www\.int|id\.int|www\.test|id\.test|www\.stage|id\.stage|pal\.sandbox\.dev)\.bbc\.co\.uk)|^)?\/users\/(login|signin)\/?.*/i)){return true}else{return false}});for(var b=0,a;a=Z[b];b++){G(a)}Z=[];c.each(function(e){var d=H(this);Z[Z.length]=A(d,"click",function(h){h.preventDefault();var g=S(d.attr("href")),f=X(d.attr("href"));if(J.user.isSignedIn()){if(g){I.location.href=g}else{P(J,"signin")}}else{H(h.attachedTo).addClass("id-cta-working");J.showSigninPanel(h);var j;j=J.addSigninHandler(function(){J.removeSigninHandler(j);if(g){I.location.href=g}else{d.removeClass("id-cta-working")}});J.addSigninCancelHandler(function(){H(h.attachedTo).removeClass("id-cta-working");J.removeSigninHandler(j)})}})})};Q();return Y})();J.user=(function(){var Q={},T=false,R,S=function(){var V=decodeURIComponent(J.util.getCookie("IDENTITY")),U;if(!T||T!=V){T=V;U=V?V.split("|"):null;if(V!=U&&U.length>=5){R={id:U[0],username:U[1],displayname:decodeURIComponent(U[2]).replace(/\+/g," "),profile:U[4]!=0,status:"signedin",signedin:true};R.profileUrl=R.profile?F.dynamicServer+"/users/"+R.username:false}else{R={id:false,username:false,displayname:false,profile:false,profileUrl:false,status:"signedout",signedin:false}}}return R};Q.getUserDetailsFromCookie=S;Q.getDisplayname=function(){return S().displayname};Q.getId=function(){return S().id};Q.getObject=S;Q.getProfileUrl=function(){return S().profileUrl};Q.getStatus=function(){return S().status};Q.getUsername=function(){return S().username};Q.hasProfile=function(){return S().profile};Q.isAuthorised=function(V){if(Q.isSignedIn()){try{var U=N.net.get("/users/authorized.bool?url="+V,{async:false});if(U.text()==1){return true}}catch(W){L(W)}}return false};Q.isSignedIn=function(){return S().signedin};Q.loggedIn=Q.isSignedIn;return Q})();E=function(Q){if(I.Debug&&I.Debug.writeln){I.Debug.writeln(Q)}else{if(I.console&&I.console.log){I.console.log(Q)}}};L=function(R,Q){if(I.console&&I.console.error){I.console.error(R,Q)}else{E(R);if(Q!==C){E(Q)}}};M=function(Q){N=Q;H=N.dom.get;A=N.events.addListener;G=N.events.removeListener;P=N.events.fire;J.statusbar.init(N);J.enableJavaScript();J.isResourcesLoaded();A(J,"signin",function(R){P(J,"login",R)})};if(O&&O.load){O.load(["glow","1","glow.net","glow.anim","glow.tweens","glow.widgets","glow.widgets.InfoPanel","glow.i18n"],{onLoad:function(Q){Q.ready(function(){try{M(Q)}catch(R){L("Could not initialise BBC iD JavaScript",R)}})}})}})(window,document);
