//Lib
//
function copyrightString() {
	var workingYear = "2003";
	var currentDay = new Date();
	var currentYear = new String(currentDay.getFullYear(currentDay));
	if (workingYear != currentYear) {
		var string = new String(" " + workingYear + "  &mdash; " + currentYear);
	}
	else {
		var string = new String(" " + workingYear);
	}
	$("#copyright_string").append("" + string + "");
}
//Lib

$(document).ready(function() {
	copyrightString();
	$("#index_bunner").height($("#index :first-child").height());
	
	$("ul.bitrix_navigation li a").click(function() {
		$("#content_space").children("table").removeClass("act");
		$("#" + $(this).attr("rel")).addClass("act");
		$(this).parents("ul").children("li").removeClass("act");
		$(this).parent().addClass("act");
		return false;
	});
	// 
//	$("#calendar div.padding ul.years li a").click(function() {
//		var yearId = $(this).text();
//		$(this).parents("div.padding").children("ul.months").each(function() {
//			$(this).css({display:"none"});
//		});
//		$(this).parents("div.padding").children("#" + yearId).css({display:"block"});
//		$(this).parents("ul.years").children("li").each(function() {
//			$(this).removeClass("act");
//		});
//		$(this).parent().addClass("act");
//		return false;
//	});
	// 
//	$("#work_picture").css({width:$("#work_picture").parents("td.picture").children("img").attr("width") + "px", height:$("#work_picture").parents("td.picture").children("img").attr("height") + "px"});
/*
	var work_picture_over = 0;
	var work_picture_out = 0;
	$("div.work_picture").hover(function() {
		if (work_picture_out == 0) {
			work_picture_over = 1;
			var workPicture = $(this).children("img.picture");
			$(this).children("img.picture").css({display:"block"});
			$(this).children("img.spacer").css({display:"none"});
			var workImage = new Image();
			workImage.src = workPicture.attr("src");
			workImageWidth = workImage.width;
			workImageHeight = workImage.height;
			$(workPicture).animate({width:workImageWidth, height:workImageHeight}, "slow");
			$(this).animate({left:"-" + ((workImageWidth-$(workPicture).attr("width"))/2), top:"-" + ((workImageHeight-$(workPicture).attr("height"))/2)}, "slow");
		}
	}, function() {
		if (work_picture_over == 1) {
			work_picture_over = 0;
			work_picture_out = 1;
			var workPicture = $(this).children("img.picture");
			var workImage = new Image();
			workImage.src = $(this).parents("div.work_item").children("img").attr("src");
			workImageWidth = workImage.width;
			workImageHeight = workImage.height;
			
			$(this).animate({left:"0", top:"0"}, "slow");
			$(workPicture).animate({width:workImageWidth, height:workImageHeight}, "slow").animate({opacity:"hide"}, "fast");
			setTimeout(function() {$("#content_space").find("td.picture").children(".act").find("img.spacer").css({display:"block"}); work_picture_out = 0;}, 1200);
		}
	});
*/
	$("#work_list div.item a").hover(function(e) {
		$(this).parent().find("div.image").css({left:(e.pageX - $(this).parent().offset().left - 20)});
		$(this).parent().children("div.relative").css({display:"block"});
	}, function () {
		$(this).parent().children("div.relative").css({display:"none"});
	});
	$("#work_list div.item span").hover(function(e) {
		$(this).parent().find("div.image").css({left:(e.pageX - $(this).parent().offset().left - 20)});
		$(this).parent().children("div.relative").css({display:"block"});
	}, function () {
		$(this).parent().children("div.relative").css({display:"none"});
	});
	$("#work_switch li.backward").hover(function() {
		$(this).addClass("hover");
	}, function() {
		$(this).removeClass("hover");
	});
	$("#work_switch li.forward").hover(function() {
		$(this).addClass("hover");
	}, function() {
		$(this).removeClass("hover");
	});
	$("#work_switch li.backward").click(function() {
		$("#work_switch li.forward").css({visibility:"visible"});
		var actWork = $("#work_picrures").children("div.act");
		var firstWork = $("div.work_item:first");
		var prevWork = $(actWork).prev();
		$(actWork).removeClass("act");
		$(prevWork).addClass("act");
		if($(firstWork).attr("class").search("act") != -1) {
			$(this).css({visibility:"hidden"});
		}
	});
	$("#work_switch li.forward").click(function() {
		$("#work_switch li.backward").css({visibility:"visible"});
		var actWork = $("#work_picrures").children("div.act");
		var lastWork = $("div.work_item:last");
		var nextWork = $(actWork).next();
		$(actWork).removeClass("act");
		$(nextWork).addClass("act");
		if($(lastWork).attr("class").search("act") != -1) {
			$(this).css({visibility:"hidden"});
		}
	});
	
	$("a.bitrix_version").click(function() {
		showHideLayer("top_layer");
		showHideLayer($(this).attr("rel"));
		return false;
	});
	$("div.bitrix_version_layer").find("div.close_icon").children().click(function() {
		showHideLayer("top_layer");
		showHideLayer($(this).parents("div.bitrix_version_layer").attr("id"));
	});
	$("#top_layer").click(function() {
		showHideLayer("top_layer");
		$("div.bitrix_version_layer:visible").each(function() {
			showHideLayer($(this).attr("id"));
		});
		if(document.getElementById("work_big_photo")) {
			showHideLayer("work_big_photo");
			$("#work_big_photo").empty();
		}
		if(document.getElementById("loader")) {
			$("#loader").css({display:"none"});
		}
	});
	$("#compare").find("td[class!='name']").hover(function() {
		var tr = this.parentNode;
		var counter = 0;
		var thisNumber = 0;
		for (var i = 0; i < tr.childNodes.length; i++) {
			if (tr.childNodes[i].tagName == "TD") {
				if (tr.childNodes[i] == this) {
					thisNumber = counter; 
				}
				counter++;
			}
		}
		$("#compare").find("tr").each(function() {
			$(this).children("td:eq(" + thisNumber + ")").addClass("hover");
		});
		$(this).addClass("hover");
	}, function() {
		$("#compare").find("td").removeClass("hover");
	});
	$("#compare").find("td[class!='name']").click(function() {
		$("#compare").find("td").removeClass("click");
		var tr = this.parentNode;
		var counter = 0;
		var thisNumber = 0;
		for (var i = 0; i < tr.childNodes.length; i++) {
			if (tr.childNodes[i].tagName == "TD") {
				if (tr.childNodes[i] == this) {
					thisNumber = counter; 
				}
				counter++;
			}
		}
		$("#compare").find("tr").each(function() {
			$(this).children("td.name").removeClass("not_checked");
			$(this).children("td:eq(" + thisNumber + ")").addClass("click");
			var src = new String($(this).children("td.click").children("img").attr("src"));
			if (src.search("spacer") != -1) {
				$(this).children("td.name").addClass("not_checked");
			}
		});
		$(this).addClass("click");
	});
	$("div.opening_text a.no_link").click(function() {
		$(this).parent().parent().children("div.open_text").removeClass("open_text");
		$(this).parent().parent().find("div.text").slideUp("fast");
		$(this).parent().addClass("open_text");
		$(this).next("div.text").slideDown("fast");
		return false;
	});
	$("#user_number").keyup(function() {
		calculateSum(this);
	});
	$("#user_number").blur(function() {
		if ($(this).attr("value") == "") {
			$(this).attr({value:"25"});
		}
	});
	$("#user_number").parents("form").find("a.cart_button").click(function() {
		$(this).parents("form").submit();
		return false;
	});
	$("table.order").find("td.delete").children("input").click(function() {
		if (confirm("Удалить продукт?")) {
			$(this).prev("input").attr({checked:"checked"});
			return true;
		}
		else {return false;
		}
	});
	$("#registration_form div.button a[href='#']").click(function() {
		checkForm("registration_form");
		return false;
	});
	$("#authorization_form div.button a[href='#']").click(function() {
		checkForm("authorization_form");
		return false;
	});
	$("#authorization_form").find("input.text").keypress(function(e) {
		if(e.which == 13){
			checkForm("authorization_form");
		}
	});
	$("#current_orders div.order_button div.button a").click(function() {
		$(this).parents("form").submit();
		return false;
	});
	$("#order_button a").click(function() {
		if($("#conditions input").attr("value") == "N") {
			$("#conditions").addClass("attention");
			return false;
		}
		else {
			$(this).parents("form").submit();
			return false;
		}
	});
	$("#delivery_form div.button a[href='#']").click(function() {
		$(this).parents("form").submit();
		return false;
	});
	$("#region_form div.button a[href='#']").click(function() {
		$(this).parents("form").submit();
		return false;
	});
	$("div.orders div.order div.head").bind("click", function() {
		$(this).parents("div.order").children("div.body").slideToggle("middle");
	});
	$("div.orders div.order div.head a").unbind("click").bind("click", function() {
		if ($(this).attr("href") == "#") {
			$(this).parents("div.order").children("div.body").slideToggle("middle");
			return false;
		}
	});
	$("div.tariffs div.tariff div.head div.name a").bind("click", function() {
		$(this).parents("div.tariff").children("div.body").slideToggle("middle");
		return false;
	});
	$("div.form_checkbox img").click(function() {
		activateCheckbox(this);
	});
	$("div.form_checkbox span").click(function() {
		activateCheckbox(this);
	});
	$("#conditions input").attr({value:"N"});
	$("table.order tbody tr td.number input").keyup(function() {
		checkNumberField(this);
	});
	$("div.delivery h2 a").click(function() {
		$(this).parents("div.delivery_block").find("div.delivery").each(function() {
			$(this).removeClass("chosen");
		});
		$(this).parents("div.delivery").addClass("chosen");
		$("#delivery_form").find(":radio").attr({checked:""});
		var delievryPlace = $(this).attr('rel');
		$("#delivery_form").find(":radio").each(function() {
			if ($(this).attr("value") == delievryPlace) {
				$(this).attr({checked:"checked"});
			}
		});
		return false;
	});
	$("#forget_form div.button a").click(function() {
		checkForgetForm();
		return false;
	});
	$("#get_password_form div.button a").click(function() {
		checkForm("get_password_form");
		return false;
	});
/*	$("a.work_image").click(function() {
		showHideLayer("top_layer");
		showWorkPhoto(this);
		return false;
	});*/
	$("#work_big_photo").click(function() {
		showHideLayer("top_layer");
		showHideLayer("work_big_photo");
	});
	$("#calendar div.padding ul.months li:not(.act) a").hover(function() {
		$(this).parent().removeClass("out");
	}, function() {
		$(this).animate({color:'#f15925'}, 700, function() {
			$(this).attr({style:""});
		});
		$(this).parent().animate({backgroundColor:'#ffffff'}, 700, function() {
			$(this).addClass("out").attr({style:""});
		});
	});
	$("#comment_form div.button").click(function() {
		checkForm("comment_form");
		return false;
	});
	$("#comment_form").find("input.text").keypress(function(e){
		if(e.which == 13){
			checkForm("comment_form");
		}
	});
	
	$("#hide_tr").find("th").click(function() {
		$("#hide_tr").parent().find("tbody").toggleClass("hide");
	});
	$("#years").change(function() {
		$(this).parent().children("ul.visible").removeClass("visible");
		$(this).parent().children("#" + this.value).addClass("visible");
	});
});

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;
}

