$(function(){

	$("#account-panel-data .login-form input[name=email]").obof("e-mail");
	$("#account-panel-data .login-form input[name=password]").obof("*x*y*z");

	if (!$("#homepage-search input[type=text]").val())
		$("#homepage-search input[type=text]").obof("поиск по сайту");

	$("#account-panel .toggle").click(function(){
		$("#account-panel-data").slideToggle(200, function(){
			$toggle = $("#account-panel-toggle")
			if ($(this).is(":hidden")) {
				$toggle.find(".shown").show()
				$toggle.find(".hidden").hide()
			}
			else {
				$toggle.find(".hidden").show()
				$toggle.find(".shown").hide()
			}
		})
		return false
	})

    $("ul.product-tabs").delegate("li:not(.active)", "click", function() {
        $(this).addClass("active")
          .siblings().removeClass("active")
          .closest(".product-footer").find(".product-cart").hide()
          .eq($(this).index()).show()
    })

    $("#product-info .tabs").delegate("li:not(.active)", "click", function() {
        $(this).addClass("active")
          .siblings().removeClass("active")
          .closest("#product-info").find(".box").hide()
          .eq($(this).index()).fadeIn(100)
    })

    $("ul.product-list .product-cart .product-add-quantity a.up, #product-data .product-description table.price .product-add-quantity a.up, #cart-form .product-add-quantity a.up").click(function(){
    	var $q = $(this).closest(".product-cart").find(".product-quantity")
    	$q.val($q.val() * 1 + 1)

		var ob = document.getElementById('pos_cnt_'+this.getAttribute('pos'))
		if (ob)
			siteAjax.link(false, false, {
				'POS':this.getAttribute('pos'),
				'QUANTITY':ob.value
			})
    	return false
    })

    $("ul.product-list .product-cart .product-add-quantity a.down, #product-data .product-description table.price .product-add-quantity a.down, #cart-form .product-add-quantity a.down").click(function(){
    	var $q = $(this).closest(".product-cart").find(".product-quantity")
    	$q.val($q.val() * 1 - 1 ? $q.val() * 1 - 1 : 1)

		var ob = document.getElementById('pos_cnt_'+this.getAttribute('pos'))
		if (ob)
			siteAjax.link(false, false, {
				'POS':this.getAttribute('pos'),
				'QUANTITY':ob.value
			})
    	return false
	})

	$("ul.product-list .product-cart form, #product-data .product-description table.price form").submit(function(){
		$(this).closest(".product-cart").find("input.product-quantity").val(1)
    	return false
    })

	function calcOrderSum() {
		var sum = 0
		$("#cart-form .sum .val-raw").each(function(){ sum += $(this).text() * 1 })
		$(".order-sum").text(formatCurrency(sum))
	}

	function updatePrices(ctx) {
		var price    = $(ctx).closest(".cart-product").find(".price .val-raw").text() * 1
		var quantity = $(ctx).closest(".product-cart").find(".product-quantity").val() * 1
		var $sum     = $(ctx).closest(".cart-product").find(".sum");
		var v        = price * quantity
		$sum.find(".val").text(isNaN(v) ? 0 : v)
		$sum.find(".val-raw").text(isNaN(v) ? 0 : v)
		calcOrderSum();
	}

	calcOrderSum();

	$("#cart-form .product-add-quantity a.up, #cart-form .product-add-quantity a.down").click(function(){ updatePrices(this) })

	$("#cart-form input.product-quantity").keyup(function(){
		var ob = document.getElementById('pos_cnt_'+this.getAttribute('pos'))
		if (ob)
			siteAjax.link(false, false, {
				'POS':this.getAttribute('pos'),
				'QUANTITY':ob.value
			})
		updatePrices(this)
	})

	$("#cart-form .delete a").click(function(){
		if (confirm("Вы уверены?")) {
			// TODO: ajax remove
			$(this).closest(".cart-product").remove()
			calcOrderSum()

			siteAjax.link(false, false, {
				'POS':this.getAttribute('pos'),
				'DELET':'Y'
			})
		}
		return false;
	})

	$("#cart-order").click(function(){ $("#cart-form").submit() })

	$("#delivery-form .change-form").click(function(){
		$("#delivery-form .form").removeClass("form-active")
		$(this).closest(".form").addClass("form-active")
	})

	$("#delivery-form-submit").click(function(){
		$(".form-userinfo form").submit();
		return false;
	})

	$("#authorized-delivery-form-submit").click(function(){
		$("#authorized-delivery-form").submit()
	})
});


(function($){

    $.fn.obof = function(str){
        return this.each(function(){
            var $el = $(this);
            $el.val(str);
            $el.blur(function(){ if (!$el.val().length) $el.val(str); });
            $el.focus(function(){ if ($el.val() == str) $el.val(""); });
        });
    };

})(jQuery);


function formatCurrency(num) {
	// not implemented
	return num;
}

