
// Константы
HIDE_HEADER_SUBMENU_DELAY = 1500; // Задержка перед исчезновением субменю в шапке (в миллисекундах)
SEARCH_DEFAULT_TEXT_NAME = 'Поиск по названию'; // Текст "по-умолчанию" в строке поиска по названию


// Функция определяет - произошло ли событие e вне блока block
function utils_isEventOut(block, e) {
	var block = $(block).get(0);
	var html = $('HTML').get(0);
	var parent = $(e.target).get(0);
	var result = parent==block; 
	flag = true;
	while (!result && flag) {
		if (!(parent==html)) {
			parent = $(parent).parent().get(0);
		} else flag = false;
		if ((parent==block) || (parent==undefined)) result = true;
	}
	return !result;
}


// Главное меню в шапке
$(document).ready(function(){
	
	headerSubMenu = null;
	
	function headerHideSubMenu(){
		$('.b-header .menu .sub').hide();
		$('.b-header .menu A').removeClass('hover');
	}
	
	$('.b-header .menu A').hover(
		function() {
			if ( $(this).parent().hasClass('i') ) headerHideSubMenu();
			if ( $(this).next().hasClass('sub') ) {
				clearTimeout(headerSubMenu);
				$(this).next().show();
				$(this).addClass('hover');
			}
		},
		function() {
			if ( $(this).next().hasClass('sub') ) {
				headerSubMenu = setTimeout(headerHideSubMenu, HIDE_HEADER_SUBMENU_DELAY)
			}
		}
	);
		
	$('.b-header .menu .sub').hover(
		function() {
			clearTimeout(headerSubMenu);
		},
		function() {
			headerSubMenu = setTimeout(headerHideSubMenu, HIDE_HEADER_SUBMENU_DELAY)
		}
	);
	
	$(document).mouseup(function(e){
		if ($('.b-header .menu .sub:visible').length)
			if (utils_isEventOut($('.b-header .menu .sub:visible').parent(), e))
				headerHideSubMenu();
	});
	
});


// Блок поиска
$(document).ready(function(){
	
	$('.b-search .query INPUT').focus(function(){
		if ( $(this).val()==SEARCH_DEFAULT_TEXT_NAME )
			$(this).val('');
	});	
	$('.b-search .query INPUT').blur(function(){
		if ( $(this).val()=='' )
			$(this).val(SEARCH_DEFAULT_TEXT_NAME);
	});
		
	// Стилизованный селект - Показать/скрыть
	$('.b-search .model .select').click(function(){
		
		var list = $(this).next();
		
		if (list.css('display')=='none') {
			$(this).next().show();
		} else {
			$(this).next().hide();
		}
		
		return false;
	});
	
	// Стилизованный селект - cкрыть при клике вне блока
	$(document).mouseup(function(e){
		var list = $('.b-search .model .list')
		if (list.css('display')!='none')
			if (utils_isEventOut(list, e))
				if (list.prev().get(0)!=$(e.target).get(0))
					list.prev().click();
	});
	
	// Стилизованный селект - Инициализация
	$('.b-search .model OPTION:not(:first)').each(function(){
		$('.b-search .model .list').append('<li><a href="#" data-value="'+$(this).val()+'">'+$(this).html()+'</a></li>');
	});
	var f = $('.b-search .model OPTION:first');
	$('.b-search .model .select').html($('.b-search .model OPTION:selected').html()).show();
	$('.b-search .model SELECT').hide();
	
	// Стилизованный селект - Выбор элемента
	$('.b-search .model .list A').click(function(){
		$('.b-search .model OPTION').removeAttr('selected');
		$('.b-search .model OPTION[value="'+$(this).attr('data-value')+'"]').attr('selected', 'selected');
		$(this).parent().parent().prev().html($(this).html()).click();
		return false;
	});
	
});


// Скроллер товаров
$(document).ready(function(){
	
	$('.b-scroller UL').jcarousel({ scroll: 1 });
	
	// Подсветка стрелочек при наведении
	$('.b-scroller .jcarousel-prev-horizontal').hover(
		function(){ $(this).addClass('jcarousel-prev-horizontal-hover'); },
		function(){ $(this).removeClass('jcarousel-prev-horizontal-hover'); }
	);
	$('.b-scroller .jcarousel-next-horizontal').hover(
		function(){ $(this).addClass('jcarousel-next-horizontal-hover'); },
		function(){ $(this).removeClass('jcarousel-next-horizontal-hover'); }
	);
	
	// Задаем класс последнему элементу списка
	$('.b-scroller LI:last').addClass('last');
	
});
