;(function(A){A.fn.infinitescroll=function(R,O){function E(){if(B.debug){window.console&&console.log.call(console,arguments)}}function H(T){for(var S in T){if(S.indexOf&&S.indexOf("Selector")>-1&&A(T[S]).length===0){E("Your "+S+" found no elements.");return false}return true}}function N(S){S.match(C)?S.match(C)[2]:S;if(S.match(/^(.*?)\b2\b(.*?$)/)){S=S.match(/^(.*?)\b2\b(.*?$)/).slice(1)}else{if(S.match(/^(.*?)2(.*?$)/)){if(S.match(/^(.*?page=)2(\/.*|$)/)){S=S.match(/^(.*?page=)2(\/.*|$)/).slice(1);return S}E("Trying backup next selector parse technique. Treacherous waters here, matey.");S=S.match(/^(.*?)2(.*?$)/).slice(1)}else{E("Sorry, we couldn't parse your Next (Previous Posts) URL. Verify your the css selector points to the correct A tag. If you still get this error: yell, scream, and kindly ask for help at infinite-scroll.com.");K.isInvalidPage=true}}return S}function L(){return B.localMode?(A(K.container)[0].scrollHeight&&A(K.container)[0].scrollHeight):A(document).height()}function F(){var S=0+L()-(B.localMode?A(K.container).scrollTop():(A(K.container).scrollTop()||A(K.container.ownerDocument.body).scrollTop()))-A(B.localMode?K.container:window).height();E("math:",S,K.pixelsFromNavToBottom);return(S-B.bufferPx<K.pixelsFromNavToBottom)}function M(){K.loadingMsg.find("img").hide().parent().find("div").html(B.donetext).animate({opacity:1},2000).fadeOut("normal");B.errorCallback()}function D(){if(K.isDuringAjax||K.isInvalidPage||K.isDone){return}if(!F(B,K)){return}A(document).trigger("retrieve.infscr")}function G(){K.isDuringAjax=true;K.loadingMsg.appendTo(B.contentSelector).show();A(B.navSelector).hide();K.currPage++;E("heading into ajax",Q);J=A(B.contentSelector).is("table")?A("<tbody/>"):A("<div/>");P=document.createDocumentFragment();J.load(Q.join(K.currPage)+" "+B.itemSelector,null,I)}function I(){if(K.isDone){M();return false}else{if(J.children().length==0){A.event.trigger("ajaxError",[{status:404}])}while(J[0].firstChild){P.appendChild(J[0].firstChild)}A(B.contentSelector)[0].appendChild(P);K.loadingMsg.fadeOut("normal");if(B.animate){var S=A(window).scrollTop()+A("#infscr-loading").height()+B.extraScrollPx+"px";A("html,body").animate({scrollTop:S},800,function(){K.isDuringAjax=false})}O.call(J[0]);if(!B.animate){K.isDuringAjax=false}}}A.browser.ie6=A.browser.msie&&A.browser.version<7;var B=A.extend({},A.infinitescroll.defaults,R),K=A.infinitescroll,J,P;O=O||function(){};if(!H(B)){return false}K.container=B.localMode?this:document.documentElement;B.contentSelector=B.contentSelector||this;var C=/(.*?\/\/).*?(\/.*)/,Q=A(B.nextSelector).attr("href");if(!Q){E("Navigation selector not found");return}Q=N(Q);if(B.localMode){A(K.container)[0].scrollTop=0}K.pixelsFromNavToBottom=L()+(K.container==document.documentElement?0:A(K.container).offset().top)-A(B.navSelector).offset().top;K.loadingMsg=A('<div id="infscr-loading" style="text-align: center;"><img alt="Loading..." src="'+B.loadingImg+'" /><div>'+B.loadingText+"</div></div>");(new Image()).src=B.loadingImg;A(document).ajaxError(function(T,U,S){E("Page not found. Self-destructing...");if(U.status==404){M();K.isDone=true;A(B.localMode?this:window).unbind("scroll.infscr")}});A(B.localMode?this:window).bind("scroll.infscr",D).trigger("scroll.infscr");A(document).bind("retrieve.infscr",G);return this};A.infinitescroll={defaults:{debug:false,preload:false,nextSelector:"div.navigation a:first",loadingImg:"http://www.infinite-scroll.com/loading.gif",loadingText:"<em>Loading the next set of posts...</em>",donetext:"<em>Congratulations, you've reached the end of the internet.</em>",navSelector:"div.navigation",contentSelector:null,extraScrollPx:150,itemSelector:"div.post",animate:false,localMode:false,bufferPx:40,errorCallback:function(){}},loadingImg:undefined,loadingMsg:undefined,container:undefined,currPage:1,currDOMChunk:null,isDuringAjax:false,isInvalidPage:false,isDone:false}})(jQuery);

