YAHOO.namespace("movies");YAHOO.movies.nytMoviesApi=function(m){var c=YAHOO.util.Connect;var l=YAHOO.lang.JSON;var b="http://api.nytimes.com/svc/movies/";var e="v2";var a="reviews";var g=m.baseUrl||"";var j=null;var d=null;var i={};var h=function(o,p){d=p;if(c.isCallInProgress(j)){c.abort(j)}var n=g+"/services/proxy?url="+encodeURIComponent(o);j=c.asyncRequest("GET",n,{success:k,failure:f})};var k=function(q){if(q.responseText!==undefined){var p=q.responseText;if(p.toLowerCase().indexOf("<h1>")>-1){f();return}var n=l.parse(p);if(n.status.toLowerCase()==="ok"){d.success.call(this,n)}else{f()}}d=null};var f=function(n){if(d.fail){d.fail.call(this)}d=null};i.getRecentReviews=function(r,p,q){var n=b+e+"/reviews/"+p+"?";for(var o in q){n+="&"+o+"="+q[o]}h(n,r)};i.getReviewsByReviewer=function(r,q,p){var n=b+e+"/reviews/reviewer/"+q+"?";for(var o in p){n+="&"+o+"="+p[o]}h(n,r)};i.getReviewers=function(p,o){var n=b+e+"/critics/"+o+"?";h(n,p)};i.searchReviews=function(r,p,q){var n=b+e+"/reviews/search?query="+escape(p);for(var o in q){n+="&"+o+"="+q[o]}h(n,r)};return i};YAHOO.movies.cache=function(b){var a={};var c={};var d=3600;a.load=function(f){if(c[f]===undefined){return false}else{var e=Math.floor((new Date().getTime()-c[f].time)/1000);if(e<d){return c[f].data}else{return false}}};a.save=function(f,e){c[e]={data:f,time:new Date().getTime()}};return a};YAHOO.movies.global=function(){var X=YAHOO.util.Dom;var K=YAHOO.util.Event;var ah=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];var H=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];var x="recent";var al="search";var d="reviewers";var an="film";var o="critic";var w="all";var l="picks";var S="dvd-picks";var ay="full-time";var L="part-time";var Q="Y";var W="N";var h=20;var j={};var r=null;var ak=null;var ae=null;var i=null;var p=null;var v=0;var y="";var A=null;var b=null;var u=null;var c=null;var I=0;var ar=function(aG,aD){K.stopEvent(aG);k("film-list");var aK,aM,aC,aI;if(aD.multimedia){X.get("film-img").src=aD.multimedia.resource.src}else{X.get("film-img").src=j.baseUrl+"/images/no_thumb_film.jpg"}headline='<a href="'+aD.link.url+'">'+aD.headline+"</a>";aM=[];if(aD.opening_date!==null){aM.push(aD.opening_date.split("-")[0])}if(aD.mpaa_rating!==null&&aD.mpaa_rating!==""){aM.push("Rated "+aD.mpaa_rating)}if(aD.critics_pick.toLowerCase()==="y"){aM.push('<span class="pick">Critics\' Pick</span>')}aC="By "+aD.byline+"<br />Published "+ag(aD.publication_date);aI='<a href="'+aD.link.url+'">'+aD.link.suggested_link_text+"</a>";X.get("film-title").innerHTML=aD.display_title;X.get("film-meta").innerHTML=aM.join(" &#149; ");X.get("film-head").innerHTML=headline;X.get("film-pub").innerHTML=aC;X.get("film-sum").innerHTML=aD.summary_short;X.get("film-link").innerHTML=aI;var aH=aD.related_urls;var aE=0,aF=aH.length,N,aL,aJ;while(aE<aF){N=aH[aE];aL=document.createElement("li");aJ=document.createElement("a");aJ.setAttribute("href",N.url);aL.appendChild(aJ);h5=document.createElement("h5");h5.innerHTML=N.suggested_link_text;aJ.appendChild(h5);X.get("film-list").appendChild(aL);aE++}var Y=["recent","reviewers","search","hd"];if(u!==null){Y.push("critic");b=window.pageYOffset;X.get("film-back").innerHTML="&#171; "+c}else{A=window.pageYOffset;switch(ae){case x:X.get("film-back").innerHTML="&#171; Recent";break;case al:X.get("film-back").innerHTML="&#171; Search";break;default:X.get("film-back").innerHTML="&#171; Back";break}}X.addClass(Y,"hidden");X.removeClass("film","hidden");window.scrollTo(0,0)};var aA=function(aD,aC){K.stopEvent(aD);k("critic-list");u=aC.seo_name.toLowerCase();c=aC.display_name;_criticPicks=Q;I=0;R();var N,Y;if(aC.multimedia){N=aC.multimedia.resource.src;X.get("critic-img").src=N}else{X.get("critic-img").src=j.baseUrl+"/images/no_thumb_critic.jpg"}Y=[];if(aC.status.toLowerCase()==="full-time"){Y.push("Full-time")}else{Y.push("Part-time")}X.get("critic-name").innerHTML=aC.display_name;X.get("critic-meta").innerHTML=Y.join(" | ");if(aC.bio!==""&&aC.bio!==null){X.get("critic-bio-short").innerHTML=aC.bio.substr(0,100)+" <em>... Show more</em>";X.get("critic-bio-full").innerHTML=aC.bio+" <em>... Show less</em>";X.removeClass("critic-bio-short","hidden");X.removeClass("critic-bio","hidden")}else{X.addClass("critic-bio-short","hidden");X.addClass("critic-bio","hidden")}X.addClass("critic-bio-full","hidden");X.get("critic-list-info").innerHTML="Reviews by <strong>"+c+"</strong>";A=window.pageYOffset;X.addClass(["recent","reviewers","search","hd"],"hidden");X.removeClass("critic","hidden");window.scrollTo(0,0);aj(u)};var T=function(Y,N){K.stopEvent(Y);if(N.page===o){u=null}X.addClass(N.page,"hidden");if(u!==null){X.get("film-img").src=null;X.removeClass("critic","hidden");window.scrollTo(0,b)}else{X.get("critic-img").src=null;X.removeClass("hd","hidden");switch(ae){case x:X.removeClass("recent","hidden");break;case d:X.removeClass("reviewers","hidden");break;case al:X.removeClass("search","hidden");break}window.scrollTo(0,A)}};var m=function(){if(X.hasClass("critic-bio-short","hidden")){X.removeClass("critic-bio-short","hidden");X.addClass("critic-bio-full","hidden")}else{X.addClass("critic-bio-short","hidden");X.removeClass("critic-bio-full","hidden")}};var ab=function(){X.removeClass(["tab-recent","tab-reviewers","tab-search"],"selected");X.addClass(["recent","reviewers","search"],"hidden");switch(ae){case x:X.addClass("tab-recent","selected");X.removeClass("recent","hidden");k("recent-list");break;case d:X.addClass("tab-reviewers","selected");X.removeClass("reviewers","hidden");k("reviewers-list");break;case al:X.addClass("tab-search","selected");X.removeClass("search","hidden");k("search-list");break}};var ac=function(){X.removeClass(["recent-all","recent-picks","recent-dvd"],"selected");switch(i){case w:X.addClass("recent-all","selected");break;case l:X.addClass("recent-picks","selected");break;case S:X.addClass("recent-dvd","selected");break}};var am=function(){X.removeClass(["reviewers-all","reviewers-full","reviewers-part"],"selected");switch(p){case w:X.addClass("reviewers-all","selected");break;case ay:X.addClass("reviewers-full","selected");break;case L:X.addClass("reviewers-part","selected");break}};var R=function(){X.removeClass(["critic-all","critic-picks"],"selected");switch(_criticPicks){case Q:X.addClass("critic-picks","selected");break;case W:X.addClass("critic-all","selected");break}};var s=function(N){ax(N,"recent-list","recent-load",a,ar)};var B=function(N){ax(N,"reviewers-list","reviewers-load",q,aA)};var aa=function(N){ax(N,"critic-list","critic-load",a,ar)};var P=function(N){au();var Y=N.num_results;var aD=Y===1?"":"s";var aC="<strong>"+Y+"</strong> result"+aD+"</h5>";X.get("results-info").innerHTML=aC;X.removeClass("results-info","hidden");ax(N,"search-list","search-load",a,ar)};var ax=function(Y,aE,aH,aF,N){var aC=0,aD=Y.results.length,aI,aG;if(aD>0){while(aC<aD){aI=aF(Y.results[aC],N);X.get(aE).appendChild(aI);aC++}if(Y.num_results>v*h+aD){aB(aH)}else{X.addClass(aH,"hidden")}}else{V(aE,aH,"There are no items for this view")}};var V=function(Y,N,aC){li=e(aC);X.get(Y).appendChild(li);X.addClass(N,"hidden")};var aw=function(N){X.get(N).innerHTML="Loading...";X.removeClass(N,"loading");X.addClass(N,"status");K.removeListener(N,"click",Z);X.removeClass(N,"hidden")};var aB=function(N){X.addClass(N,"loading");X.removeClass(N,"status");X.removeClass(N,"hidden");X.get(N).innerHTML="Load more items";K.on(N,"click",Z)};var e=function(aC){var N,Y;N=document.createElement("li");Y=document.createElement("a");N.appendChild(Y);title=document.createElement("h3");title.innerHTML=aC;Y.appendChild(title);return N};var a=function(aK,aC){var aJ,aH,aL,N,aF,aE,aD,aG,Y,aI;aJ=document.createElement("li");aH=document.createElement("a");X.addClass(aH,"cfx");K.on(aH,"click",aC,aK);aJ.appendChild(aH);aL=document.createElement("span");X.addClass(aL,"img-block");aH.appendChild(aL);aF=document.createElement("img");aF.setAttribute("width","75");aF.setAttribute("height","75");aF.setAttribute("alt","");if(aK.multimedia){aF.setAttribute("src",aK.multimedia.resource.src)}else{aF.setAttribute("src",j.baseUrl+"/images/no_thumb_film.jpg")}aL.appendChild(aF);N=document.createElement("div");X.addClass(N,"txt-block");aH.appendChild(N);aE=document.createElement("h6");if(ae===x&&i===S){aE.innerHTML="Available "+ag(aK.dvd_release_date)}else{aE.innerHTML="Published "+ag(aK.publication_date)}N.appendChild(aE);aG=document.createElement("h3");aG.innerHTML=aK.display_title;N.appendChild(aG);Y=document.createElement("h4");Y.innerHTML=aK.headline;N.appendChild(Y);aI="By "+aK.byline;if(aK.critics_pick.toLowerCase()==="y"){aI+=' &#149; <span class="pick">Critics\' Pick</span>'}aD=document.createElement("h6");aD.innerHTML=aI;N.appendChild(aD);return aJ};var q=function(aI,aC){var aH,aG,aE,aJ,N,Y,aD,aF=(aI.status.toLowerCase()==="full-time");aH=document.createElement("li");aG=document.createElement("a");X.addClass(aG,"cfx");K.on(aG,"click",aC,aI);aH.appendChild(aG);aJ=document.createElement("span");X.addClass(aJ,"img-block");aG.appendChild(aJ);aE=document.createElement("img");aE.setAttribute("width","75");aE.setAttribute("height","75");aE.setAttribute("alt","");if(aI.multimedia){aE.setAttribute("src",aI.multimedia.resource.src)}else{aE.setAttribute("src",j.baseUrl+"/images/no_thumb_critic.jpg")}aJ.appendChild(aE);N=document.createElement("div");X.addClass(N,"txt-block");aG.appendChild(N);Y=document.createElement("h3");Y.innerHTML=aI.display_name;N.appendChild(Y);aD=document.createElement("h6");aD.innerHTML=aF?"Full-time":"Part-time";N.appendChild(aD);return aH};var av=function(){var N=r.load(O());if(N){s(N)}else{aw("recent-load");ak.getRecentReviews({success:g,fail:t},i,{offset:v*h})}};var g=function(N){r.save(N,O());s(N)};var t=function(N){V("recent-list","recent-load","There was an error loading the requested data")};var ap=function(){var N=r.load(O());if(N){B(N)}else{aw("reviewers-load");ak.getReviewers({success:at,fail:G},p)}};var at=function(N){r.save(N,O());B(N)};var G=function(N){V("reviewers-list","reviewers-load","There was an error loading the requested data")};var aj=function(Y){var N=r.load(O());if(N){aa(N)}else{aw("critic-load");ak.getReviewsByReviewer({success:F,fail:aq},Y,{offset:I*h,"critics-pick":_criticPicks})}};var F=function(N){r.save(N,O());aa(N)};var aq=function(){V("critics-list","critics-load","There was an error loading the requested data")};var ai=function(){y=X.get("txt-search").value;D();var N=r.load(O());if(N){P(N)}else{M();if(v===0){X.addClass("results-info","hidden")}aw("search-load");ak.searchReviews({success:ad,fail:ao},y,{offset:v*h})}};var ad=function(N){r.save(N,O());P(N)};var ao=function(){au();V("search-list","search-load","There was an error loading the requested data")};var au=function(){X.get("txt-search").disabled=false;X.get("btn-search").disabled=false};var M=function(){X.get("txt-search").disabled=true;X.get("btn-search").disabled=true};var O=function(){var N=[];N.push(ae);if(u!==null){N.push(u);N.push(_criticPicks);N.push(I)}else{if(ae===x){N.push(i)}if(ae===d){N.push(p)}if(ae===al){N.push(y)}N.push(v)}return N.join("-")};var ag=function(Y){var N=Y.split("-");var aC=new Date(N[0],N[1]-1,N[2]);return ah[aC.getDay()]+", "+H[aC.getMonth()]+" "+aC.getDate()+", "+aC.getFullYear()};var k=function(N){X.get(N).innerHTML=""};var E=function(N){if(ae!==x||i!==w){v=0;ae=x;i=w;ab();ac();av()}};var C=function(N){K.stopEvent(N);k("search-list");ai()};var J=function(N){if(ae!==x){ae=x;if(i===null){i=w}v=0;ab();ac();D();av()}};var f=function(N){if(ae!==d){ae=d;if(p===null){p=ay}v=0;ab();am();D();ap()}};var az=function(N){if(ae!==al){v=0;ae=al;ab();D();if(y!==""){X.get("txt-search").value=y;ai()}}};var n=function(Y,N){if(i!==N.filter){v=0;k("recent-list");i=N.filter;ac();D();av()}};var z=function(Y,N){if(p!==N.filter){v=0;k("reviewers-list");p=N.filter;am();D();ap()}};var U=function(Y,N){if(_criticPicks!==N.filter){_criticPicks=N.filter;I=0;k("critic-list");R();aj(u)}};var Z=function(N){K.stopEvent(N);if(u!==null){I++;aj(u)}else{v++;switch(ae){case x:av();break;case al:ai();break}}};var D=function(){var N="/";N+=ae;if(ae===x){N+="/"+i}if(ae===d){N+="/"+p}if(ae===al&&y!==""){N+="/"+encodeURIComponent(y)}location.hash=N};var af=function(){setTimeout(function(){window.scrollTo(0,1)},100);ak=YAHOO.movies.nytMoviesApi({baseUrl:j.baseUrl});r=YAHOO.movies.cache();K.on("home","click",E);K.on("form-search","submit",C);K.on("film-back","click",T,{page:an});K.on("critic-back","click",T,{page:o});K.on("critic-picks","click",U,{filter:Q});K.on("critic-all","click",U,{filter:W});K.on("critic-bio-short","click",m);K.on("critic-bio-full","click",m);K.on("tab-recent","click",J);K.on("tab-reviewers","click",f);K.on("tab-search","click",az);K.on("recent-all","click",n,{filter:w});K.on("recent-picks","click",n,{filter:l});K.on("recent-dvd","click",n,{filter:S});K.on("reviewers-all","click",z,{filter:w});K.on("reviewers-full","click",z,{filter:ay});K.on("reviewers-part","click",z,{filter:L});var aE=location.hash;var aD=aE.substr(1);if(aD.length){aD=aD.substr(1);var N=aD.split("/");var aC=N[0];var Y=N[1];if(aC===x){if(Y){i=Y}J();return}if(aC===d){if(Y){p=Y}f();return}if(aC===al){if(Y){y=decodeURIComponent(Y)}az();return}}J()};YAHOO.util.Event.onDOMReady(af);j.baseUrl="";return j}();