/*****************************   anDeRan   ************************************/

jQuery(function($) {
	var min_sum = 0;

	if (jQuery().fancybox) {
		$("a.fancybox").fancybox({
			'transitionIn'	: 'elastic',
			'transitionOut'	: 'elastic',
			'overlayColor'  : '#000',
			'overlayOpacity': 0.6,
			'onStart'       : function (links, index) {
				$(links).css("visibility", "visible");
				$(links[index]).css("visibility", "hidden");
			},
			'onClosed'      : function (links, index) {
				$(links[index]).css("visibility", "visible");
			}
		});
	}

	$("#cat").change(function () {
		var path = location.href.replace(/(.+\/)[^\/]+\/?$/, "$1");
		location.href = path + $(this).val() + '/';
	});

	if (jQuery().autocomplete) {
		$("#lbl-street").each(function () {
			var select = $(this);
			$.getJSON('/orders/scripts/requests.php?action=streets', function (data) {
				select.autocomplete({ source: data });
			});
		});
	}

	if (jQuery().datetimepicker) {
		$.datepicker.regional['ru'] = {
			closeText: 'Закрыть',
			prevText: '<Пред',
			nextText: 'След>',
			currentText: 'Сегодня',
			monthNames: ['Январь','Февраль','Март','Апрель','Май','Июнь',
			'Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],
			monthNamesShort: ['Янв','Фев','Мар','Апр','Май','Июн',
			'Июл','Авг','Сен','Окт','Ноя','Дек'],
			dayNames: ['воскресенье','понедельник','вторник','среда','четверг','пятница','суббота'],
			dayNamesShort: ['вск','пнд','втр','срд','чтв','птн','сбт'],
			dayNamesMin: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб'],
			weekHeader: 'Не',
			dateFormat: 'dd.mm.yy',
			firstDay: 1,
			isRTL: false,
			showMonthAfterYear: false,
			yearSuffix: ''
		};
		$.datepicker.setDefaults( $.datepicker.regional[ "ru" ] );

		$.timepicker.regional['ru'] = {
			timeOnlyTitle: 'Выберите время',
			timeText: 'Время',
			hourText: 'Часы',
			minuteText: 'Минуты',
			secondText: 'Секунды',
			currentText: 'Теперь',
			closeText: 'Закрыть',
			ampm: false
		};
		$.timepicker.setDefaults($.timepicker.regional['ru']);

		$('.f-datetime').datetimepicker({
			hourMin: 0,
			hourMax: 23,
			minuteMax: 55,
			minuteGrid: 10,
			stepMinute: 5,
			minDate: 0,
			maxDate: 30
		});
	
		$('.f-time').timepicker({
			hourMin: 0,
			hourMax: 23,
			minuteMax: 55,
			minuteGrid: 10,
			stepMinute: 5
		});
	}

	$("select[name='delivery']").change(function () {
		var val = $(this).val();
		var datetime = $(this).parent().find("input.f-datetime");
		var time = $(this).parent().find("input.f-time");
		switch (val) {
		case 'today':
		case 'tomorrow':
			datetime.hide();
			time.show();
			break;
		case 'date':
			datetime.show();
			time.hide();
			break;
		default:
			datetime.hide();
			time.hide();
		}
	});

	var calcTotal = function () {
		var amounts = $("#cart tr.p-line td.amount");
		if (amounts.length) {
			var total = 0;
			amounts.each(function () {
				var price = parseFloat($(this).parent().find("td.price").html());
				total += parseInt($(this).html(), 10) * price;
			});
			$("#cart tr.hdr-total span").html(total);
			var button = $("#cart tr.hdr-buttons input.b-order");
			if (total >= min_sum) {
				button.addClass("b-on");
			} else {
				button.removeClass("b-on");
			}
		} else {
			var col = $(".col-right");
			if (col.length) {
				col.fadeOut("fast", function () {
					$(this).remove();
					$("#content div.col-middle").removeClass("col-dual");
				});
			}
		}
	};

	$(".prices .button").click(function () {
		$(this).blur();

		var input = $(this).parent().find("input.field");
		var amount = parseInt(input.val(), 10);
		var __id = parseInt(input.attr("name").replace(/\D+/g, ""), 10);

		var col = $(".col-right");
		var cart = $("#cart");
		var hidden = false;
		if (!col.length) {
			col = $("<div>").addClass("col-right");
			var middle = $("#content div.col-middle");
			middle.addClass("col-dual");
			middle.parent().prepend(col);
			var fixed = $("<div>").addClass("fixed").appendTo(col);
			cart = $("<table>").attr("id", "cart").hide().appendTo(fixed);
			hidden = true;

			var tr = $("<tr>").addClass("hdr-row");
			$("<td>").addClass("hdr-ttl").html("Ваш заказ:").appendTo(tr);
			$("<td>").addClass("price").html("Цена").appendTo(tr);
			$("<td>").addClass("amount").html("Кол-во").appendTo(tr);
			$("<td>").addClass("remove").html('&nbsp;').appendTo(tr);
			tr.appendTo(cart);

			var tr = $("<tr>").addClass("hdr-total");
			$("<td>").attr("colspan", "4").html("Всего: <span></span> грн").appendTo(tr);
			tr.appendTo(cart);
			var tr = $("<tr>").addClass("hdr-buttons");
			$("<td>").attr("colspan", "4").html('<input type="button" value="очистить" class="button b-clear" /> <input type="button" value="заказать" class="button b-order" />').appendTo(tr);
			tr.appendTo(cart);
			$("<p>").addClass("min-sum").html('Минимальная сумма заказа - ' + min_sum + ' грн').appendTo(fixed);
		}

		var td_amount = $("#p-" + __id + " td.amount");
		if (td_amount.length) {
			td_amount.html(parseInt(td_amount.html(), 10) + amount);
			calcTotal();
			$.get("/scripts/requests.php?action=cart&price=" + __id + "&amount=" + amount);
		} else {
			$.getJSON("/scripts/requests.php?action=cart&price=" + __id + "&amount=" + amount, function (data) {
				td_amount = $("#p-" + __id + " td.amount");
				if (td_amount.length) {
					td_amount.html(parseInt(td_amount.html(), 10) + amount);
					calcTotal();
				} else {
					var tr = $("<tr>").addClass("p-line").attr("id", "p-" + __id);
					$("<td>").html("<strong>" + data.name + "</strong><br />" + data.name2).appendTo(tr);
					$("<td>").addClass("price").html(data.price).appendTo(tr);
					$("<td>").addClass("amount").html(amount).appendTo(tr);
					$("<td>").addClass("remove").html('<a href="#"><img src="/images/common/remove.gif" width="14" height="20" alt="" /></a>').appendTo(tr);
					tr.insertBefore("#cart tr.hdr-total");
					calcTotal();
					if (hidden) {
						cart.fadeIn();
					}
				}
			});
		}
	});

	$("#cart tr.p-line td.remove a").live("click", function () {
		$(this).blur();
		var tr = $(this).parent().parent();
		$.get("/scripts/requests.php?action=cart_remove&price=" + tr.attr("id").replace(/p\-/, ""));
		tr.fadeOut(function () {
			$(this).remove();
			calcTotal();
		});
		return false;
	});
	$("#cart tr.hdr-buttons input.b-clear").live("click", function () {
		$(this).blur();
		$.get("/scripts/requests.php?action=cart_clear");

		$("#cart tr.p-line").each(function () {
			$(this).fadeOut(function () {
				$(this).remove();
				calcTotal();
			});
		});
	});
	$("#cart tr.hdr-buttons input.b-order").live("click", function () {
		$(this).blur();
		location.href = '/vash-profail/';
	});

	$.getJSON("/scripts/requests.php?action=params", function (data) {
		min_sum = parseInt(data[0], 10);
	});

	$("form.poll").submit(function () {
		var form = $(this);
		$.post("/scripts/requests.php?action=get_results&pid=" + this.action.replace(/.+(\d+).*$/, '$1'), $(this).serialize(), function (data) {
			form.html(data);
		});
		return false;
	});

	$("#subscribe input.button").click(function () {
		var field = $(this).parent().find("input.field");
		if (!field.val().match(/^[\w\-\.]+@[\w\-\.]+\.[a-z]{2,4}$/i)) {
			field.addClass("error");
		} else {
			field.removeClass("error");
			$.get("/scripts/requests.php?action=subscribe&email=" + field.val());
			$("#subscribe").html("<p>Спасибо, Ваши данные отправлены.</p>");
		}
	});

	$("form.form input.btn-order").click(function () {
		$(this).blur();

		this.form.action = this.form.action.replace("update", "complete");
		this.form.submit();

		return false;
	});

	$("form.form input.btn-logout").click(function () {
		$(this).blur();

		this.form.action = this.form.action.replace("update/", "?logout");
		this.form.submit();

		return false;
	});
});

