if(!window.dryan){window.dryan={};var dryan=window.dryan}
(function(a){a.browser.mobile=navigator.userAgent.toLowerCase().indexOf("mobile")!=-1||navigator.userAgent.toLowerCase().indexOf("android")!=-1||navigator.userAgent.toLowerCase().indexOf("palm")!=-1;a(document).ready(function(){dryan.HTML5init();if(a.browser.mobile){a("title").text("dryan.com");a(window).load(function(){setTimeout(function(){window.location.hash||window.scrollTo(0,-1)},10)})}a.browser.mobile||dryan.fontCorrector();dryan.articleNav();dryan.references();dryan.lightbox();dryan.heroshots();
a("code").each(function(){var c=a(this),e=c.html();e=e.replace(/^\s+|\s+$/g,"");e=e.replace(/\u2019/g,"'");c.html(e)});a.browser.mobile||a.beautyOfCode.init({brushes:["JScript","Plain","Css","Python","Xml","Ruby"],baseUrl:"http://media.dryan.com/",scripts:"js/syntax-highlighters/",styles:"css/syntax-highlighters/"})});dryan.HTML5init=function(){a("header").size()||a.each(["header","footer","article","section","aside","nav"],function(){document.createElement(this)})};dryan.fontCorrector=function(){a("nav li:first-child").width()<
141&&a("body").addClass("no-quicksand")};dryan.articleNav=function(){if(a("#main > article:first-child").size()){var c=a("#main > article:first-child").find("h2,h3,h4,h5,h6").filter(function(){return!a(this).parents("code,pre").size()});if(c.size()){var e=c.eq(0).get(0).tagName,b=c.filter(e),h=a('<aside class="toc" />'),l=a("<h2>Table of Contents</h2>"),m=a('<ol class="toc" />'),o=a('<li><a href="" title=""></a></li>'),n=function(i){var j=i.text().toLowerCase().replace(/ /g,"-").replace(/[^a-z_-]/g,
"");i.attr("id")||i.attr({id:"section-"+j});j=o.clone();j.find("a").attr({href:"#"+i.attr("id"),title:"Scroll to \u201c"+i.text().replace(/^\s+|\s+$/g,"")+"\u201d"}).text(i.text().replace(/^\s+|\s+$/g,""));return j};b.each(function(i){var j=a(this);li=n(j);li.appendTo(m);var f=c.filter(function(){var k=b.eq(i+1);return j.nextAll("h2,h3,h4,h5,h6").index(this)>-1&&k.nextAll("h2,h3,h4,h5,h6").index(this)==-1&&this.tagName!=e}),g=li,d=this;f.each(function(){var k=n(a(this));if(this.tagName==d.tagName)g.after(k);
else g.find("ol").size()?g.find("ol").append(k):g.append(a("<ol />").append(k));g=k;d=this})});l.appendTo(h);m.appendTo(h);h.prependTo(a("#sb"))}}};dryan.references=function(){if(a("#main > article:first-child").size()){var c=a("#main > article:first-child").find("a").filter(function(){return!a(this).parents("#comments").size()});if(c.size()){var e=a('<aside class="references" />'),b=a("<h2>References</h2>"),h=a("<ol/>"),l=a('<li><a href="" title=""></a></li>');c.each(function(){if(!(a(this).attr("href").indexOf("http")<
0||a(this).find("img").size())){var m=l.clone(),o=a(this).attr("href").replace(/https?:\/\//,"").replace(/^www\./,"").split("/")[0];m.find("a").attr({href:a(this).attr("href"),title:(a(this).attr("title")?a(this).attr("title")+" (":"")+a(this).attr("href")+(a(this).attr("title")?")":"")}).text(o);m.appendTo(h)}});if(h.find("li").size()){b.appendTo(e);h.appendTo(e);e.appendTo(a("#sb"))}}}};dryan.lightbox=function(){var c=a("a[rel^=lightbox]"),e=a('<div id="overlay" style="display: none"></div>'),b=
a('<div id="lightbox" style="display: none"></div>'),h=a('<a href="#close" class="close">&times; Close</a>'),l=a('<div class="target"></div>'),m=a('<a href="#prev" class="prev">&laquo; Previous</a>'),o=a('<a href="#next" class="next">Next &raquo;</a>'),n=a("<label />");a("body").append(e).append(b);b.append(h).append(l).append(m).append(o).append(n);b.show().css({top:Math.round(((a(window).height()>window.innerHeight?window.innerHeight:a(window).height())-b.outerHeight())/2)+"px",left:Math.round((a(window).width()-
b.outerWidth())/2)+"px","margin-top":0,"margin-left":0}).hide();h.click(function(f){f.preventDefault();e.add(b).fadeOut("normal")});m.add(o).click(function(f){f.preventDefault();f=parseInt(c.filter(".selected").attr("lb-position"),10);f=a(this).is(".prev")?c.eq(f-1):c.eq(f+1);f.size()||(f=a(this).is(".prev")?c.eq(c.size()-1):c.eq(0));f.size()&&f.click()});c.each(function(f){var g=a(this);g.click(function(d){d.preventDefault();i(g.attr("href"),g.siblings(".subject").text());c.filter(".selected").removeClass("selected");
g.addClass("selected")});g.attr({"lb-position":f})});var i=function(f,g){if(b.is(":visible"))l.children().add(n).fadeOut("normal",function(){l.children().remove();j(f,g)});else{l.children().remove();n.hide();e.add(b).fadeIn("normal",function(){j(f,g)})}},j=function(f,g){if(!b.is(".loading")){b.addClass("loading");var d=new Image;d.onload=function(){d.style.display="none";var k=a(window).width()-parseInt(b.css("padding-left"),10)-parseInt(b.css("padding-right"),10)-100,p=(a(window).height()>window.innerHeight?
window.innerHeight:a(window).height())-parseInt(b.css("padding-top"),10)-parseInt(b.css("padding-bottom"),10)-100;if(d.width>k||d.height>p){var q=d.width/d.height;if(d.height>=p){d.height=p;d.width=p*q}else{d.width=k;d.height=k*q}}n.text(g);b.animate({width:d.width,height:d.height,top:Math.round(((a(window).height()>window.innerHeight?window.innerHeight:a(window).height())-d.height-parseInt(b.css("padding-top"),10)-parseInt(b.css("padding-bottom"),10))/2)+"px",left:Math.round((a(window).width()-d.width-
parseInt(b.css("padding-left"),10)-parseInt(b.css("padding-right"),10))/2)+"px"},"normal",function(){l.append(d);a(d).add(n).fadeIn("normal",function(){b.removeClass("loading")})})};d.src=f}}};dryan.heroshots=function(){a("div.heroshot").each(function(){var c=a(this).find("img");setInterval(function(){var e=c.filter("img:visible"),b=c.index(e)+1<c.size()?c.eq(c.index(e)+1):c.eq(0);e.fadeOut(2E3);b.fadeIn(2E3)},7E3)})}})(jQuery);