function showHideLayer(layer_id) {
	var layer = document.getElementById(layer_id);
	if (layer.style.display == "none") {
		if (layer_id == "top_layer") {
			layer.style.height = $(document).height() + "px";
		}
		else {
			var layerHeight = layer.offsetHeight;
			if (document.documentElement.clientHeight > $(layer).height()) {
				layer.style.top = $(document).scrollTop() + (document.documentElement.clientHeight - $(layer).height())/2 + "px";
			}
			else {
				layer.style.top = $(document).scrollTop() + 20 + "px";
			}
		}
		layer.style.display = "block";
	}
	else {layer.style.display = "none";
	}
}

function calculateSum(input) {
	checkNumberField(input);
	
	if(input.value == "") {var users = "пользователей";}
	else {var number = new String(parseInt(input.value));
		if (/(10|11|12|13|14|15|16|17|18|19)$/.test(number)) {
			var users = 'пользователей';}
		else if (/.*1$/.test(number)) {
			var users = 'пользователь';}
		else if (/[2-4]$/.test(number)) {
			var users = 'пользователя';}
		else {var users = 'пользователей';}
	}
	
	var user_number = input.value - 25;
	if (user_number <= 0) {
		var discont = 0;
		user_number = 0;
	}
	else {
		if (user_number > 0 && user_number < 5) {
			var discont = 0;
			user_number = 5;
		}
		else {
			if (user_number < 25) {var discont = 0;}
			else {
				if (user_number < 50) {var discont = 10;}
				else {
					if (user_number < 100) {var discont = 15;}
					else {
						if (user_number < 500) {var discont = 25;}
						else {
							if (user_number < 1000) {var discont = 35;}
							else {
								if (user_number < 2000) {var discont = 45;}
								else {
									if (user_number < 5000) {var discont = 50;}
									else {var discont = 60;}
								}
							}
						}
					}
				}
			}
		}
	}
	var summ = user_number * (500*(100-discont)*0.01) + 34500;
	var summString = spacing(summ);
	$(input).parent().parent().parent().children("form").children("div.price").children("span.num").text("" + summString);
	$(input).parent().children("span").text(users);
}

