var ArchiveCal={pattern:'',imageRef:false,markers:false,photo:false,init:function(){this.pattern=encodeURI($("#dot").html());var obj=this;$(".imageContainer").mouseover(function(e){e.stopPropagation();obj.imageRef=$(".image",$(this));if($(".state",obj.imageRef.parent().prev()).get(0)){obj.markers="dots";}else if($(".counter",obj.imageRef.parent().prev())){obj.markers="counter";}else{obj.markers=null;}
obj.photo=obj.imageRef.children().children(".on");obj.showWings();obj.showFirstDot();}).mouseout(function(){obj.hideAllWings();obj.showAllMasks();});$(".wingR").click(function(e){e.preventDefault();obj.moveNext(e);});$(".wingL").click(function(e){e.preventDefault();obj.movePrev(e);});$("#archiveHeader .thisMonth, #dropdown .thisMonth").click(function(e){e.stopPropagation();e.preventDefault();$("#dropdown").toggle();$("body").click(function(){$("#dropdown").hide();$("body").unbind("click");});});$("#dropdown").click(function(e){e.stopPropagation();});$("#dropdown h5 a").click(function(e){e.preventDefault();$("#dropdown h5, #dropdown ul").removeClass("current");$(this).parent().addClass("current").next().addClass("current");});$("#months .month").click(function(e){e.preventDefault();window.location.href=$(this).attr("href");});},showWings:function(){this.imageRef.children(".wingL, .wingR").show();},hideAllWings:function(){$(".wingL, .wingR").hide();},showAllMasks:function(){if(this.markers=="counter"){var counter=$(".counter",this.imageRef.parent().prev());counter.toggle();}else{$(".day .on").each(function(){var mask=$(this).prev(".mask").html();if(mask)$(this).html(mask);});}},showFirstDot:function(){if(this.markers=="dots"){var on=$(".on",this.imageRef.parent().prev());var state=$(".state",this.imageRef.parent().prev());on.html(state.html());}else{var counter=$(".counter",this.imageRef.parent().prev());counter.toggle();}},moveNext:function(e){if(this.photo.next().get(0)){if(this.photo.hasClass("getMore")){this.getMore(e);}
this.nextPhoto();}else{this.firstPhoto();}},movePrev:function(e){if(this.markers=="dots"){if(this.photo.prev().get(0)){this.prevPhoto();}else{this.lastPhoto();}}else{if(this.photo.attr("pg")){var counter=parseInt($(".counter var.count",this.imageRef.parent().prev()).html());var total=parseInt($(".counter var.total",this.imageRef.parent().prev()).html());var prevPhoto=(counter-1==0?total:counter-1);var pageNeeded=Math.ceil(prevPhoto/photosFetchSize);this.makeMove(e,pageNeeded);}else if(this.photo.prev().get(0)){this.prevPhoto();}}},nextPhoto:function(){this.photo.removeClass("on").addClass("off");this.photo=this.photo.next().removeClass("off").addClass("on");this.moveMarkers("next");},prevPhoto:function(){this.photo.removeClass("on").addClass("off");this.photo=this.photo.prev().removeClass("off").addClass("on");this.moveMarkersPrev("prev");},firstPhoto:function(){this.photo.removeClass("on").addClass("off");this.photo=$(this.photo.parent().children().get(0)).removeClass("off").addClass("on");this.moveMarkers("first");},lastPhoto:function(){this.photo.removeClass("on").addClass("off");var photoCount=this.photo.parent().children().length;this.photo=$(this.photo.parent().children().get(photoCount-1)).removeClass("off").addClass("on");this.moveMarkersPrev("last");},moveMarkers:function(direction){if(this.markers=="dots"){var on=$(".on",this.imageRef.parent().prev());var state=$(".state",this.imageRef.parent().prev());var encodedState=encodeURI(state.html());var rest=encodedState.substr(0,encodedState.length-this.pattern.length);var first=this.getFirst(direction,encodedState);state.html(decodeURI(first+rest));on.html(decodeURI(first+rest));}else{var counterVar=$(".counter var.count",this.imageRef.parent().prev());counterVar.html(this.getCounter(direction,counterVar));}},moveMarkersPrev:function(direction){if(this.markers=="dots"){var on=$(".on",this.imageRef.parent().prev());var state=$(".state",this.imageRef.parent().prev());var encodedState=encodeURI(state.html());var rest=encodedState.substr(this.pattern.length);var first=this.getFirst(direction,encodedState);state.html(decodeURI(rest+first));on.html(decodeURI(rest+first));}else{var counterVar=$(".counter var.count",this.imageRef.parent().prev());counterVar.html(this.getCounter(direction,counterVar));}},getFirst:function(direction,base){var first;if(direction=="next"||direction=="prev"){first=this.pattern;}else if(direction=="first"){first=base.substr(base.length-this.pattern.length);}else{first=base.substr(0,this.pattern.length);}
return first;},getCounter:function(direction,counterVar){var count;if(direction=="next"){count=parseInt(counterVar.html())+1;}else if(direction=="first"){count=1;}else if(direction=="last"){count=$(".counter var.total",this.imageRef.parent().prev()).html();}else{count=parseInt(counterVar.html())-1;}
return count;},getMore:function(e){var elem=$(e.target);var counter=parseInt($(".counter var.count",this.imageRef.parent().prev()).html());var total=parseInt($(".counter var.total",this.imageRef.parent().prev()).html());var page=Math.ceil(counter/photosFetchSize);if($("a[pg='"+(page+1)+"']",elem.siblings("div")).length<1&&page*photosFetchSize<total){$.get(makeUrlAjax($(e.target).attr("href")),{page:page+1},function(data){elem.siblings("div").append(data);});}},getOlder:function(e,pageNeeded){var obj=this;$.get(makeUrlAjax($(e.target).attr("href")),{page:pageNeeded},function(data){var nextPage=obj.photo.parent().children("a[pg='"+(pageNeeded+1)+"']");if(nextPage.get(0)){nextPage.before(data);}else{obj.photo.parent().append(data);}
obj.makeMove(e,pageNeeded);});},makeMove:function(e,pageNeeded){if(this.photo.siblings("a[pg='"+pageNeeded+"']").get(0)){if(this.photo.prev().get(0)){this.prevPhoto();}else{this.lastPhoto();}}else{this.getOlder(e,pageNeeded);}}}