/* !—————Login/logout */
function loginUser(form, post) {
/*
	if (form.login.value == "") {
		form.login.focus();
		return false;
	}
*/
	
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/registration/login",
			login: form ? form.login.value : $("#login").val(),
			password: form ? form.password.value : $("#password").val(),
			remember: 1
		},
		success: function(result) {
			if (result.code) {
				if (location.pathname == "/restore/") {
					location.href = "/";
				} else if (location.pathname == "/registration/") {
					location.href = "/basket/";
				} else {
					location.reload();
					if (post) post(result);
				}
			} else {
				showMessage(
					'<div class="info-window" style="width: 320px">' +
						'<div class="padding"><h2>Неправильный пароль</h2>' + 
							'<p class="smoll pup pbottom">Введен неправильный логин и/или пароль.</p>' +
							'<p class="smoll pup pbottom"><a href="#" onclick="return showRestorePassword();">Восстановить забытый пароль</a></p>' +
							'<form action="#" method="get" target="_self" onsubmit="return false;">' +
								'<div class="underline"><!-- --></div>' +
								'<input type="submit" value="Закрыть" class="submit" onclick="$(\'#fancybox-close\').click();" />' +
								'<div class="spacer"><!-- --></div>' +
							'</form>' +
						'</div>' +
					'</div>'
				);
			}
		}
	});
	
	return false;
}

function logoutUser() {
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "users",
			action: "logout"
		},
		success: function(result) {
			if (result.code) {
				location.href = "/";
			}
		}
	});
	
	return false;
}

function showRestorePassword() {
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/registration/showrestore"
		},
		success: function(result) {
			showMessage(result.text);
		}
	});
	
	return false;
}

function submitRestorePassword(form) {
	if (!form.email.value.match(/^[\w\d][\w\d\-\.]*@[\w\d][\w\d\.\-]+\.\w{2,4}$/)) {
		form.email.focus();
		return false;
	}
	
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/registration/restore",
			email: form.email.value
		},
		success: function(result) {
			$("#fancybox-close").click();
		}
	});
	
	return false;
}

function setNewPassword(form) {
	if (form.newpassword.value.length < 3) {
		alert("Укажите новый пароль!");
		form.newpassword.focus();
		return false;
	}
	
	if (form.newpassword2.value != form.newpassword.value) {
		alert("Введенные пароли не совпадают!");
		return false;
	}
	
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/registration/setpassword",
			key: form.key.value,
			newpassword: form.newpassword.value,
			newpassword2: form.newpassword2.value
		},
		success: function(result) {
			if (result.code) {
				$("#setnewpasswordform").hide();
			}
			if (result.text) {
				showMessage('<div class="info-window" style="width: 320px"><div class="padding"><h2>Новый пароль</h2><p class="smoll pup pbottom">' + result.text + '</p></div></div>');
			}
		}
	});
	
	return false;
}

function showOrderOptions() {
	$("#orderlink").hide();
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/shop/orderoptions"
		},
		success: function(result) {
			$("#orderlink").show();

			$('#fancybox-outer').removeClass('acc-content');
			//$.fancybox.resize();
			showMessage(result.text);
		}
	});
	
	return false;
}

/* !—————Basket */

function addToBasketConfirm(itemId) {
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/shop/showorderitemconfirm",
			item: itemId
		},
		success: function(result) {
			if (result.code) {
				showMessage(result.html);
			}
		}
	});
	
	return false;
}

function addToBasket(itemId, skipAccessories) {
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/shop/addtobasket",
			item: itemId
		},
		success: function(result) {
			if (result.code) {
				if ($("#basket").length) {
					$("#basket").html(result.html);
					if (result.namecount > 0 && result.namecount < 4) basketSetHeight(result.namecount);
					$.jnotifica("Товар добавлен в корзину", {
						position: "top",
						align: "right",
						timeout: 3000,
						margin: 10,
						width: 300,
						effect: "fade",
						padding: 25,
						classes: "rounded_corners",
						msgCss: {
							textAlign: "center"
						}
					});
					if (!skipAccessories && (location.search.indexOf("from=accessories") == -1)) {
						showAccessories(itemId);
					} else {
						$("#bsktcnt").html(result.namecount);
					}
				} else {
					location.reload();
				}
			}
		}
	});
	
	return false;
}

function removeFromBasket(itemId) {
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/shop/removefrombasket",
			item: itemId
		},
		success: function(result) {
			if (result.code) {
				if ($("#basket").length) {
					$("#basket").html(result.html);
					if (result.namecount > 0 && result.namecount < 4) basketSetHeight(result.namecount);
				} else {
					location.reload();
				}
			}
		}
	});
	
	return false;
}

function updateBasket() {
	var itemsArray = new Array();
	$("td.kol input").each(function(index, item) {
		itemsArray.push({
			id: item.name.replace(/^amount/, ''),
			amount: item.value
		});
	});
	
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/shop/updatebasket",
			items: itemsArray
		},
		success: function(result) {
			if (result.code) {
				//$("#totalprice").html(result.totalprice);
				location.reload();
			}
		}
	});
	
	return false;
}

function showAccessories(itemId) {
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/shop/accessories",
			item: itemId
		},
		success: function(result) {
			if (result.code) {
				showMessage(result.html);
				$('#fancybox-outer').addClass('acc-content');
				loadAccessoriesPage(itemId, 1, "");
			}
		}
	});
	
	return false;
}

function loadAccessoriesPage(itemId, pageNumber, categoryId) {
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/catalog/loadaccessories",
			item: itemId,
			page: pageNumber,
			category: categoryId
		},
		success: function(result) {
			if (result.code) {
				$("#acc_container").html(result.html);
				initHelps();
				if ( $('#fancybox-outer .acc-help').length < 1) {
					$('#fancybox-outer').removeClass('acc-content');
					$('#fancybox-outer #showMessage div:first').css('width', 'auto');
					$('#fancybox-wrap').css('width', 'auto');
					$('#fancybox-content').css('width', 'auto');
				}
				$.fancybox.resize();
			}
			else {
				$('#fancybox-outer').removeClass('acc-content');
			}
		}
	});
	
	return false;
}

/* !—————Compare */

function addToCompare(itemId) {
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/shop/addtocompare",
			item: itemId
		},
		success: function(result) {
			if (result.code) {
				if (result.clear == "needed") {
					showMessage(result.html);
				} else {
					if (result.html) {
						$("#comparepanel").html(result.html);
						comparePanelShow();
					}
				}
			}
		}
	});
	
	return false;
}

function clearAndAdd(itemId) {
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/shop/addtocompare",
			item: itemId,
			clear: 1
		},
		success: function(result) {
			if (result.code) {
				$("#comparepanel").html(result.html);
				comparePanelShow();
			}
		}
	});
	
	return false;
}

function removeFromCompare(itemId) {
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/shop/removefromcompare",
			item: itemId
		},
		success: function(result) {
			if (result.code) {
				if (result.html) {
					$("#comparepanel").html(result.html);
					if (result.hide) comparePanelHide();
				}
			}
		}
	});

	return false;
}

function clearCompare() {
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/shop/clearcompare"
		},
		success: function(result) {
			if (result.code) {
				$("#comparepanel").html("<table><tr></tr></table>");
				comparePanelHide();
			}
		}
	});
	
	return false;
}

function refreshCompareProperties(select) {
	if (select.options[select.selectedIndex].value == 23) {
		$("#fancybox-content table.com-list tr").show();
	} else {
		$("#fancybox-content table.com-list tr").each(function(i) {
			if ($(this).children("td").length > 1) {
				var rowValues = new Array();
				$(this).children("td").each(function(i) {
					if (i > 0 && i < 6 && $(this).html() != "&nbsp;") {
						if (jQuery.inArray($(this).html(), rowValues) == -1) {
							rowValues.push($(this).html());
							//console.log("'" + $(this).html() + "' is NOT in the array");
						} else {
							//console.log("'" + $(this).html() + "' is in the array");
						}
					}
				});
				
				if (rowValues.length == 1) $(this).hide();

				//console.log("Row #" + i + " has " + rowValues.length + " unique columns: " + rowValues);
			}
		});
	}
}