function checkNumberField(input) {//проверяем чтобы в поле вводились только цифры
	var inputValue = input.value;
	if (inputValue != "") {
		var numberRegex = /([\d])$/i;
		if(!inputValue.match(numberRegex) || inputValue.length > 4){
			input.value = inputValue.slice(0,inputValue.length-1);
			checkNumberField(input);
		}
	}
}

function spacing(number) {//для проставления пробелов в денежных суммах
	var numberString = new String(number);
	var counter = Math.floor((numberString.length-1)/3);
	var subArray = new Array();
	for (var i = 0; i < counter; i++) {
		subArray[i] = numberString.substr(numberString.length-3*i-3, 3);
	}
	subArray[counter] = numberString.substr(0, numberString.length - 3*counter);
	subArray.reverse();
	var summString = new String(subArray.join(" "));
	return summString;
}

var sendFormFlag = 0;
var firstElement;
function checkForm(form_id) {
	var form = document.getElementById(form_id);
	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(form.elements[i]);
				}
				else {imgDisplay(form.elements[i],1);
				}
			}
			else {
				if (form.elements[i].name.toUpperCase().search('EMAIL') != -1) {
					var mail = form.elements[i].value;
					var mailRegex = /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i;
					if(!mail.match(mailRegex)){
						errorFlag = 1;
						imgDisplay(form.elements[i],1);
					}
					 else {
						imgDisplay(form.elements[i]);
					};
				
				}
				else {
					imgDisplay(form.elements[i]);
				}
			}
		}
	}
	if (sendFormFlag == 0) {
		form.submit();
	}
	else {
		$(window).scrollTop($(firstElement).offset().top - 50);
	}
}
function imgDisplay (form_element,flag_value) {
	var formElement = form_element;
	var fieldDiv = formElement.parentNode;
	var fieldDivChildren = fieldDiv.childNodes;
	for (var j = 0; j < fieldDivChildren.length; j++) {
		if (fieldDivChildren[j].tagName == "H5") {
			var fieldH = fieldDivChildren[j];
			var fieldHChildren = fieldH.childNodes;
			for (var a = 0; a < fieldHChildren.length; a++) {
				if (fieldHChildren[a].tagName == "SPAN") {
					if(flag_value){
						$(fieldDiv).addClass("attention");
						if (sendFormFlag == 0) {
							firstElement = $(fieldDiv);
						}
						sendFormFlag = flag_value;
					}
					else {$(fieldDiv).removeClass("attention");
					}
				}
			}
		}
	}
}

