'use strict';var _createClass=function(){function a(a,b){for(var c,d=0;d"'`=\/]/g,function(a){return{"&":'&',"<":'<',">":'>','"':'"',"'":''',"/":'/',"`":'`',"=":'='}[a]})}var video,API=function(){function a(){_classCallCheck(this,a)}return _createClass(a,null,[{key:'request',value:function request(a,b,c,d,e){var f=this;$.ajax({url:'/api/'+b+'/'+c,method:a?'POST':'GET',data:d,success:function success(a){'null'===a.error?e(!0,null,a.warnings,a):e(!1,f.responsify(a.error),a.warnings,a)},error:function error(a){return e(!1,null,null,a)}})}},{key:'responsify',value:function responsify(a){var b=function(a,b){return{type:a,text:b}};return{not_logged_in:b('error','Not logged in (\u2716\u256D\u256E\u2716)'),invalid_request:b('error','Invalid request \u3010\u30C4\u3011'),video_not_found:b('error','Video not found. Perhaps it has already been deleted'),insufficient_permissions:b('error','Insufficient permissions \u250C\u2229\u2510(\u25E3_\u25E2)\u250C\u2229\u2510'),no_tags_specified:b('error','No tags specified')}[a]}}]),a}(),Video=function(){function a(){_classCallCheck(this,a);var b=location.href.match(/(\d+)(?!.*\/.)/);b&&(this.id=b[1],this.user=$('.fa-info-circle').next().children().text().trim(),this.tags=$.makeArray($('#tag-display').children().children()).map(function(a){return a.innerText}).filter(function(a){return!!a}),this.api='video',this.apiBase=this.api+'/'+this.id)}return _createClass(a,[{key:'tag',value:function tag(a,b){var c=this;a.length?API.request(!0,this.apiBase,'tag',{tags:a},function(a,d,e,f){a&&(c.tags=[],c.tags=f.tags.map(function(a){return a.name})),b(a,d,e,f)}):b(!1,API.responsify('no_tags_specified'),null,null)}},{key:'untag',value:function untag(a,b){var c=this;a=a.trim(),a?API.request(!0,this.apiBase,'untag',{tag:a},function(a,d,e,f){a&&(c.tags=[],c.tags=f.tags.map(function(a){return a.name})),b(a,d,e,f)}):b(!1,API.responsify('invalid_request'),null,null)}},{key:'delete',value:function _delete(a,b){a=a.trim(),a?API.request(!0,this.apiBase,'delete',{reason:a},b):b(!1,API.responsify('invalid_request'),null,null)}}]),a}();$(function(){video=new Video,video.id||(video=null)}),$(function(){$.ajaxSetup({headers:{"X-CSRF-TOKEN":$('meta[name="_token"]').attr('content')}})});function flash(a,b){var c=$('.flashcontainer > .flash-inner');'error'===a&&(a='danger'),c.append(''.replace(/:TYPE:/,a).replace(/:REPLACE:/,b)),alertrm(jQuery)}window.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(a){window.setTimeout(a,1e3/60)}}(),Array.prototype.average=function(){for(var a=0,b=0;b source:first-child').src.split('/');src_split=src_split[src_split.length-1],videoElem.setAttribute('poster','//w0bm.com/thumbs/'+src_split.replace('.webm','.gif'))}var player=videojs(videoElem,{controls:!0,autoplay:!0,playbackRates:[.25,.5,1,1.5,2],inactivityTimeout:850,controlBar:{children:{progressControl:{},playToggle:{},MuteToggle:{},volumeControl:{},currentTimeDisplay:{},timeDivider:{},durationDisplay:{},CustomControlSpacer:{},playbackRateMenuButton:{},fullscreenToggle:{}}}},function(){this.addClass('video-js'),this.volume(.3),this.muted(!1),'undefined'!=typeof localStorage&&(this.volume(Math.abs(localStorage.getItem('volume')||.3)),this.muted(0>1/(localStorage.getItem('volume')||.3)),this.on('volumechange',function(){localStorage.setItem('volume',this.volume()*(this.muted()?-1:1))}))});player.autoplay()&&!player.paused()&&player.hasClass('vjs-paused')&&(player.pause(),player.play()),$.browser.mobile&&(document.addEventListener('fullscreenerror',function(a){console.error('Fullscreen denied',JSON.stringify(a))}),window.screen.orientation.onchange=function(){this.type.startsWith('landscape')?player.requestFullscreen():player.exitFullscreen(),document.fullscreenElement||console.error('No fullscreen after request')}),localStorage.getItem('background')==void 0&&($.browser.mobile?localStorage.setItem('background','false'):localStorage.setItem('background','true'));var background='true'===localStorage.getItem('background'),canvas=document.getElementById('bg'),context=canvas.getContext('2d'),cw=canvas.width=0|canvas.clientWidth,ch=canvas.height=0|canvas.clientHeight;background||$(canvas).css('display','none'),videoElem.addEventListener('play',a),$('#togglebg').on('click',function(b){b.preventDefault(),background=!background,localStorage.setItem('background',background.toString()),background?$(canvas).css('display','block'):$(canvas).css('display','none'),a()}),$(document).on('keydown',function(a){a.defaultPrevented||a.target.nodeName.match(/\b(input|textarea)\b/i)||a.ctrlKey||a.altKey||a.shiftKey||(39==a.keyCode?b():37==a.keyCode?c():65==a.keyCode?c():68==a.keyCode?b():72==a.keyCode?c():76==a.keyCode?b():82==a.keyCode?$('#prev').next().get(0).click():70==a.keyCode?$('#fav').get(0).click():67==a.keyCode?$('.aside').fadeToggle(localStorage.comments='true'!=localStorage.comments):87==a.keyCode||38==a.keyCode?player.volume(player.volume()+.1):83==a.keyCode||40==a.keyCode?player.volume(player.volume()-.1):32==a.keyCode&&(player.paused()?player.play():player.pause()))}),$('.wrapper > div:not(.aside)').on('wheel',function(a){a.ctrlKey||a.altKey||a.shiftKey||(a.preventDefault(),0'+a+''}),a(c,/^sfw$/i,function(a){return''+a+''})})}function c(d){d.preventDefault();confirm('Do you really want to delete this tag?')&&video.untag(a(this).siblings().text(),function(d,e,f,g){if(d){flash('success','Tag successfully deleted');var l=[],m=!0,n=!1,o=void 0;try{for(var i,j,k=g.tags[Symbol.iterator]();!(m=(i=k.next()).done);m=!0)j=i.value,l.push(''+escapeHTML(j.name)+' ')}catch(a){n=!0,o=a}finally{try{!m&&k.return&&k.return()}finally{if(n)throw o}}h.empty(),h.append(l.join(' ')),a('.delete-tag').on('click',c),b()}else flash('error','Error deleting tag')})}var d=a('#commentForm > form'),f='';d.on('submit',function(b){b.preventDefault();var c=d.serialize();return c==f?(alert('nope. just don\'t. seriously... don\'t.'),!1):void(f=c,a.ajax({type:'POST',url:d.attr('action'),data:c}).done(function(b){a('.nocomments').remove();var c=a(b).appendTo('.commentwrapper').find('time.timeago');c.timeago(),c.tooltip(),c.closest('.panel-footer').siblings('.panel-body').find('.comment_clickable_timestamp').on('click',commentClickableTimestamp);var e=d.find('textarea').val('');e.blur()}).fail(function(){flash('error','Error saving comment')}))});var g=a('#tags'),e=a('#submittags'),h=a('#tag-display');b(),a('.delete-tag').on('click',c),a('#tags, #filter, #tags_upload').on('itemAdded',function(b){return setTimeout(function(){return a(b.currentTarget).siblings('.bootstrap-tagsinput').children('input').val('')},0)}),g.on('beforeItemAdd',function(a){var b=!0,c=!1,d=void 0;try{for(var e,f,g=video.tags[Symbol.iterator]();!(b=(e=g.next()).done);b=!0)if(f=e.value,f.toLowerCase()===a.item.toLowerCase())return a.cancel=!0,void flash('info','Tag already exists')}catch(a){c=!0,d=a}finally{try{!b&&g.return&&g.return()}finally{if(c)throw d}}}),e.on('click touchdown',function(d){d.preventDefault(),video.tag(g.tagsinput('items'),function(d,e,f,i){if(d){a('#tag-add-toggle').prop('checked',!1);var j=[],k=!0,l=!1,m=void 0;try{for(var n,o,p=i.tags[Symbol.iterator]();!(k=(n=p.next()).done);k=!0)o=n.value,j.push(''+escapeHTML(o.name)+''+(i.can_edit_video?' ':'')+'')}catch(a){l=!0,m=a}finally{try{!k&&p.return&&p.return()}finally{if(l)throw m}}h.empty(),h.append(j.join(' ')),g.tagsinput('removeAll'),a('.delete-tag').on('click',c),b()}else flash('error','Error saving tag(s)')})});var i=a('#filter'),j=a('#submitfilter');j.on('click touchdown',function(b){b.preventDefault(),a.ajax({type:'POST',url:j.attr('href'),data:i.serialize()}).done(function(){flash('success','Filter successfully updated'),a('#filterselectmodal').modal('hide')}).fail(function(){flash('error','Error updating filter')})})}(jQuery),function(a){function b(b,c){if(a('video').length){var d=[];c.interpret&&d.push(' Artist: '+c.interpret),c.songtitle&&d.push(' Songtitle: '+c.songtitle),c.imgsource&&d.push(' Video Source: '+c.imgsource),c.category.name&&d.push(' Category: '+c.category.name),a('span.fa-info-circle').attr('data-content',d.join('
'))}else{var e=b.parents('tr');e.find('span').show(),e.find('input, select').hide(),e.find('.vinterpret').html(c.interpret||''),e.find('.vsongtitle').html(c.songtitle||''),e.find('.vimgsource').html(c.imgsource||''),e.find('.vcategory').html(''+c.category.name+'')}}var c=a('.indexform, #webmedit');if(a('.indexedit').find('input, select').hide(),c.length){var d=a('tr');d.on('dblclick touchdown',function(){var b=a(this);b.find('input, select').show(),b.find('span').hide()})}c.on('submit',function(c){var d=a(this);c.preventDefault(),a.ajax({type:'POST',url:d.attr('action'),data:d.serialize()}).done(function(a){flash('success','Video successfully updated'),b(d,a),d.find('#webmeditmodal').modal('hide')}).fail(function(){flash('error','Error updating video'),d.find('#webmeditmodal').modal('hide')})})}(jQuery),function(a){var b=a('#fav');b.on('click touchdown',function(c){c.preventDefault(),a.ajax({type:'GET',url:b.attr('href')}).done(function(){var a=b.find('i');a.hasClass('fa-heart-o')?(a.removeClass('fa-heart-o'),a.addClass('fa-heart')):(a.removeClass('fa-heart'),a.addClass('fa-heart-o'))})})}(jQuery),function(a){a('#togglebg').on('click touchdown',function(b){b.preventDefault(),a.ajax({dataType:'json',url:a(this).attr('href'),data:{}}).done(function(){a('#bg').toggle()})})}(jQuery),function(a){a(':not(form)[data-confirm]').on('click touchdown',function(){return confirm(a(this).data('confirm'))})}(jQuery),function(a){a('.commentwrapper, .tags').mCustomScrollbar({axis:'y',theme:'minimal',scrollInertia:0})}(jQuery);var alertrm=function(a){a('.alert').each(function(b){a(this).delay(3e3+1e3*b).slideUp(300,function(){a(this).remove()})})};alertrm(jQuery),$('#categories').imagesLoaded(function(){$('#categories').isotope({itemSelector:'.category',percentPosition:!0,layoutMode:'masonry'})}),$(function(){$('[data-toggle="popover"]').popover({html:!0,trigger:'manual',container:$(this).attr('id'),placement:'top'}).on('mouseenter',function(){var a=this;$(this).popover('show'),$(this).siblings('.popover').on('mouseleave',function(){$(a).popover('hide')})}).on('mouseleave',function(){var a=this;setTimeout(function(){$('.popover:hover').length||$(a).popover('hide')},100)})}),function(){new Image().src='/images/catfart/cutf.png';var b=document.createElement('div'),c=new Audio;c.addEventListener('pause',function(){b.setAttribute('class','catfart')}),c.addEventListener('play',function(){b.setAttribute('class','catfart farting')}),b.addEventListener('mouseover',function(){c.paused&&(c.src='/images/catfart/pupsi'+(0|28*Math.random())+'.mp3',c.play())}),b.setAttribute('class','catfart'),document.body.appendChild(b)}(),function(){var a=document.getElementById('video');if(null!=a){var b=a.parentNode;b.style.marginBottom='3px';var c=document.createElement('div'),d=document.createElement('div');d.appendChild(c),b.appendChild(d),$(d).css({height:'3px',width:'100%',overflow:'hidden',willChange:'transform',position:'absolute',bottom:'0'}),$(c).css({height:'inherit',width:'inherit',position:'absolute',transform:'translateX(-100%)',backgroundColor:'rgba(31, 178, 176, 0.4)'});var e=function(){if(requestAnimationFrame(e),!a.paused){var b=100/a.duration*a.currentTime;c.style.transform='translateX('+(-100+b)+'%)'}};e()}}(),function(a){var b=localStorage.comments;b===void 0&&(localStorage.comments=!0),b=b===void 0||'true'===b,a('.aside').toggle(b),a('#toggle').click(function(){a('.aside').fadeToggle(localStorage.comments='true'!=localStorage.comments)})}(jQuery),$(function(){function a(a){return[a.clientX+$('div#thumb').width()>=$(window).width()-10?a.pageX-5-$('div#thumb').width():a.pageX+5,a.clientY+$('div#thumb').height()>=$(window).height()-10?a.pageY-5-$('div#thumb').height():a.pageY+5]}$('[data-thumb]').on('mouseenter',function(b){var c=$(this).data('thumb'),d=a(b);$(document.body).prepend('
'),$('div#thumb').prepend(''),$('img#thumb').text('Loading...'),$('div#thumb').css({position:'absolute',left:d[0],top:d[1],"z-index":'5',border:'1px white solid',"box-shadow":'5px 5px 7px 0px rgba(0,0,0,0.75)',color:'white',"background-color":'#181818'});var e=$('img#thumb'),f=$('');f.load(function(){e.attr('src',$(this).attr('src')),d=a(b),$('div#thumb').css({left:d[0],top:d[1]})}),f.attr('src','/thumbs/'+c+'.gif')}).on('mousemove',function(b){$('div#thumb').css({left:a(b)[0],top:a(b)[1]})}).on('mouseleave',function(){$('#thumb').remove()})});var paginate=function(a,b){var c,d=b.hash.type||'middle',e='',f=+a.pageCount,g=+a.page;b.hash.limit&&(c=+b.hash.limit);var h={};switch(d){case'middle':if('number'==typeof c){var j=0,k=Math.ceil(c/2)-1,l=c-k-1;g+l>f&&(k=c-(f-g)-1),1>g-k&&(k=g-1);for(var m=g-k;j li > a > span.badge');0=messagesBadge.text()&&messagesBadge.css('visibility','hidden')}),a('a').removeClass('active'),d.addClass('active'),a('time.timeago').timeago(),a('time[data-toggle="tooltip"]').tooltip()})})};g()}}(jQuery);function readAll(){$.ajax({url:'/api/messages/readall',success:function success(a){1==a?(flash('success','Marked all messages as read'),$('.list-group-item-info').removeClass('list-group-item-info'),messagesBadge.text('0'),messagesBadge.css('visibility','hidden')):flash('error','Failed to mark all messages as read')},error:function error(){flash('error','Failed to mark all messages as read')}})}$('ul.dropdown-menu').on('click touchdown',function(a){a.stopPropagation()});function deleteComment(a){var b=a.closest('div[data-id]'),c=b.data('id'),d=$(b.children('.panel-footer').children('a')[0]).text();do{var e=prompt('Reason for deleting comment '+c+' by '+d);if(null===e)return;e=e.trim()}while(!e);$.ajax({url:'/api/comments/'+c+'/delete',method:'POST',data:{reason:e},success:function success(a){'success'==a?(flash('success','Comment deleted'),b.removeClass('panel-default').addClass('panel-danger'),b.find('.panel-footer').children('a[onclick="deleteComment($(this))"]').replaceWith(''),b.find('.panel-footer > a[onclick="editComment($(this))"]').remove()):'invalid_request'==a?flash('error','Invalid request'):'not_logged_in'==a?flash('error','Not logged in'):'insufficient_permissions'==a?flash('error','Insufficient permissions'):flash('error','Error deleting comment')},error:function error(){flash('error','Error deleting comment')}})}function restoreComment(a){var b=a.closest('div[data-id]'),c=b.data('id'),d=$(b.children('.panel-footer').children('a')[0]).text();do{var e=prompt('Reason for restoring comment '+c+' by '+d);if(null===e)return;e=e.trim()}while(!e);$.ajax({url:'/api/comments/'+c+'/restore',method:'POST',data:{reason:e},success:function success(a){'success'==a?(flash('success','Comment restored'),b.removeClass('panel-danger').addClass('panel-default'),b.find('.panel-footer').children('a[onclick]').replaceWith(' ')):'invalid_request'==a?flash('error','Invalid request'):'not_logged_in'==a?flash('error','Not logged in'):'insufficient_permissions'==a?flash('error','Insufficient permissions'):'comment_not_deleted'==a?flash('error','Comment is not deleted'):flash('error','Error restoring comment')},error:function error(){flash('error','Error restoring comment')}})}function editComment(a){var b=a.closest('div[data-id]'),c=b.find('.panel-body'),d=b.data('id');$.ajax({url:'/api/comments/'+d,success:function success(e){if('null'==e.error){var f=$('