/* !—————Selection */

function quickSelection(form) {
	if (form.s1.value == "") return false;
	var href = form.s1.value;
	if (form.s2.value != "") href += form.s2.value + "/";

	if (form.price1.value || form.price2.value) href += "?";

	if (form.price1.value) href += "min=" + form.price1.value;
	
	if (form.price2.value) {
		if (form.price1.value) href += "&";
		href += "max=" + form.price2.value;
	}
	
	location.href = href;
	
	return false;
}

function loadCategoryProperties() {
	if ($("#category").val() == "") return false;
	
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/catalog/getcategoryselection",
			category: $("#category").val()
		},
		success: function(result) {
			if (result.code) {
				$("#category").next().hide();
				$("#selectionproperties").html(result.html);
				initSelect();
			}
		}
	});
}

function loadCategoryProperties2(categoryId, anchor) {
	
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/catalog/getcategoryselection",
			category: categoryId
		},
		success: function(result) {
			if (result.code) {
				$("#category").val(categoryId);
				$("div.response div a").css({
					textDecoration: "underline",
					fontWeight: "normal"
				});
				$(anchor).css({
					textDecoration: "none",
					fontWeight: "bolder"
				});
				$("#selectionproperties").html(result.html);
				initSelect();
			}
		}
	});
	
	return false;
}

function loadVendors(categorySelect) {
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/catalog/categoryvendors",
			category: categorySelect.options[categorySelect.selectedIndex].label
		},
		success: function(result) {
			if (result.code) {
				$("#s2").html(result.html);
				reCreateSelect("s2");
			}
		}
	});
}

function uploadFile(input) {
	input.form.submit();
}

/* !—————Feedback */

function sendFeedback() {
	$(".error-valid").html("Все поля обязательны к заполнению.");
	indx = $("#theme")[0].selectedIndex;
	type = $("#theme").val();
	
	if (type == -1) {
		showMessage("<h2>Обратная связь</h2><br/><p>Необходимо выбрать тему сообщения и&nbsp;затем заполнить форму.</p>");
		return false;
	}
	
	if (!$("#form" + indx + "-familia").val().match(/^[A-Za-zА-Яа-яёЁ\-]+$/)) {
		$("#form" + indx + "-familia")[0].focus();
		$(".error-valid").html("Нужно указать фамилию.");
		$(".error-valid").show();
		return false;
	}
	if (!$("#form" + indx + "-name").val().match(/^[A-Za-zА-Яа-яёЁ\-]+$/)) {
		$("#form" + indx + "-name")[0].focus();
		$(".error-valid").html("Нужно указать имя.");
		$(".error-valid").show();
		return false;
	}
	if ($("#form" + indx + "-mennage").val() == "") {
		$("#form" + indx + "-mennage")[0].focus();
		$(".error-valid").html("Нужно ввести текст сообщения.");
		$(".error-valid").show();
		return false;
	}

	switch (type) {
		case "admin":
		case "webshop":
		case "customer": {
			if (!$("#form" + indx + "-e-mail").val().match(/^[\w\d][\w\d\-\.]*@[\w\d][\w\d\.\-]+\.\w{2,4}$/) && $("#form" + indx + "-phone").val() == "") {
				$(".error-valid").html("Нужно указать либо телефон либо e-mail.");
				$(".error-valid").show();
				return false;
			}
			break;
		}
		default: {
			if (!$("#form" + indx + "-e-mail").val().match(/^[\w\d][\w\d\-\.]*@[\w\d][\w\d\.\-]+\.\w{2,4}$/)) {
				$(".error-valid").html("Нужно указать корректный e-mail.");
				$(".error-valid").show();
				$("#form" + indx + "-e-mail")[0].focus();
				return false;
			}
			if ($("#form" + indx + "-phone").val() == "") {
				$(".error-valid").html("Нужно указать телефон.");
				$(".error-valid").show();
				$("#form" + indx + "-phone")[0].focus();
				return false;
			}
		}
	}
	
	$(".error-valid").hide();
	
	adata = {
		client: "js",
		module: "plugins",
		action: "pluginaction/feedback/send",
		area: type,
		f_lastname: $("#form" + indx + "-familia").val(),
		f_firstname: $("#form" + indx + "-name").val(),
		f_email: $("#form" + indx + "-e-mail").val(),
		f_phone: $("#form" + indx + "-phone").val(),
		f_message: $("#form" + indx + "-mennage").val(),
		f_value: $("#type" + indx).val()
	};
	
	switch (type) {
		case "customer": {
			adata.f_type = $("#type" + indx).val();
			adata.f_salon = "Салон: " + $("#form" + indx + "-address").val();
			adata.f_first = "Лояльность: " + ($("#form" + indx + "-radio0").attr("checked") ? "Первая покупка" : "Постоянный покупатель");
			break;
		}
		case "webshop": {
			adata.f_type = $("#type" + indx).val();
			break;
		}
		case "partner": {
			adata.f_type = $("#type" + indx).val();
			break;
		}
		case "rent": {
			adata.resume = $("#uploadedinput_rent").val();
			break;
		}
		case "management": {
			adata.resume = $("#uploadedinput_management").val();
			break;
		}
		case "job": {
			adata.f_type = $("#type" + indx).val();
			adata.resume = $("#uploadedinput_job").val();
			adata.photo = $("#uploadedinput_job2").val();
			break;
		}
	}
	
	$.ajax({
		url: "/",
		data: adata,
		success: function(result) {
			if (result.code) {
				$(".back-form").html(result.text);
			}
		}
	});
	
	return false;
}

/* !—————Card dialogs */

function showPriceSubscribeDialog(itemId) {
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/shop/showpricesubscribe",
			item: itemId
		},
		success: function(result) {
			if (result.code) showMessage(result.html);
		}
	});
	
	return false;
}

function showOrderItemConfirm(itemId) {
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/shop/showorderitemconfirm",
			item: itemId
		},
		success: function(result) {
			if (result.code) showMessage(result.html);
		}
	});
	
	return false;
}

function submitPriceSubscribe(form) {
	if (!form.email.value.match(/^[\w\d][\w\d\-\.]*@[\w\d][\w\d\.\-]+\.\w{2,4}$/)) {
		form.email.focus();
		return false;
	}
	
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/shop/pricesubscribe",
			item: form.item.value,
			email: form.email.value
		},
		success: function(result) {
			//$("#fancybox-close").click();
			if (result.code) showMessage(result.text);
		}
	});

	return false;
}

function showStockSubscribeDialog(itemId) {
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/shop/showstocksubscribe",
			item: itemId
		},
		success: function(result) {
			if (result.code) showMessage(result.html);
		}
	});
	
	return false;
}

function submitStockSubscribe(form) {
	if (!form.email.value.match(/^[\w\d][\w\d\-\.]*@[\w\d][\w\d\.\-]+\.\w{2,4}$/)) {
		form.email.focus();
		return false;
	}
	
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/shop/stocksubscribe",
			item: form.item.value,
			email: form.email.value
		},
		success: function(result) {
			//$("#fancybox-close").click();
			if (result.code) showMessage(result.text);
		}
	});
	
	return false;
}

function showSendItemDialog(itemId) {
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/shop/showsenditem",
			item: itemId
		},
		success: function(result) {
			if (result.code) showMessage(result.html);
		}
	});
	
	return false;
}

function submitSendItem(form) {
	if (!form.email.value.match(/^[\w\d][\w\d\-\.]*@[\w\d][\w\d\.\-]+\.\w{2,4}$/)) {
		form.email.focus();
		return false;
	}
	
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/shop/senditem",
			item: form.item.value,
			email: form.email.value,
			url: location.href
		},
		success: function(result) {
			//$("#fancybox-close").click();
			if (result.code) showMessage(result.text);
		}
	});
	
	return false;
}