function activateCheckbox(element) {
	var img = $(element).parent().children("img");
	var attr2 = new String($(img).attr("src"));
	if (attr2.search('_act') != -1) {
		$(img).attr({src:"/images/checkbox.gif"});
		$(img).next("input").attr({value:"N"});
	}
	else {
		$(img).attr({src:"/images/checkbox_act.gif"});
		$(img).next("input").attr({value:"Y"});
	}
}

function checkForgetForm() {
	var form = $("#forget_form");
	var loginField = $("form").find("input[name='login']");
	var mailField = $("form").find("input[name='e-mail']");
	if ($(loginField).attr("value") != "") {
		form.submit();
	}
	else {
		if ($(mailField).attr("value") != "") {
			var mail = $(mailField).attr("value");
			var mailRegex = /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i;
			if(!mail.match(mailRegex)) {
				$(mailField).parent().addClass("attention");
			}
			 else {
				 form.submit();
			};
		}
	}
}

function showWorkPhoto(link_obj) {
	showHideLayer("loader");
	var img = new Image();
	img.src = $(link_obj).attr("href");
	$(img).load(function() {
		$("#loader").removeClass("load");
		$("#work_big_photo").html('<img src="' + img.src + '" width="' + img.width + '" height="' + img.height + '" alt="">');
		$("#work_big_photo").css({margin:"-" + img.height/2 + "px 0 0 -" + img.width/2 + "px"});
		showHideLayer("work_big_photo");
		$("#work_big_photo img").animate({opacity:"show"}, "middle");
		showHideLayer("loader");
	});
}