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.
306 lines
8.5 KiB
306 lines
8.5 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;
|
|
});
|
|
|
|
|
|
|
|
});
|
|
|