You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

326 lines
9.1 KiB

function set_filter_block_height () {
var add_links = false;
$('#filter_form_wraper').find('ul').each(function(i, ul) {
var $ul = $(this),
$block = $ul.parent('div');
add_links = false;
$ul.find('li').each(function(j, li) {
if ($(li).index() > 9) {
$(li).css('display', 'none');
add_links = true;
}
});
if (add_links){
var $show_more_link = $('<a></a>', {href: "#", text: 'показать еще 10', class: 'show_more_link'}),
$show_all_link = $('<a></a>', {href: '#', text: 'показать все', class: 'show_all_link'}),
$links_block = $('<div></div>', {class: 'links_block'});
$links_block
.append($show_more_link)
.append('<br />')
.append($show_all_link);
$block.append($links_block);
}
});
}
function build_sidebar() {
var results_count = $('cl-item ').length,
$aside_block = $('aside .mps-sect'),
$aside_news = $('aside .s-news-list'),
$aside_sbnr = $('aside .sbnr'),
$aside_vk = $('aside .vk-widget'),
$aside_subscribe = $('aside .subscribe-sm'),
$aside_hr = $('aside hr');
if (results_count <= 5){
$aside_block.addClass('none');
$aside_news.addClass('none');
$aside_sbnr.addClass('none');
$aside_vk.addClass('none');
$aside_subscribe.addClass('none');
$aside_hr.addClass('none');
} else {
$aside_block.removeClass('none');
$aside_news.removeClass('none');
$aside_sbnr.removeClass('none');
$aside_vk.removeClass('none');
$aside_subscribe.removeClass('none');
$aside_hr.removeClass('none');
}
}
function build_filters_period () {
// работа с ссылкой "уточнить дату в боковом фильтре"
var $period_link = $('#filter_period_trigger'),
$filters = $('#filter_form_wraper'),
$month_block = $filters.find('#id_month');
$period_link.insertAfter('#id_date_to').wrap($('<div></div>', {class: 'period_block'}));
if ($filters.find('input#id_date_from').val() || $filters.find('input#id_date_to').val()){
$month_block.hide();
}
$('#filterPeriod').on('click', '.modal-approve', function(event) {
event.preventDefault();
if ($('#filterPeriod input[name="from"]').val().length || $('#filterPeriod input[name="to"]').val().length) {
var new_from_val = $('#filterPeriod input[name="from"]').val(),
new_to_val = $('#filterPeriod input[name="to"]').val();
$filters.find('#id_date_from input').val(new_from_val);
$filters.find('#id_date_to input').val(new_to_val);
$.fancybox.close();
submit_search_form ();
}
});
}
function submit_search_form () {
var $form = $('.filter_form'),
params = $form.serialize(),
filters_url = $form.data('formurl'),
results_url = $form.data('resultsurl'),
$loader = $('#wait-ajax');
$loader.show();
$('.filters_overlay').show();
$('html, body').animate({scrollTop: $('.page-body').offset().top - 50}, 500);
$.getJSON(results_url, params, function(data) {
if (data.success) {
$('.page-body').html(data.results);
build_sidebar();
$loader.hide();
}
});
$.getJSON(filters_url, params, function (data) {
if (data.success){
$('#filter_form_wraper').html(data.form);
set_filter_block_height();
build_filters_period();
}
})
}
$(document).ready(function () {
set_filter_block_height();
$('#filter_form_wraper')
.on('click', '.show_more_link', function(e){
e.preventDefault();
var $block = $(this).parents('.filter_block'),
li_length = $block.find('li').length,
visible_length = $block.find('li:visible').length;
for (var i = 0; i < 10; i++){
if (visible_length + i != li_length) {
$block.find('li').eq(visible_length + i).fadeIn(200);
} else {
$(this).parent().hide();
}
}
})
.on('click', '.show_all_link', function(e){
e.preventDefault();
var $block = $(this).parents('.filter_block');
$block.find('li').fadeIn(200);
$block.find('.links_block').hide();
})
.on('click', '#get_filters', function(event) {
event.preventDefault();
var search_string = '',
$link = $(this);
$link.html('<img src="/static/img/white-ajax-loader.gif">');
$.each(window.sendData, function(i, val) {
var key = i;
if ( val.length ) {
if ( $.type(val) == 'array' ){
for(var j = 0; j < val.length; j++){
search_string += key + '=' + val[j] + '&';
}
}
if ( $.type(val) == 'string'){
search_string += key + '=' + val + '&';
}
}
});
$.ajax({
url: $link.attr('href'),
data: search_string
})
.done(function(data) {
if (data.success) {
$('#filter_form_wraper').html(data.form);
set_filter_block_height();
build_filters_period();
}
});
})
.on('click', '#filter_period_trigger', function (event) {
event.preventDefault();
// $('#pwPeriod').fadeIn();
$.fancybox.open('#filterPeriod')
});
$('#get_filters').trigger('click');
$('.page-body').on('click', '.ajax-paginator a:not(.disabled)', function(e) {
e.preventDefault();
var $link = $(this),
$loader = $('#wait-ajax');
$loader.show();
$('html, body').animate({scrollTop: $('.page-body').offset().top - 50}, 500);
$.ajax({
url: $link.attr('href')
})
.done(function(data) {
if (data.success) {
$('.page-body').html(data.results);
$loader.hide();
}
});
});
$('body').on('click', '#clearPeriod', function (event) {
event.preventDefault();
$('#filter_form_wraper #id_date_from input').val('');
$('#filter_form_wraper #id_date_to input').val('');
$.fancybox.close();
submit_search_form();
});
$('#filter_form_wraper').on('click', '.filter_block_label', function(event) {
event.preventDefault();
var $this = $(this),
target = '#' + $this.attr('for');
$(target).slideToggle(300);
$this.find('.fa').toggleClass('fa-caret-down fa-caret-up');
});
$('#filter_form_wraper').on('change', 'input[type="checkbox"]', function(event) {
event.preventDefault();
submit_search_form();
});
$('#filter_form_wraper').on('click', '.filter_form_clear_all', function(event) {
event.preventDefault();
window.location.reload();
});
$("div.ht-main_1").each(function () {
$(this).width($('div.serv-links').width());
});
$(window).resize(function () {
$("div.ht-main_1").each(function () {
$(this).width($('div.serv-links').width());
});
});
$("a.small_link").click(function(){
$("#large img").hide().attr({"src": $(this).attr("href"), "title": $("> img", this).attr("title")});
return false;
});
$("#large>img").load(function(){$("#large>img:hidden").fadeIn("slow")});
setTimeout(function () {
$('a.subscribe_link').click();
}, 3000);
$('.subscribe_success').click(function () {
$('div.subscribe_before').hide();
$('div.subscribe_after').show();
setTimeout(function () {
$('a.fancybox-close').click();
}, 2000);
return false;
});
var number_subjects_list = $("div.subjects_list ul li").length;
var number_subjects_list_x = number_subjects_list -5;
$('div.subjects_list ul li:gt(4)').hide();
$('div.subjects_list span i').text(number_subjects_list_x);
if (number_subjects_list > 5) {
$('div.subjects_list').addClass('more');
}
else {
}
$('div.subjects_list span').click(function () {
$(this).parents('div.subjects_list').removeClass('more');
$(this).parents('div.subjects_list').find('li').show();
return false;
});
$('.preview_toggle').on('click', function (e) {
e.preventDefault();
var $this = $(this);
if ($this.hasClass('full')){
$this
.removeClass('full')
.text($this.data('short'));
} else {
$this
.addClass('full')
.text($this.data('full'));
}
$('.new_article').toggleClass('hidden');
});
if ($('#message-not-found').length){
$.fancybox.open({
href: '#message-not-found'
})
}
});