/**
 * Infinite Scroll jQuery plugin
 * copyright Paul Irish, licensed GPL & MIT
 * version 1.2.090804
 * home and docs: http://www.infinite-scroll.com

 * @modified: 09.09.2009 by Kim Meyer for digitalkombinat.net
 */
(function(a){a.fn.infinitescroll=function(q,o){function e(){if(b.debug){window.console&&console.log.call(console,arguments)}}function h(s){for(var r in s){if(r.indexOf&&r.indexOf("Selector")&&a(s[r]).length===0){e("Your "+r+" found no elements.");return false}return true}}function n(r){r.match(c)?r.match(c)[2]:r;if(r.match(/^(.*?)\b2\b(.*?$)/)){r=r.match(/^(.*?)\b2\b(.*?$)/).slice(1)}else{if(r.match(/^(.*?)2(.*?$)/)){e("Trying backup next selector parse technique. Treacherous waters here, matey.");r=r.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.");j.isInvalidPage=true}}return r}function l(){return b.localMode?(a(j.container)[0].scrollHeight&&a(j.container)[0].scrollHeight):a(document).height()}var g=false;var m=a(document);var i=a(window);i.scroll(function(){if(!g&&(i.scrollTop()+i.height())+20>=m.height()){g=true}else{g=false}});function f(s,r){if(KM_StartPageIsLoaded){return g}else{return false}}function k(){var r='<a class="linkToTop" href="#" />';j.loadingMsg.fadeOut("normal",function(){a(this).find("img").replaceWith(r);a(this).find(".linkToTop").attr("onfocus","blur()").live("click",function(s){s.preventDefault();a("html, body").animate({scrollTop:0},"slow")});a(this).fadeIn("normal")});b.errorCallback()}function d(u,t,r,v){a(t.navSelector).hide();if(r.isDuringAjax||r.isInvalidPage||r.isDone){return}if(!f(t,r)){return}r.isDuringAjax=true;r.loadingMsg.appendTo(t.contentSelector).fadeIn("normal");r.currPage++;e("heading into ajax",u);var s=a(t.contentSelector).is("table")?a("<tbody/>"):a("<ol/>");s.hide().attr("id","infscr-page-"+r.currPage).addClass("infscr-pages").appendTo(t.contentSelector).load(u.join(r.currPage)+" "+t.itemSelector,null,function(){if(r.isDone){k();return false}else{if(s.children().length==0){a.event.trigger("ajaxError",[{status:404}])}r.loadingMsg.fadeOut("normal",function(){s.fadeIn("normal")});if(t.animate){var w=a(window).scrollTop()+a("#infscr-loading").height()+t.extraScrollPx+"px";a("html,body").animate({scrollTop:w},800,function(){r.isDuringAjax=false})}v.call(s[0]);if(!t.animate){r.isDuringAjax=false}}})}var b=a.extend({},a.infinitescroll.defaults,q);var j=a.infinitescroll;o=o||function(){};if(!h(b)){return false}j.container=b.localMode?this:document.documentElement;b.contentSelector=b.contentSelector||this;var c=/(.*?\/\/).*?(\/.*)/;var p=a(b.nextSelector).attr("href");if(!p){e("Navigation selector not found");return}p=n(p);if(b.localMode){a(j.container)[0].scrollTop=0}j.pixelsFromNavToBottom=l()+a(j.container).offset().top-a(b.navSelector).offset().top;j.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(s,t,r){e("Page not found. Self-destructing...");if(t.status==404){k();j.isDone=true;a(b.localMode?this:window).unbind("scroll.infscr")}});a(b.localMode?this:window).bind("scroll.infscr",function(){d(p,b,j,o)}).trigger("scroll.infscr");return this};a.infinitescroll={defaults:{debug:false,preload:false,nextSelector:"div.navigation > div.right",loadingImg:"http://www.infinite-scroll.com/loading.gif",loadingText:"",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);