var log=function(a){if(typeof console!=="undefined"){console.log("PFLog: "+a)}};var pfspace={bodyCache:null,bodyCache2:null,flags:1|2,FLAG_STRIP_UNLIKELYS:1,FLAG_WEIGHT_CLASSES:2,regexps:{unlikelyCandidatesRe:/combx|comment|disqus|foot|header|menu|meta|rss|shoutbox|sidebar|sponsor/i,okMaybeItsACandidateRe:/and|article|body|column|main/i,positiveRe:/article|body|content|entry|hentry|page|pagination|post|text/i,negativeRe:/combx|comment|contact|foot|footer|footnote|link|media|meta|promo|related|scroll|shoutbox|sponsor|tags|widget/i,divToPElementsRe:/<(a|blockquote|dl|div|img|ol|p|pre|table|ul)/i,replaceBrsRe:/(<br[^>]*>[ \n\r\t]*){2,}/gi,replaceFontsRe:/<(\/?)font[^>]*>/gi,trimRe:/^\s+|\s+$/g,normalizeRe:/\s{2,}/g,killBreaksRe:/(<br\s*\/?>(\s|&nbsp;?)*){1,}/g,videoRe:/http:\/\/(www\.)?(youtube|vimeo)\.com/i},initializeNode:function(a){a.pfspace={contentScore:0};switch(a.tagName){case"DIV":a.pfspace.contentScore+=5;break;case"PRE":case"TD":case"BLOCKQUOTE":a.pfspace.contentScore+=3;break;case"ADDRESS":case"OL":case"UL":case"DL":case"DD":case"DT":case"LI":case"FORM":a.pfspace.contentScore-=3;break;case"H1":case"H2":case"H3":case"H4":case"H5":case"H6":case"TH":a.pfspace.contentScore-=5;break}a.pfspace.contentScore+=pfspace.getClassWeight(a)},getCharCount:function(b,a){a=a||",";return pfspace.getInnerText(b).split(a).length-1},getLinkDensity:function(g){var b=g.getElementsByTagName("a");var d=pfspace.getInnerText(g).length;var f=0;for(var c=0,a=b.length;c<a;c++){f+=pfspace.getInnerText(b[c]).length}return f/d},getClassWeight:function(b){if(!pfspace.flagIsActive(pfspace.FLAG_WEIGHT_CLASSES)){return 0}var a=0;if(b.className!=""){if(b.className.search(pfspace.regexps.negativeRe)!==-1){a-=25}if(b.className.search(pfspace.regexps.positiveRe)!==-1){a+=25}}if(typeof(b.id)=="string"&&b.id!=""){if(b.id.search(pfspace.regexps.negativeRe)!==-1){a-=25}if(b.id.search(pfspace.regexps.positiveRe)!==-1){a+=25}}return a},killBreaks:function(b){try{b.innerHTML=b.innerHTML.replace(pfspace.regexps.killBreaksRe,"<br />")}catch(a){log("KillBreaks failed - this is an IE bug. Ignoring.: "+a)}},cleanStyles:function(a){a=a||document;var b=a.firstChild;if(!a){return}while(b!==null){if(b.nodeType==1){if(b.className!="pf-print-area"){b.removeAttribute("style")}pfspace.cleanStyles(b)}b=b.nextSibling}},clean:function(g,a){var h=g.getElementsByTagName(a);var b=(a=="object"||a=="embed");for(var n=h.length-1;n>=0;n--){if(b){var f="";for(var d=0,c=h[n].attributes.length;d<c;d++){f+=h[n].attributes[d].value+"|"}if(f.search(pfspace.regexps.videoRe)!==-1){continue}if(h[n].innerHTML.search(pfspace.regexps.videoRe)!==-1){continue}}h[n].parentNode.removeChild(h[n])}},cleanHeaders:function(c){for(var a=1;a<7;a++){var d=c.getElementsByTagName("h"+a);for(var b=d.length-1;b>=0;b--){if(pfspace.getClassWeight(d[b])<0||pfspace.getLinkDensity(d[b])>0.33){d[b].parentNode.removeChild(d[b])}}}},cleanConditionally:function(w,x){var b=w.getElementsByTagName(x);var r=b.length;for(var v=r-1;v>=0;v--){var n=pfspace.getClassWeight(b[v]);var u=(typeof b[v].pfspace!="undefined")?b[v].pfspace.contentScore:0;if(n+u<0){b[v].parentNode.removeChild(b[v])}else{if(pfspace.getCharCount(b[v],",")<10){var q=b[v].getElementsByTagName("p").length;var y=b[v].getElementsByTagName("img").length;var o=b[v].getElementsByTagName("li").length-100;var g=b[v].getElementsByTagName("input").length;var f=0;var t=b[v].getElementsByTagName("embed");for(var a=0,d=t.length;a<d;a++){if(t[a].src.search(pfspace.regexps.videoRe)==-1){f++}}var h=pfspace.getLinkDensity(b[v]);var c=pfspace.getInnerText(b[v]).length;var s=false;if(y>q){s=true}else{if(o>q&&x!="ul"&&x!="ol"){s=true}else{if(g>Math.floor(q/3)){s=true}else{if(c<25&&(y===0||y>2)){s=true}else{if(n<25&&h>0.2){s=true}else{if(n>=25&&h>0.5){s=true}else{if((f==1&&c<75)||f>1){s=true}}}}}}}if(s){b[v].parentNode.removeChild(b[v])}}}}},prepArticle:function(b){pfspace.cleanStyles(b);pfspace.killBreaks(b);pfspace.clean(b,"script");pfspace.clean(b,"form");pfspace.clean(b,"object");pfspace.clean(b,"h1");if(b.getElementsByTagName("h2").length==1){pfspace.clean(b,"h2")}pfspace.clean(b,"iframe");pfspace.cleanHeaders(b);pfspace.cleanConditionally(b,"table");pfspace.cleanConditionally(b,"ul");pfspace.cleanConditionally(b,"div");var g=b.getElementsByTagName("p");for(var d=g.length-1;d>=0;d--){var c=g[d].getElementsByTagName("img").length;var f=g[d].getElementsByTagName("embed").length;var a=g[d].getElementsByTagName("object").length;if(c===0&&f===0&&a===0&&pfspace.getInnerText(g[d],false)==""){g[d].parentNode.removeChild(g[d])}}try{b.innerHTML=b.innerHTML.replace(/<br[^>]*>\s*<p/gi,"<p")}catch(h){log("Cleaning innerHTML of breaks failed. This is an IE strict-block-elements bug. Ignoring.: "+h)}},getInnerText:function(c,a){var b="";a=(typeof a=="undefined")?true:a;if(navigator.appName=="Microsoft Internet Explorer"){b=c.innerText.replace(pfspace.regexps.trimRe,"")}else{b=c.textContent.replace(pfspace.regexps.trimRe,"")}if(a){return b.replace(pfspace.regexps.normalizeRe," ")}else{return b}},flagIsActive:function(a){return(pfspace.flags&a)>0},addFlag:function(a){pfspace.flags=pfspace.flags|a},removeFlag:function(a){pfspace.flags=pfspace.flags&~a},init:function(){var b=document.getElementById("toolsframe").contentWindow;var e=b.document;var h=e.getElementsByTagName("head")[0];e.body.style.textAlign="center";if(!h){h=e.body.parentNode.appendChild(document.createElement("head"))}var d=document.createElement("DIV");d.id="pf-print-area";var c=document.createElement("H1");c.innerHTML=document.title;d.appendChild(c);var a=getMainContent();if(pfspace.getInnerText(a,false).length<250){if(pfspace.flagIsActive(pfspace.FLAG_STRIP_UNLIKELYS)){pfspace.removeFlag(pfspace.FLAG_STRIP_UNLIKELYS);pfspace.bodyCache=pfspace.bodyCache2;a=getMainContent()}else{if(pfspace.flagIsActive(pfspace.FLAG_WEIGHT_CLASSES)){pfspace.removeFlag(pfspace.FLAG_WEIGHT_CLASSES);pfspace.bodyCache=pfspace.bodyCache2;a=getMainContent()}else{a.innerHTML="<p>Sorry, PrintFriendly was unable to parse this page for content</p>"}}}d.appendChild(a);disableStyles();if(/msie/i.test(navigator.userAgent)&&!/opera/i.test(navigator.userAgent)){e.body.innerHTML=d.outerHTML;e.getElementById("pf-print-area").style.width="800px"}else{e.body.insertBefore(d,e.body.firstChild)}var g=e.getElementById("pfLink");if(g){g.parentNode.removeChild(g)}var f=e.getElementById("printfriendly");if(f){f.parentNode.removeChild(f)}setContentStyles();YAHOO.util.Get.script("http://cdn.printfriendly.com/aloaderv2-min.js",{win:b});return false}};function getMainContent(){var n=document.createElement("DIV");var o=pfspace.flagIsActive(pfspace.FLAG_STRIP_UNLIKELYS);var D=null;var q=[];for(var H=0;(D=pfspace.bodyCache.getElementsByTagName("*")[H]);H++){if(o){var F=D.className+D.id;if(F.search(pfspace.regexps.unlikelyCandidatesRe)!==-1&&F.search(pfspace.regexps.okMaybeItsACandidateRe)==-1&&D.tagName!=="BODY"){D.parentNode.removeChild(D);H--;continue}}if(D.tagName==="P"||D.tagName==="TD"){q[q.length]=D}if(D.tagName==="DIV"){if(D.innerHTML.search(pfspace.regexps.divToPElementsRe)===-1){var a=document.createElement("p");try{a.innerHTML=D.innerHTML;D.parentNode.replaceChild(a,D);H--}catch(K){log("Could not alter div to p, probably an IE restriction, reverting back to div.: "+K)}}else{for(var G=0,y=D.childNodes.length;G<y;G++){var b=D.childNodes[G];if(b.nodeType==3){var B=document.createElement("p");B.innerHTML=b.nodeValue;B.style.display="inline";b.parentNode.replaceChild(B,b)}}}}}var g=[];for(var C=0;C<q.length;C++){var u=q[C].parentNode;var M=u.parentNode;var r=pfspace.getInnerText(q[C]);if(r.length<25){continue}if(typeof u.pfspace=="undefined"){pfspace.initializeNode(u);g.push(u)}if(typeof M.pfspace=="undefined"){pfspace.initializeNode(M);g.push(M)}var E=0;E++;E+=r.split(",").length;E+=Math.min(Math.floor(r.length/100),3);u.pfspace.contentScore+=E;M.pfspace.contentScore+=E/2}var x=null;for(var L=0,w=g.length;L<w;L++){g[L].pfspace.contentScore=g[L].pfspace.contentScore*(1-pfspace.getLinkDensity(g[L]));if(!x||g[L].pfspace.contentScore>x.pfspace.contentScore){x=g[L]}}if(x===null||x.tagName=="BODY"){x=document.createElement("DIV");x.innerHTML=pfspace.bodyCache.innerHTML;pfspace.initializeNode(x)}var v=Math.max(10,x.pfspace.contentScore*0.2);var h=[];if(x.parentNode!=null){h=x.parentNode.childNodes}for(var A=0,J=h.length;A<J;A++){var f=h[A];var I=false;if(f===x){I=true}if(typeof f.pfspace!="undefined"&&f.pfspace.contentScore>=v){I=true}if(f.nodeName=="P"){var z=pfspace.getLinkDensity(f);var t=pfspace.getInnerText(f);var N=t.length;if(N>80&&z<0.25){I=true}else{if(N<80&&z===0&&t.search(/\.( |$)/)!==-1){I=true}}}if(I){var d=null;if(f.nodeName!="DIV"&&f.nodeName!="P"){d=document.createElement("div");try{d.id=f.id;d.innerHTML=f.innerHTML}catch(K){d=f;A--;J--}}else{d=f;A--;J--}d.className="";n.appendChild(d)}}pfspace.prepArticle(n);return n}function closePFLightbox(){for(var a=0;a<document.styleSheets.length;a++){document.styleSheets[a].disabled=false}closePFAds();document.body.style.overflow="auto";return false}function closePFAds(){var a=document.getElementById("pf-print-popup");a.style.display="none";frames.toolsframe.aardvark.resume();return false}function showPFAds(b){var h=document.getElementById("pf-print-popup");var g=document.createElement("img");var f=document.getElementById("printSpan");var d=document.getElementById("printText");var e=document.getElementById("pdfSpan");var a=document.getElementById("pdfText");if(b=="print"){e.style.display="none";a.style.display="none";f.style.display="block";d.style.display="block";h.style.display="block";g.src="http://www.printfriendly.com/print/lbmark?url="+top.location.href+"&type=print";document.body.appendChild(g)}else{f.style.display="none";d.style.display="none";e.style.display="block";a.style.display="block";h.style.display="block";g.src="http://www.printfriendly.com/print/lbmark?url="+top.location.href+"&type=pdf";document.body.appendChild(g)}var c=YAHOO.util.Dom.getXY("pnLightbox");YAHOO.util.Dom.setXY("pf-print-popup",[c[0]+80,c[1]+60]);return false}function loadPFAds(){var a=document.createElement("div");a.id="pf-print-popup";document.body.appendChild(a);var e=document.createElement("div");YAHOO.util.Dom.addClass(e,"dialog");a.appendChild(e);var p=document.createElement("a");p.href="#";YAHOO.util.Dom.addClass(p,"close");p.onclick=function(){closePFAds()};e.appendChild(p);var b=document.createElement("div");YAHOO.util.Dom.addClass(b,"content");e.appendChild(b);var n=document.createElement("div");YAHOO.util.Dom.addClass(n,"header");b.appendChild(n);var g=document.createElement("img");g.id="printImg";g.src="http://cdn.printfriendly.com/icon-print-32.gif";g.alt="Print Icon";g.style.styleFloat="left";var c=document.createElement("img");c.id="pdfImg";c.src="http://cdn.printfriendly.com/icon-pdf-32.gif";c.alt="Print Icon";c.style.styleFloat="left";var r=document.createElement("span");r.id="printSpan";r.appendChild(g);r.innerHTML+="Printing Your Page";r.style.fontSize="xx-large";r.style.fontWeight="bold";n.appendChild(r);var o=document.createElement("span");o.id="pdfSpan";o.appendChild(c);o.innerHTML+="Generating Your PDF";o.style.fontSize="xx-large";o.style.fontWeight="bold";n.appendChild(o);var s=document.createElement("p");s.id="printText";s.innerHTML="We've sent your page to your printer (<a href='#' onclick='frames.toolsframe.focus();frames.toolsframe.print();return false;'>re-send)";b.appendChild(s);var q=document.createElement("p");q.id="pdfText";q.innerHTML="Just a sec... a window will appear prompting you to open or save your PDF. This usually takes around 5 seconds.";b.appendChild(q);var f=document.createElement("iframe");f.height="260px";f.width="300px";f.name="gaiframe";f.id="gaiframe";f.frameBorder="0";f.src="http://www.printfriendly.com/googads";f.style.overflow="hidden";f.scrolling="no";if(typeof pf_partner!="undefined"){f.src+="?partner="+pf_partner}b.appendChild(f);var h=document.createElement("iframe");h.height="260px";h.width="300px";h.name="aaiframe";h.id="aaiframe";h.frameBorder="0";h.src="http://www.printfriendly.com/amznads";h.style.overflow="hidden";h.scrolling="no";if(typeof pf_partner!="undefined"){h.src+="?partner="+pf_partner}b.appendChild(h);var d=document.createElement("div");YAHOO.util.Dom.addClass(d,"foot");a.appendChild(d);return false}function setContentStyles(){var a=document.getElementById("toolsframe").contentWindow.document.getElementById("pf-print-area");if(navigator.userAgent.indexOf("Firefox")==-1&&navigator.userAgent.indexOf("MSIE")==-1){a.style.overflow="auto";a.style.overflowX="hidden"}a.style.maxWidth="800px";a.style.margin="1em auto";a.style.textAlign="left";a.style.lineHeight="120%";a.style.color="#222";a.style.fontFamily="Times New Roman, Times, serif";for(i=0;(link=a.getElementsByTagName("a")[i]);++i){link.style.color="blue";link.style.textDecoration="underline";if(link.href.indexOf("http")!=0&&link.href.indexOf("javascript")!=0&&link.href.indexOf("mailto")!=0){if(link.href.indexOf("#")!=0){link.href=top.location.protocol+"//"+top.location.host+link.href}else{link.href=top.location.protocol+"//"+top.location.host+top.location.pathname+link.href}}link.onclick=function(){return false}}for(j=0;(elem=a.getElementsByTagName("*")[j]);++j){elem.style.marginBottom="16px";elem.style.background="none";elem.style.cursor="default";elem.style.border="none"}for(k=0;(img=a.getElementsByTagName("img")[k]);++k){img.src=img.src;img.style.styleFloat="right";img.style.cssFloat="right";img.style.marginLeft="12px";img.style.marginBottom="12px";img.style.border="none"}for(l=0;(h1=a.getElementsByTagName("h1")[l]);++l){h1.style.display="block";h1.style.width="100%";h1.style.borderBottom="1px solid #333";h1.style.fontSize="140%";h1.style.lineHeight="110%";h1.style.fontFamily="Georgia, Times New Roman, Times, serif"}for(m=0;(bq=a.getElementsByTagName("blockquote")[m]);++m){bq.style.marginLeft="3em";bq.style.marginRight="3em"}return false}function getPdf(){frames.toolsframe.aardvark.suspend();frames.toolsframe.aardvark.clearBox();var d=document.getElementById("pnpdfform");if(d!=null){d.parentNode.removeChild(d)}var c=document.createElement("form");c.id="pnpdfform";c.method="POST";c.action="http://www.printfriendly.com/print/getpdf";c.type="hidden";document.body.appendChild(c);var b=document.createElement("input");b.name="code";b.id="pdfcode";b.type="hidden";b.value=frames.toolsframe.document.documentElement.innerHTML;c.appendChild(b);var a=document.createElement("input");a.name="hostname";a.id="hostname";a.type="hidden";a.value=top.location.host;c.appendChild(a);c.submit();showPFAds("pdf");return false}function pfPrint(){showPFAds("print");frames.toolsframe.aardvark.suspend();frames.toolsframe.aardvark.clearBox();frames.toolsframe.focus();frames.toolsframe.print();return false}function pfUndo(){frames.toolsframe.aardvark.undo();return false}function disableStyles(){for(var a=0;a<document.styleSheets.length;a++){if(document.styleSheets[a].href!=null){if((document.styleSheets[a].href.lastIndexOf("printfriendly")==-1)&&(document.styleSheets[a].href.substring(7,10)!="yui")){document.styleSheets[a].disabled=true}}}document.body.style.overflow="hidden";return false}function removeImages(){var d=document.getElementById("wri");if(d.checked==true){d.checked=false}else{d.checked=true}var a=frames.toolsframe.document.getElementById("pf-print-area").getElementsByTagName("img");if(d.checked){for(var c=0;c<a.length;++c){a[c].style.display="none"}}else{for(var b=0;b<a.length;++b){a[b].style.display=""}}return false}function insertPNDiv(){var h=document.getElementsByTagName("body")[0];YAHOO.util.Dom.addClass(h,"yui-skin-sam");var y=YAHOO.util.Dom.getLastChild(h);var n=document.createElement("div");n.id="pnLightbox";YAHOO.util.Dom.insertAfter(n,y);var B=document.createElement("div");B.className="hd";B.id="pn-hdr";var d=document.createElement("ul");B.appendChild(d);var e=document.createElement("li");e.id="w-print";var t=document.createElement("a");t.href="#";t.onclick=pfPrint;e.appendChild(t);d.appendChild(e);var a=document.createElement("li");a.id="w-pdf";var s=document.createElement("a");s.href="#";s.onclick=getPdf;a.appendChild(s);d.appendChild(a);var z=document.createElement("li");z.id="w-email";var o=document.createElement("a");o.href="#";o.onclick=sendEmail;z.appendChild(o);d.appendChild(z);var v=document.createElement("li");v.id="w-tweet";var f=document.createElement("a");f.href="#";f.onclick=tweetIt;v.appendChild(f);d.appendChild(v);var u=document.createElement("li");u.id="w-undo";d.appendChild(u);var c=document.createElement("a");c.href="#";c.onclick=pfUndo;u.appendChild(c);var A=document.createElement("li");A.id="w-remove-images";d.appendChild(A);var p=document.createElement("a");p.href="#";p.onclick=function(){removeImages()};A.appendChild(p);var w=document.createElement("input");w.type="checkbox";w.id="wri";w.onclick=function(){removeImages()};p.appendChild(w);var g=document.createElement("div");g.id="pnicer-body";YAHOO.util.Dom.addClass(g,"bd");var b=document.createElement("div");YAHOO.util.Dom.addClass(b,"ft");var C=document.createElement("a");C.href="http://www.printfriendly.com";C.title="PrintFriendly - Save paper and ink, print nicer documents";YAHOO.util.Dom.addClass(C,"f-logo");b.appendChild(C);n.appendChild(B);n.appendChild(g);n.appendChild(b);var x="900px";var r=YAHOO.util.Dom.getViewportHeight()-80+"px";lbox=new YAHOO.widget.Dialog("pnLightbox",{width:x,height:r,visible:false,modal:true,close:true,fixedcenter:true,constraintoviewport:true,autofillheight:"body"});lbox.beforeHideEvent.subscribe(closePFLightbox);var q=document.createElement("iframe");q.height="100%";q.width="100%";q.name="toolsframe";q.id="toolsframe";q.frameBorder="0";q.src="about:blank";q.onload=pfspace.init;q.onreadystatechange=function(){if(this.readyState=="complete"){pfspace.init()}};lbox.setBody(q);lbox.render();disableStyles();lbox.show();loadPFAds();return false}function sendEmail(){var a='mailto:?subject=Interesting link (via PrintFriendly.com)&body=Hi, %0A%0AThought you would like this print-friendly version of "'+encodeURIComponent(top.document.title)+'": '+pfBitlyUrl+"%0A%0A--%0ABrought to you by PrintFriendly.com";location.href=a}function tweetIt(){var a=encodeURIComponent(top.document.title)+"+-+"+pfBitlyUrl+"+(via @printfriendly)";var b="http://twitter.com/home/?status="+a;window.open(b)}function loadBitly(){BitlyCB.shortenResponse=function(b){var c;for(var a in b.results){c=b.results[a];break}pfBitlyUrl=c.shortUrl};BitlyClient.shorten(pfBitlyUrl,"BitlyCB.shortenResponse")}function loadYUIScripts(){var a=new YAHOO.util.YUILoader({base:"",require:["container","dom","element","event"],loadOptional:false,combine:true,filter:"MIN",allowRollup:true,onSuccess:function(){YAHOO.util.Get.css("http://cdn.printfriendly.com/printfriendly.css",{onSuccess:insertPNDiv});YAHOO.util.Get.script("http://bit.ly/javascript-api.js?version=latest&login=printfriendly&apiKey=R_ff64fbd608722222e07c4af71cbc3ae5",{onSuccess:loadBitly})}});a.insert();return false}function loadYUILoader(){YAHOO.util.Get.script("http://yui.yahooapis.com/2.7.0/build/yuiloader/yuiloader-min.js",{onSuccess:loadYUIScripts});return false}function loadPNYUIGet(){var b="http://yui.yahooapis.com/2.7.0/build/get/get-min.js";var c=document.getElementsByTagName("head");var a=document.createElement("script");a.type="text/javascript";a.onload=loadYUILoader;a.onreadystatechange=function(){var d=this.readyState;if("loaded"===d||"complete"===d){a.onreadystatechange=null;loadYUILoader()}};a.setAttribute("src",b);c[0].appendChild(a);return false}function loadYUIBase(){if(!window.pfLoaded){window.pfLoaded=true;pfspace.bodyCache=document.createElement("div");pfspace.bodyCache.innerHTML=document.body.innerHTML;pfspace.bodyCache2=document.createElement("div");pfspace.bodyCache2.innerHTML=document.body.innerHTML;var b="http://yui.yahooapis.com/2.7.0/build/yahoo/yahoo-min.js";var c=document.getElementsByTagName("head");var a=document.createElement("script");a.type="text/javascript";a.onload=loadPNYUIGet;a.onreadystatechange=function(){var d=this.readyState;if("loaded"===d||"complete"===d){a.onreadystatechange=null;loadPNYUIGet()}};a.setAttribute("src",b);c[0].appendChild(a)}else{disableStyles();lbox.show()}return false}function insertPFLink(){var a=document.getElementById("pfLink");if(a){a.onclick=function(){window.print();return false}}}var pfBitlyUrl="http://www.printfriendly.com/print?url="+top.location.href;var printFun=window.print;window.print=loadYUIBase;if((typeof pfstyle!="undefined")||(top.location.href.indexOf("pfstyle=wp")!=-1)){window.print()}if(top.location.href.indexOf("pfstyle=wp")!=-1){pfBitlyUrl=top.location.href}window.onload=insertPFLink;