function showSendReport() {
	showMessage(
		'<div class="info-window" style="width: 320px">' +
			'<div class="padding"><h2>Сообщить об ошибке</h2>' + 
				'<form action="#" method="get" target="_self" onsubmit="return submitSendReport();">' +
					'<div class="fields">' +
						'<div class="input-title">Текст сообщения</div>' +
						'<div class="spacer"><!-- --></div>' +
						'<div class="textarea-size pup"><div><div><textarea id="reportmessage"></textarea></div></div></div>' +
						'<div class="spacer"><!-- --></div>' +
					'</div>' +
					'<div class="underline"><!-- --></div>' +
					'<input type="submit" value="Отправить" class="submit" />' +
					'<div class="spacer"><!-- --></div>' +
				'</form>' +
			'</div>' +
		'</div>'
	);
	
	return false;
}

function showAcc(Message) {
	showMessage(
		'<div class="acc-maincase" style="width: 824px;">' +
		'<div class="acc-model">' +
			'<div class="acc-model-photo"><img src="/project/imgs/acc/model.jpg" alt="" /></div>' +
			'<h2>Nokia 5800 Xpress Music Black Game <span>добавлен в корзину</span></h2>' +
			'<div class="acc-model-cost"><strong>23 990</strong> руб.</div>' +
			'<div class="acc-model-info"><a class="button green-white" href="#"><span><span>ОФОРМИТЬ ПОКУПКУ</span></span></a><br/>В корзине <strong>3 товара.</strong></div>' +
			'<div class="spacer"></div>' +
		'</div>' + 
		'<div class="acc-goods">' + 
			'<div class="acc-goods-header">Сопутствующие товары | <a href="#">Полный список</a></div>' +
			'<div class="acc-goods-content">' +
			'<div class="agc-decor"><div class="agc-decor"><div class="agc-decor"><div class="agc-decor"><div class="agc-decor"><div class="agc-decor"><div class="agc-decor"><div class="agc-decor">' +
				'<ul><li>Карты памяти (10)</li><li><a href="#">Наушники (2)</a></li><li><a href="#">Аккамуляторы (2)</a></li></ul>' + 
				'<ul><li><a href="#">Гарнитуры (5)</a></li><li><a href="#">Сумочки (7)</a></li></ul>' + 
				'<div class="spacer"></div>' +
				'<div class="goods"><table><tbody><tr class="img"><th><a href="/catalog/photo/photoaccess/memory_card/transcend/4gb-sdhc-3-0-class-10/"><img alt="" src="/project/plugins/image.php?id=000002805&amp;size=95"/></a></th><th><a href="/catalog/photo/photoaccess/memory_card/transcend/8gb-sdhc-3-0-class-10/"><img alt="" src="/project/plugins/image.php?id=000002819&amp;size=95"/></a></th><th><a href="/catalog/photo/photoaccess/memory_card/kingston/4gb-sdhc-class-4-hd-video/"><img alt="" src="/project/plugins/image.php?id=000002812&amp;size=95"/></a></th><th><a href="/catalog/photo/photoaccess/memory_card/sony/2gb-ms-pro-duo/"><img alt="" src="/project/plugins/image.php?id=000002752&amp;size=95"/></a></th></tr><tr><td><a href="/catalog/photo/photoaccess/memory_card/transcend/4gb-sdhc-3-0-class-10/">Transcend 4Gb SDHC 3.0 Class 10</a></td><td><a href="/catalog/photo/photoaccess/memory_card/transcend/8gb-sdhc-3-0-class-10/">Transcend 8Gb SDHC 3.0 Class 10</a></td><td><a href="/catalog/photo/photoaccess/memory_card/kingston/4gb-sdhc-class-4-hd-video/">Kingston 4Gb SDHC Class 4 HD Video</a></td><td><a href="/catalog/photo/photoaccess/memory_card/sony/2gb-ms-pro-duo/">Sony 2Gb MS PRO Duo</a></td></tr><tr><td>Код товара: 45856</td><td>Код товара: 45856</td><td>Код товара: 45856</td><td>Код товара: 45856</td></tr><tr><th><div style="background-color: rgb(136, 209, 61); color: black;" class="cost acc-help"><div onclick="return addToBasket(44916);" class="manual-color">490 <small>руб.</small></div></div></th><th><div style="background-color: rgb(255, 51, 51); color: black;" class="cost acc-help"><div onclick="return addToBasket(44921);" class="manual-color">490 <small>руб.</small></div></div></th><th><div style="background-color: rgb(136, 209, 61); color: black;" class="cost acc-help"><div onclick="return addToBasket(46034);" class="manual-color">590 <small>руб.</small></div></div></th><th><div style="background-color: rgb(136, 209, 61); color: black;" class="cost acc-help"><div onclick="return addToBasket(37691);" class="manual-color">590 <small>руб.</small></div></div></th></tr><tr class="img"><th><a href="/catalog/photo/photoaccess/memory_card/transcend/4gb-sdhc-class-6---p2-rider/"><img alt="" src="/project/plugins/image.php?id=000002817&amp;size=95"/></a></th><th><a href="/catalog/photo/photoaccess/memory_card/a-data/8gb-sdhc-class-6/"><img alt="" src="/project/plugins/image.php?id=000002824&amp;size=95"/></a></th><th><a href="/catalog/photo/photoaccess/memory_card/silicon-power/8gb-sdhc-class-4/"><img alt="" src="/project/plugins/image.php?id=000002828&amp;size=95"/></a></th><th><a href="/catalog/photo/photoaccess/memory_card/apacer/8gb-sdhc-class-2/"><img alt="" src="/project/plugins/image.php?id=000002823&amp;size=95"/></a></th></tr><tr><td><a href="/catalog/photo/photoaccess/memory_card/transcend/4gb-sdhc-class-6---p2-rider/">Transcend 4Gb SDHC Class 6 + P2 ридер</a></td><td><a href="/catalog/photo/photoaccess/memory_card/a-data/8gb-sdhc-class-6/">A-DATA 8Gb SDHC Class 6</a></td><td><a href="/catalog/photo/photoaccess/memory_card/silicon-power/8gb-sdhc-class-4/">Silicon Power 8Gb SDHC Class 4</a></td><td><a href="/catalog/photo/photoaccess/memory_card/apacer/8gb-sdhc-class-2/">Apacer 8Gb SDHC Class 2</a></td></tr><tr><td>Код товара: 45856</td><td>Код товара: 45856</td><td>Код товара: 45856</td><td>Код товара: 45856</td></tr><tr><th><div style="background-color: rgb(136, 209, 61); color: black;" class="cost acc-help"><div onclick="return addToBasket(46597);" class="manual-color">590 <small>руб.</small></div></div></th><th><div style="background-color: rgb(136, 209, 61); color: black;" class="cost acc-help"><div onclick="return addToBasket(45441);" class="manual-color">650 <small>руб.</small></div></div></th><th><div style="background-color: rgb(136, 209, 61); color: black;" class="cost acc-help"><div onclick="return addToBasket(42580);" class="manual-color">650 <small>руб.</small></div></div></th><th><div style="background-color: rgb(136, 209, 61); color: black;" class="cost acc-help"><div onclick="return addToBasket(46233);" class="manual-color">690 <small>руб.</small></div></div></th></tr></tbody></table></div>' +
			'</div></div></div></div></div></div></div></div>' + 
			'<div class="prev"></div>' + 
			'<div class="next"></div>' + 
			'</div>' + 
		'</div>' + 
		'<div class="spacer"></div>' +
		'</div>'
	);
	initHelps();
	$('#fancybox-outer').addClass('acc-content');
	return false;
}

function submitSendReport() {
	if ($("#reportmessage").val() == "") {
		$("#reportmessage").focus();
		return false;
	}
	
	if ($("#reportemail").val() == "") {
		$("#reportemail").focus();
		return false;
	}
	
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/shop/report",
			page: location.href,
			message: $("#reportmessage").val(),
			email: $("#reportemail").val()
		},
		success: function(result) {
			showMessage(result.text);
		}
	});
	
	return false;
}

