$(document).ready(function() {
	$("#filter_hint").click(function() {
		showHideLayer('top_layer');
		showHideLayer('filter_layer');
		return false;
	});
	$("#top_layer").click(function() {
		showHideLayer('top_layer');
		showHideLayer('filter_layer');
	});
	$("#filter_close_icon").click(function() {
		showHideLayer('top_layer');
		showHideLayer('filter_layer');
	});
	$("#go_back").click(function() {
		showHideLayer('top_layer');
		showHideLayer('filter_layer');
		return false;
	});
	$("#filter_layer").find("div.filter_price").find("a").click(function() {
		$(this).siblings("a").removeClass("act");
		$(this).addClass("act");
		$("#filter_layer").find("div.filter_price").children("input:hidden").attr({value:$(this).attr("rel")});
		return false;
	});
});

var sendFormFlag = 0;//флаг для отслеживания можно ли отправлять форму
function checkForm(form_name) {//функция получает имя формы, в которой надо проверить поля на заполненность
	var form = document.forms[form_name];
	sendFormFlag = 0;
	for (var i = 0; i < form.elements.length; i++) {
		if (form.elements[i].type != "hidden") {//проверяем только нескрытые поля
			if (form.elements[i].value == "") {//находим все пустые поля
				if (form.elements[i].disabled) {//для полей, в которые нельзя вводить текст картинки-предупреждения остаются скрытыми
					imgDisplay("hidden",form.elements[i]);
				}
				else {imgDisplay("visible",form.elements[i],1);
				}
			}
			else {
				if (form.elements[i].name.search('EMAIL') != -1) {//если поле заполнено, но должно содержать e-mail, проверяем содержимое на соответствие правилам написания адреса e-mail
					var mail = form.elements[i].value;
					var mailRegex = /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i;
					if(!mail.match(mailRegex)){
						errorFlag = 1;
						imgDisplay("visible",form.elements[i],1);
					}
					 else {
						imgDisplay("hidden",form.elements[i]);
					};
				
				}
				else {imgDisplay("hidden",form.elements[i]);
				}
			}
		}
	}
	if (sendFormFlag == 0) {//если флаг остался равным нулю (все поля заполнены и e-mail соответствует правилам) отправляем форму
		form.submit();
	}
}
function imgDisplay (visibility_value,form_element,flag_value) {
	var visibilityValue = visibility_value;
	var formElement = form_element;
	var parag = formElement.parentNode;//находим в соответствии с DOM картинку-предупреждение незаполненности соотв. поля
	var paragChildren = parag.childNodes;
	for (var j = 0; j < paragChildren.length; j++) {
		if (paragChildren[j].tagName == "IMG") {
			paragChildren[j].style.visibility = visibilityValue;
			if(flag_value){//присваиваем флагу необходимое значение
				sendFormFlag = flag_value;
			}
		}
	}
}

function showHideLayer(layer_id) {
	var layer = document.getElementById(layer_id);
	if (layer.style.display == "none") {
		layer.style.display = "block";
		if (layer_id == "top_layer") {
			layer.style.height = getyScroll() + "px";
		}
		else {
			var layerHeight = $(layer).height();
			if (document.documentElement.clientHeight > layerHeight) {
				var lTop = (document.documentElement.clientHeight)/2 + $(window).scrollTop() - layerHeight/2 - 20 + "px";
			}
			else {
				var lTop = $(window).scrollTop() + 20 + "px";
			}
			$("#" + layer_id).animate({top:lTop}, 500, function() {
				$("#top_layer").height($(document).height() + 30);
				$("#top_layer iframe").height($(document).height() + 30);
			});
		}
	}
	else {layer.style.display = "none";
	}
}

function getyScroll() {
	var yScroll = 0;
	
	if (window.innerHeight && window.scrollMaxY) {
		yScroll = window.innerHeight + window.scrollMaxY;
		
		var deff = document.documentElement;
		var hff = (deff&&deff.clientHeight) || document.body.clientHeight || window.innerHeight || self.innerHeight;
	
		yScroll -= (window.innerHeight - hff);
	} 
	else if (document.body.scrollHeight > document.body.offsetHeight) { // all but Explorer Mac
		yScroll = document.body.scrollHeight;
	} 
	else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		yScroll = document.body.offsetHeight;
	}
	return yScroll;
}
