(function($) {

	$(document)
			.ready(
				function() {

					var validator = {
						phone: function(val) {
							val = val.replace(/[^\d]/g, '');
							return val.length >= 7
						},
						email: function(val) {
							return /^[\_a-z0-9\-\+]+(\.[\_a-z0-9\-\+]+)*@[_a-z0-9-]+([\.a-z0-9_-]+)*(\.[a-z]{2,4})$/i
									.test(val);
						},
						string: function(val) {
							return val != '';
						}
					};

					$('a[href="/order/"]').click(
						function() {
							$("div.order-window").show();
							_gaq.push( [
								'_trackPageview', '/add-form/'
							]);
							var yScroll;
							if (self.pageYOffset)
							{
								yScroll = self.pageYOffset;
							} else if (document.documentElement
								&& document.documentElement.scrollTop)
							{
								yScroll = document.documentElement.scrollTop;
							} else if (document.body)
							{
								yScroll = document.body.scrollTop;
							}

							$("div.order-window").css(
								{
									"top": (yScroll + ($(window).height() - $("div.order-window")
											.height()) / 2)
								});
							$("div.order-window-overlay").show();

							return false;
						});

					$("div.order-window-overlay").each(function() {
						$(window).load(updateOrderOverlay);
						$(window).resize(updateOrderOverlay);
					});

					$("div.order-window-overlay").click(function() {
						$("div.order-window").hide();
						$("div.order-window-overlay").hide();
					});

					$("body").keypress(function(e) {
						if (e.keyCode == 27)
						{
							$("div.order-window").hide();
							$("div.order-window-overlay").hide();
						}
					});

					$("body").keydown(function(e) {
						if (e.keyCode == 27)
						{
							$("div.order-window").hide();
							$("div.order-window-overlay").hide();
						}
					});

					$("div.order-window-title a").click(function() {
						$("div.order-window").hide();
						$("div.order-window-overlay").hide();

						return false;
					});

					$("div.order-window-input input").focus(function() {
						$(this).parent().addClass("order-window-input-focus");
					});

					$("div.order-window-input input").blur(function() {
						$(this).parent().removeClass("order-window-input-focus");
					});

					$("div.order-window-textarea textarea").focus(function() {
						$(this).parent().addClass("order-window-textarea-focus");
					});

					$("div.order-window-textarea textarea").blur(function() {
						$(this).parent().removeClass("order-window-textarea-focus");
					});

					$("div.order-window-file input").parent().delegate("input", "change",
						function() {
							// $(this).parent().find("span").html($(this).val());

							//			

							/*
							 * $('#fieldset-files
							 * .files').append(fileUploadAdd());
							 * $("div.order-window-file
							 * input").change(function() {
							 * $(this).parent().find("span").html($(this).val());
							 * }); $("#fieldset-files
							 * #file-upload-"+uploadFileIndex+"
							 * .file-delete").click(function(){ fileUploadDel();
							 * });
							 */

						});

					$("div.order-window-submit").closest("form").submit(function(e) {
						$('div.order-window-input input', this).css( {
							border: 'none'
						});

						var flds = {
							f_Name: 'string',
							f_Phone: 'phone',
							f_Email: 'email'
						};

						$.each(flds, function(key) {
							var inp = $('div.order-window-input input[name="' + key + '"]');

							if (!validator[this](inp.val()))
							{
								inp.css( {
									border: '1px solid red'
								});
								e.preventDefault();
							}
						});
					});

					$('div.order-window-input input[name="f_Phone"]').keyup(function() {
						if (validator.phone($(this).val()))
						{
							$(this).css('border', 'none');
						} else
						{
							$(this).css('border', '1px solid red');
						}
					});

					$('div.order-window-input input[name="f_Email"]').keyup(function() {
						if (validator.email($(this).val()))
						{
							$(this).css('border', 'none');
						} else
						{
							$(this).css('border', '1px solid red');
						}
					});

					$('div.order-window-input input[name="f_Name"]').keyup(function() {
						if (validator.string($(this).val()))
						{
							$(this).css('border', 'none');
						} else
						{
							$(this).css('border', '1px solid red');
						}
					});

					// PAYMENT

					$("body").append(
						"" + "<div class=\"payment-window-overlay\"></div>"
							+ "<!-- payment window -->" + "<div class=\"payment-window\">"
							+ "<div class=\"payment-window-top\"></div>"
							+ "<div class=\"payment-window-middle\"></div>"
							+ "<div class=\"payment-window-bottom\"></div>" + "</div>"
							+ "<!-- payments window END -->" + "");

					$('a[href="/payment/"]')
							.click(
								function() {
									$
											.get(
												"/payment/",
												function(data) {
													var form = /\<\!\-\- content \-\-\>([\s\S]+)\<\!\-\- \/content \-\-\>/
															.exec(data)[1];
													$("div.payment-window-middle").html(
														$("<div style='padding: 20px;'><div>")
																.html(
																	'<a class="close" href="#"></a>'
																		+ form));
													$("div.payment-window").show();

													var yScroll;
													if (self.pageYOffset)
													{
														yScroll = self.pageYOffset;
													} else if (document.documentElement && document.documentElement.scrollTop)
													{
														yScroll = document.documentElement.scrollTop;
													} else if (document.body)
													{
														yScroll = document.body.scrollTop;
													}

													$("div.payment-window")
															.css(
																{
																	"top": (yScroll + ($(window)
																			.height() - $(
																		"div.payment-window")
																			.height()) / 2)
																});
													$("div.payment-window-overlay").show();

													$("#beeline_img")
															.tooltip(
																{
																	bodyHandler: function() {
																		return '<ul>'
																			+ '<li>Услуга доступна для абонентов тарифных планов любой системы расчетов, кроме линейки тарифов "Простая логика".</li>'
																			+ '<li>Услуга доступна только для абонентов-физических лиц сети Билайн.'
																			+ '<li>После списания суммы покупки на вашем счете должно оставаться не менее 50 руб. (для абонентов предоплатной системы расчетов).'
																			+ '<li>Услуга становится доступной с момента расходования вами 150 руб. за услуги связи с момента подключения к сети «Билайн».'
																			+ '</ul>';
																	},
																	showURL: false
																});
													/*$('#evroset')
															.change(
																function() {
																	if ($(this).attr('checked'))
																	{
																		var tr = $('<tr>'
																			+ '<td style="vertical-align: top">Номер телефона:</td>'
																			+ '<td style="padding-bottom: 0">'
																			+ '<input type="text" size="10" name="additionalParameters.rapidaPhone" />'
																			+ '<br />'
																			+ '<small></small>'
																			+ '</td>' + '</tr>');
																		tr.insertAfter($(this).closest('form').find(':input[name=MNT_AMOUNT]').closest('tr'));
																	} else {
																		tr.remove();
																	}
																});*/
												});

									return false;
								});

					$("div.payment-window-overlay").each(function() {
						$(window).load(updatePaymentOverlay);
						$(window).resize(updatePaymentOverlay);
					});

					$("div.payment-window-overlay").click(function() {
						$("div.payment-window").hide();
						$("div.payment-window-overlay").hide();
					});

					$("body").keypress(function(e) {
						if (e.keyCode == 27)
						{
							$("div.payment-window").hide();
							$("div.payment-window-overlay").hide();
						}
					});

					$("body").keydown(function(e) {
						if (e.keyCode == 27)
						{
							$("div.payment-window").hide();
							$("div.payment-window-overlay").hide();
						}
					});

					$("div.payment-window a.close").live('click', function() {
						$("div.payment-window").hide();
						$("div.payment-window-overlay").hide();
						return false;
					});
				});

	function updateOrderOverlay() {
		if ($.browser.msie && ($.browser.version == "6.0"))
		{
			var body = $(document.body);
		} else
		{
			var body = $(document);
		}
		$("div.order-window-overlay").css( {
			width: body.width(),
			height: body.height()
		});
		delete body;
	}

	function updatePaymentOverlay() {
		if ($.browser.msie && ($.browser.version == "6.0"))
		{
			var body = $(document.body);
		} else
		{
			var body = $(document);
		}
		$("div.payment-window-overlay").css( {
			width: body.width(),
			height: body.height()
		});
		delete body;
	}

})(jQuery);