function showPreorderDialog(itemId) {
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/shop/showpreorder",
			item: itemId
		},
		success: function(result) {
			if (result.code) showMessage(result.html);
		}
	});
	
	return false;
}

function submitPreorder(form) {
	if (!form.email.value.match(/^[\w\d][\w\d\-\.]*@[\w\d][\w\d\.\-]+\.\w{2,4}$/)) {
		alert("Укажите ваш e-mail");
		form.email.focus();
		return false;
	}
	
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/shop/preorder",
			item: form.item.value,
			email: form.email.value,
			comments: form.changed == "1" ? form.comments.value : ""
		},
		success: function(result) {
			showMessage(result.text);
		}
	});
	
	return false;
}

/* !—————Order */

function switchPayer() {
	var d = $("#theme").val();
	var p = $("#fpayer").val();
	
	if (p == "person") {
		$("#notlogged").show();
		$("#open_f" + d + "_paytype .inner > div").show();
		$("div.ur-lico").slideUp("medium");
	} else {
		$("#notlogged").hide();
		if ($("#userlogin").val() == "guest") {
			showMessage('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Выбранный <strong>тип плательщика</strong> доступен только для зарегистрированных пользователей. Необходимо войти на сайт, используя свою учетную запись или пройти процедуру <a href="/registration/?return=/basket/">регистрации</a>.</p></div></div>');
		}
		$("#open_f" + d + "_paytype .inner > div").each(function(index, item) {
			var val = $("#f" + d + "_paytype")[0].options[index].value;
			if (!paymentCompanies[val]) $(item).hide(); else $(item).show();
		});
		$("div.ur-lico").slideDown("medium");
	}

/*
	$("div.ur-lico").slideToggle("medium", function() {
		$("a.ur-lico").html(this.style.display == "block" ? "Убрать реквизиты юридического лица" : "Прикрепить реквизиты юридического лица");
	});
*/
}

function switchDelivery() {
	var n = $("#theme").val();
	
	$("#f" + n + "_fullname").val($("#f" + defaultDelivery + "_fullname").val());
	$("#f" + n + "_phone").val($("#f" + defaultDelivery + "_phone").val());
	$("#f" + n + "_email").val($("#f" + defaultDelivery + "_email").val());
	$("#f" + n + "_comments").val($("#f" + defaultDelivery + "_comments").val());
	
	defaultDelivery = n;
	
	switchPayer();
	recalculatePrice();
	initHelpers();
}

function switchPayment() {
	var d = $("#theme").val();

	if ($("#userlogin").val() == "guest" && paymentUnregistered.toString().indexOf($("#f" + d + "_paytype").val()) == -1) {
		showMessage('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Выбранный <strong>способ оплаты</strong> доступен только для зарегистрированных пользователей. Необходимо войти на сайт, используя свою учетную запись или пройти процедуру <a href="/registration/?return=/basket/">регистрации</a>.</p></div></div>');
	}

	recalculatePrice();
	
	if ($("#f" + d + "_paytype").val() == "credit_rs") {
		$("#creditcalcbutton_" + d).show();
	} else {
		$("#creditcalcbutton_" + d).hide();
	}
	
	$('.paytype').each( function() {
		if  ( $(this).parents('.subforms:first').css('display') == 'block' ) {
			if ( $('.cardtooltip').length ) {
				$('.cardtooltip:first').html('<img src="/project/imgs/cards/' + $(this).find('option:selected').val() + '.jpg" alt="" />');
			}
		}
	});
	cardToolTip();
	initHelpers();
}

function getSavedCompany(select) {
	if ($("#companyswitch").val() == "") {
		$("#company_name").val("");
		$("#company_addr1").val("");
		$("#company_addr2").val("");
		$("#company_phone").val("");
		$("#company_fax").val("");
		$("#company_email").val("");
		$("#company_bankname").val("");
		$("#company_bankaddr").val("");
		$("#company_account").val("");
		$("#company_coraccount").val("");
		$("#company_corbank").val("");
		$("#company_inn").val("");
		$("#company_kpp").val("");
		$("#company_bik").val("");
		$("#company_okpo").val("");
		$("#company_okonh").val("");
		return false;
	}
	
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/shop/getcompany",
			name: select.options[select.selectedIndex].value
		},
		success: function(result) {
			if (result.code) {
				$("#company_name").val(result.company.name);
				$("#company_addr1").val(result.company.addr1);
				$("#company_addr2").val(result.company.addr2);
				$("#company_phone").val(result.company.phone);
				$("#company_fax").val(result.company.fax);
				$("#company_email").val(result.company.email);
				$("#company_bankname").val(result.company.bankname);
				$("#company_bankaddr").val(result.company.bankaddr);
				$("#company_account").val(result.company.account);
				$("#company_coraccount").val(result.company.coraccount);
				$("#company_corbank").val(result.company.corbank);
				$("#company_inn").val(result.company.inn);
				$("#company_kpp").val(result.company.kpp);
				$("#company_bik").val(result.company.bik);
				$("#company_okpo").val(result.company.okpo);
				$("#company_okonh").val(result.company.okonh);
			}
		}
	});
}

function getDeliveryAddress(type) {
	if ($("#f" + type + "_addresshistory").val() == "") {
		$("#f" + type + "_city").val("");
		$("#text_f" + type + "_city").html("&nbsp;");
		$("#f" + type + "_index").val("");
		$("#f" + type + "_street").val("");
		$("#f" + type + "_building").val("");
		$("#f" + type + "_building2").val("");
		$("#f" + type + "_apartment").val("");
		$("#f" + type + "_saveaddress").val("Новый адрес");
		recalculatePrice();
		return false;
	}
	

	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/shop/getaddress",
			address: $("#f" + type + "_addresshistory").val()
		},
		success: function(result) {
			if (result.code) {
				$("#f" + type + "_city").val(result.address.city);
				$("#text_f" + type + "_city").html(result.address.city);
				$("#f" + type + "_index").val(result.address.index);
				$("#f" + type + "_street").val(result.address.street);
				$("#f" + type + "_building").val(result.address.building);
				$("#f" + type + "_building2").val(result.address.building2);
				$("#f" + type + "_apartment").val(result.address.apartment);
				$("#f" + type + "_saveaddress").val($("#f" + type + "_addresshistory").val());
				recalculatePrice();
			}
		}
	});
}

function recalculatePrice() {
	var deliveryType = $("#theme").val();
	var deliveryPrice = 0, items = $("#itemsprice").val();
	
	if (deliveryType == "volta") {
		for (i = 0, n = thresholdValues.length; i < n; i++) {
			if ($("#fvolta_city").val() == thresholdValues[i].name && items < thresholdValues[i].value) deliveryPrice = thresholdValues[i].price;
		}
	}
	
	var tax = paymentTaxes[$("#f" + deliveryType + "_paytype").val()];
	var taxPrice = (parseFloat(items) + parseFloat(deliveryPrice)) * parseFloat(tax) / 100.0;
	
	$("#deliveryprice").val(deliveryPrice);
	$("#totalprice").html((parseFloat(items) + parseFloat(deliveryPrice) + taxPrice).formatMoney() + " <span>руб.</span>");
	if (deliveryPrice) {
		$("#deliveryrow .price").html(deliveryPrice.formatMoney() + " <span>руб.</span>");
		$("#deliveryrow").show();
	} else {
		$("#deliveryrow").hide();
	}
	if (tax) {
		$("#taxrow .kol").html(tax + "%");
		$("#taxrow .price").html(taxPrice.formatMoney() + " <span>руб.</span>");
		$("#taxrow").show();
	} else {
		$("#taxrow").hide();
	}
}

