;(function($,_,undefined){"use strict";ips.controller.register('videobox.front.favorite.grid',{initialize:function(){this.on('click','[data-action="delFav"]',this.delFav);},delFav:function(e){e.preventDefault();var self=this;var btn=$(e.currentTarget);this._ajax=ips.getAjax()(btn.attr('href')).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message,});}
else{btn.closest('.vbItem').remove();ips.ui.flashMsg.show(response.message);}});return false;},});ips.controller.register('videobox.front.favorite.list',{initialize:function(){this.on('click','[data-action="delFav"]',this.delFav);},delFav:function(e){e.preventDefault();var self=this;var btn=$(e.currentTarget);this._ajax=ips.getAjax()(btn.attr('href')).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message,});}
else{btn.closest('tr').remove();ips.ui.flashMsg.show(response.message);}});return false;},});}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.controller.register('videobox.front.video.post',{_creatingThumb:false,initialize:function(){if(ips.getSetting('thumb_from_mp4')==1){this.on('uploadComplete',this.getMp4Thumb);this.on('fileDeleted',this.getMp4Thumb);}},getMp4Thumb:function(e,data){if(data.uploader.indexOf("server_")>=0){var self=this;var mp4Thumb=this.scope.find('[name="mp4Thumb"]');var video=$('[data-ipsuploader-name="'+data.uploader+'"] video:last');video.prop('muted');video.attr('crossorigin','anonymous');if(video.length>0){var player=video[0];player.muted=true;player.playsInline=true;video.bind('play',function(){$('.vbPostBTN').text(ips.getString('vb_wait_for_thumb'));$('.vbPostBTN').addClass('ipsButton_disabled');$('.vbPostBTN').prop('disabled',true);self._creatingThumb=setInterval(function(){if(Math.round(player.currentTime)%1!=0){return;}
var canvas=document.createElement('canvas');canvas.width=player.videoWidth;canvas.height=player.videoHeight;canvas.crossOrigin='Anonymous';var context=canvas.getContext('2d');context.drawImage(player,0,0,canvas.width,canvas.height);var dataURL=canvas.toDataURL();mp4Thumb.val(dataURL);player.pause();$('.vbPostBTN').text(ips.getString('vb_wait_for_thumb_done'));$('.vbPostBTN').removeClass('ipsButton_disabled');$('.vbPostBTN').prop('disabled',false);},1000);});video.bind('pause',function(){clearInterval(self._creatingThumb);});video.on("loadeddata",function(){player.play();});}
else{mp4Thumb.val("");}}},});}(jQuery,_));;
ips.templates.set('videobox.uploader.videoItemWrapper'," 	<div class='videoboxPost_fileList ipsGrid ipsGrid_collapsePhone' data-ipsGrid data-ipsGrid-equalHeights='row'>		{{{content}}}	</div>");ips.templates.set('videobox.uploader.videoItem'," 	<div class='ipsGrid_span6 ipsMargin_top:half ipsUploader__row ipsUploader__row--image ipsAttach ipsContained {{#done}}ipsAttach_done{{/done}}' id='{{id}}' data-role='file' data-fileid='{{id}}' data-fullsizeurl='{{imagesrc}}' data-thumbnailurl='{{thumbnail}}' data-fileType='video' data-mimeType='{{mime}}'>		<ul class='ipsList_inline ipsImageAttach_controls'>			<li class='ipsPos_right' {{#newUpload}}style='display: none'{{/newUpload}} data-role='deleteFileWrapper'>				<input type='hidden' name='{{field_name}}_keep[{{id}}]' value='1'>				<a href='#' data-role='deleteFile' class='ipsButton ipsButton_verySmall ipsButton_light' data-ipsTooltip title='{{#lang}}attachRemove{{/lang}}'><i class='fa fa-trash-o'></i></a>			</li>		</ul>		<div class='ipsImageAttach_thumb ipsType_center' data-role='preview' data-grid-ratio='65' data-action='insertFile' {{#thumb}}style='background-image: url( \"{{thumbnail}}\" )'{{/thumb}}>			{{#status}}				<span class='ipsImageAttach_status ipsType_light' data-role='status'>{{{status}}}</span>				<span class='ipsAttachment_progress'><span data-role='progressbar'></span></span>			{{/status}}			{{#thumb}}				<video>					<source src='{{{thumb}}}' type='{{mime}}'>				</video>			{{/thumb}}			<div class='ipsUploader__rowPreview__generic ipsFlex ipsFlex-ai:center ipsFlex-jc:center' {{#thumb}}style='display: none'{{/thumb}}>				<i class='fa fa-{{extIcon}} ipsType_large'></i>			</div>		</div>		<h2 class='ipsType_reset ipsAttach_title ipsType_medium ipsTruncate ipsTruncate_line videoboxImageAttach_info' data-role='title'>{{title}}</h2>		<p class='ipsType_light videoboxImageAttach_info'>{{size}} {{#statusText}}&middot; <span data-role='status'>{{statusText}}</span>{{/statusText}}</p>	</div>");;
;(function($,_,undefined){"use strict";ips.controller.register('videobox.front.video.view',{_updatePartTimeout:0,_updatingPart:false,initialize:function(){this.on('mousedown','[data-action="managePart"]',this.managePartMousedown);this.on('mouseup mouseleave','[data-action="managePart"]',this.managePartMouseup);this.on('click','[data-action="managePart"]',this.managePartMouseclick);this.on('click','[data-action="toggleFav"]',this.toggleFav);this.on(window,'resize',this.resizeWindow);},toggleFav:function(e){e.preventDefault();var self=this;var btn=$(e.currentTarget);this._ajax=ips.getAjax()(btn.attr('href')).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message,});}
else{if(btn.hasClass("ipsButton_light")){btn.removeClass("ipsButton_light").addClass("ipsButton_intermediate");btn.attr('title',ips.getString('vb_delFav'));}
else{btn.removeClass("ipsButton_intermediate").addClass("ipsButton_light");btn.attr('title',ips.getString('vb_addFav'));}
ips.ui.flashMsg.show(response.message);}});return false;},resizeWindow:function(){var self=this;if($('#streamContent').length>0&&$('#streamChat').length>0&&ips.utils.responsive.currentIs('desktop')){if($('#streamChat').height()!=$('.ipsEmbeddedVideo').height()){$('.ipsEmbeddedVideo').css({'padding-bottom':'0px'}).height($('#streamChat').height()-25);}}},managePartMousedown:function(e){var self=this;this._updatePartTimeout=setTimeout(function(){self._updatingPart=true;clearTimeout(this._updatePartTimeout);var anchor=$(e.currentTarget)
var videoid=anchor.attr('data-videoid');var partid=anchor.attr('data-partid');var dialogRef=ips.ui.dialog.create({title:ips.getString('vb_managePart_js'),close:true,url:'?app=videobox&module=video&controller=view&do=manageNewPart&id='+videoid+'&part='+partid,forceReload:true,});dialogRef.show();self._updatingPart=false;return false;},1000);},managePartMouseup:function(e){clearTimeout(this._updatePartTimeout);},managePartMouseclick:function(e){if(this._updatingPart){e.preventDefault();}},});ips.controller.mixin('videoboxToggleFieldContent','core.front.core.reaction',true,function(){this.after('clickReaction',function(e){this.toggleFields(e);});this.after('unreact',function(e){this.toggleFields(e);});this.toggleFields=function(e){e.preventDefault();var videoID=$(e.currentTarget).closest('#vbViewVideoArea').attr('data-videoID');if(videoID>0){var self=this;var url=ips.getSetting('baseURL')+'?app=videobox&module=video&controller=view&do=toggleFields&id='+videoID;setTimeout(function(){ips.getAjax()(url,{type:'post',dataType:'json',}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message,});}
else{$('#extraFields').html(response.html);}});},1000);}}});}(jQuery,_));$(document).ready(function(){if($('.ipsDialog.ipsDialog_vbFullscreen #vbViewVideoArea').length>0){$(document).on('click touchend','[data-action="dialogClose"]',function(e){$('body').removeClass('VBLightBoxOpen');$(this).closest('.ipsDialog').find('#videobox_player').remove();});$('body').addClass('VBLightBoxOpen');var height=window.innerHeight?window.innerHeight:$(window).height();$('.ipsDialog.ipsDialog_vbFullscreen #vbViewVideoArea').css('height',height-60);}});;
;(function($,_,undefined){"use strict";ips.controller.register('videobox.youtubeFeed',{initialize:function(){this.on('click','[data-action="play"]',this.play);},play:function(e){var videoID=$(e.currentTarget).attr('data-id');this.scope.find('.selectedVideo').removeClass('selectedVideo');$(e.currentTarget).addClass('selectedVideo');this.scope.find(".videoPreview iframe").remove();$('<iframe width="560" height="315" frameborder="0" allowfullscreen></iframe>').attr("src","http://www.youtube.com/embed/"+videoID+"?rel=0&autoplay=1").appendTo(".videoPreview");return false;},});}(jQuery,_));;