diffbot.plugins.dml.archive=(function(){var R,I,B={},M={back:null,on:false},L={lava:null,document:null,name:"iframe"},T={item:null,title:null,date:null,sets:null,url:null,mode:"history"},F={index:0,page:10,count:0,current:null,outlines:{}},A={divs:[],last:null,current:{item:null}};var S=function(){location.href=L.lava.attr("src");};var d=function(f){return lava.date.format(lava.date.create(f),"%year%0month#%0date%0Hour%min%sec",true);};var J=function(){diffbot.loadPlugin("report",B.items[T.item]);};var O=function(){diffbot.loadPlugin("share",B.items[T.item]);};var P=function(f){if(f){f.preventDefault();}diffbot.messages.add("cache_expose",{message:"highlighting changes...",style:"messageLoading"});lava("#linkhighlightspan").hide();M.back.expose.enable({style:"darkcover"}).expose.get().on("click",b);M.back.expose.get().style({background:"#2f2f2f",opacity:0.67});diffbot.messages.remove("cache_expose");};var H=function(){M.back.expose.disable();lava("#linkhighlightspan").show("inline");};var G=function(f){var g=B.items[f].cacheSetCover;if(lava.is.defined(T.item)){B.items[T.item].cacheSetCover.lava.insert("into",L.document.body).outline.disable();}T.item=f;lava("#linkitem").show("inline");g.lava.outline.enable({width:10}).outline.get().style({background:"yellow"});g.lava.remove();};var c=function(){P();for(var f in B.items){if(lava.date.create(B.items[f].pubDate).valueOf()==T.date.valueOf()){Q(f);}}if(T.item){G(T.item);}M.on=true;};var Q=function(l){var f={lava:lava(null,{frame:"iframe"}),left:null,top:null};var m=B.items[l].cacheSet;for(var j=0;j<m.length;j++){var h=lava.css.coordinates(m[j]);var g=lava("<div>",{frame:"iframe"});var k={background:"white",opacity:0.01,position:"absolute",left:h.left,top:h.top,width:h.width,height:h.height,cursor:"pointer","z-index":lava.get.zIndex++};f.lava.add(g.style(k));f.left=Math.max(f.left||h.left+h.width,h.left+h.width);f.top=Math.min(f.top||h.top,h.top);}f.lava.on("click",lava.make.ref(G,[l],this)).attach("outline").insert();B.items[l].cacheSetCover=f;};var b=function(){if(M.on){lava("#linkitem").hide();H();if(lava.is.defined(T.item)){if(B.items[T.item].cacheSetCover.lava){B.items[T.item].cacheSetCover.lava.insert("into",L.document.body).outline.disable();}}for(var f in B.items){if(B.items[f].cacheSetCover.lava){B.items[f].cacheSetCover.lava.remove();}}}M.on=false;};var e=function(){L.lava.style({height:lava.css.client().inner.height-lava("#top").style("height")});if(T.mode=="history"&&M.on){b();c();}};var X=function(h,i){b();T.item=i;T.date=(i||h)?lava.date.create(i?B.items[i].pubDate:h):null;T.title=i?"found on diffbot: "+B.items[T.item].title:"diffbot archive";var g=T.date?lava.date.format(T.date,"%month %date, %hour:%min %am"):"latest archive";var f=T.date?"version="+d(T.date)+"&":"";L.lava.on("load",D);diffbot.messages.add("cache_archive",{message:"loading cache...",style:"messageLoading"});L.lava.attr({src:globals.paths.api+"dfs/cache?"+f+"id="+B.dmlid});lava("#top_date").clear().append(lava.make.html(g));lava("#top_versions").hide();};var V=function(f){L.lava.attr({src:f});};var D=function(){L.document=lava.get.document(L.name);L.lava.stop();lava("a",{frame:"iframe"}).attr({"target":"_diffbotOut"});lava("embed",{frame:"iframe"}).attr({wmode:"opaque"});lava("object",{frame:"iframe"}).append(lava("<param>",{frame:"iframe"}).attr({name:"wmode",value:"opaque"})).hide().show();if(!T.date){lava("#linkhighlightspan").hide();diffbot.messages.remove("cache_archive");return ;}else{lava("#linkhighlightspan").show();}var i=[];var h=false;for(one in B.items){B.items[one].cacheSet=[];B.items[one].cacheSetCover={};if(lava.date.create(B.items[one].pubDate).valueOf()==T.date.valueOf()){for(var f=0;f<B.items[one].xpath.length;f++){var g=lava.xpath.query(B.items[one].xpath[f],L.name);if(lava.is.text(g)){g=lava.DOM.replace(g,lava("<span>",{frame:L.name}).append(lava.DOM.clone(g,true))[0]);}if(g){h=true;B.items[one].cacheSet.push(g);i.push(g);}}}}M.back=lava(i,{frame:L.name}).attach("expose");c();if(T.item&&!h){L.document.body.innerHTML=B.items[T.item].description;}else{if(T.item&&B.items[T.item]&&B.items[T.item].cacheSet.length){G(T.item);lava.css.scroll(lava.get.window(L.name),{left:0,top:lava.css.coordinates(B.items[T.item].cacheSet[0]).top-100});}else{if(i.length){lava.css.scroll(lava.get.window(L.name),{left:0,top:lava.css.coordinates(i[0]).top-100});}}}diffbot.messages.remove("cache_archive");};var U=function(){var f=lava("#top").style("height");lava("#top_versions").style({"z-index":lava.get.zIndex,top:f}).toggle();};var W=function(z){B=diffbot.plugins.dml.parseJSONML(z.recv("js"))[T.id];var m=T.url||B.sourceURL;var g={max:0,min:0,list:{},order:[]};var f="";lava("#top_source").attr({title:m,href:m}).append(lava.make.html(m));lava("#top_highlight").on("click",function(i){i.preventDefault();c();});lava("#top_rss").attr({title:"click to subscribe",href:"http://api.diffbot.com/rss/"+m});lava("#linkversion").on("click",U);T.mode="archive";for(var w=0,u=B.list.length;w<u;w++){var x=B.list[w].pubDate;if(!g.list[x]){g.order.push(x);}g.list[x]=g.list[x]?g.list[x]+1:1;g.max=Math.max(g.max,g.list[x]);g.min=Math.min(g.min,g.list[x]);if(!T.date){T.date=x;}}var v=0;var h=20;for(var w=0,u=g.order.length;w<u;w++){var x=g.order[w];if(v++<h){var p=lava("<td>").addClass("version");var k=g.list[x];var t=100*(k/g.max);var s=lava("<div>").addClass("version_graph").style({height:t});var q=lava.date.create(x);var y=lava.date.format(q,"%month3 %date");var l=lava.date.format(q,"%hour:%min%am");if(g.last!=y){var n=lava("<div>").addClass("version_month_marker");var r=lava("<div>").append(lava.make.html(g.last=y));lava("<td>").addClass("version_month").append(r).append(n).insert("into","#versions");}var o=lava("<div>").append(lava.make.html(k+""));var f=lava("<div>").append(lava.make.html(l));p.append(o).append(s).append(f).insert("into","#versions");p.on("click",lava.make.ref(X,[x,null]));}}document.title=T.title;if(!T.url){a();}};var a=function(){if(T.mode!="archive"){T.mode="archive";e();lava("#linkitem").hide();lava(["#linkstreamview","#linkarchiveview"]).toggle("inline");}X(T.date,T.item);if(document.location.hash=="#share"){O();document.location.hash=="";}};var N=function(){if(T.mode!="stream"){T.mode="stream";e();lava("html",{frame:"iframe"}).clear().append(lava("<head>")).append(lava("<body>"));lava.load.css("/css/inbox/archive.css",L.document);lava("#linkitem").hide();lava(["#linkstreamview","#linkarchiveview"]).toggle("inline");}diffbot.messages.add("show_stream",{message:"loading stream...",style:"messageLoading"});F.index=0;F.count=0;C();};var Z=function(f){lava(f.currentTarget).remove();C();};var C=function(){var h=B.list[F.index++];var j=lava("<div>",{frame:"iframe"}).addClass("stream_item").append(lava.make.html(h.description)).insert("into",L.document.body);j.on("click",lava.make.ref(E,[h]));F.count++;if(F.index+1<B.list.length&&F.count<F.page){setTimeout(lava.make.ref(C),0);}else{if(F.index<B.list.length){var f=B.list.length-F.index<F.page?B.list.length-F.index:F.page;var i=F.index+1;var g=F.index+f;F.count=0;j=lava("<div>",{frame:"iframe"}).addClass("stream_more").add(lava.make.html("<span>get items ["+i+" - "+g+"] of "+B.list.length+"</span>")).insert("into",L.document.body);j.on("click",lava.make.ref(Z));}diffbot.messages.remove("show_stream");}};var E=function(f,g){if(F.current){F.outlines[F.current].outline.disable();}F.current=T.item=f.id;lava("#linkitem").show("inline");F.outlines[f.id]=F.outlines[f.id]||lava(g.currentTarget,{frame:"iframe"}).attach("outline");F.outlines[f.id].outline.enable({width:10}).outline.get().style({background:"yellow"});};var K=function(h,g,f){T.item=g;T.id=h;T.url=f;if(T.url){if(T.item){lava("#linkitem").show("inline");}lava("#linkhighlightspan").hide();lava("#linkversion").hide();lava("#linkdate").hide();}window.scrollTo(0,0);lava.event.add(window,"resize",e);lava("#iframe").style({height:lava.css.client().inner.height-lava("#top").style("height")});globals.analytics("/dml/archive/"+h);diffbot.ajax.on("error",diffbot.error).on("complete",W);diffbot.ajax.send(globals.paths.api+"dfs/dml/archive",{params:{output:"json",id:h},notify:{message:"loading item...",style:"messageLoading"}});};var Y=function(){var f=lava("#top").style("height");L.lava=lava("#iframe").style({"margin-top":f,height:lava.css.client().inner.height-f});lava("#linkstreamview").on("click",N);lava("#linkarchiveview").on("click",a);lava("#linkshare").on("click",O);lava("#linkfeedback").on("click",J);lava("#close").on("click",S);};Y();return{load:K};})();