function submitOrder(button) {
	var d = $("#theme").val();
	
	if ($("#ordercheck").val() != "check") {
		if ($("#userlogin").val() == "guest" && $("#fpayer").val() == "company") {
			showMessage('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Выбранный <strong>тип плательщика</strong> доступен только для зарегистрированных пользователей. Необходимо войти на сайт, используя свою учетную запись или пройти процедуру <a href="/registration/?return=/basket/">регистрации</a>.</p></div></div>');
			return false;
		}

		if ($("#userlogin").val() == "guest" && paymentUnregistered.toString().indexOf($("#f" + d + "_paytype").val()) == -1) {
			showMessage('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Выбранный <strong>способ оплаты</strong> доступен только для зарегистрированных пользователей. Необходимо войти на сайт, используя свою учетную запись или пройти процедуру <a href="/registration/?return=/basket/">регистрации</a>.</p></div></div>');
			return false;
		}

		if (d != "self") {
			if ($("#f" + d + "_lastname").length) {
				if (!$("#f" + d + "_lastname").val().match(/^[а-яё][а-яё\-\s]+$/i)) {
					showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Проверьте правильность заполнения поля "<b>Фамилия</b>"</p></div></div>', function() {
						$("#f" + d + "_lastname").focus();
					});
					return false;
				}
			}
			if ($("#f" + d + "_firstname").length) {
				if (!$("#f" + d + "_firstname").val().match(/^[а-яё][а-яё\-\s]+$/i)) {
					showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Проверьте правильность заполнения поля "<b>Имя</b>"</p></div></div>', function() {
						$("#f" + d + "_firstname").focus();
					});
					return false;
				}
			}
			if (!$("#f" + d + "_phone").val().match(/^[\d\-\+\s\(\)\*]+$/)) {
				showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Проверьте правильность заполнения поля "<b>Контактный телефон</b>"</p></div></div>', function() {
					$("#f" + d + "_phone").focus();
				});
				return false;
			}
			if (($("#f" + d + "_email").val() != "") && !$("#f" + d + "_email").val().match(/^\w[\w\-\.]+@\w[\w\-\.]+\.[a-z]{2,4}$/)) {
				showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Проверьте правильность заполнения поля "<b>E-mail</b>"</p></div></div>', function() {
					$("#f" + d + "_email").focus();
				});
				return false;
			}
			if (!$("#f" + d + "_city").val().match(/^[а-яё\d\-\.\s]+$/i)) {
				showMessage('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Проверьте правильность заполнения поля "<b>Город</b>"</p></div></div>');
				return false;
			}
			if (($("#f" + d + "_index").val() != "") && !$("#f" + d + "_index").val().match(/^\d{6}$/)) {
				showMessage('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Проверьте правильность заполнения поля "<b>Индекс</b>"</p></div></div>');
				return false;
			}
			if (!($("#f" + d + "_street").val().match(/^[а-яё\d\.\-\s]+$/i) && ($("#f" + d + "_street").val().match(/^\d.*[а-яё]$/i) || $("#f" + d + "_street").val().match(/^[а-яё].+\d*/i)))) {
				showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Проверьте правильность заполнения поля "<b>Улица</b>"</p></div></div>', function() {
					$("#f" + d + "_street").focus();
				});
				return false;
			}
			if (!$("#f" + d + "_building").val().match(/^\d[\dа-яё]*$/i)) {
				showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Проверьте правильность заполнения поля "<b>Дом</b>"</p></div></div>', function() {
					$("#f" + d + "_building").focus();
				});
				return false;
			}
		} else {
			if ($("#f" + d + "_lastname").length) {
				if (!$("#f" + d + "_lastname").val().match(/^[а-яё][а-яё\-\s]+$/i)) {
					showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Проверьте правильность заполнения поля "<b>Фамилия</b>"</p></div></div>', function() {
						$("#f" + d + "_lastname").focus();
					});
					return false;
				}
			}
			if ($("#f" + d + "_firstname").length) {
				if (!$("#f" + d + "_firstname").val().match(/^[а-яё][а-яё\-\s]+$/i)) {
					showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Проверьте правильность заполнения поля "<b>Имя</b>"</p></div></div>', function() {
						$("#f" + d + "_firstname").focus();
					});
					return false;
				}
			}
			if (!$("#f" + d + "_phone").val().match(/^[\d\-\+\s\(\)\*]+$/)) {
				showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Проверьте правильность заполнения поля "<b>Контактный телефон</b>"</p></div></div>', function() {
					$("#f" + d + "_phone").focus();
				});
				return false;
			}
			if (($("#f" + d + "_email").val() != "") && !$("#f" + d + "_email").val().match(/^\w[\w\-\.]+@\w[\w\-\.]+\.[a-z]{2,4}$/)) {
				showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Проверьте правильность заполнения поля "<b>E-mail</b>"</p></div></div>', function() {
					$("#f" + d + "_email").focus();
				});
				return false;
			}
			if ($("#selfsalon").val() == "") {
				showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Вы не выбрали салон, из которого вы будете забирать заказ</p></div></div>', function() {
					$("#selfsalon").focus();
				});
				return false;
			}
		}
		
		if ($("#companyinfo").length > 0 && $("#companyinfo")[0].style.display == "block") {
			if (!$("#company_name").val().match(/^[\w\dА-Яа-яЁё\-\+"'\.\s\*\@]+$/)) {
				showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Проверьте правильность заполнения поля "<b>Полное название юридического лица</b>"</p></div></div>', function() {
					$("#company_name").focus();
				});
				return false;
			}
			if ($("#company_addr1").val() == "") {
				showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Проверьте правильность заполнения поля "<b>Юридический адрес юридического лица</b>"</p></div></div>', function() {
					$("#company_addr1").focus();
				});
				return false;
			}
			if ($("#company_addr2").val() == "") {
				showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Проверьте правильность заполнения поля "<b>Фактический адрес юридического лица</b>"</p></div></div>', function() {
					$("#company_addr2").focus();
				});
				return false;
			}
			if (!$("#company_phone").val().match(/^[\d\+\-\(\)\s\*]+$/)) {
				showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Проверьте правильность заполнения поля "<b>Телефон юридического лица</b>"</p></div></div>', function() {
					$("#company_phone").focus();
				});
				return false;
			}
			if (!$("#company_inn").val().match(/^\d{10}(\d{2})?$/)) {
				showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Проверьте правильность заполнения поля "<b>ИНН</b>"</p></div></div>', function() {
					$("#company_inn").focus();
				});
				return false;
			}
			if (($("#company_kpp").val() != "") && !$("#company_kpp").val().match(/^\d{9}$/)) {
				showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Проверьте правильность заполнения поля "<b>КПП</b>"</p></div></div>', function() {
					$("#company_kpp").focus();
				});
				return false;
			}
		}
	}
	
	$(button).hide();
	
	var theAction = "pluginaction/shop/" + ($("#ordercheck").val() != "check" ? "preview" : "order");
	
	var payType = $("#f" + d + "_paytype").val();

	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: theAction,
			payer: $("#fpayer").val(),
			delivery: $("#theme").val(),
			deliveryprice: $("#deliveryprice").val(),
			payment: $("#f" + d + "_paytype").val(),
			name: $("#f" + d + "_fullname").val(),
			firstname: $("#f" + d + "_firstname").val(),
			lastname: $("#f" + d + "_lastname").val(),
			phone: $("#f" + d + "_phone").val(),
			email: $("#f" + d + "_email").val(),
			comments: $("#f" + d + "_comments").val(),
			addhistory: $("#f" + d + "_addresshistory").val(),
			index: $("#f" + d + "_index").val(),
			city: $("#f" + d + "_city").val(),
			street: $("#f" + d + "_street").val(),
			building: $("#f" + d + "_building").val(),
			building2: $("#f" + d + "_building2").val(),
			apartment: $("#f" + d + "_apartment").val(),
			savea: (d != "self" && $("#f" + d + "_savea").length > 0) ? ($("#f" + d + "_savea")[0].checked ? "yes" : "no") : "no",
			saveaddress: $("#f" + d + "_saveaddress").val(),
			salon: $("#selfsalon").val(),
			addcompany: ($("#companyinfo").length == 0 || $("#companyinfo")[0].style.display == "none") ? "no" : "yes",
			savecompany: ($("#companyinfo").length == 0 || $("#savecompany").length == 0 || $("#savecompany")[0].checked == false) ? "no" : "yes",
			company_name: $("#company_name").val(),
			company_addr1: $("#company_addr1").val(),
			company_addr2: $("#company_addr2").val(),
			company_inn: $("#company_inn").val(),
			company_kpp: $("#company_kpp").val(),
			company_bik: $("#company_bik").val(),
			company_okpo: $("#company_okpo").val(),
			company_okonh: $("#company_okonh").val(),
			company_email: $("#company_email").val(),
			company_fax: $("#company_fax").val(),
			company_bank: $("#company_bank").val(),
			company_bankaddr: $("#company_bankaddr").val(),
			company_account: $("#company_account").val(),
			company_coraccount: $("#company_coraccount").val(),
			company_corbank: $("#company_corbank").val(),
			company_phone: $("#company_phone").val()
		},
		success: function(result) {
			if (result.code) {
				$("td.delete a").remove();
				$("td.recalc input").remove();
				$("#basketorder").html(result.html);
				
				$("ul.steps li[2]").removeClass("active");
				$("ul.steps li[2]").addClass("done");
				
				$("ul.steps li[3]").addClass("active");
				
				if (payType == "credit_rs") {
					fillCreditForm(result.payid);
				}
				
				if (result.poll) {
					$("#basketorder").append("<input type='button' value='Отвечу на вопросы' class='button3' onclick='startPoll(this, " + result.poll + ");' /> <input id='cancelpoll' type='button' value='В другой раз' class='button3' onclick='location.href=$(\"#login\").length ? \"/\" : \"/cabinet/history/\"'/><div class='spacer'><!-- --></div>");
					if ($("#f" + d + "_paytype").val() == "cardonline") {
						//$("#basketorder").append("<input type='button' value='Оплатить' class='button3' onclick='payOnline(" + result.payid + ")'/>");
					}
				}
			} else {
				$(button).show();
			}
		}
	});
	
	return false;
}