;(function(a){a.mapKey=function(c,d,b){var e=a.extend({},a.fn.mapKey.defaults,b);a.fn.mapKey.storeBinding(c,d,e.direction)};a.fn.mapKey=function(c,b){var d=a.extend({},a.fn.mapKey.defaults,b);return this.each(function(){var g=a(this);var h=a.meta?a.extend({},d,g.data()):d;var e="";var f;if(h.trigger){f=function(){g.trigger(h.trigger)}}else{if(g.is("a[href]")){f=function(){window.location=g.attr("href")}}}a.fn.mapKey.storeBinding(c,f,h.direction)})};a.fn.mapKey.storeBinding=function(b,d,f){if(typeof b=="number"){if(f=="up"){a.fn.mapKey.bindings.up[b]=d}else{a.fn.mapKey.bindings.down[b]=d}}else{var c=a.fn.mapKey.keys[b];if(typeof c=="number"){if(f=="up"){a.fn.mapKey.bindings.up[c.toString()]=d}else{a.fn.mapKey.bindings.down[c.toString()]=d}}else{if(typeof c=="object"){a.each(c,function(g,e){if(f=="up"){a.fn.mapKey.bindings.up[e.toString()]=d}else{a.fn.mapKey.bindings.down[e.toString()]=d}})}}}};a.fn.mapKey.kdown=function(d){if(a.fn.mapKey.enabled){var b=d.charCode?d.charCode:d.keyCode?d.keyCode:0;var c=a.fn.mapKey.bindings.down[b];if(c){if(typeof c=="string"){window.location=c}else{if(typeof c=="function"){c()}}d.preventDefault()}if(a.fn.mapKey.bindings.up[b]!=undefined){d.preventDefault()}}};a.fn.mapKey.kup=function(d){if(a.fn.mapKey.enabled){var b=d.charCode?d.charCode:d.keyCode?d.keyCode:0;var c=a.fn.mapKey.bindings.up[b];if(c){if(typeof c=="string"){window.location=c}else{if(typeof c=="function"){c()}}d.preventDefault()}}};a.fn.mapKey.enable=function(){a.fn.mapKey.enabled=true};a.fn.mapKey.disable=function(){a.fn.mapKey.enabled=false};a.fn.mapKey.defaults={trigger:undefined,direction:"up"};a.fn.mapKey.enabled=true;a.fn.mapKey.bindings={up:{},down:{}};a.fn.mapKey.keys={back:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,opt:18,pause:19,caps:20,esc:27,space:32,pgup:33,pgdown:34,end:35,home:36,left:37,up:38,right:39,down:40,insert:45,del:46,top0:48,top1:49,top2:50,top3:51,top4:52,top5:53,top6:54,top7:55,top8:56,top9:57,"0":[48,96],"1":[49,97],"2":[50,98],"3":[51,99],"4":[52,100],"5":[53,101],"6":[54,102],"7":[55,103],"8":[56,104],"9":[57,105],a:65,b:66,c:67,d:68,e:69,f:70,g:71,h:72,i:73,j:74,k:75,l:76,m:77,n:78,o:79,p:80,q:81,r:82,s:83,t:84,u:85,v:86,w:87,x:88,y:89,z:90,lwindows:91,rwindows:92,windows:[91,92],lcmd:91,rcmd:92,cmd:[91,92],select:93,num0:96,num1:97,num2:98,num3:99,num4:100,num5:101,num6:102,num7:103,num8:104,num9:105,multiply:106,add:107,subtract:109,decimalpt:110,divide:111,f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123,numlock:144,scrolllock:145,";":186,"=":187,",":188,"-":189,".":190,"/":191,"`":192,"[":219,backslash:220,"]":221,singlequote:222};a(document).bind("keyup",a.fn.mapKey.kup);a(document).bind("keydown",a.fn.mapKey.kdown)})(jQuery);

$(function () {
    $('ol#posts').infinitescroll({
        navSelector: "div#pagination",
        nextSelector: "a#next_page",
        itemSelector: "ol#posts li.post",
        loadingImg: "http://projects.chriskalani.com/ck/img/loader.gif",
        loadingText: "",
        bufferPx: 700,
        donetext: "THE END",
    });
    
    if($('body.single').length) {
	    $('a.newer-post').mapKey('left');
	    $('a.older-post').mapKey('right');
    }
});
