');image_zoomer.appendTo(document.body).click(function(){$(this).addClass('hide');});image_zoomer_img=$('
');image_zoomer_img.appendTo(image_zoomer);}
image_zoomer_img.css('background-image','url('+$(this).attr('src')+')');image_zoomer.removeClass('hide');});}}
var nav_js_tab_active='modal-nav__item--active'
$('.modal-nav--js').each(function(){var target_class=$(this).data('target'),target=$(target_class);$(this).children().click(function(){$(this).siblings().removeClass(nav_js_tab_active).end().addClass(nav_js_tab_active);target.addClass('hide');$(target_class+'--'+$(this).index()).removeClass('hide');})})
if(!REQUEST_USER){$('#poll_form').submit(function(e){e.preventDefault();return loginRedirect();})
$('.action-like, .action-favorite').click(function(e){e.preventDefault();return loginRedirect();})}else{$('.action-like, .action-favorite').click(function(e){e.preventDefault();$.ajax({context:this,url:$(this).data('href'),success:function(data){var c=$(this).children('.caption').first();var l=parseInt(c.text())||0;if(parseInt(data)==0){c.text(l-1||'0');$(this).removeClass('active');}else{c.text(l+1)
$(this).addClass('active');}},error:function(){alert('Что-то пошло не так! Пожалуйста, попробуйте повторить позже.')}});});$('#poll_form').submit(function(e){e.preventDefault();var self=$(this)
$.ajax({url:$(this).attr('action'),type:$(this).attr('method'),data:$(this).serialize(),error:function(){alert('Что-то пошло не так. Попробуйте проголосовать позже.')},success:function(data){self.parent().html(data);}})})
autosize($('#conversation_form #id_content'));$('.poll-edit__toggle').click(function(){$('.poll-edit__form').toggleClass('poll-edit__form--hide');});$('#id_poll-delete').change(function(){var items=$('[id*="id_poll-"]').not(this);if(this.checked){items.attr('disabled','disabled');}else{items.removeAttr('disabled');}})}});(function(humane,_){humane.baseCls='humane';humane.timeout=1500;humane.timeoutAfterMove=2000;humane.waitForMove=true;humane.clickToClose=true;var message_levels={info:{fa:'info-circle'},error:{fa:'times-circle'},success:{fa:'check-circle'},processing:{fa:'cog fa-spin',timeout:0},}
_.each(message_levels,function(conf,level){humane[level]=function(html,options,cb){var opt=_.extend(_.clone(conf),options);var message='
'+html,defaults={addnCls:'humane-'+level};return this.log(message,opt,cb,defaults)}});})(humane,_);$(function(){var current_suggestion=-1,search_form=$('.nav__search__form'),search_input=$('.nav__search__input'),search_hidden=$('.nav__search__hidden'),search_timout=null,suggests=$('.nav__search__suggests'),suggests_icons={0:'briefcase',1:'user',2:'bars',3:'tag'};function chooseSuggest(direction){var c=suggests.children(),length=c.length;if(!length)return;current_suggestion+=direction;c.removeClass('active');if(current_suggestion==-1||current_suggestion==length){resetHidden();return;}
else if(current_suggestion<-1){current_suggestion=length-1;}
else if(current_suggestion>length){current_suggestion=0}
var current=c.eq(current_suggestion).addClass('active');search_input.val(current.text());replaceInputText(current);}
function replaceInputText(that){search_input.val(that.text());}
function resetChoice(){current_suggestion=-1;suggests.children().removeClass('active');}
function setChoiceToHidden(){var val=search_input.val().trim();search_hidden.val(val);return val;}
function resetHidden(){search_input.val(search_hidden.val());}
function commitRedirect(that){replaceInputText(that);window.location.replace(that.attr('href'));}
suggests.mouseleave(function(){resetChoice();});search_input.keydown(function(event){if(event.defaultPrevented){return;}
switch(event.which||event.keyCode){case 40:chooseSuggest(1);break;case 38:chooseSuggest(-1);break;case 27:$(this).blur();resetHidden();break;case 13:event.preventDefault();var a=suggests.find('.active');if(a.attr('href')){return commitRedirect(a);}
else{return search_form.submit();}
default:resetChoice();return;}
event.preventDefault();}).keyup(function(event){clearTimeout(search_timout);search_timout=null;var code=event.which||event.keyCode;if($.inArray(code,[40,38,27,13])!==-1){return;}
var origin=search_input.val().trim(),hidden=search_hidden.val().trim();if(!origin){suggests.addClass('hide');return;}else if(origin===hidden){suggests.removeClass('hide');}else if(origin.length<3){return;}
search_timout=setTimeout(function(){search_timout=null;var val=setChoiceToHidden();$.ajax({url:search_form.data('suggests'),data:{'q':val},success:function(data){suggests.html('');if(!data['items']||!data['items'].length){suggests.addClass('hide');return}
var _i=-1,_length=data['items'].length
while(++_i<_length){var klass=data['items'][_i][0],title=data['items'][_i][3][0],link=data['items'][_i][3][1],icon=suggests_icons[klass];if(icon){title='
'+title;}
suggests.append($('
'+
title+''));}
suggests.removeClass('hide');}});},400);});search_form.submit(function(e){clearTimeout(search_timout);search_timout=null;var val=setChoiceToHidden();if(!val){e.preventDefault();}})
window.suggestMouseDown=function(that){commitRedirect($(that));}
window.suggestHover=function(that){current_suggestion=$(that).siblings().removeClass('active').end().addClass('active').index();};})
$(function(){'use strict';var REQUEST_USER=window.REQUEST_USER;if(!REQUEST_USER){$('.comment__replay').click(function(e){e.preventDefault();return window.loginRedirect();});return;}
var oldSync=Backbone.sync;Backbone.sync=function(method,model,options){options.beforeSend=function(xhr){xhr.setRequestHeader('X-CSRFToken',comment_form.csrf_token);};return oldSync(method,model,options);};var comment_tree=$('.comment-tree'),comment_count=$('.comment__count'),comment_class={commenting:'comment--commenting',updating:'comment--updating',deleted:'comment--deleted',sub:'comment--sub',_new:'comment--new'};var Storage=function(name){this.name=name;var store=localStorage.getItem(this.name);this.data=(store&&JSON.parse(store))||{};};_.extend(Storage.prototype,{save:function(){localStorage.setItem(this.name,JSON.stringify(this.data));return this;},setItem:function(key,value){this.data[key]=value;this.save();return this;},getItem:function(key){return this.data[key];},delItem:function(key){delete this.data[key];return this.save();}});function CommentForm(el){this.el=$(el);this.form=this.el.find('form');this.form_url=this.form.attr('action');this.textarea=this.el.find('textarea');this.parent_field=this.el.find('input[name="parent_id"]');this.csrf_token=this.el.find('input[name="csrfmiddlewaretoken"]').val();this.image_field=this.el.find('input[name="image"]');this.image_field_label=this.image_field.prev().text();this.nullKey=this.el.find('input[name="obj_type"]').val()+this.el.find('input[name="obj_id"]').val();this.storage=new Storage('comments');this.image_field.val('');this.parent_field.val('');this.textarea.val(this.storage.getItem(this.nullKey));autosize(this.textarea);this.image_field.change(function(){var path=this.value||comment_form.image_field_label;$(this).prev().text(path.replace(/^.*\\/,''));});this.resetPosition=function(view){$('.'+comment_class.commenting).removeClass(comment_class.commenting);this.storage.setItem(this.parent_field.val()||this.nullKey,this.textarea.val());var id=view?view.model.id:this.nullKey,content=this.storage.getItem(id);if(!content&&view&&REQUEST_USER.display_name!==view.model.get('user')){content=view.model.get('user')+', ';}
this.textarea.val(content);this.parent_field.val(id!==this.nullKey?id:'');this.image_field.val('');this.image_field.trigger('change');if(view){this.el.insertAfter(view.$el).addClass(comment_class.sub);view.$el.addClass(comment_class.commenting);}else{this.el.removeClass(comment_class.sub);comment_tree.prepend(this.el);}
autosize.update(this.textarea);return this;};}
var comment_form=new CommentForm('.comment--blank');comment_form.resetPosition();var Item=Backbone.Model.extend({defaults:{editable:false},url:function(){var original_url=Backbone.Model.prototype.url.call(this);var parsed_url=original_url+(original_url.charAt(original_url.length-1)=='/'?'':'/');return parsed_url;}});var ItemList=Backbone.Collection.extend({model:Item,url:comment_form.form_url});var ItemView=Backbone.View.extend({events:{'click .comment__replay':'replay','click .comment__update':'update','click .comment__cancel':'cancel','click .comment__delete':'remove','click .comment__save':'save','keypress .comment__textarea':'saveOnCmdEnter'},saveOnCmdEnter:function(e){if(cmdEnterPressed(e)){this.save();}
return this;},replay:function(){comment_form.resetPosition(this).textarea.focus();},update:function(){if(!this.hasOwnProperty('content')){this.content=this.$('.comment__content');this.time=this.$('.comment__time');this.textarea=$('');this.textarea.insertAfter(this.content);autosize(this.textarea);this.model.set({content:this.content.html()});}
this.$el.addClass(comment_class.updating);var content=this.model.get('content');content=content.replace(/<\/?br>/gi,'\n').replace(/\n{2,}/gi,'\n').replace(/ /gi,' ');content=_.unescape(content);content=$.trim(content);this.textarea.val(content);autosize.update(this.textarea);this.textarea.focus();},cancel:function(){if(this.$el.hasClass(comment_class.updating)){this.content.html(this.model.get('content'));this.$el.removeClass(comment_class.updating);}else if(this.$el.hasClass(comment_class.commenting)){comment_form.resetPosition();}},save:function(){var content=$.trim(this.textarea.val());if(!content){this.textarea.focus();return humane.error('Мы не можешь сохранить пустой комментарий');}
this.model.set({content:content});if(this.model.hasChanged('content')){var obj=this;this.model.save({content:content},{wait:true,patch:true,dataType:'html',success:function(model,response){obj.time.text('отредактировано.');humane.success('Комментарий изменен.');obj.model.set({content:response},{silent:true});obj.cancel();obj.content.html(response);},error:function(model,response){humane.error('Что-то пошло не так, изменения не сохранены');}});}
return this;},remove:function(){if(!confirm('Вы точно хотите удалить комментарий?')){return this;}
var obj=this.$el;this.model.destroy({wait:true,dataType:'text',success:function(model,response){humane.success('Комментарий удален.');obj.addClass(comment_class.deleted).html('Комментарий удален');},error:function(model,response){humane.error('Не удалось удалить комментарий');}});return this;},modifyTimeout:function(){this.$('.comment__update, .comment__delete').remove();this.cancel();}});var ItemListView=Backbone.View.extend({el:comment_tree,events:{'submit .comment__form':'createItem','keypress .comment__form__textarea':'submitOnCmdEnter'},initialize:function(){this.collection=new ItemList();_.each(this.$el.children().not('.comment--blank'),function(el){this.parseItem(el);},this);this.collection.on('add remove',this.updateCounter,this);},submitOnCmdEnter:function(e){if(cmdEnterPressed(e)){this.createItem(e);}
return this;},updateCounter:function(){comment_count.text(this.collection.length);},parseItem:function(el){var id=parseInt(el.id.match(/\d+$/),10),$el=$(el),user=$el.find('.comment__header__item--username').text(),datetime=$el.find('.comment__header__item--time time').attr('datetime'),time=new Date(datetime);var item=new Item({id:id,user:user,time:time});var view=new ItemView({model:item,el:el});this.collection.add(item);var diff=(time.getTime()+10*60000)-new Date();if(!REQUEST_USER.is_staff&&diff>=0){setTimeout(function(obj){if(obj.$el.hasClass(comment_class.updating)){humane.error('Время редактирования истекло');}
obj.modifyTimeout();},diff,view);}
return view;},createItem:function(e){e.preventDefault();var content=$.trim(comment_form.textarea.val());if(!content){return comment_form.textarea.val().focus();}
var parent_id=comment_form.parent_field.val();if(parent_id){var user=this.collection.get(parent_id).get('user')+', ';if($.trim(user)===content){humane.info('Пожалуйста, напишите комментарий');return comment_form.textarea.val(user).focus();}}
comment_tree.addClass('comment-tree--blocked');humane.processing('Сохраняем комментарий');var data,processData,contentType;if(window.agentIE&&window.agentIE<10){data=$(this).serialize();processData=true;contentType='application/x-www-form-urlencoded; charset=UTF-8';}else{data=new FormData(comment_form.form[0]);processData=false;contentType=false;}
var self=this;$.ajax({url:comment_form.form_url,type:'POST',data:data,dataType:'html',processData:processData,contentType:contentType,success:function(data){humane.remove();var el=$(data);el.addClass(comment_class._new);self.parseItem(el[0]).$el.insertAfter(comment_form.el);comment_form.storage.delItem(parent_id||comment_form.nullKey);comment_form.textarea.val('');comment_form.resetPosition();humane.success('Комментарий добавлен');},error:function(){humane.remove();humane.error('Что-то пошло не так. Пожалуйста, попробуйте повторить позже');},complete:function(){comment_tree.removeClass('comment-tree--blocked');}});}});var listView=new ItemListView();var cmdEnterPressed=function(e){return!!(e.keyCode==10||e.keyCode==13)&&(e.ctrlKey||e.metaKey);};$(window).bind('beforeunload',function(){comment_form.resetPosition();});});