function fillCreditForm(orderId) {
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/rscard/form",
			order: orderId
		}
	});
	
	return false;
}

function showBill(orderId) {
	window.open("/cabinet/bill/?order=" + orderId);
	
	return false;
}

function startPoll(button, pollId) {
	//$(button).hide();
	//$("#cancelpoll").hide();
	
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/polls/start",
			poll: pollId
		},
		success: function(result) {
			showMessage(result.html);
			$("#fancybox-close").click(function() {
				location.href = "/cabinet/history/";
				return false;
			});
		}
	});
	
	return false;
}

function submitPoll(pollId) {
	var a = "";
	$("#pollform input.answer").each(function(index, item) {
		switch (item.type) {
			case "radio":
			case "checkbox":
				if (item.checked) a += (a.length ? "," : "") + item.name + "=" + item.value;
				break;
			case "text":
				if (item.value) a += (a.length ? "," : "") + item.name + "=" + item.value;
				break;
		}
	});
	
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/polls/submit",
			poll: pollId,
			answers: a
		},
		success: function(result) {
			showMessage(result.html);
		}
	});
	
	return false;
}

function payWithCard(orderId) {
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/rscard/pay",
			order: orderId
		}
	});
	
	return false;
}

/* !—————Cabinet */

function updatePersonal(form) {
	if (!form.lastname.value.match(/^[а-яё\-]+$/i)) {
		showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Проверьте правильность заполнения поля "<b>Фамилия</b>"</p></div></div>', function() {
			form.lastname.focus();
		});
		return false;
	}
	if (!form.firstname.value.match(/^[а-яё\-]+$/i)) {
		showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Проверьте правильность заполнения поля "<b>Имя</b>"</p></div></div>', function() {
			form.firstname.focus();
		});
		return false;
	}
	if (!form.secondname.value.match(/^[а-яё\-]+$/i)) {
		showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Проверьте правильность заполнения поля "<b>Отчество</b>"</p></div></div>', function() {
			form.secondname.focus();
		});
		return false;
	}
	if (!form.email.value.match(/^[\w\d][\w\d\-\.]*@[\w\d][\w\d\.\-]+\.\w{2,4}$/)) {
		showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Проверьте правильность заполнения поля "<b>e-mail</b>"</p></div></div>', function() {
			form.email.focus();
		});
		return false;
	}
	if (!form.phone.value.match(/^[\d\+\-\*\(\)\s]+$/)) {
		showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Проверьте правильность заполнения поля "<b>Телефон</b>"</p></div></div>', function() {
			form.phone.focus();
		});
		return false;
	}
	if (form.newpassword.value.length > 0 && form.newpassword.value.length < 3) {
		showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Проверьте правильность заполнения поля "<b>Пароль</b>"</p></div></div>', function() {
			form.newpassword.focus();
		});
		return false;
	}
	if (form.newpassword2.value != form.newpassword.value) {
		showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Указанные пароли в полях "<b>Пароль</b>" и "<b>Подтверждение пароля</b>" не совпадают</p></div></div>', function() {
			form.newpassword2.focus();
		});
		return false;
	}
	if (form.newpassword.value != "" && form.oldpassword.value == "") {
		showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Для смены пароля необходимо указать ваш текущий пароль</p></div></div>', function() {
			form.oldpassword.focus();
		});
		return false;
	}
	
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/registration/updatepersonal",
			lastname: form.lastname.value,
			firstname: form.firstname.value,
			secondname: form.secondname.value,
			birthdate: form.birthdate.value,
			email: form.email.value,
			phone: form.phone.value,
			subscribe: form.subscribe.checked ? 1 : 0,
			oldpassword: form.oldpassword.value,
			newpassword: form.newpassword.value,
			newpassword2: form.newpassword2.value
		},
		success: function(result) {
			if (result.code) {
				showMessage('<div class="info-window" style="width: 320px"><div class="padding"><h2>Личный кабинет</h2><p class="smoll pup pbottom">Регистрационные данные сохранены</p><div class="underline"><!-- --></div><input type="submit" value="ОК" class="submit" onclick="location.reload();"/></div></div>');
			}
		}
	});
	
	return false;
}

function updateCompany(form) {
	if (!form.companyname.value.match(/^[\w\dА-Яа-яЁё\-\+"'\.\s\*\@]+$/)) {
		showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Проверьте правильность заполнения поля "<b>Полное название юридического лица</b>"</p></div></div>', function() {
			form.companyname.focus();
		});
		return false;
	}
	if (form.addr1.value == "") {
		showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Проверьте правильность заполнения поля "<b>Юридический адрес юридического лица</b>"</p></div></div>', function() {
			form.addr1.focus();
		});
		return false;
	}
	if (form.addr2.value == "") {
		showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Проверьте правильность заполнения поля "<b>Фактический адрес юридического лица</b>"</p></div></div>', function() {
			form.addr2.focus();
		});
		return false;
	}
	if (!form.phone.value.match(/^[\d\-\+\(\)\s\*]+$/)) {
		showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Проверьте правильность заполнения поля "<b>Телефон юридического лица</b>"</p></div></div>', function() {
			form.phone.focus();
		});
		return false;
	}
	if (!form.inn.value.match(/^\d{10}(\d{2})?$/)) {
		showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Проверьте правильность заполнения поля "<b>ИНН</b>"</p></div></div>', function() {
			form.inn.focus();
		});
		return false;
	}
	if ((form.kpp.value != "") && !form.kpp.value.match(/^\d{9}$/)) {
		showMessageCloseEvent('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="pup">Проверьте правильность заполнения поля "<b>КПП</b>"</p></div></div>', function() {
			form.kpp.focus();
		});
		return false;
	}
	
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/registration/updatecompany",
			name: form.companyname.value,
			addr1: form.addr1.value,
			addr2: form.addr2.value,
			inn: form.inn.value,
			kpp: form.kpp.value,
			bik: form.bik.value,
			okpo: form.okpo.value,
			okonh: form.okonh.value,
			email: form.email.value,
			fax: form.fax.value,
			bank: form.bank.value,
			bankaddr: form.bankaddr.value,
			account: form.account.value,
			coraccount: form.coraccount.value,
			corbank: form.corbank.value,
			phone: form.phone.value
		},
		success: function(result) {
			if (result.code) {
				showMessage('<div class="info-window" style="width: 320px"><div class="padding"><h2>Личный кабинет</h2><p class="smoll pup pbottom">Данные юридического лица сохранены</p><div class="underline"><!-- --></div><input type="submit" value="ОК" class="submit" onclick="location.reload();"/></div></div>');
			}
		}
	});

	return false;
}

