///////////////////////////////////
/////// БЛОК ВЫЗОВА ФУНКЦИЙ ///////
///////////////////////////////////
// DOM готов
$("document").ready(function(){
// Аякс лента новостей
GetAjaxNewsLine();
// Выпадающее меню
DropMainNav();
// Анимация поиска
ShowSearch();
// Проверка поля писка
ChekSearchInput();
// FancyBox для картинок
$(".fancybox-zoom").fancybox({
padding : 0,
tpl : {
closeBtn : '',
next : '',
prev : ''
},
})
// Кнопка "Наверх"
onTop(".to-top", 500, 200, 500);
})
// Полная загрузка страницы
$(window).load(function(){
// Динамическая высота центрального блока
ChekNewsLine();
// Тоже самое только при ресайзе окна
$(window).resize(function(){
ChekNewsLine();
});
});
///////////////////////////////////
// ФУНКЦИИ БЕЗ КОТОРЫХ ВОТ НИКАК //
///////////////////////////////////
// Аякс подгрузка ленты новостей в центре экрана
function GetAjaxNewsLine() {
$('.ajax-news').click(function(e) {
e.preventDefault();
if (!$(this).hasClass("selected")) {
var current_title = $(this).text();
var id = $(this).attr('id');
var main_container = $("#ajax-news-line");
var title_container = $("#ajax-news-line .section-title p");
main_container.fadeToggle(200);
$('.ajax-news').removeClass('selected');
$(this).addClass('selected');
if (parseInt(id)!= NaN) {
section_id = [parseInt(id)];
iblock_id = [48,51];
all = 'N';
}
if (id.indexOf("all-news2") == 0) {
section_id = [662];
iblock_id = [48,51];
all = 'Y';
}
$.post("/bitrix/templates/ugnovosti-new/front-page-ajax-news-line.php", {'SECTION_ID[]': section_id, 'IBLOCK_ID[]': iblock_id, 'ALL': all}, function (data) {
banner = $('.banner-discount').html();
$('#ajax-news-line .ajax-wrapper').empty();
$('#ajax-news-line .ajax-wrapper').append(data);
$('.banner-discount').html(banner);
title_container.text(current_title);
main_container.fadeToggle(400);
});
}
});
}
// Выпадающее меню - основного меню
function DropMainNav() {
$(".has-sub-menu").hover(function(){
var sublevel = $(this).find("ul");
sublevel.css('left',0);
$(this).toggleClass("open");
var sublevel_width = sublevel.outerWidth();
var container_left = $(this).position().left;
var container_width = $(this).outerWidth();
var wrapper_width = $(this).parents("div").outerWidth();
if (sublevel_width < container_width) {
sublevel_width = container_width;
}
if (wrapper_width < (sublevel_width+container_left))
{
container_left = (container_left+container_width)-sublevel_width;
}
sublevel.css({
'z-index' : -1,
'top' : 10
});
sublevel.css({
'z-index' : 5,
'top' : 90,
'width' : sublevel_width,
'left' : container_left
});
sublevel.stop(true,false).animate({
top: 69,
opacity : 1
},150)
},function(){
var sublevel = $(this).find("ul");
sublevel.stop(true,false).animate({
top: 90,
opacity : 0
},250,function(){
$(this).css('z-index',-5);
});
$(this).toggleClass("open");
});
}
// При очень маленькой ширине экрана, скрываем текстовые элементы справа
// в зависимости от длинны блока слева.
// Т.е. если блок слева короче родителя из-за того что блок справа его растягивает,
// скрываем последний видимый элемент текстового блока справа.
function ChekNewsLine() {
var container = $(".news-parts");
if (container.length) {
var step = 60;
var container_height = container.outerHeight();
var left_column = container.find(".column-left");
var left_column_height = container.find(".colum-left").outerHeight();
var center_column = container.find(".column-center");
var center_column_height = container.find(".column-center").outerHeight();
for (var i = center_column.find(".ajax-wrapper .item").length - 1; i >= 0; i--) {
container_height = container.outerHeight();
left_column_height = container.find(".colum-left").outerHeight();
if (container_height > left_column_height) {
center_column.find(".ajax-wrapper .item").not(".hidden").last().slideUp(300).addClass("hidden");
}
};
if ($(window).width() > 600) {
center_column.find(".item.hidden").slideDown(300).removeClass("hidden");
}
}
}
// Анимационное отображение формы поиска при клике на "поиск"
function ShowSearch() {
$(".c_search_nav a").click(function(){
if (!$(this).hasClass("in-action")) {
var link = $(this);
link.toggleClass("in-action");
if (!link.hasClass("open")) {
$(".c_filter_nav ul").stop(true,false).fadeToggle(250).closest(".c_filter_nav").find(".hidden_search").stop(true,false).delay(500).fadeToggle(100,function(){
link.toggleClass("in-action");
});
} else {
$(".hidden_search").stop(true,false).fadeToggle(250).closest(".c_filter_nav").find("ul").stop(true,false).delay(500).fadeToggle(100,function(){
link.toggleClass("in-action");
});
}
link.toggleClass("open");
}
return false;
})
}
// Проверки поля поиска перед отправкой формы
function ChekSearchInput() {
$(".hidden_search button, .mini_search_form button, .common-s-form button").click(function(){
var button = $(this);
if (button.closest("form").find("input").val()) {
button.closest("form").submit();
} else {
button.closest("form").find("input").focus();
return false;
}
})
}
// Кнопка "Наверх"
function onTop(btnClassName, aniSpeed, showInHeight, fadeSpeed) {
jQuery(btnClassName).click(function() {
jQuery("html, body").animate({
scrollTop: 0
}, aniSpeed);
})
jQuery(window).scroll(function() {
if (jQuery(window).scrollTop() > showInHeight) {
jQuery(btnClassName).stop(true, false).fadeIn(fadeSpeed);
} else {
jQuery(btnClassName).stop(true, false).fadeOut(fadeSpeed);
}
})
}