diff --git a/dist/app.js b/dist/app.js
index 211744c..ee3f85e 100644
--- a/dist/app.js
+++ b/dist/app.js
@@ -1189,7 +1189,7 @@ var CurrentSelection = (function () {
}
name = loadedSelection ? loadedSelection.name : "frontPage";
- type = loadedSelection ? loadedSelection.type : type.sub;
+ type = loadedSelection ? loadedSelection.type : Types.SUB;
};
var setSubreddit = function setSubreddit(sub) {
diff --git a/dist/app.min.js b/dist/app.min.js
index 62894dd..212e452 100644
--- a/dist/app.min.js
+++ b/dist/app.min.js
@@ -1,2 +1,2 @@
-(function(){"use strict";var Anim=function(){var slideFromLeft=function slideFromLeft(){var show=UI.classes.showView;UI.el.mainView.addClass(show);UI.el.detailView.removeClass(show);UI.setCurrentView(UI.View.MAIN)};var slideFromRight=function slideFromRight(){var show=UI.classes.showView;UI.el.mainView.removeClass(show);UI.el.detailView.addClass(show);UI.setCurrentView(UI.View.COMMENTS)};var reveal=function(_reveal){var _revealWrapper=function reveal(_x){return _reveal.apply(this,arguments)};_revealWrapper.toString=function(){return _reveal.toString()};return _revealWrapper}(function(el){var reveal="anim-reveal";if(is.desktop){el.addClass(reveal);setTimeout(function(){el.removeClass(reveal)},700)}else{setTimeout(function(){el.removeClass("invisible").addClass(reveal)},0)}});var shake=function(_shake){var _shakeWrapper=function shake(_x){return _shake.apply(this,arguments)};_shakeWrapper.toString=function(){return _shake.toString()};return _shakeWrapper}(function(el){var shake="anim-shake";el.addClass(shake);setTimeout(function(){el.removeClass(shake)},350)});var shakeForm=function shakeForm(){shake($(".new-form"))};var bounceOut=function(_bounceOut){var _bounceOutWrapper=function bounceOut(_x,_x2){return _bounceOut.apply(this,arguments)};_bounceOutWrapper.toString=function(){return _bounceOut.toString()};return _bounceOutWrapper}(function(el,callback){var bounceOut="anim-bounce-out";el.addClass(bounceOut);if(callback){setTimeout(callback,1e3)}});var bounceInDown=function bounceInDown(el){el.addClass("anim-bounceInDown");setTimeout(function(){el[0].style.opacity=1;el.removeClass("anim-bounceInDown")},500)};return{slideFromLeft:slideFromLeft,slideFromRight:slideFromRight,reveal:reveal,shake:shake,shakeForm:shakeForm,bounceOut:bounceOut,bounceInDown:bounceInDown}}();var Backup=function(){var update=1,gists={url:"https://api.github.com/gists",fileURL:""};var template={exportData:"
",importData:""};var shouldUpdate=function shouldUpdate(){update=1};var createBackup=function createBackup(){if(update){Modal.show(template.exportData,function(){var files={},content='{"channels": '+Store.getItem("channels")+', "subreddits": '+Store.getItem("subreeddits")+"}";files["reedditdata.json"]={content:content};$.ajax({url:gists.url,type:"POST",data:JSON.stringify({description:"Reeddit User Data","public":true,files:files}),headers:{"Content-Type":"application/json; charset=UTF-8"},success:function success(response){var resp=JSON.parse(response);$$.id("btn-save-dbx").style.display="block";gists.fileURL=resp.files["reedditdata.json"].raw_url;update=0},error:function error(){$("#btn-save-dbx").remove();$(".move-data-exp").append("Oh oh. Error creating your backup file. Retry later.
");Modal.remove()}})})}else if(gists.fileURL){Modal.show(template.exportData,function(){$$.id("btn-save-dbx").style.display="block"})}};var chooseFromDropbox=function chooseFromDropbox(){Dropbox.choose({success:function success(file){$.ajax({url:file[0].link,success:function success(data){try{var refresh=false;if(typeof data==="string"){data=JSON.parse(data)}if(data.subreddits){refresh=true;Store.setItem("subreeddits",JSON.stringify(data.subreddits))}if(data.channels){refresh=true;Store.setItem("channels",JSON.stringify(data.channels))}if(refresh){window.location.reload()}}catch(e){alert("Oops! Wrong file, maybe? - Try choosing another one.")}}})},linkType:"direct",extensions:[".json"]})};var initListeners=function initListeners(){tappable("#btn-save-dbx",{onTap:function onTap(){if(!gists.fileURL){alert("Err. There's no backup file created...");return}var options={files:[{url:gists.fileURL,filename:"reedditdata.json"}],success:Modal.remove};Dropbox.save(options)},activeClass:"btn-general-active"});tappable("#btn-dbx-imp",{onTap:chooseFromDropbox,activeClass:"btn-general-active"})};return{initListeners:initListeners,chooseFromDropbox:chooseFromDropbox,createBackup:createBackup,shouldUpdate:shouldUpdate,templateImportData:template.importData}}();var $$={id:function id(query){return document.getElementById(query)},q:function q(query){return document.querySelector(query)}};var wideScreenBP=window.matchMedia("(min-width: 1000px)"),largeScreenBP=window.matchMedia("(min-width: 490px)"),UA=window.navigator.userAgent;var is=function(){var isDesktop=!/iPhone|iPod|iPad|Android|Mobile/.test(UA),isiPad=/iPad/.test(UA),isiPhone=/iP(hone|od)/.test(UA);return{wideScreen:wideScreenBP.matches,largeScreen:largeScreenBP.matches,desktop:isDesktop,mobile:!isDesktop,iPhone:isiPhone,iPad:isiPad,iOS7:(isiPhone||isiPad)&&parseInt(UA.match(/ OS (\d+)_/i)[1],10)>=7}}();var Store=window.fluid?allCookies:window.localStorage;var UI=function(){var Move={LEFT:1,RIGHT:2};var View={MAIN:1,COMMENTS:2};var classes={showView:"show-view",showMenu:"show-menu",mnml:"mnml",hide:"hide",swipe:"from-swipe"};var template={loader:""};var el={body:$("body"),mainWrap:$("#main-wrap"),detailWrap:$("#detail-wrap"),mainView:$(".main-view"),detailView:$(".detail-view")};var mnmlTheme=false,currentView=View.MAIN;var getCurrentView=function(){return currentView};var setCurrentView=function setCurrentView(view){currentView=view};var setSubTitle=function setSubTitle(title){Header.el.subtitleText.text(title);Footer.el.subTitle.text(title)};var backToMainView=function backToMainView(){Header.el.btnNavBack.addClass("invisible");Header.el.subtitle.removeClass("invisible");Header.el.centerSection.empty().append(Header.el.icon);Anim.slideFromLeft()};var switchMnml=function switchMnml(save,mode){if(typeof mode==="undefined"){mnmlTheme=!mnmlTheme}else{mnmlTheme=mode}var buttonMnml=$("#mnml"),docBody=document.body;if(mnmlTheme){docBody.classList.add(classes.mnml);buttonMnml.text("Theme: mnml")}else{docBody.classList.remove(classes.mnml);buttonMnml.text("Theme: Classic")}if(save){Store.setItem("mnml",mnmlTheme)}};var switchDisplay=function switchDisplay(el,visible){if(visible){el.classList.add(classes.hide)}else{el.classList.remove(classes.hide)}};var addLoader=function addLoader(elem){var loader=$("").addClass("loader");elem.append(loader);return loader};var scrollFixComments=function scrollFixComments(){var detailWrap=$$.q("#detail-wrap"),detailWrapHeight=detailWrap.offsetHeight,linkSummary=detailWrap.querySelector("section:first-child"),linkSummaryHeight=linkSummary.offsetHeight,selfText=detailWrap.querySelector("#selftext"),selfTextHeight=selfText?selfText.offsetHeight:0,imagePreview=detailWrap.querySelector(".image-preview"),imagePreviewHeight=imagePreview?imagePreview.offsetHeight:0,loader=detailWrap.querySelector(".loader"),loaderHeight=loader?loader.offsetHeight:0;var minHeight=detailWrapHeight-linkSummaryHeight-selfTextHeight-imagePreviewHeight-loaderHeight+1;$("#detail-wrap > section + "+(selfTextHeight>0?"#selftext +":"")+(imagePreviewHeight>0?".image-preview +":"")+(loaderHeight>0?".loader +":"")+" section").css("min-height",minHeight)};var scrollFixLinks=function scrollFixLinks(){var totalHeight=0;var wraps=document.querySelectorAll(".link-wrap");for(var w=0;wminHeight){$("#main-overflow").css("min-height","")}else{$("#main-overflow").css("min-height",minHeight-totalHeight+1)}};var supportOrientation=typeof window.orientation!=="undefined";var getScrollTop=function getScrollTop(){return window.pageYOffset||document.compatMode==="CSS1Compat"&&document.documentElement.scrollTop||document.body.scrollTop||0};var scrollTop=function scrollTop(){if(!supportOrientation){return}document.body.style.height=screen.height+"px";setTimeout(function(){window.scrollTo(0,1);var top=getScrollTop();window.scrollTo(0,top===1?0:1);document.body.style.height=window.innerHeight+"px"},1)};var iPadScrollFix=function iPadScrollFix(){var nextHeight="36px"===$(".menu-desc").css("height")?"35px":"36px";setTimeout(function(){$(".menu-desc").css("height",nextHeight)},500)};var initListeners=function initListeners(){if(window.applicationCache){window.applicationCache.addEventListener("updateready",function(e){var delay=1;if(Menu.isShowing()){Menu.move(Move.LEFT);delay=301}setTimeout(function(){el.mainWrap.prepend("");tappable("#btn-update",{onTap:function onTap(){window.location.reload()},activeClass:"list-button-active"})},delay)},false)}window.addEventListener("resizeend",function(){is.wideScreen=wideScreenBP.matches;is.largeScreen=largeScreenBP.matches;scrollTop();if(is.largeScreen&&Menu.isShowing()){Menu.move(Move.LEFT)}if(is.iPad){iPadScrollFix()}},false);if(is.iPhone&&is.iOS7){var hasSwiped=false;document.addEventListener("touchstart",function(ev){var touchX=ev.targetTouches[0].clientX;hasSwiped=touchX<20||touchX>window.innerWidth-20});document.addEventListener("touchend",function(){hasSwiped=false})}window.addEventListener("hashchange",function(){if(is.iPhone&&is.iOS7){if(hasSwiped){el.mainView.addClass(classes.swipe);el.detailView.addClass(classes.swipe);Header.el.btnNavBack.addClass(classes.swipe);Header.el.subtitle.addClass(classes.swipe)}else{el.mainView.removeClass(classes.swipe);el.detailView.removeClass(classes.swipe);Header.el.btnNavBack.removeClass(classes.swipe);Header.el.subtitle.removeClass(classes.swipe)}hasSwiped=false}if(location.hash===""){backToMainView();Posts.clearSelected();Footer.setPostTitle();setTimeout(function(){el.detailWrap.empty()},is.wideScreen?1:301)}else{Comments.navigateFromHash()}},false);tappable("#mnml",{onTap:function onTap(){switchMnml(true)}});tappable(".btn-refresh",{onTap:function onTap(e){var origin=e.target.getAttribute("data-origin");switch(origin){case"footer-main":Posts.refreshStream();break;case"footer-detail":if(!Comments.getCurrentThread()){return}Comments.show(Comments.getCurrentThread(),true);break;default:if(currentView===View.COMMENTS){if(!Comments.getCurrentThread()){return}Comments.show(Comments.getCurrentThread(),true)}if(currentView===View.MAIN){Posts.refreshStream()}}}});tappable(".close-form",Modal.remove);if(is.mobile){if(!(is.iPhone&&is.iOS7)){el.detailView.swipeRight(function(){if(is.wideScreen){return}location.hash="#"})}el.mainView.swipeRight(function(){if(!is.desktop&&Posts.areLoading()||is.largeScreen){return}if(currentView===View.MAIN){Menu.move(Move.RIGHT)}});el.mainView.swipeLeft(function(){if(!is.desktop&&Posts.areLoading()||is.largeScreen){return}if(Menu.isShowing()){Menu.move(Move.LEFT)}});el.mainView.on("swipeLeft",".link",function(){if(is.wideScreen){return}if(!Menu.isShowing()){var id=$(this).data("id");Comments.updateHash(id)}})}};return{el:el,classes:classes,View:View,Move:Move,template:template,initListeners:initListeners,setCurrentView:setCurrentView,getCurrentView:getCurrentView,setSubTitle:setSubTitle,switchMnml:switchMnml,scrollTop:scrollTop,iPadScrollFix:iPadScrollFix,scrollFixComments:scrollFixComments,scrollFixLinks:scrollFixLinks,addLoader:addLoader,backToMainView:backToMainView,switchDisplay:switchDisplay}}();var URLs={init:"http://www.reddit.com/",end:".json?jsonp=?",limitEnd:".json?limit=30&jsonp=?"};var Channels=function(){var defaults={name:"Media",subs:["movies","television","music","games"]};var template={singleEditItem:"",single:'{{name}}
',list:'{{#.}}{{name}}
{{/.}}',formAddNew:'',formEditChannel:''};var list=[],editingNow="";var el={menu:$("#channels")};var getList=function(){return list};var getURL=function getURL(channel){if(channel.subs.length===1){return"r/"+channel.subs[0]+"+"+channel.subs[0]}else{return"r/"+channel.subs.join("+")}};var insert=function insert(channel){list.push(channel);Store.setItem("channels",JSON.stringify(list));Backup.shouldUpdate()};var _delete=function _delete(name){for(var j=0;j'"+channelName+"' "+operation+"d. Cool!");Anim.bounceOut($(".new-form"),Modal.remove)},activeClass:"btn-general-active"});tappable("#btn-add-channel",{onTap:function onTap(){Modal.show(template.formAddNew)},activeClass:"list-button-active"});tappable(".btn-remove-channel",{onTap:function onTap(e,target){remove($(target).data("title"))},activeClass:"button-active"});tappable(".btn-edit-channel",{onTap:function onTap(e,target){edit(target.getAttribute("data-title"))},activeClass:"button-active"})};return{getList:getList,getByName:getByName,getURL:getURL,loadPosts:loadPosts,loadSaved:loadSaved,initListeners:initListeners,template:{formAddNew:template.formAddNew,singleEditItem:template.singleEditItem}}}();var Comments=function(){var loading=false,replies={},currentThread;var setLoading=function setLoading(areLoading){loading=areLoading};var getCurrentThread=function(){return currentThread};var updateHash=function updateHash(id){location.hash="#comments:"+id};var getIdFromHash=function getIdFromHash(){var match=location.hash.match(/(#comments:)((?:[a-zA-Z0-9]*))/);if(match&&match[2]){return match[2]}};var navigateFromHash=function navigateFromHash(){var id=getIdFromHash();show(id);if(is.wideScreen){Posts.markSelected(id)}};var showLoadError=function showLoadError(loader){loading=false;var error="Error loading comments. Refresh to try again.";if(is.wideScreen){loader.addClass("loader-error").html(error+'')}else{loader.addClass("loader-error").text(error)}if(!is.desktop){UI.el.detailWrap.append($(""));UI.scrollFixComments()}};var load=function load(data,baseElement,idParent){var now=(new Date).getTime(),converter=new Markdown.Converter,com=$("").addClass("comments-level");for(var i=0;i").addClass("comment-wrap").append($("").append($("").addClass("comment-data").append($("").addClass(isPoster?"comment-poster":"comment-author").append($("").text(c.data.author))).append($("").addClass("comment-info").append($("").attr(commentLink).text(timeSince(now,c.data.created_utc))))).append($("").addClass("comment-body").html(html)));if(c.data.replies&&c.data.replies.data.children[0].kind!=="more"){comment.append($("").addClass("btn-simple btn-block--small comments-button js-reply-button").attr("data-comment-id",c.data.id).text("See replies"));replies[c.data.id]=c.data.replies.data.children}com.append(comment)}baseElement.append(com);if(idParent){Posts.getLoaded()[idParent]=com}UI.el.detailWrap.find("a").attr("target","_blank");if(!is.desktop){UI.scrollFixComments()}};var show=function show(id,refresh){if(!Posts.getList()[id]){currentThread=id;var loader=UI.addLoader(UI.el.detailWrap);loading=true;$.ajax({dataType:"jsonp",url:URLs.init+"comments/"+id+"/"+URLs.end,success:function success(result){loader.remove();loading=false;Posts.setList(result[0].data);LinkSummary.setPostSummary(result[0].data.children[0].data,id);Header.el.btnNavBack.removeClass("invisible");setRest(id,refresh);load(result[1].data.children,$("#comments-container"),id)},error:function error(){showLoadError(loader)}})}else{var delay=0;if(Menu.isShowing()){Menu.move(UI.Move.LEFT);delay=301}setTimeout(function(){if(loading&¤tThread&¤tThread===id){return}loading=true;currentThread=id;Header.el.btnNavBack.removeClass("invisible");var detail=UI.el.detailWrap;detail.empty();UI.el.detailWrap[0].scrollTop=0;if(Posts.getLoaded()[id]&&!refresh){detail.append(Posts.getList()[id].summary);$("#comments-container").append(Posts.getLoaded()[id]);LinkSummary.updatePostSummary(Posts.getList()[id],id);loading=false}else{LinkSummary.setPostSummary(Posts.getList()[id],id);var url="http://www.reddit.com"+Posts.getList()[id].link+URLs.end;var loader=UI.addLoader(detail);$.ajax({dataType:"jsonp",url:url,success:function success(result){if(currentThread!==id){return}LinkSummary.updatePostSummary(result[0].data.children[0].data,id);loader.remove();load(result[1].data.children,$("#comments-container"),id);loading=false},error:function error(){showLoadError(loader)}})}setRest(id,refresh)},delay)}};var setRest=function setRest(id,refresh){var postTitle=Posts.getList()[id].title;if(!refresh){Footer.setPostTitle(postTitle)}if(!refresh&&UI.getCurrentView()!==UI.View.COMMENTS){Anim.slideFromRight()}Header.el.centerSection.empty().append(Header.el.postTitle);Header.el.postTitle.text(postTitle);Header.el.subtitle.addClass("invisible")};var initListeners=function initListeners(){UI.el.detailWrap.on("click","#comments-container a, #selftext a",function(ev){var imageURL=LinkSummary.checkImageLink(ev.target.href);if(imageURL){ev.preventDefault();Modal.showImageViewer(imageURL)}});tappable(".js-reply-button",{onTap:function onTap(e,target){var parent=$(target),commentID=parent.attr("data-comment-id"),comments=replies[commentID];load(comments,parent.parent());parent.remove()}});tappable(".image-preview",{onTap:function onTap(e,target){Modal.showImageViewer(target.src)}})};return{initListeners:initListeners,navigateFromHash:navigateFromHash,getCurrentThread:getCurrentThread,show:show,updateHash:updateHash,setLoading:setLoading,getIdFromHash:getIdFromHash}}();var CurrentSelection=function(){var name="",type="";var Types={SUB:1,CHANNEL:2};var storeKey="currentSelection";var getName=function(){return name};var getType=function(){return type};var set=function set(newName,newType){name=newName;type=newType;Store.setItem(storeKey,JSON.stringify({name:name,type:type}))};var loadSaved=function loadSaved(){var loadedSelection=Store.getItem(storeKey);if(loadedSelection){loadedSelection=JSON.parse(loadedSelection)}name=loadedSelection?loadedSelection.name:"frontPage";type=loadedSelection?loadedSelection.type:type.sub};var setSubreddit=function setSubreddit(sub){set(sub,Types.SUB)};var setChannel=function setChannel(channel){set(channel.name,Types.CHANNEL)};var execute=function execute(caseSub,caseChannel){switch(type){case Types.SUB:caseSub();break;case Types.CHANNEL:caseChannel();break}};return{getName:getName,getType:getType,Types:Types,loadSaved:loadSaved,setSubreddit:setSubreddit,setChannel:setChannel,execute:execute}}();var Footer=function(){var refreshButton="";var noLink="No Post Selected";var el={detail:$("#detail-footer"),postTitle:$("#footer-post"),subTitle:$("#footer-sub"),getRefreshButton:function getRefreshButton(){if(!refreshButton){refreshButton=document.querySelector("#main-footer .footer-refresh")}return refreshButton}};var setPostTitle=function setPostTitle(title){el.postTitle.text(title?title:noLink);var buttons=el.detail.find(".btn-footer");if(title){buttons.removeClass(UI.classes.hide)}else{buttons.addClass(UI.classes.hide)}};return{el:el,setPostTitle:setPostTitle}}();var Header=function(){var el={subtitle:$("#main-title"),subtitleText:$("#sub-title"),centerSection:$("#title-head"),postTitle:$("#title"),icon:$("#header-icon"),btnNavBack:$("#nav-back")};var initListeners=function initListeners(){tappable(".btn-to-main",{onTap:function onTap(){location.hash="#"}});tappable("#sub-title",{onTap:function onTap(){if(is.mobile&&Posts.areLoading()){return}Menu.move(Menu.isShowing()?UI.Move.LEFT:UI.Move.RIGHT)}})};return{el:el,initListeners:initListeners}}();var LinkSummary=function(){var template="\n ";var setPostSummary=function setPostSummary(data,postID){if(!data.link){data.link=data.permalink}var summaryHTML=Mustache.to_html(template,data);if(data.selftext){var selfText;if(Posts.getList()[postID].selftextParsed){selfText=Posts.getList()[postID].selftext}else{var summaryConverter1=new Markdown.Converter;selfText=summaryConverter1.makeHtml(data.selftext);Posts.getList()[postID].selftext=selfText;Posts.getList()[postID].selftextParsed=true}summaryHTML+=""}else{var linkURL=Posts.getList()[postID].url;var imageLink=checkImageLink(linkURL);if(imageLink){summaryHTML+=''+'
'+""}else{var youTubeID=getYouTubeVideoIDfromURL(linkURL);if(youTubeID){summaryHTML+='"}}}summaryHTML+="";UI.el.detailWrap.append(summaryHTML);updatePostTime(data.created_utc);Posts.getList()[postID].summary=summaryHTML;Footer.el.postTitle.text(data.title)};var updatePostSummary=function updatePostSummary(data,postID){$("#summary-comment-num").text(data.num_comments+(data.num_comments===1?" comment":" comments"));updatePostTime(data.created_utc);Posts.getList()[postID].num_comments=data.num_comments;Posts.getList()[postID].created_utc=data.created_utc};var updatePostTime=function updatePostTime(time){$("#summary-time").text(timeSince((new Date).getTime(),time))};var checkImageLink=function checkImageLink(url){var matching=url.match(/\.(svg|jpe?g|png|gif)(?:[?#].*)?$|(?:imgur\.com|livememe\.com)\/([^?#\/.]*)(?:[?#].*)?(?:\/)?$/);if(!matching){return""}if(matching[1]){return url}else if(matching[2]){if(matching[0].slice(0,5)==="imgur"){return"http://imgur.com/"+matching[2]+".jpg"}else if(matching[0].indexOf("livememe.")>=0){return"http://i.lvme.me/"+matching[2]+".jpg"}else{return null}}else{return null}};var getYouTubeVideoIDfromURL=function getYouTubeVideoIDfromURL(url){var matching=url.match(/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/);if(!matching){return""}else{if(matching[2].length===11){return matching[2]}else{return null}}};return{setPostSummary:setPostSummary,updatePostSummary:updatePostSummary,checkImageLink:checkImageLink}}();var Menu=function(){var showing=false;var isShowing=function(){return showing};var template={about:""};var move=function move(direction){if(is.iPhone&&is.iOS7){UI.el.mainView.removeClass(UI.classes.swipe);UI.el.detailView.removeClass(UI.classes.swipe)}if(direction===UI.Move.LEFT){UI.el.mainView.removeClass(UI.classes.showMenu);setTimeout(function(){showing=false})}if(direction===UI.Move.RIGHT){UI.el.mainView.addClass(UI.classes.showMenu);setTimeout(function(){showing=true})}};var markSelected=function markSelected(params){var type=params.type;var el=params.el;var name=params.name;var update=params.update;if(update){cleanSelected()}var isChannel=type&&type==="channel";if(el){el.classList.add(isChannel?"channel-active":"sub-active");return}if(name){var selector=isChannel?'.channel[data-title="'+name+'"]':'.sub[data-name="'+name+'"]';var activeSub=document.querySelector(selector);activeSub.classList.add(isChannel?"channel-active":"sub-active")}};var cleanSelected=function cleanSelected(){$(".sub.sub-active").removeClass("sub-active");$(".channel.channel-active").removeClass("channel-active")};var initListeners=function initListeners(){tappable(".channel",{onTap:function onTap(e,target){var channelName=target.getAttribute("data-title");Menu.move(UI.Move.LEFT);if(channelName===CurrentSelection.getName()&&!Subreddits.isEditing()){return}Menu.markSelected({type:"channel",el:target,update:true});if(UI.getCurrentView()===UI.View.COMMENTS){UI.backToMainView()}Channels.loadPosts(Channels.getByName(channelName))},activeClassDelay:100,activeClass:"link-active"});tappable(".sub",{onTap:function onTap(e,target){var subredditName=$(target).first().text();Menu.move(UI.Move.LEFT);Subreddits.loadPosts(subredditName);markSelected({el:target,update:true});if(UI.getCurrentView()===UI.View.COMMENTS){UI.backToMainView()}},allowClick:false,activeClassDelay:100,activeClass:"link-active"});tappable("#btn-new-sub",{onTap:function onTap(){Modal.show(Subreddits.template.formInsert)}});tappable("#btn-new-channel",{onTap:function onTap(){Modal.show(Channels.template.formAddNew)}});tappable("#btn-add-subs",{onTap:Subreddits.loadForAdding});tappable("#btn-edit-subs",{onTap:Subreddits.loadForEditing});tappable("#exp-data",{onTap:Backup.createBackup});tappable("#imp-data",{onTap:function onTap(){Modal.show(Backup.templateImportData)}});tappable("#about",{onTap:function onTap(){Modal.show(template.about)},activeClassDelay:100})};return{isShowing:isShowing,initListeners:initListeners,move:move,markSelected:markSelected,cleanSelected:cleanSelected}}();var Modal=function(){var isShown=false;var show=function show(template,callback,config){var delay=1;if(!is.largeScreen&&Menu.isShowing()){Menu.move(UI.Move.LEFT);delay=301}setTimeout(function(){if(isShown){return}var modal=$("").attr("id","modal"),bounce=true;if(config){if(config.modalClass){modal.addClass(config.modalClass)}if(config.noBounce){bounce=false}}modal.append(template);UI.el.body.append(modal);isShown=true;setTimeout(function(){modal.css("opacity",1);if(bounce){Anim.bounceInDown($(".new-form"))}},1);if(callback){callback()}},delay)};var remove=function remove(){var modal=$("#modal");modal.css("opacity","");isShown=false;setTimeout(function(){modal.remove()},301)};var showImageViewer=function showImageViewer(imageURL){var imageViewer='
',config={modalClass:"modal--closable",noBounce:true};Modal.show(imageViewer,false,config)};var initListeners=function initListeners(){tappable(".modal--closable",Modal.remove)};return{show:show,remove:remove,showImageViewer:showImageViewer,initListeners:initListeners}}();var Posts=function(){var template="\n {{#children}}\n \n \n
\n
\n
\n {{data.title}}\n \n
{{data.domain}}
\n
{{data.subreddit}}
\n {{#data.over_18}}\n
NSFW\n {{/data.over_18}}\n {{#data.stickied}}\n
Stickied\n {{/data.stickied}}\n
\n
\n \n \n {{/children}}\n \n ";
+(function(){"use strict";var Anim=function(){var slideFromLeft=function slideFromLeft(){var show=UI.classes.showView;UI.el.mainView.addClass(show);UI.el.detailView.removeClass(show);UI.setCurrentView(UI.View.MAIN)};var slideFromRight=function slideFromRight(){var show=UI.classes.showView;UI.el.mainView.removeClass(show);UI.el.detailView.addClass(show);UI.setCurrentView(UI.View.COMMENTS)};var reveal=function(_reveal){var _revealWrapper=function reveal(_x){return _reveal.apply(this,arguments)};_revealWrapper.toString=function(){return _reveal.toString()};return _revealWrapper}(function(el){var reveal="anim-reveal";if(is.desktop){el.addClass(reveal);setTimeout(function(){el.removeClass(reveal)},700)}else{setTimeout(function(){el.removeClass("invisible").addClass(reveal)},0)}});var shake=function(_shake){var _shakeWrapper=function shake(_x){return _shake.apply(this,arguments)};_shakeWrapper.toString=function(){return _shake.toString()};return _shakeWrapper}(function(el){var shake="anim-shake";el.addClass(shake);setTimeout(function(){el.removeClass(shake)},350)});var shakeForm=function shakeForm(){shake($(".new-form"))};var bounceOut=function(_bounceOut){var _bounceOutWrapper=function bounceOut(_x,_x2){return _bounceOut.apply(this,arguments)};_bounceOutWrapper.toString=function(){return _bounceOut.toString()};return _bounceOutWrapper}(function(el,callback){var bounceOut="anim-bounce-out";el.addClass(bounceOut);if(callback){setTimeout(callback,1e3)}});var bounceInDown=function bounceInDown(el){el.addClass("anim-bounceInDown");setTimeout(function(){el[0].style.opacity=1;el.removeClass("anim-bounceInDown")},500)};return{slideFromLeft:slideFromLeft,slideFromRight:slideFromRight,reveal:reveal,shake:shake,shakeForm:shakeForm,bounceOut:bounceOut,bounceInDown:bounceInDown}}();var Backup=function(){var update=1,gists={url:"https://api.github.com/gists",fileURL:""};var template={exportData:"",importData:""};var shouldUpdate=function shouldUpdate(){update=1};var createBackup=function createBackup(){if(update){Modal.show(template.exportData,function(){var files={},content='{"channels": '+Store.getItem("channels")+', "subreddits": '+Store.getItem("subreeddits")+"}";files["reedditdata.json"]={content:content};$.ajax({url:gists.url,type:"POST",data:JSON.stringify({description:"Reeddit User Data","public":true,files:files}),headers:{"Content-Type":"application/json; charset=UTF-8"},success:function success(response){var resp=JSON.parse(response);$$.id("btn-save-dbx").style.display="block";gists.fileURL=resp.files["reedditdata.json"].raw_url;update=0},error:function error(){$("#btn-save-dbx").remove();$(".move-data-exp").append("Oh oh. Error creating your backup file. Retry later.
");Modal.remove()}})})}else if(gists.fileURL){Modal.show(template.exportData,function(){$$.id("btn-save-dbx").style.display="block"})}};var chooseFromDropbox=function chooseFromDropbox(){Dropbox.choose({success:function success(file){$.ajax({url:file[0].link,success:function success(data){try{var refresh=false;if(typeof data==="string"){data=JSON.parse(data)}if(data.subreddits){refresh=true;Store.setItem("subreeddits",JSON.stringify(data.subreddits))}if(data.channels){refresh=true;Store.setItem("channels",JSON.stringify(data.channels))}if(refresh){window.location.reload()}}catch(e){alert("Oops! Wrong file, maybe? - Try choosing another one.")}}})},linkType:"direct",extensions:[".json"]})};var initListeners=function initListeners(){tappable("#btn-save-dbx",{onTap:function onTap(){if(!gists.fileURL){alert("Err. There's no backup file created...");return}var options={files:[{url:gists.fileURL,filename:"reedditdata.json"}],success:Modal.remove};Dropbox.save(options)},activeClass:"btn-general-active"});tappable("#btn-dbx-imp",{onTap:chooseFromDropbox,activeClass:"btn-general-active"})};return{initListeners:initListeners,chooseFromDropbox:chooseFromDropbox,createBackup:createBackup,shouldUpdate:shouldUpdate,templateImportData:template.importData}}();var $$={id:function id(query){return document.getElementById(query)},q:function q(query){return document.querySelector(query)}};var wideScreenBP=window.matchMedia("(min-width: 1000px)"),largeScreenBP=window.matchMedia("(min-width: 490px)"),UA=window.navigator.userAgent;var is=function(){var isDesktop=!/iPhone|iPod|iPad|Android|Mobile/.test(UA),isiPad=/iPad/.test(UA),isiPhone=/iP(hone|od)/.test(UA);return{wideScreen:wideScreenBP.matches,largeScreen:largeScreenBP.matches,desktop:isDesktop,mobile:!isDesktop,iPhone:isiPhone,iPad:isiPad,iOS7:(isiPhone||isiPad)&&parseInt(UA.match(/ OS (\d+)_/i)[1],10)>=7}}();var Store=window.fluid?allCookies:window.localStorage;var UI=function(){var Move={LEFT:1,RIGHT:2};var View={MAIN:1,COMMENTS:2};var classes={showView:"show-view",showMenu:"show-menu",mnml:"mnml",hide:"hide",swipe:"from-swipe"};var template={loader:""};var el={body:$("body"),mainWrap:$("#main-wrap"),detailWrap:$("#detail-wrap"),mainView:$(".main-view"),detailView:$(".detail-view")};var mnmlTheme=false,currentView=View.MAIN;var getCurrentView=function(){return currentView};var setCurrentView=function setCurrentView(view){currentView=view};var setSubTitle=function setSubTitle(title){Header.el.subtitleText.text(title);Footer.el.subTitle.text(title)};var backToMainView=function backToMainView(){Header.el.btnNavBack.addClass("invisible");Header.el.subtitle.removeClass("invisible");Header.el.centerSection.empty().append(Header.el.icon);Anim.slideFromLeft()};var switchMnml=function switchMnml(save,mode){if(typeof mode==="undefined"){mnmlTheme=!mnmlTheme}else{mnmlTheme=mode}var buttonMnml=$("#mnml"),docBody=document.body;if(mnmlTheme){docBody.classList.add(classes.mnml);buttonMnml.text("Theme: mnml")}else{docBody.classList.remove(classes.mnml);buttonMnml.text("Theme: Classic")}if(save){Store.setItem("mnml",mnmlTheme)}};var switchDisplay=function switchDisplay(el,visible){if(visible){el.classList.add(classes.hide)}else{el.classList.remove(classes.hide)}};var addLoader=function addLoader(elem){var loader=$("").addClass("loader");elem.append(loader);return loader};var scrollFixComments=function scrollFixComments(){var detailWrap=$$.q("#detail-wrap"),detailWrapHeight=detailWrap.offsetHeight,linkSummary=detailWrap.querySelector("section:first-child"),linkSummaryHeight=linkSummary.offsetHeight,selfText=detailWrap.querySelector("#selftext"),selfTextHeight=selfText?selfText.offsetHeight:0,imagePreview=detailWrap.querySelector(".image-preview"),imagePreviewHeight=imagePreview?imagePreview.offsetHeight:0,loader=detailWrap.querySelector(".loader"),loaderHeight=loader?loader.offsetHeight:0;var minHeight=detailWrapHeight-linkSummaryHeight-selfTextHeight-imagePreviewHeight-loaderHeight+1;$("#detail-wrap > section + "+(selfTextHeight>0?"#selftext +":"")+(imagePreviewHeight>0?".image-preview +":"")+(loaderHeight>0?".loader +":"")+" section").css("min-height",minHeight)};var scrollFixLinks=function scrollFixLinks(){var totalHeight=0;var wraps=document.querySelectorAll(".link-wrap");for(var w=0;wminHeight){$("#main-overflow").css("min-height","")}else{$("#main-overflow").css("min-height",minHeight-totalHeight+1)}};var supportOrientation=typeof window.orientation!=="undefined";var getScrollTop=function getScrollTop(){return window.pageYOffset||document.compatMode==="CSS1Compat"&&document.documentElement.scrollTop||document.body.scrollTop||0};var scrollTop=function scrollTop(){if(!supportOrientation){return}document.body.style.height=screen.height+"px";setTimeout(function(){window.scrollTo(0,1);var top=getScrollTop();window.scrollTo(0,top===1?0:1);document.body.style.height=window.innerHeight+"px"},1)};var iPadScrollFix=function iPadScrollFix(){var nextHeight="36px"===$(".menu-desc").css("height")?"35px":"36px";setTimeout(function(){$(".menu-desc").css("height",nextHeight)},500)};var initListeners=function initListeners(){if(window.applicationCache){window.applicationCache.addEventListener("updateready",function(e){var delay=1;if(Menu.isShowing()){Menu.move(Move.LEFT);delay=301}setTimeout(function(){el.mainWrap.prepend("");tappable("#btn-update",{onTap:function onTap(){window.location.reload()},activeClass:"list-button-active"})},delay)},false)}window.addEventListener("resizeend",function(){is.wideScreen=wideScreenBP.matches;is.largeScreen=largeScreenBP.matches;scrollTop();if(is.largeScreen&&Menu.isShowing()){Menu.move(Move.LEFT)}if(is.iPad){iPadScrollFix()}},false);if(is.iPhone&&is.iOS7){var hasSwiped=false;document.addEventListener("touchstart",function(ev){var touchX=ev.targetTouches[0].clientX;hasSwiped=touchX<20||touchX>window.innerWidth-20});document.addEventListener("touchend",function(){hasSwiped=false})}window.addEventListener("hashchange",function(){if(is.iPhone&&is.iOS7){if(hasSwiped){el.mainView.addClass(classes.swipe);el.detailView.addClass(classes.swipe);Header.el.btnNavBack.addClass(classes.swipe);Header.el.subtitle.addClass(classes.swipe)}else{el.mainView.removeClass(classes.swipe);el.detailView.removeClass(classes.swipe);Header.el.btnNavBack.removeClass(classes.swipe);Header.el.subtitle.removeClass(classes.swipe)}hasSwiped=false}if(location.hash===""){backToMainView();Posts.clearSelected();Footer.setPostTitle();setTimeout(function(){el.detailWrap.empty()},is.wideScreen?1:301)}else{Comments.navigateFromHash()}},false);tappable("#mnml",{onTap:function onTap(){switchMnml(true)}});tappable(".btn-refresh",{onTap:function onTap(e){var origin=e.target.getAttribute("data-origin");switch(origin){case"footer-main":Posts.refreshStream();break;case"footer-detail":if(!Comments.getCurrentThread()){return}Comments.show(Comments.getCurrentThread(),true);break;default:if(currentView===View.COMMENTS){if(!Comments.getCurrentThread()){return}Comments.show(Comments.getCurrentThread(),true)}if(currentView===View.MAIN){Posts.refreshStream()}}}});tappable(".close-form",Modal.remove);if(is.mobile){if(!(is.iPhone&&is.iOS7)){el.detailView.swipeRight(function(){if(is.wideScreen){return}location.hash="#"})}el.mainView.swipeRight(function(){if(!is.desktop&&Posts.areLoading()||is.largeScreen){return}if(currentView===View.MAIN){Menu.move(Move.RIGHT)}});el.mainView.swipeLeft(function(){if(!is.desktop&&Posts.areLoading()||is.largeScreen){return}if(Menu.isShowing()){Menu.move(Move.LEFT)}});el.mainView.on("swipeLeft",".link",function(){if(is.wideScreen){return}if(!Menu.isShowing()){var id=$(this).data("id");Comments.updateHash(id)}})}};return{el:el,classes:classes,View:View,Move:Move,template:template,initListeners:initListeners,setCurrentView:setCurrentView,getCurrentView:getCurrentView,setSubTitle:setSubTitle,switchMnml:switchMnml,scrollTop:scrollTop,iPadScrollFix:iPadScrollFix,scrollFixComments:scrollFixComments,scrollFixLinks:scrollFixLinks,addLoader:addLoader,backToMainView:backToMainView,switchDisplay:switchDisplay}}();var URLs={init:"http://www.reddit.com/",end:".json?jsonp=?",limitEnd:".json?limit=30&jsonp=?"};var Channels=function(){var defaults={name:"Media",subs:["movies","television","music","games"]};var template={singleEditItem:"",single:'{{name}}
',list:'{{#.}}{{name}}
{{/.}}',formAddNew:'',formEditChannel:''};var list=[],editingNow="";var el={menu:$("#channels")};var getList=function(){return list};var getURL=function getURL(channel){if(channel.subs.length===1){return"r/"+channel.subs[0]+"+"+channel.subs[0]}else{return"r/"+channel.subs.join("+")}};var insert=function insert(channel){list.push(channel);Store.setItem("channels",JSON.stringify(list));Backup.shouldUpdate()};var _delete=function _delete(name){for(var j=0;j'"+channelName+"' "+operation+"d. Cool!");Anim.bounceOut($(".new-form"),Modal.remove)},activeClass:"btn-general-active"});tappable("#btn-add-channel",{onTap:function onTap(){Modal.show(template.formAddNew)},activeClass:"list-button-active"});tappable(".btn-remove-channel",{onTap:function onTap(e,target){remove($(target).data("title"))},activeClass:"button-active"});tappable(".btn-edit-channel",{onTap:function onTap(e,target){edit(target.getAttribute("data-title"))},activeClass:"button-active"})};return{getList:getList,getByName:getByName,getURL:getURL,loadPosts:loadPosts,loadSaved:loadSaved,initListeners:initListeners,template:{formAddNew:template.formAddNew,singleEditItem:template.singleEditItem}}}();var Comments=function(){var loading=false,replies={},currentThread;var setLoading=function setLoading(areLoading){loading=areLoading};var getCurrentThread=function(){return currentThread};var updateHash=function updateHash(id){location.hash="#comments:"+id};var getIdFromHash=function getIdFromHash(){var match=location.hash.match(/(#comments:)((?:[a-zA-Z0-9]*))/);if(match&&match[2]){return match[2]}};var navigateFromHash=function navigateFromHash(){var id=getIdFromHash();show(id);if(is.wideScreen){Posts.markSelected(id)}};var showLoadError=function showLoadError(loader){loading=false;var error="Error loading comments. Refresh to try again.";if(is.wideScreen){loader.addClass("loader-error").html(error+'')}else{loader.addClass("loader-error").text(error)}if(!is.desktop){UI.el.detailWrap.append($(""));UI.scrollFixComments()}};var load=function load(data,baseElement,idParent){var now=(new Date).getTime(),converter=new Markdown.Converter,com=$("").addClass("comments-level");for(var i=0;i").addClass("comment-wrap").append($("").append($("").addClass("comment-data").append($("").addClass(isPoster?"comment-poster":"comment-author").append($("").text(c.data.author))).append($("").addClass("comment-info").append($("").attr(commentLink).text(timeSince(now,c.data.created_utc))))).append($("").addClass("comment-body").html(html)));if(c.data.replies&&c.data.replies.data.children[0].kind!=="more"){comment.append($("").addClass("btn-simple btn-block--small comments-button js-reply-button").attr("data-comment-id",c.data.id).text("See replies"));replies[c.data.id]=c.data.replies.data.children}com.append(comment)}baseElement.append(com);if(idParent){Posts.getLoaded()[idParent]=com}UI.el.detailWrap.find("a").attr("target","_blank");if(!is.desktop){UI.scrollFixComments()}};var show=function show(id,refresh){if(!Posts.getList()[id]){currentThread=id;var loader=UI.addLoader(UI.el.detailWrap);loading=true;$.ajax({dataType:"jsonp",url:URLs.init+"comments/"+id+"/"+URLs.end,success:function success(result){loader.remove();loading=false;Posts.setList(result[0].data);LinkSummary.setPostSummary(result[0].data.children[0].data,id);Header.el.btnNavBack.removeClass("invisible");setRest(id,refresh);load(result[1].data.children,$("#comments-container"),id)},error:function error(){showLoadError(loader)}})}else{var delay=0;if(Menu.isShowing()){Menu.move(UI.Move.LEFT);delay=301}setTimeout(function(){if(loading&¤tThread&¤tThread===id){return}loading=true;currentThread=id;Header.el.btnNavBack.removeClass("invisible");var detail=UI.el.detailWrap;detail.empty();UI.el.detailWrap[0].scrollTop=0;if(Posts.getLoaded()[id]&&!refresh){detail.append(Posts.getList()[id].summary);$("#comments-container").append(Posts.getLoaded()[id]);LinkSummary.updatePostSummary(Posts.getList()[id],id);loading=false}else{LinkSummary.setPostSummary(Posts.getList()[id],id);var url="http://www.reddit.com"+Posts.getList()[id].link+URLs.end;var loader=UI.addLoader(detail);$.ajax({dataType:"jsonp",url:url,success:function success(result){if(currentThread!==id){return}LinkSummary.updatePostSummary(result[0].data.children[0].data,id);loader.remove();load(result[1].data.children,$("#comments-container"),id);loading=false},error:function error(){showLoadError(loader)}})}setRest(id,refresh)},delay)}};var setRest=function setRest(id,refresh){var postTitle=Posts.getList()[id].title;if(!refresh){Footer.setPostTitle(postTitle)}if(!refresh&&UI.getCurrentView()!==UI.View.COMMENTS){Anim.slideFromRight()}Header.el.centerSection.empty().append(Header.el.postTitle);Header.el.postTitle.text(postTitle);Header.el.subtitle.addClass("invisible")};var initListeners=function initListeners(){UI.el.detailWrap.on("click","#comments-container a, #selftext a",function(ev){var imageURL=LinkSummary.checkImageLink(ev.target.href);if(imageURL){ev.preventDefault();Modal.showImageViewer(imageURL)}});tappable(".js-reply-button",{onTap:function onTap(e,target){var parent=$(target),commentID=parent.attr("data-comment-id"),comments=replies[commentID];load(comments,parent.parent());parent.remove()}});tappable(".image-preview",{onTap:function onTap(e,target){Modal.showImageViewer(target.src)}})};return{initListeners:initListeners,navigateFromHash:navigateFromHash,getCurrentThread:getCurrentThread,show:show,updateHash:updateHash,setLoading:setLoading,getIdFromHash:getIdFromHash}}();var CurrentSelection=function(){var name="",type="";var Types={SUB:1,CHANNEL:2};var storeKey="currentSelection";var getName=function(){return name};var getType=function(){return type};var set=function set(newName,newType){name=newName;type=newType;Store.setItem(storeKey,JSON.stringify({name:name,type:type}))};var loadSaved=function loadSaved(){var loadedSelection=Store.getItem(storeKey);if(loadedSelection){loadedSelection=JSON.parse(loadedSelection)}name=loadedSelection?loadedSelection.name:"frontPage";type=loadedSelection?loadedSelection.type:Types.SUB};var setSubreddit=function setSubreddit(sub){set(sub,Types.SUB)};var setChannel=function setChannel(channel){set(channel.name,Types.CHANNEL)};var execute=function execute(caseSub,caseChannel){switch(type){case Types.SUB:caseSub();break;case Types.CHANNEL:caseChannel();break}};return{getName:getName,getType:getType,Types:Types,loadSaved:loadSaved,setSubreddit:setSubreddit,setChannel:setChannel,execute:execute}}();var Footer=function(){var refreshButton="";var noLink="No Post Selected";var el={detail:$("#detail-footer"),postTitle:$("#footer-post"),subTitle:$("#footer-sub"),getRefreshButton:function getRefreshButton(){if(!refreshButton){refreshButton=document.querySelector("#main-footer .footer-refresh")}return refreshButton}};var setPostTitle=function setPostTitle(title){el.postTitle.text(title?title:noLink);var buttons=el.detail.find(".btn-footer");if(title){buttons.removeClass(UI.classes.hide)}else{buttons.addClass(UI.classes.hide)}};return{el:el,setPostTitle:setPostTitle}}();var Header=function(){var el={subtitle:$("#main-title"),subtitleText:$("#sub-title"),centerSection:$("#title-head"),postTitle:$("#title"),icon:$("#header-icon"),btnNavBack:$("#nav-back")};var initListeners=function initListeners(){tappable(".btn-to-main",{onTap:function onTap(){location.hash="#"}});tappable("#sub-title",{onTap:function onTap(){if(is.mobile&&Posts.areLoading()){return}Menu.move(Menu.isShowing()?UI.Move.LEFT:UI.Move.RIGHT)}})};return{el:el,initListeners:initListeners}}();var LinkSummary=function(){var template="\n ";var setPostSummary=function setPostSummary(data,postID){if(!data.link){data.link=data.permalink}var summaryHTML=Mustache.to_html(template,data);if(data.selftext){var selfText;if(Posts.getList()[postID].selftextParsed){selfText=Posts.getList()[postID].selftext}else{var summaryConverter1=new Markdown.Converter;selfText=summaryConverter1.makeHtml(data.selftext);Posts.getList()[postID].selftext=selfText;Posts.getList()[postID].selftextParsed=true}summaryHTML+=""}else{var linkURL=Posts.getList()[postID].url;var imageLink=checkImageLink(linkURL);if(imageLink){summaryHTML+=''+'
'+""}else{var youTubeID=getYouTubeVideoIDfromURL(linkURL);if(youTubeID){summaryHTML+='"}}}summaryHTML+="";UI.el.detailWrap.append(summaryHTML);updatePostTime(data.created_utc);Posts.getList()[postID].summary=summaryHTML;Footer.el.postTitle.text(data.title)};var updatePostSummary=function updatePostSummary(data,postID){$("#summary-comment-num").text(data.num_comments+(data.num_comments===1?" comment":" comments"));updatePostTime(data.created_utc);Posts.getList()[postID].num_comments=data.num_comments;Posts.getList()[postID].created_utc=data.created_utc};var updatePostTime=function updatePostTime(time){$("#summary-time").text(timeSince((new Date).getTime(),time))};var checkImageLink=function checkImageLink(url){var matching=url.match(/\.(svg|jpe?g|png|gif)(?:[?#].*)?$|(?:imgur\.com|livememe\.com)\/([^?#\/.]*)(?:[?#].*)?(?:\/)?$/);if(!matching){return""}if(matching[1]){return url}else if(matching[2]){if(matching[0].slice(0,5)==="imgur"){return"http://imgur.com/"+matching[2]+".jpg"}else if(matching[0].indexOf("livememe.")>=0){return"http://i.lvme.me/"+matching[2]+".jpg"}else{return null}}else{return null}};var getYouTubeVideoIDfromURL=function getYouTubeVideoIDfromURL(url){var matching=url.match(/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/);if(!matching){return""}else{if(matching[2].length===11){return matching[2]}else{return null}}};return{setPostSummary:setPostSummary,updatePostSummary:updatePostSummary,checkImageLink:checkImageLink}}();var Menu=function(){var showing=false;var isShowing=function(){return showing};var template={about:""};var move=function move(direction){if(is.iPhone&&is.iOS7){UI.el.mainView.removeClass(UI.classes.swipe);UI.el.detailView.removeClass(UI.classes.swipe)}if(direction===UI.Move.LEFT){UI.el.mainView.removeClass(UI.classes.showMenu);setTimeout(function(){showing=false})}if(direction===UI.Move.RIGHT){UI.el.mainView.addClass(UI.classes.showMenu);setTimeout(function(){showing=true})}};var markSelected=function markSelected(params){var type=params.type;var el=params.el;var name=params.name;var update=params.update;if(update){cleanSelected()}var isChannel=type&&type==="channel";if(el){el.classList.add(isChannel?"channel-active":"sub-active");return}if(name){var selector=isChannel?'.channel[data-title="'+name+'"]':'.sub[data-name="'+name+'"]';var activeSub=document.querySelector(selector);activeSub.classList.add(isChannel?"channel-active":"sub-active")}};var cleanSelected=function cleanSelected(){$(".sub.sub-active").removeClass("sub-active");$(".channel.channel-active").removeClass("channel-active")};var initListeners=function initListeners(){tappable(".channel",{onTap:function onTap(e,target){var channelName=target.getAttribute("data-title");Menu.move(UI.Move.LEFT);if(channelName===CurrentSelection.getName()&&!Subreddits.isEditing()){return}Menu.markSelected({type:"channel",el:target,update:true});if(UI.getCurrentView()===UI.View.COMMENTS){UI.backToMainView()}Channels.loadPosts(Channels.getByName(channelName))},activeClassDelay:100,activeClass:"link-active"});tappable(".sub",{onTap:function onTap(e,target){var subredditName=$(target).first().text();Menu.move(UI.Move.LEFT);Subreddits.loadPosts(subredditName);markSelected({el:target,update:true});if(UI.getCurrentView()===UI.View.COMMENTS){UI.backToMainView()}},allowClick:false,activeClassDelay:100,activeClass:"link-active"});tappable("#btn-new-sub",{onTap:function onTap(){Modal.show(Subreddits.template.formInsert)}});tappable("#btn-new-channel",{onTap:function onTap(){Modal.show(Channels.template.formAddNew)}});tappable("#btn-add-subs",{onTap:Subreddits.loadForAdding});tappable("#btn-edit-subs",{onTap:Subreddits.loadForEditing});tappable("#exp-data",{onTap:Backup.createBackup});tappable("#imp-data",{onTap:function onTap(){Modal.show(Backup.templateImportData)}});tappable("#about",{onTap:function onTap(){Modal.show(template.about)},activeClassDelay:100})};return{isShowing:isShowing,initListeners:initListeners,move:move,markSelected:markSelected,cleanSelected:cleanSelected}}();var Modal=function(){var isShown=false;var show=function show(template,callback,config){var delay=1;if(!is.largeScreen&&Menu.isShowing()){Menu.move(UI.Move.LEFT);delay=301}setTimeout(function(){if(isShown){return}var modal=$("").attr("id","modal"),bounce=true;if(config){if(config.modalClass){modal.addClass(config.modalClass)}if(config.noBounce){bounce=false}}modal.append(template);UI.el.body.append(modal);isShown=true;setTimeout(function(){modal.css("opacity",1);if(bounce){Anim.bounceInDown($(".new-form"))}},1);if(callback){callback()}},delay)};var remove=function remove(){var modal=$("#modal");modal.css("opacity","");isShown=false;setTimeout(function(){modal.remove()},301)};var showImageViewer=function showImageViewer(imageURL){var imageViewer='
',config={modalClass:"modal--closable",noBounce:true};Modal.show(imageViewer,false,config)};var initListeners=function initListeners(){tappable(".modal--closable",Modal.remove)};return{show:show,remove:remove,showImageViewer:showImageViewer,initListeners:initListeners}}();var Posts=function(){var template="\n {{#children}}\n \n \n
\n
\n
\n {{data.title}}\n \n
{{data.domain}}
\n
{{data.subreddit}}
\n {{#data.over_18}}\n
NSFW\n {{/data.over_18}}\n {{#data.stickied}}\n
Stickied\n {{/data.stickied}}\n
\n
\n \n \n {{/children}}\n \n ";
var loading=false,list={},loaded={},idLast="";var el={moreButton:function moreButton(){return $("#btn-load-more-posts")}};var getList=function(){return list};var getLoaded=function(){return loaded};var setLoading=function setLoading(newLoading){loading=newLoading};var areLoading=function(){return loading};var open=function open(url,id){var link=list[id];if(link.self||is.wideScreen){Comments.updateHash(id)}else{triggerClick(url)}};var load=function load(baseUrl,paging){if(loading){return}loading=true;Comments.setLoading(false);Subreddits.setEditing(false);var main=UI.el.mainWrap;if(paging){el.moreButton().remove();main.append(UI.template.loader)}else{UI.el.mainWrap[0].scrollTop=0;setTimeout(function(){main.prepend(UI.template.loader)},Menu.isShowing()?301:1);paging=""}$.ajax({dataType:"jsonp",url:baseUrl+Sorting.get()+URLs.limitEnd+paging,success:function success(result){show(result,paging)},error:function error(){loading=false;$(".loader").addClass("loader-error").text("Error loading links. Refresh to try again.")}})};var loadFromManualInput=function loadFromManualInput(loadedLinks){show(loadedLinks);UI.el.mainWrap[0].scrollTop=0;Subreddits.setEditing(false)};var render=function render(links,paging){var linksCount=links.children.length,main=UI.el.mainWrap;if(paging){$(".loader").remove()}else{if(is.desktop){main.empty()}else{main.empty().removeClass("anim-reveal").addClass("invisible")}}if(linksCount===0){var message=$(".loader");if(message){message.text("No Links available.");message.addClass("loader-error");main.append('')}else{main.prepend('No Links available.
')}}else{main.append(Mustache.to_html(template,links));var thumbs=$(".link-thumb > div"),bgImg="background-image: ";for(var i=0;i