function showAddressEditDialog(addressName) {
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/registration/showaddressedit",
			address: addressName
		},
		success: function(result) {
			showMessage(result.html);
		}
	});
	
	return false;
}

function submitAddressEdit(form) {
	var ok = true;
	
	if (!form.newname.value.match(/^[\wа-я]+$/i)) {
		$(form.newname).parent().parent().parent().parent().parent().children().css("color", "red");
		form.newname.focus();
		ok = false;
	} else {
		$(form.newname).parent().parent().parent().parent().parent().children().css("color", "black");
	}
	if (!form.city.value.match(/^[\w\d\-\s\.\,а-яё]+$/i)) {
		$(form.city).parent().parent().parent().parent().parent().children().css("color", "red");
		form.city.focus();
		ok = false;
	} else {
		$(form.city).parent().parent().parent().parent().parent().children().css("color", "black");
	}
	if ((form.index.value != '') && !form.index.value.match(/^\d{6}$/)) {
		$(form.index).parent().parent().parent().parent().parent().children().css("color", "red");
		form.index.focus();
		ok = false;
	} else {
		$(form.index).parent().parent().parent().parent().parent().children().css("color", "black");
	}
	if (!(form.street.value.match(/^[\d\-\.\,\sа-яё]+$/i) && (form.street.value.match(/^\d.*[а-яё]$/i) || form.street.value.match(/^[а-яё].+\d*/i)))) {
		$(form.street).parent().parent().parent().parent().parent().children().css("color", "red");
		form.street.focus();
		ok = false;
	} else {
		$(form.street).parent().parent().parent().parent().parent().children().css("color", "black");
	}
	if (!form.building.value.match(/^\d+$/)) {
		$(form.building).parent().parent().parent().parent().parent().children().css("color", "red");
		form.building.focus();
		ok = false;
	} else {
		$(form.building).parent().parent().parent().parent().parent().children().css("color", "black");
	}
	if ((form.building2.value != '') && !form.building2.value.match(/^[\dА-Яа-яЁё]*$/)) {
		$(form.building2).parent().parent().parent().parent().parent().children().css("color", "red");
		form.building2.focus();
		ok = false;
	} else {
		$(form.building2).parent().parent().parent().parent().parent().children().css("color", "black");
	}
	if ((form.apartment.value != '') && !form.apartment.value.match(/^\d[\dА-Яа-яЁё]*$/)) {
		$(form.apartment).parent().parent().parent().parent().parent().children().css("color", "red");
		form.apartment.focus();
		ok = false;
	} else {
		$(form.apartment).parent().parent().parent().parent().parent().children().css("color", "black");
	}
	
	if (!ok) return false;
	
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/registration/addressedit",
			oldname: form.oldname.value,
			newname: form.newname.value,
			city: form.city.value,
			index: form.index.value,
			street: form.street.value,
			building: form.building.value,
			building2: form.building2.value,
			apartment: form.apartment.value
		},
		success: function(result) {
			if (result.code) {
				location.reload();
			}
		}
	});
	
	return false;
}

function showAddressDeleteDialog(addressName) {
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/registration/showaddressdelete",
			address: addressName
		},
		success: function(result) {
			showMessage(result.html);
		}
	});
	
	return false;
}

function submitAddressDelete(addressName) {
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/registration/addressdelete",
			address: addressName
		},
		success: function(result) {
			if (result.code) {
				location.reload();
			}
		}
	});
	
	return false;
}

function showAddressAddDialog() {
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/registration/showaddressadd"
		},
		success: function(result) {
			showMessage(result.html);
			reCreateSelect("type5");
		}
	});
	
	return false;
}

function submitAddressAdd(form) {
	var ok = true;
	
	if (!form.newname.value.match(/^[\w\dА-Яа-яЁё]+$/)) {
		$(form.newname).parent().parent().parent().parent().parent().children().css("color", "red");
		form.newname.focus();
		ok = false;
	} else {
		$(form.newname).parent().parent().parent().parent().parent().children().css("color", "black");
	}
	if (!form.city.value.match(/^[\w\d\-\s\.\,А-Яа-яЁё]+$/)) {
		$(form.city).parent().parent().parent().parent().parent().children().css("color", "red");
		form.city.focus();
		ok = false;
	} else {
		$(form.city).parent().parent().parent().parent().parent().children().css("color", "black");
	}
	if ((form.index.value != '') && !form.index.value.match(/^\d{6}$/)) {
		$(form.index).parent().parent().parent().parent().parent().children().css("color", "red");
		form.index.focus();
		ok = false;
	} else {
		$(form.index).parent().parent().parent().parent().parent().children().css("color", "black");
	}
	if (!(form.street.value.match(/^[\d\-\.\,\sа-яё]+$/i) && (form.street.value.match(/^\d.*[а-яё]$/i) || form.street.value.match(/^[а-яё].+\d*/i)))) {
		$(form.street).parent().parent().parent().parent().parent().children().css("color", "red");
		form.street.focus();
		ok = false;
	} else {
		$(form.street).parent().parent().parent().parent().parent().children().css("color", "black");
	}
	if (!form.building.value.match(/^\d+$/)) {
		$(form.building).parent().parent().parent().parent().parent().children().css("color", "red");
		form.building.focus();
		ok = false;
	} else {
		$(form.building).parent().parent().parent().parent().parent().children().css("color", "black");
	}
	if ((form.building2.value != '') && !form.building2.value.match(/^\d[\dА-Яа-яЁё]*$/)) {
		$(form.building2).parent().parent().parent().parent().parent().children().css("color", "red");
		form.building2.focus();
		ok = false;
	} else {
		$(form.building2).parent().parent().parent().parent().parent().children().css("color", "black");
	}
	if ((form.apartment.value != '') && !form.apartment.value.match(/^\d[\dА-Яа-яЁё]*$/)) {
		$(form.apartment).parent().parent().parent().parent().parent().children().css("color", "red");
		form.apartment.focus();
		ok = false;
	} else {
		$(form.apartment).parent().parent().parent().parent().parent().children().css("color", "black");
	}
	
	if (!ok) return false;

	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/registration/addressedit",
			newname: form.newname.value,
			city: form.city.value,
			index: form.index.value,
			street: form.street.value,
			building: form.building.value,
			building2: form.building2.value,
			apartment: form.apartment.value
		},
		success: function(result) {
			if (result.code) {
				location.reload();
			}
		}
	});
	
	return false;
}

function showCompanyAddDialog() {
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/registration/showcompanyadd"
		},
		success: function(result) {
			showMessage(result.html);
		}
	});

	return false;
}