function preprocessPaymentForm(form) {
	var order_number = jQuery.trim(jQuery("input[name='MNT_TRANSACTION_ID']").val());
	var sum = jQuery.trim(jQuery("input[name='MNT_AMOUNT']").val());

	if (order_number == '')
	{
		alert('Пожалуйста, введите номер заказа.');
		jQuery("input[name='MNT_TRANSACTION_ID']").focus();
		return false;
	}
	if (sum == '')
	{
		alert('Пожалуйста, введите сумму.');
		jQuery("input[name='MNT_AMOUNT']").focus();
		return false;
	}

	if (order_number.replace(/[^0-9]/g, '') != order_number)
	{
		alert('Номер заказа должен содержать только цифры');
		jQuery("input[name='MNT_TRANSACTION_ID']").focus();
		return false;
	}
	if (sum.replace(/[^0-9\.\,]/g, '') != sum || sum.split(/[\.\,]/).length > 2)
	{
		alert('Cумма в неверном формате.');
		jQuery("input[name='MNT_AMOUNT']").focus();
		return false;
	}
	jQuery("input[name='MNT_AMOUNT']").val(sum.replace(',', '.'));

	var system = jQuery("input[name='paymentSystem.unitId']:checked").val();
	jQuery(form).removeAttr("target");
	if (system == '382203'/* || system == '232821' || system == '265192'*/)
	{
		// Оплата картой или через терминалы
		// TODO: Сделать что-то с шириной
		jQuery(form).hide();
		jQuery("iframe[name='pay_iframe']").show();
		jQuery(form).attr("target", "pay_iframe");
	} else if (system == '1030')
	{
		// Оплата через банк
		sum2 = sum.split(/[\.\,]/);
		if (sum2[1] == undefined)
			sum2[1] = 0;
		jQuery("iframe[name='pay_iframe']").attr('src', '/payment/bank/done/?bill=' + order_number + '&r=' + sum2[0] + '&k='
			+ sum2[1]).load(
			function() {
				jQuery(form).hide();
				jQuery(this).show();
				window.open("/payment/bank/?bill=" + order_number + '&r=' + sum2[0] + '&k='
					+ sum2[1], 'bill', '1,0,0,0,0,resizable=1,scrollbars=1,width=730,height=670');
			});
		return false;
	} else
	{
		jQuery("div.payment-window").hide();
		jQuery("div.payment-window-overlay").hide();
		jQuery(form).attr("target", "_blank");
	}

	return true;
}

function payIframeLoad(loc) {
	/*
	 * if (loc && loc.toString().indexOf("martinperevod.ru") != -1) {
	 * document.location = loc; }
	 */
}
