ips.templates.set('follow.frequency'," {{#hasNotifications}}  <i class='fa fa-bell'></i> {{/hasNotifications}} {{^hasNotifications}}  <i class='fa fa-bell-slash-o'></i> {{/hasNotifications}} {{text}}");;
;(function($,_,undefined){"use strict";ips.controller.register('core.front.system.manageFollowed',{initialize:function(){$(document).on('followingItem',_.bind(this.followingItemChange,this));this.setup();},setup:function(){this._followID=this.scope.attr('data-followID');},followingItemChange:function(e,data){if(data.feedID!=this._followID){return;}
if(!_.isUndefined(data.unfollow)){this.scope.find('[data-role="followDate"], [data-role="followFrequency"]').html('');this.scope.find('[data-role="followAnonymous"]').addClass('ipsHide');this.scope.find('[data-role="followButton"]').addClass('ipsButton_disabled');this.scope.addClass('ipsFaded');return;}
this.scope.find('[data-role="followAnonymous"]').toggleClass('ipsHide',!data.anonymous);if(data.notificationType){this.scope.find('[data-role="followFrequency"]').html(ips.templates.render('follow.frequency',{hasNotifications:(data.notificationType!=='none'),text:ips.getString('followFrequency_'+data.notificationType)}));}}});}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.controller.register('core.front.system.metaTagEditor',{_changed:false,initialize:function(){this.on('click','[data-action="addMeta"]',this.addMetaBlock);this.on('change','input, select',this.changed);this.on('submit','form',this.formSubmit);this.on(window,'beforeunload',this.beforeUnload);this.on('change','[data-role="metaTagChooser"]',this.toggleNameField);this.setup();},setup:function(){this.scope.css({zIndex:10000});},toggleNameField:function(e){if($(e.currentTarget).val()=='other'){$(e.currentTarget).closest('ul').find('[data-role="metaTagName"]').show();}
else{$(e.currentTarget).closest('ul').find('[data-role="metaTagName"]').hide();}},formSubmit:function(e){var form=$(e.currentTarget);if(form.attr('data-noAjax')){return;}
e.preventDefault();var self=this;form.find('.ipsButton').prop('disabled',true).addClass('ipsButton_disabled');ips.getAjax()(form.attr('action'),{data:form.serialize(),type:'post'}).done(function(){ips.ui.flashMsg.show(ips.getString('metaTagsSaved'));form.find('.ipsButton').prop('disabled',false).removeClass('ipsButton_disabled');self._changed=false;}).fail(function(){form.attr('data-noAjax','true');form.submit();});},beforeUnload:function(){if(this._changed){return ips.getString('metaTagsUnsaved');}},addMetaBlock:function(){var copy=this.scope.find('[data-role="metaTemplate"]').clone().removeAttr('data-role').hide();$('#elMetaTagEditor_tags').append(copy);ips.utils.anim.go('fadeIn',copy);$(document).trigger('contentChange',[copy]);},changed:function(e){this._changed=true;}});}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.controller.register('core.front.system.notificationSettings',{initialize:function(){this.on('click','[data-action="showNotificationSettings"]',this.showNotificationSettings);this.on('click','[data-action="closeNotificationSettings"]',this.closeNotificationSettings);this.on('change','[data-role="notificationSettingsWindow"]',this.saveNotificationSettings);this.on('change','#elBrowserNotifications',this.promptMe);this.on('change','#elNotificationSounds',this.enableDisableSounds);this.on(document,'permissionGranted.notifications',this.permissionChanged);this.on(document,'permissionDenied.notifications',this.permissionChanged);this.setup();},setup:function(){if(ips.utils.notification.supported){this._showNotificationChoice();}},permissionChanged:function(){this._showNotificationChoice();ips.ui.flashMsg.show(ips.getString('saved'));},promptMe:function(e){if($(e.target).is(':checked')){ips.utils.cookie.unset('noBrowserNotifications');if(!ips.utils.notification.hasPermission()){ips.utils.notification.requestPermission();}else{ips.ui.flashMsg.show(ips.getString('saved'));}}else{ips.utils.cookie.set('noBrowserNotifications',true,true);ips.ui.flashMsg.show(ips.getString('saved'));}},enableDisableSounds:function(e){var url=$(e.target).attr('data-callback')+'&enable='+($(e.target).is(':checked')?1:0);ips.getAjax()(url).done(function(response){ips.ui.flashMsg.show(ips.getString('saved'));}).fail(function(){window.location=url;});},_showNotificationChoice:function(){this.scope.find('[data-role="browserNotifyInfo"]').show();var type=ips.utils.notification.permissionLevel();switch(type){case'denied':$('#elBrowserNotifications').prop('checked',false).prop('disabled',true);this.scope.find('[data-role="browserNotifyDisabled"]').show();break;case'granted':$('#elBrowserNotifications').prop('checked',!ips.utils.cookie.get('noBrowserNotifications'));break;default:break;}},showNotificationSettings:function(e){e.preventDefault();var target=$(e.currentTarget);var expandedContainer=target.parent().find('[data-role="notificationSettingsWindow"]');$(this.scope).find('.ipsDataItem_selected').removeClass('ipsDataItem_selected');$(this.scope).find('[data-action="showNotificationSettings"]').show();$(this.scope).find('[data-role="notificationSettingsWindow"]').hide();target.parent().addClass('ipsDataItem_selected');target.find('.cNotificationSettings_expand').addClass('ipsLoading ipsLoading_tiny').find('i').addClass('ipsHide');ips.getAjax()(target.attr('href')).done(function(response){expandedContainer.html(response).show();target.hide();target.find('.cNotificationSettings_expand').removeClass('ipsLoading').find('i').removeClass('ipsHide');}).fail(function(){window.location=target.attr('href');})},closeNotificationSettings:function(e){e.preventDefault();$(this.scope).find('.ipsDataItem_selected').removeClass('ipsDataItem_selected');$(this.scope).find('[data-action="showNotificationSettings"]').show();$(this.scope).find('[data-role="notificationSettingsWindow"]').hide();},saveNotificationSettings:function(e){e.preventDefault();var target=$(e.target);var form=target.closest('form');var container=form.closest('[data-role="notificationSettingsWindow"]');var containerParent=container.closest('.ipsDataItem');var closeIcon=container.find('[data-action="closeNotificationSettings"]');closeIcon.addClass('ipsLoading ipsLoading_tiny').text('');ips.getAjax()(form.attr('action'),{data:form.serialize(),type:'post'}).done(function(response){closeIcon.removeClass('ipsLoading').html('&times;');containerParent.find('[data-action="showNotificationSettings"]').html(response);ips.ui.flashMsg.show(ips.getString('saved'));});}});}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.controller.register('core.front.system.register',{usernameField:null,timers:{'username':null,'email':null},ajax:{'username':ips.getAjax(),'email':ips.getAjax()},popup:null,passwordBlurred:true,dirty:false,initialize:function(){this.on('keyup','#elInput_username',this.changeUsername);this.on('keyup','#elInput_email_address',this.changeEmail);this.on('blur','#elInput_username',this.changeUsername);this.on('blur','#elInput_email_address',this.changeEmail);this.on('keyup','#elInput_password_confirm',this.confirmPassword);this.on('blur','#elInput_password_confirm',this.confirmPassword);this.on('click','a[data-ipsPbrCancel]',this.cancelPbr);this.setup();},setup:function(){this.usernameField=this.scope.find('#elInput_username');this.emailField=this.scope.find('#elInput_email_address');this.passwordField=this.scope.find('#elInput_password');this.confirmPasswordField=this.scope.find('#elInput_password_confirm');this.usernameField.after($('<span/>').attr('data-role','validationCheck'));this.emailField.after($('<span/>').attr('data-role','validationCheck'));this.confirmPasswordField.after($('<span/>').attr('data-role','validationCheck'));this.convertExistingErrors();},convertExistingErrors:function(){var fields=this.scope.find('#elInput_username, #elInput_email_address, #elInput_password, #elInput_password_confirm');var self=this;fields.each(function(){var elem=$(this);var wrapper=elem.closest('.ipsFieldRow');if(!wrapper.hasClass('ipsFieldRow_error')){return;}
var message=wrapper.find('.ipsType_warning').html();self._clearResult(elem);wrapper.find('[data-role="validationCheck"]').show().html(ips.templates.render('core.forms.validateFailText',{message:message}));elem.removeClass('ipsField_success').addClass('ipsField_error');});},cancelPbr:function(e){var url=$(e.target).closest('[data-ipsPbrCancel]').attr('href');e.preventDefault();e.stopPropagation();ips.ui.alert.show({type:'confirm',message:ips.getString('pbr_confirm_title'),subText:ips.getString('pbr_confirm_text'),icon:'warn',buttons:{ok:ips.getString('pbr_confirm_ok'),cancel:ips.getString('pbr_confirm_cancel')},callbacks:{ok:function(){window.location=url;},cancel:function(){return false;}}});},changeUsername:function(e){if(this.timers['username']){clearTimeout(this.timers['username']);}
if(this.usernameField.val().length>4||e.type!="keyup"){this.timers['username']=setTimeout(_.bind(this._doCheck,this,'username',this.usernameField),700);}else{this._clearResult(this.usernameField);}},changeEmail:function(e){if(this.timers['email']){clearTimeout(this.timers['email']);}
if((this.emailField.val().length>5&&ips.utils.validate.isEmail(this.emailField.val()))||e.type!="keyup"){this.timers['email']=setTimeout(_.bind(this._doCheck,this,'email',this.emailField),700);}else{this._clearResult(this.emailField);}},changePassword:function(e){if(this.timers['password']){clearTimeout(this.timers['password']);}
if(this.passwordField.val().length>2||e.type!="keyup"){this.timers['password']=setTimeout(_.bind(this._doPasswordCheck,this,this.passwordField),200);}else{this._clearResult(this.passwordField);}
this.confirmPassword();},confirmPassword:function(e){var resultElem=this.confirmPasswordField.next('[data-role="validationCheck"]');if(this.passwordField.val()&&this.passwordField.val()===this.confirmPasswordField.val()){resultElem.hide().html('');this.confirmPasswordField.removeClass('ipsField_error').addClass('ipsField_success');}else{this._clearResult(this.confirmPasswordField);}},_clearResult:function(field){field.removeClass('ipsField_error').removeClass('ipsField_success').next('[data-role="validationCheck"]').html('');field.closest('.ipsFieldRow').removeClass('ipsFieldRow_error').find('.ipsType_warning, .ipsFieldRow_content br:last').remove();},_doCheck:function(type,field){var value=field.val();var resultElem=field.next('[data-role="validationCheck"]');var self=this;if(this.ajax[type]&&this.ajax[type].abort){this.ajax[type].abort();}
field.addClass('ipsField_loading');this.ajax[type](ips.getSetting('baseURL')+'?app=core&module=system&controller=ajax&do='+type+'Exists',{dataType:'json',data:{input:encodeURIComponent(value)}}).done(function(response){if(response.result=='ok'){resultElem.hide().html('');field.removeClass('ipsField_error').addClass('ipsField_success');}else{resultElem.show().html(ips.templates.render('core.forms.validateFailText',{message:response.message}));field.removeClass('ipsField_success').addClass('ipsField_error');}}).fail(function(){}).always(function(){field.removeClass('ipsField_loading');});}});}(jQuery,_));;