1
0
Fork 0
mirror of https://github.com/Oreolek/ifhub.club.git synced 2024-06-01 07:38:11 +03:00
ifhub.club/templates/skin/developer/js/template.js

247 lines
6.1 KiB
JavaScript
Raw Normal View History

2012-01-28 17:52:44 +02:00
jQuery(document).ready(function($){
// Хук начала инициализации javascript-составляющих шаблона
ls.hook.run('ls_template_init_start',[],window);
2013-04-06 22:06:48 +03:00
2012-06-04 15:41:31 +03:00
$('html').removeClass('no-js');
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-04-06 22:06:48 +03:00
/**
* Popovers
*/
$(document).popover({ selector: '.js-popover-default' });
2012-01-28 17:52:44 +02:00
2013-04-06 22:06:48 +03:00
/**
* Modals
*/
$('.js-modal-default').modal();
2013-04-06 22:06:48 +03:00
/**
* Datepicker
*/
$('.date-picker').datepicker();
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();
2013-04-03 00:08:55 +03:00
/**
* Tooltips
*/
$('.js-tooltip').tooltip();
$('.js-title-talk').tooltip({
alignX: 'left',
alignY: 'center'
});
2013-04-03 00:08:55 +03:00
$('.js-tip-help').tooltip({
alignX: 'right',
2013-04-03 00:08:55 +03:00
alignY: 'center'
});
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
2013-04-06 22:06:48 +03:00
/**
* Scroll
*/
$(window)._scrollable();
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
*/
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-04-06 22:06:48 +03:00
// эмуляция placeholder'ов в IE
inputs.placeholder();
2012-04-22 21:14:29 +03:00
// Хук конца инициализации javascript-составляющих шаблона
ls.hook.run('ls_template_init_end',[],window);
});