2012-01-28 17:52:44 +02:00
|
|
|
|
jQuery(document).ready(function($){
|
|
|
|
|
// Хук начала инициализации javascript-составляющих шаблона
|
|
|
|
|
ls.hook.run('ls_template_init_start',[],window);
|
2013-01-25 22:14:41 +02:00
|
|
|
|
|
2013-04-06 22:06:48 +03:00
|
|
|
|
|
2012-06-04 15:41:31 +03:00
|
|
|
|
$('html').removeClass('no-js');
|
2013-01-25 22:14:41 +02:00
|
|
|
|
|
2012-06-30 12:22:39 +03:00
|
|
|
|
// Определение браузера
|
|
|
|
|
if ($.browser.opera) {
|
|
|
|
|
$('body').addClass('opera opera' + parseInt($.browser.version));
|
|
|
|
|
}
|
|
|
|
|
if ($.browser.mozilla) {
|
|
|
|
|
$('body').addClass('mozilla mozilla' + parseInt($.browser.version));
|
|
|
|
|
}
|
|
|
|
|
if ($.browser.webkit) {
|
|
|
|
|
$('body').addClass('webkit webkit' + parseInt($.browser.version));
|
|
|
|
|
}
|
|
|
|
|
if ($.browser.msie) {
|
|
|
|
|
$('body').addClass('ie');
|
|
|
|
|
if (parseInt($.browser.version) > 8) {
|
|
|
|
|
$('body').addClass('ie' + parseInt($.browser.version));
|
|
|
|
|
}
|
|
|
|
|
}
|
2013-01-16 13:03:30 +02:00
|
|
|
|
|
2013-04-06 22:06:48 +03:00
|
|
|
|
/**
|
|
|
|
|
* Popovers
|
|
|
|
|
*/
|
|
|
|
|
$(document).popover({ selector: '.js-popover-default' });
|
2012-01-28 17:52:44 +02:00
|
|
|
|
|
2013-01-25 22:14:41 +02:00
|
|
|
|
|
2013-04-06 22:06:48 +03:00
|
|
|
|
/**
|
|
|
|
|
* Modals
|
|
|
|
|
*/
|
|
|
|
|
$('.js-modal-default').modal();
|
2012-03-27 18:30:14 +03:00
|
|
|
|
|
2013-01-25 22:14:41 +02:00
|
|
|
|
|
2013-04-06 22:06:48 +03:00
|
|
|
|
/**
|
|
|
|
|
* Datepicker
|
|
|
|
|
*/
|
|
|
|
|
$('.date-picker').datepicker();
|
2012-04-03 14:54:11 +03:00
|
|
|
|
|
2013-01-25 22:14:41 +02:00
|
|
|
|
|
2013-04-03 00:08:55 +03:00
|
|
|
|
/**
|
2013-04-06 22:06:48 +03:00
|
|
|
|
* Dropdowns
|
2013-04-03 00:08:55 +03:00
|
|
|
|
*/
|
2013-04-06 22:06:48 +03:00
|
|
|
|
$('.js-dropdown-default').dropdown();
|
2012-08-06 12:58:44 +03:00
|
|
|
|
|
2012-04-10 19:41:31 +03:00
|
|
|
|
|
2013-04-03 00:08:55 +03:00
|
|
|
|
/**
|
|
|
|
|
* Tooltips
|
|
|
|
|
*/
|
|
|
|
|
$('.js-tooltip').tooltip();
|
|
|
|
|
|
|
|
|
|
$('.js-title-talk').tooltip({
|
|
|
|
|
alignX: 'left',
|
|
|
|
|
alignY: 'center'
|
2012-04-10 19:41:31 +03:00
|
|
|
|
});
|
2013-01-25 22:14:41 +02:00
|
|
|
|
|
2013-04-03 00:08:55 +03:00
|
|
|
|
$('.js-tip-help').tooltip({
|
2012-04-12 05:13:31 +03:00
|
|
|
|
alignX: 'right',
|
2013-04-03 00:08:55 +03:00
|
|
|
|
alignY: 'center'
|
2012-04-12 05:13:31 +03:00
|
|
|
|
});
|
2012-04-03 14:54:11 +03:00
|
|
|
|
|
2013-04-03 00:08:55 +03:00
|
|
|
|
if (ls.registry.get('block_stream_show_tip')) {
|
2013-04-06 22:06:48 +03:00
|
|
|
|
$(document).tooltip({
|
|
|
|
|
selector: '.js-title-comment, .js-title-topic',
|
2013-04-03 00:08:55 +03:00
|
|
|
|
alignX: 'left',
|
2013-04-06 22:06:48 +03:00
|
|
|
|
alignY: 'center',
|
|
|
|
|
delay: 1500
|
2013-04-03 00:08:55 +03:00
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2013-04-06 22:06:48 +03:00
|
|
|
|
/**
|
|
|
|
|
* Autocomplete
|
|
|
|
|
*/
|
|
|
|
|
ls.autocomplete.add($(".autocomplete-tags-sep"), aRouter['ajax']+'autocompleter/tag/', true);
|
|
|
|
|
ls.autocomplete.add($(".autocomplete-tags"), aRouter['ajax']+'autocompleter/tag/', false);
|
|
|
|
|
ls.autocomplete.add($(".autocomplete-users-sep"), aRouter['ajax']+'autocompleter/user/', true);
|
|
|
|
|
ls.autocomplete.add($(".autocomplete-users"), aRouter['ajax']+'autocompleter/user/', false);
|
2013-04-03 00:08:55 +03:00
|
|
|
|
|
2012-08-06 12:58:44 +03:00
|
|
|
|
|
2013-04-06 22:06:48 +03:00
|
|
|
|
/**
|
|
|
|
|
* Scroll
|
|
|
|
|
*/
|
|
|
|
|
$(window)._scrollable();
|
2013-01-25 22:14:41 +02:00
|
|
|
|
|
|
|
|
|
|
2013-04-06 22:06:48 +03:00
|
|
|
|
/**
|
|
|
|
|
* Toolbar
|
|
|
|
|
*/
|
|
|
|
|
ls.toolbar.topic.init(); // Тул-бар топиков
|
|
|
|
|
ls.toolbar.up.init(); // Кнопка "UP"
|
|
|
|
|
|
2012-01-28 17:52:44 +02:00
|
|
|
|
|
2013-04-06 22:06:48 +03:00
|
|
|
|
/**
|
|
|
|
|
* Code highlight
|
|
|
|
|
*/
|
|
|
|
|
prettyPrint();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Blocks
|
|
|
|
|
*/
|
2012-04-22 21:00:59 +03:00
|
|
|
|
ls.blocks.init('stream',{group_items: true, group_min: 3});
|
|
|
|
|
ls.blocks.init('blogs');
|
|
|
|
|
ls.blocks.initSwitch('tags');
|
|
|
|
|
ls.blocks.initSwitch('upload-img');
|
|
|
|
|
ls.blocks.initSwitch('favourite-topic-tags');
|
|
|
|
|
ls.blocks.initSwitch('popup-login');
|
2012-01-28 18:28:33 +02:00
|
|
|
|
|
2013-04-06 22:06:48 +03:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Misc
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
// Фикс бага с z-index у встроенных видео
|
|
|
|
|
$("iframe").each(function(){
|
|
|
|
|
var ifr_source = $(this).attr('src');
|
|
|
|
|
|
|
|
|
|
if(ifr_source) {
|
|
|
|
|
var wmode = "wmode=opaque";
|
|
|
|
|
|
|
|
|
|
if (ifr_source.indexOf('?') != -1)
|
|
|
|
|
$(this).attr('src',ifr_source+'&'+wmode);
|
|
|
|
|
else
|
|
|
|
|
$(this).attr('src',ifr_source+'?'+wmode);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Auth modal
|
|
|
|
|
*/
|
|
|
|
|
$('.js-registration-form-show').click(function(){
|
|
|
|
|
if ($('[data-option-target=tab-pane-registration]').length) {
|
|
|
|
|
$('#modal-login').modal('option', 'onShow', function () { $('[data-option-target=tab-pane-registration]').tab('activate') });
|
|
|
|
|
$('#modal-login').modal('show');
|
|
|
|
|
} else {
|
|
|
|
|
window.location=aRouter.registration;
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$('.js-login-form-show').click(function(){
|
|
|
|
|
if ($('[data-option-target=tab-pane-login]').length) {
|
|
|
|
|
$('#modal-login').modal('option', 'onShow', function () { $('[data-option-target=tab-pane-login]').tab('activate') });
|
|
|
|
|
$('#modal-login').modal('show');
|
|
|
|
|
} else {
|
|
|
|
|
window.location=aRouter.login;
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Поиск по тегам
|
|
|
|
|
$('.js-tag-search-form').submit(function(){
|
|
|
|
|
var val=$(this).find('.js-tag-search').val();
|
|
|
|
|
if (val) {
|
|
|
|
|
window.location = aRouter['tag']+encodeURIComponent(val)+'/';
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-04-22 21:14:29 +03:00
|
|
|
|
// комментарии
|
|
|
|
|
ls.comments.options.folding = false;
|
2012-01-28 17:52:44 +02:00
|
|
|
|
ls.comments.init();
|
|
|
|
|
|
2012-04-22 21:14:29 +03:00
|
|
|
|
// избранное
|
|
|
|
|
ls.hook.add('ls_favourite_toggle_after',function(idTarget,objFavourite,type,params,result){
|
|
|
|
|
$('#fav_count_'+type+'_'+idTarget).text((result.iCount>0) ? result.iCount : '');
|
|
|
|
|
});
|
2012-01-28 17:52:44 +02:00
|
|
|
|
|
2012-04-22 21:14:29 +03:00
|
|
|
|
/****************
|
|
|
|
|
* TALK
|
|
|
|
|
*/
|
2012-01-28 17:52:44 +02:00
|
|
|
|
|
|
|
|
|
// Добавляем или удаляем друга из списка получателей
|
|
|
|
|
$('#friends input:checkbox').change(function(){
|
|
|
|
|
ls.talk.toggleRecipient($('#'+$(this).attr('id')+'_label').text(), $(this).attr('checked'));
|
|
|
|
|
});
|
2012-04-22 21:14:29 +03:00
|
|
|
|
|
2012-01-28 17:52:44 +02:00
|
|
|
|
// Добавляем всех друзей в список получателей
|
|
|
|
|
$('#friend_check_all').click(function(){
|
|
|
|
|
$('#friends input:checkbox').each(function(index, item){
|
|
|
|
|
ls.talk.toggleRecipient($('#'+$(item).attr('id')+'_label').text(), true);
|
|
|
|
|
$(item).attr('checked', true);
|
|
|
|
|
});
|
|
|
|
|
return false;
|
|
|
|
|
});
|
2012-04-22 21:14:29 +03:00
|
|
|
|
|
2012-01-28 17:52:44 +02:00
|
|
|
|
// Удаляем всех друзей из списка получателей
|
|
|
|
|
$('#friend_uncheck_all').click(function(){
|
|
|
|
|
$('#friends input:checkbox').each(function(index, item){
|
|
|
|
|
ls.talk.toggleRecipient($('#'+$(item).attr('id')+'_label').text(), false);
|
|
|
|
|
$(item).attr('checked', false);
|
|
|
|
|
});
|
|
|
|
|
return false;
|
|
|
|
|
});
|
2012-04-22 21:14:29 +03:00
|
|
|
|
|
2012-01-28 17:52:44 +02:00
|
|
|
|
// Удаляем пользователя из черного списка
|
|
|
|
|
$("#black_list_block").delegate("a.delete", "click", function(){
|
|
|
|
|
ls.talk.removeFromBlackList(this);
|
|
|
|
|
return false;
|
|
|
|
|
});
|
2012-04-22 21:14:29 +03:00
|
|
|
|
|
2012-01-28 17:52:44 +02:00
|
|
|
|
// Удаляем пользователя из переписки
|
|
|
|
|
$("#speaker_list_block").delegate("a.delete", "click", function(){
|
|
|
|
|
ls.talk.removeFromTalk(this, $('#talk_id').val());
|
|
|
|
|
return false;
|
|
|
|
|
});
|
|
|
|
|
|
2012-06-04 15:41:31 +03:00
|
|
|
|
|
|
|
|
|
// Help-tags link
|
|
|
|
|
$('.js-tags-help-link').click(function(){
|
|
|
|
|
var target=ls.registry.get('tags-help-target-id');
|
|
|
|
|
if (!target || !$('#'+target).length) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
target=$('#'+target);
|
|
|
|
|
if ($(this).data('insert')) {
|
|
|
|
|
var s=$(this).data('insert');
|
|
|
|
|
} else {
|
|
|
|
|
var s=$(this).text();
|
|
|
|
|
}
|
|
|
|
|
$.markItUp({target: target, replaceWith: s});
|
|
|
|
|
return false;
|
|
|
|
|
});
|
2013-04-06 22:06:48 +03:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* IE
|
|
|
|
|
* TODO: Check browser
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
// эмуляция border-sizing в IE
|
|
|
|
|
var inputs = $('input.input-text, textarea');
|
|
|
|
|
ls.ie.bordersizing(inputs);
|
2013-01-25 22:14:41 +02:00
|
|
|
|
|
2013-04-06 22:06:48 +03:00
|
|
|
|
// эмуляция placeholder'ов в IE
|
|
|
|
|
inputs.placeholder();
|
2013-01-25 22:14:41 +02:00
|
|
|
|
|
2012-04-22 21:14:29 +03:00
|
|
|
|
// Хук конца инициализации javascript-составляющих шаблона
|
|
|
|
|
ls.hook.run('ls_template_init_end',[],window);
|
|
|
|
|
});
|