var today, dispYear, dispMonth;

document.observe('dom:loaded', init);

function init() {

	$$('a:not([class~=a1])').invoke('addClassName', 'a');

	if ($("calendar")) {
		today = new Date();
//		if (!currDate && !currMonth) { currDate = today.getDate(); }
//		if (!currMonth) { currMonth = today.getMonth(); }
		dispYear = today.getFullYear();
		dispMonth = currMonth ? currMonth : today.getMonth();

		buildCalendar(dispYear, dispMonth);			
	}
}

function restorePwd() {
	if (!$F("u_email_auth")) {
		alert ("Укажите адрес вашей электропочты, и мы пришлем вам ваш пароль.");
		$("u_email_auth").focus();
		return 0;
	}

	$("password-recovery").show();
	$("password-recovery").down().update("<img src='/l2/art/icons/wait.gif' class='a-icon' title='Восстановление пароля...' align='left' />&nbsp;<span class='small'>Восстановление пароля...</span>");

	new Ajax.Request("/", {
		parameters: {
			restore_pwd: 1,
			email: $F("u_email_auth") 
		},
		onSuccess: function (tr) {
			$("password-recovery").down().update(tr.responseText);
		}
	});
}

function showRegFrm() {
	$("auth-form").remove();
	$("newbee").update("Пожалуйста, укажите ваши данные, чтобы наши курьеры знали, кому и куда доставить билеты.");
	$("reg-form").show();
}

function togglePwdField () {
	if ($("u_remember").checked) {
		$("u-pwd-div").show();
		$("u_pwd").focus();
	} 
	else {
		$("u-pwd-div").hide();
		$("u_pwd").setValue("");
	}
}

function loggingIn() {
	$("newbee").hide();
	$("password-recovery").hide();
	$("auth-button").hide();
	$("auth-wait").update("<img src='/l2/art/icons/wait.gif' class='a-icon' title='Авторизация...' align='left' />&nbsp;<span class='small'>Авторизация...</span>");
	$("order-frm").request({
		parameters: {
			auth: 1
		},
		onSuccess: function (tr) {

			if (tr.responseText) {
				window.location.href = '/orders';
//				$("order-form").update(tr.responseText);
			}
			else {
				$("newbee").show();
				$("auth-wait").hide();
				$("auth-button").show();
				$("auth-failed").show();
				$("auth-failed").down().update("Мы не нашли подходящей кандидатуры. Проверьте, пожалуйста, правильность ввода электропочты и пароля.");
			}
		}
	});
	return 0;
}

function proceedOrder() {
	$("order-button").update("<img src='/l2/art/icons/wait.gif' class='a-icon' title='Идет обработка заказа...' align='left' />&nbsp;<span class='small'>Идет обработка заказа...</span>");
	$("order-frm").request({
		parameters: {
			proceed_order: 1
		},
		onSuccess: function (tr) {

			var email = $F("u_email");
			if ($F("u_remember")) {
				$("hello").update("Здравствуйте, " + $F("u_name") + ". <a href='#' onclick='logout(); return false;'>Выйти</a>.");
			}

			$("order").update("Ваш заказ принят. На адрес "+email+" отправлены детали заказа. Наш менеджер может связаться с Вами для уточнения деталей заказа. Заказ необходимо оплатить в течение 2 суток, иначе он будет аннулирован.<br /><br />Спасибо.");
			$("orders-info").hide();

		}
	});
}

function logout() {
	DeleteCookie("goskassir_auth");
	window.location.reload(true);
}

function showSeats(n, id, sector, row) {
	$("seats-"+n).update("<img src='/l2/art/icons/wait.gif' class='a-icon' align='left' title='Загрузка' />&nbsp;<span class='small'>Загружается список мест...</span>");
	$("seats-link-"+n).hide();
	new Ajax.Request("/", {
		parameters: {
			show_seats: 1,
			id: id,
			sector: sector,
			row: row
		},
		onSuccess: function (tr) {
			$("seats-"+n).update(tr.responseText);
			$$('.ticket-num[rel]').invoke('observe', 'click', function(event) {
				event.element().blur();
				event.stop();
				if (this.rel) {
					addToOrder(this.rel);
				}
			});
		}
	}); 
}

function addToOrder(id) {
	$('ticket-'+id).hide();
	$('ticket-'+id).insert({before: "<div class='seat'><img src='/l2/art/icons/wait.gif' class='a-icon' title='Добавление в корзину' /></div>"});

	new Ajax.Request("/", {
		parameters: {
			ticket_selected: 1,
			ticket_id: id
		},
		onSuccess: function (tr) {
			$('ticket-'+id).show();
			$('ticket-'+id).previous().hide();
			new Effect.Parallel([
				new Effect.Highlight('ticket-'+id, { sync: true, startcolor: '#cc7b33', endcolor: '#efca6f' }),
				new Effect.Fade('ticket-'+id, { sync: true }),
				new Effect.Move('ticket-'+id, { sync: true, x: 0, y: -100, mode: 'relative' }),
				new Effect.Highlight('orders-info', { sync: true, startcolor: '#cc7b33', endcolor: '#efca6f' })
			], { 
				duration: 0.5
			});
			updateOrderInfo(tr.responseText);
			var ticketsNumId = $('ticket-'+id).up().id+'-num';
			var ticketsLeft = $(ticketsNumId).innerText;
			$(ticketsNumId).update(ticketsLeft - 1);
			if (ticketsLeft == 1) {
				$('ticket-'+id).up().hide();
			}
		}
	});
}

function removeFromOrder(id) {
	$('ticket-remove-'+id).insert({before: "<img src='/l2/art/icons/wait.gif' class='a-icon' title='Удаление из заказа' align='left' />"});
	$('ticket-remove-'+id).hide();
	new Ajax.Request("/", {
		parameters: {
			ticket_cancelled: 1,
			ticket_id: id
		},
		onSuccess: function (tr) {
			$('ticket-'+id).remove();
			new Effect.Parallel([
				new Effect.Highlight('orders-info', { sync: true, startcolor: '#cc7b33', endcolor: '#efca6f' })
			], { 
				duration: 0.5
			});
			updateOrderInfo(tr.responseText);
			tr.responseText ? $("orders-info2").update(tr.responseText) : $("order").update("В вашей корзине нет билетов.");
		}
	});
}

function updateOrderInfo(txt) {
	$("orders-info").show();
	$("orders-info").update(txt);
}