function submitCompanyAdd(form) {
	ok = true;
	
	if (!form.companyname.value.match(/^[\w\dА-Яа-яЁё\-\+"'\.\s\*\@]+$/)) {
		$(form.companyname).css("color", "red");
		$(form.companyname).parent().parent().parent().parent().parent().find("td h2").css("color", "red");
		form.companyname.focus();
		ok = false;
	} else {
		$(form.companyname).css("color", "black");
		$(form.companyname).parent().parent().parent().parent().parent().find("td h2").css("color", "black");
	}
	if (form.addr1.value == "") {
		$(form.addr1).css("color", "red");
		$(form.addr1).parent().parent().parent().parent().parent().find("td h2").css("color", "red");
		form.addr1.focus();
		ok = false;
	} else {
		$(form.addr1).css("color", "black");
		$(form.addr1).parent().parent().parent().parent().parent().find("td h2").css("color", "black");
	}
	if (form.addr2.value == "") {
		$(form.addr2).css("color", "red");
		$(form.addr2).parent().parent().parent().parent().parent().find("td h2").css("color", "red");
		form.addr2.focus();
		ok = false;
	} else {
		$(form.addr2).css("color", "black");
		$(form.addr2).parent().parent().parent().parent().parent().find("td h2").css("color", "black");
	}
	if (!form.phone.value.match(/^[\d\-\+\(\)\s\*]+$/)) {
		$(form.phone).css("color", "red");
		$(form.phone).parent().parent().parent().parent().parent().find("td h2").css("color", "red");
		form.phone.focus();
		ok = false;
	} else {
		$(form.phone).css("color", "black");
		$(form.phone).parent().parent().parent().parent().parent().find("td h2").css("color", "black");
	}
	if (!form.inn.value.match(/^\d{10}(\d{2})?$/)) {
		$(form.inn).css("color", "red");
		$(form.inn).parent().parent().parent().parent().parent().find("td h2").css("color", "red");
		form.inn.focus();
		ok = false;
	} else {
		$(form.inn).css("color", "black");
		$(form.inn).parent().parent().parent().parent().parent().find("td h2").css("color", "black");
	}
	if ((form.kpp.value != "") && !form.kpp.value.match(/^\d{9}$/)) {
		$(form.kpp).css("color", "red");
		$(form.kpp).parent().parent().parent().parent().parent().find("td h2").css("color", "red");
		form.kpp.focus();
		ok = false;
	} else {
		$(form.kpp).css("color", "black");
		$(form.kpp).parent().parent().parent().parent().parent().find("td h2").css("color", "black");
	}
	
	if (!ok) return false;
	
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/registration/companyadd",
			name: form.companyname.value,
			addr1: form.addr1.value,
			addr2: form.addr2.value,
			inn: form.inn.value,
			kpp: form.kpp.value,
			bik: form.bik.value,
			okpo: form.okpo.value,
			okonh: form.okonh.value,
			email: form.email.value,
			fax: form.fax.value,
			bankname: form.bankname.value,
			bankaddr: form.bankaddr.value,
			account: form.account.value,
			coraccount: form.coraccount.value,
			corbank: form.corbank.value,
			phone: form.phone.value
		},
		success: function(result) {
			if (result.code) {
				location.reload();
			}
		}
	});

	return false;
}

function showCompanyEditDialog(companyName) {
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/registration/showcompanyedit",
			name: companyName
		},
		success: function(result) {
			showMessage(result.html);
		}
	});

	return false;
}

function submitCompanyEdit(form) {
	ok = true;
	
	if (!form.companyname.value.match(/^[\w\dА-Яа-яЁё\-\+"'\.\s\*\@]+$/)) {
		$(form.companyname).css("color", "red");
		$(form.companyname).parent().parent().parent().parent().parent().find("td h2").css("color", "red");
		form.companyname.focus();
		ok = false;
	} else {
		$(form.companyname).css("color", "black");
		$(form.companyname).parent().parent().parent().parent().parent().find("td h2").css("color", "black");
	}
	if (form.addr1.value == "") {
		$(form.addr1).css("color", "red");
		$(form.addr1).parent().parent().parent().parent().parent().find("td h2").css("color", "red");
		form.addr1.focus();
		ok = false;
	} else {
		$(form.addr1).css("color", "black");
		$(form.addr1).parent().parent().parent().parent().parent().find("td h2").css("color", "black");
	}
	if (form.addr2.value == "") {
		$(form.addr2).css("color", "red");
		$(form.addr2).parent().parent().parent().parent().parent().find("td h2").css("color", "red");
		form.addr2.focus();
		ok = false;
	} else {
		$(form.addr2).css("color", "black");
		$(form.addr2).parent().parent().parent().parent().parent().find("td h2").css("color", "black");
	}
	if (!form.phone.value.match(/^[\d\-\+\(\)\s\*]+$/)) {
		$(form.phone).css("color", "red");
		$(form.phone).parent().parent().parent().parent().parent().find("td h2").css("color", "red");
		form.phone.focus();
		ok = false;
	} else {
		$(form.phone).css("color", "black");
		$(form.phone).parent().parent().parent().parent().parent().find("td h2").css("color", "black");
	}
	if (!form.inn.value.match(/^\d{10}(\d{2})?$/)) {
		$(form.inn).css("color", "red");
		$(form.inn).parent().parent().parent().parent().parent().find("td h2").css("color", "red");
		form.inn.focus();
		ok = false;
	} else {
		$(form.inn).css("color", "black");
		$(form.inn).parent().parent().parent().parent().parent().find("td h2").css("color", "black");
	}
	if ((form.kpp.value != "") && !form.kpp.value.match(/^\d{9}$/)) {
		$(form.kpp).css("color", "red");
		$(form.kpp).parent().parent().parent().parent().parent().find("td h2").css("color", "red");
		form.kpp.focus();
		ok = false;
	} else {
		$(form.kpp).css("color", "black");
		$(form.kpp).parent().parent().parent().parent().parent().find("td h2").css("color", "black");
	}
	
	if (!ok) return false;
	
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/registration/companyadd",
			oldname: form.oldname.value,
			name: form.companyname.value,
			addr1: form.addr1.value,
			addr2: form.addr2.value,
			inn: form.inn.value,
			kpp: form.kpp.value,
			bik: form.bik.value,
			okpo: form.okpo.value,
			okonh: form.okonh.value,
			email: form.email.value,
			fax: form.fax.value,
			bankname: form.bankname.value,
			bankaddr: form.bankaddr.value,
			account: form.account.value,
			coraccount: form.coraccount.value,
			corbank: form.corbank.value,
			phone: form.phone.value
		},
		success: function(result) {
			if (result.code) {
				location.reload();
			}
		}
	});

	return false;
}

function showCompanyDeleteDialog(companyName) {
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/registration/showcompanydelete",
			name: companyName
		},
		success: function(result) {
			showMessage(result.html);
		}
	});

	return false;
}

function submitCompanyDelete(companyName) {
	$.ajax({
		url: "/",
		data: {
			client: "js",
			module: "plugins",
			action: "pluginaction/registration/companydelete",
			name: companyName
		},
		success: function(result) {
			if (result.code) {
				location.reload();
			}
		}
	});
	
	return false;
}

/* !—————Utility */

function checkSearchForm(form) {
	return jQuery.trim(form.query.value) != "";
}

function checkRegistrationForm(form) {
	form.addcompany.value = $(".urlico").style.display == "block" ? "yes" : "no";
	
	return false;
}

function emailEdited(input) {
	if (input.form.reg_login.value == "") input.form.reg_login.value = input.value;
}

/* !—————(setup) */

defaultDelivery = "";

$(document).ready(function() {
	defaultDelivery = $("#theme").val();
});

Number.prototype.formatMoney = function() {
	return this.toFixed(2).replace(".", ",").replace(/(\d)(\d{3}\D)/, "$1 $2").replace(/(\d)(\d{3})/, "$1 $2");
}

$.ajaxSetup({
	type: "POST",
	dataType: "json"
});

$(window).ajaxSuccess(function(evt, request, settings) {
	if (!request) return;
	
	if (request.responseText.substr(0, 1) == '{' || request.responseText.substr(0, 1) == '[') {
		result = JSON.parse(request.responseText);
		
		if (result.message) showMessage('<div class="info-window" style="width: 320px"><div class="padding"><h2>Ошибка</h2><p class="smoll pup pbottom">' + result.message + '</p></div></div>');
		if (result.redirect) location.href = result.redirect;
		if (result.newwindow) window.open(result.newwindow);
	}
});
