// namespace
var proj = proj || {};

/**
 * Действия при готовности DOM
 */
$(function(){
	
	if ($.fn.fancybox) {
		$('a.imgpreview').fancybox({
			overlayShow:true
		});
	}
	
	// выравнивает высоту заголовков в списке объектов.
	$('ul.objects>li:even>h3').each(function(){
		if ($(this).height() < $(this).parent().next().find('h3').height() ) {
			$(this).css('height', $(this).parent().next().find('h3').height() + 'px' )
		} else {
			$(this).parent().next().find('h3').css('height', $(this).height() + 'px' );
		}
	});
	
	// выравнивает высоту элементов в списке объектов.
	$('ul.objects>li:even').each(function(){
		$(this).css('clear', 'left');
		if ($(this).height() < $(this).next().height() ) {
			$(this).css('height', $(this).next().height() + 'px' )
		} else {
			$(this).next().css('height', $(this).height() + 'px' );
		}
	});
	
	// подпись в поле поиска
	$('#header form input[name=search_string]').val('поиск').css({
		color:'#BFBFBF'
	}).click(function(){
		if ($(this).val() == 'поиск') {
			$(this).val('').css({
				color:'#000'
			});
		}
	}).blur(function(){
		if ($(this).val() == '') {
			$(this).val('поиск').css({
				color:'#aaa'
			});
		}
	});
	
	$('#content .column.primary table tbody tr:even').addClass('even');
	
	$('.print').click(function(){
		$('link[media="screen"]').get(0).disabled = true;
		$('link[media="print"]').clone().appendTo($('head'));
		$('link[media="print"]:eq(0)').attr('media', 'screen');
		
		var $backtoscreen = $('<p id="screen"><a href="#">Вернуться к обычной версии</a> (эта строчка не будет видна при печати)</p>');
		$('#header').append($backtoscreen);
		$backtoscreen.click(function(){
			$('link[media="screen"]:eq(0)').get(0).disabled = false;
			$('link[media="screen"]:eq(1)').remove();
			$(this).remove();
			return false;
		});
		return false;
	});
	
	$('#content .column.primary ul.insmi li h3 a').click(function(){
		$(this).parents('li:eq(0)').find('.content').slideToggle('fast');
		return false;
	});
	
	$('#content .column.primary ul.insmi li p.hide a').click(function(){
		$(this).parents('.content:eq(0)').slideUp('fast');
		return false;
	});
	
	$('#content .column.primary ul.products li ul').hide();
	$('#content .column.primary ul.products li.catFolder>span>a').click(function(){
		$(this).parents('li:eq(0)').find('ul').slideToggle('fast');
		return false;
	});
	
	/* Всплывающая форма отправки заявки
	------------------------------------------------------------------------------------------------------------------- */
	var feedbackHolder;
	// действия при клике на последнюю ссылку в навигации
	$('a.inpopup').click(function(){
		// ссылка на блок
		feedbackHolder = $('div.feedback');

			// уничтожаем блок с уже отправленной формой
			if (feedbackHolder.length != 0) feedbackHolder.remove();
			// загружаем код формы
			$.get($(this).attr('href'), function(data){
				// создаем и выводим оболочку
				$('<div class="feedback"><a class="close" href="#">Закрыть</a><span class="note">Поля, отмеченные знаком &laquo;<span class="required">*</span>&raquo;, являются обязательными для заполнения.</span>' + data + '</div>').prependTo($('body'));
				// ссылка на созданный блок
				feedbackHolder = $('div.feedback');
				feedbackHolder.css('top', $(document).scrollTop() + 100 + 'px');
				
				// скрытие блока
				$('.feedback a.close').click(function(){
					feedbackHolder.hide();
					return false;
				});

				// правила валидации
				$(".feedback form").validate({
					rules: {
						node_content_name: "required",
						node_content_email: {
							required: true,
							email: true
						},
						node_content_fio: "required",
						node_content_message: "required",
						node_content_check: "required"
					},
					messages: {
						node_content_name: {
							required: 'Это поле нужно заполнить'
						},
						node_content_email: {
							required: 'Это поле нужно заполнить',
							email: 'Некорректный формат адреса электронной почты'
						},
						node_content_fio: {
							required: 'Это поле нужно заполнить'
						},
						node_content_message: {
							required: 'Это поле нужно заполнить'
						},
						node_content_check: {
							required: 'Подтвердите что вы человек'
						}
					},
					submitHandler: function(form) {
						// аяксовая отправка формы
						$(form).ajaxSubmit({
							beforeSubmit: function(){
								// отключаем кнопку, чтобы не отправляли несколько раз
								$('.feedback .control-SubmitControl-wrapper input').attr('disabled', 'disabled');
								// показываем сообщение, что идет отправка
								$('.feedback .control-SubmitControl-wrapper').append('<span class="wait">Отправляем сообщение, подождите несколько секунд..</span>');
							},
							success: function(response){
								// [шлак] при ошибке размер сообщения = 135||112, проверяем это значения
								if (response.length == 135 || response.length == 112) {
									// добавляем сообщение об ошибке, если ранее его не существовало
									if ($('.feedback form .captchablock .error').length == 0) {
										$('.feedback form .captchablock').append('<span class="error">Неправильный код. Попробуйте еще раз.</span>');									
									};
									// возвращаем возможность тыкать в кнопку
									$('.feedback .control-SubmitControl-wrapper input').removeAttr('disabled');
									// убираем сообщение о том что форма отправляется
									$('.feedback .control-SubmitControl-wrapper span').remove();
								} 
								else {
									// убираем заголовок и форму
									$('.feedback form, .feedback h2, .feedback .note').remove()
									// сообщаем что все гут
									$('.feedback').append('<h2>Информация успешно сохранена. Спасибо!</h2>');
								};
							}
						});
						
					}
				});
			});
		return false;
	});
	/* ---------------------------------------------------------------------------------------------------------------- */
});

proj.adjustNav = function() {
	// прячет список подразделов неактивных разделов
	
	$('.nav>li').each(function(){
		if (location.pathname.replace(/^\//, '') != $(this).find('>a').attr('href') ) {
			$(this).find('ul').hide();
		}
	});
	
	$('.nav>li').each(function(){
		if (location.pathname.replace(/^\//, '').replace(/\/[\d]*$/, '') == $(this).find('>a').attr('href') ) {
			$(this).find('ul').show();
		}
	});
	
	$('.nav>li>ul>li').each(function(){
		if ($(this).find('>a').attr('href') == location.pathname.replace(/^\//, '') || $(this).find('>a').attr('href') == location.href || $(this).find('>a').attr('href') == location.pathname.replace(/^\//, '').replace(/\/[\d]*$/,'') ) {
			$(this).parent().show();
		}
	});
	
	$('.nav>li>ul>li>ul>li').each(function(){
		if ($(this).find('>a').attr('href') == location.pathname.replace(/^\//, '') || $(this).find('>a').attr('href') == location.href || $(this).find('>a').attr('href') == location.pathname.replace(/^\//, '').replace(/\/[\d]*$/,'') ) {
			$(this).parent().parent().parent().show();
		}
	});
	
	// раскрывает 2 верхних раздела на главной
	if (location.pathname == '/') {
		$('ul.nav li.expanded_on_main>ul').show();
		proj.expHeight = 0;
		$('ul.nav li.expanded_on_main>ul').each(function(){
			if ($(this).height() > proj.expHeight) {
				proj.expHeight = $(this).height();
			}
		});
		$('ul.nav li.expanded_on_main>ul').css({
			height: proj.expHeight + 'px'
		});
		delete proj.expHeight;
	}
};

