// xajax loader
xajax.callback.global.onRequest = function() {
	xajax.$('cartLoading').style.display = 'inline';
};
xajax.callback.global.beforeResponseProcessing = function() {
	xajax.$('cartLoading').style.display = 'none';
};

$(document).ready(function () {
	$('#message_div').show().delay(7000).fadeOut('slow');

	checkRequiredVisual();
	$(".required").blur(checkRequiredVisual);
	$(".valinta").change(calcSum);

	$(".hilight").hover(
		function(){
			$(this).css("background-position", "0 -" + $(this).css('height'));
		},
		function(){
			$(this).css("background-position", "0 0");
		}
	);

	$('.update_cart_amount').change(function(){
		xajax_updateCartAmounts(xajax.getFormValues('cartForm'));
	});
});

function calcSum()
{
	xajax_updateSum(xajax.getFormValues('orderForm'));
}

function quickAddToCart(id, _type, elm)
{
	xajax_updateCart(id, {
		order_amount: 1,
		type: _type,
		product_id:id
	});

	return false;
}

function addedToCart()
{
	$("#message_div").remove();
	$("<div />").attr("id", "message_div").addClass("ok").text(locStr.addedToBasket[loc]).appendTo("body").show().delay(4000).fadeOut("slow");
}

function removeFromCart(id)
{
	xajax.call( "removeCart",  {
		parameters: [ id ],
		mode: "synchronous"
	} );
	location.reload(true);
	return false;
}

function checkRequiredVisual()
{
	$(".required").each(function(){
		if(this.value == undefined || this.value == ''){
			$(this).removeClass("required_ok");
			$(this).addClass("required_wrong");
		}
		else
		{
			$(this).removeClass("required_wrong");
			$(this).addClass("required_ok");
		}
	});
}

function checkRequired()
{
	var valid;
	valid = false;

	$(".required").each(function(){
		if(this.type == "checkbox")
		{
			if(!this.checked)
			{
				valid = false;
				alert("Arvo puuttuu: " + $(this).attr('rel'));
				return false;
			}
		}
		else
		{

			if(this.value == undefined || this.value == ''){
				valid = false;
				alert("Arvo puuttuu: " + $(this).attr('rel'));
				return false;
			}
		}

		valid = true;
		return true;
	});

	return valid;
}

function orderDone()
{
	addedToCart();
}
