// JavaScript Document
var CartItemsNum = 0;
var AddPressed = false;
function getCartItemsNum() {
	return CartItemsNum;
}

function getCartItems() {
	var xml = new XML("loyalty/ajax/cart.php?"+Math.floor(Math.random()*11));
//	alert(xml);
}

function ValidateCartForm() {
	var cart_items = getCartItemsNum();
	if (cart_items > 0) {
		return true;
	} else {
		alert(_SHOP_CART_NOITEMS);
		return false;
	}
}

function CartResponse(request) {
	var Items = 0;
	var total_price = document.getElementById("total_price");
	var cartitems = document.getElementById('cartitems');
	var xml = request.responseXML;
	var tprice = 0;
	var price;
//	alert( "a" );
	var XMLItems = xml.getElementsByTagName("Item");
	var CartItems = new Array();
	for (var i=0; i<XMLItems.length; i++) {
		Items++;
		CartItems[XMLItems[i].firstChild.nodeValue] = XMLItems[i].getAttribute("amount");
		price = XMLItems[i].getAttribute("price");
		var el = document.getElementById( "price[" + XMLItems[i].firstChild.nodeValue + "]" );
		if( el )
		    el.innerHTML = price;
		tprice += Math.floor(price);
	}
    if( total_price && tprice ) {
        total_points = tprice;
		total_price.innerHTML = tprice;
		deliveryChanged();
    }

	if( AddPressed )
		alert( lang_cart_added );
	CartItemsNum = Items;
	cartitems.innerHTML = Items;
	if( checkDelivery )
	    checkDelivery();
}

function Cart() {
	var ajax = new AJAX();
	ajax.OnStateChange(CartResponse);
	ajax.Open("GET", "loyalty/ajax/cart.php?"+Math.floor(Math.random()*11), true);
	ajax.SetContentType("text/xml");
	ajax.Send(null);
}

function AddToCart(id, amount, ap) {
	if( amount < 0 || amount > 999 )
	    return;
	if( amount == 0 ) {
	    RemoveFromCart( id );
	    return;
	}
	AddPressed = ap?false:true;
	var ajax = new AJAX();
	ajax.OnStateChange(CartResponse);
	ajax.Open("GET", "loyalty/ajax/cart.php?add="+id+","+amount+"&"+Math.floor(Math.random()*11), true);
	ajax.SetContentType("text/xml");
	ajax.Send(null);
}

function RemoveFromCart(id) {
	AddPressed = false;
	var ajax = new AJAX();
	ajax.OnStateChange(CartResponse);
	ajax.Open("GET", "loyalty/ajax/cart.php?remove="+id+"&"+Math.floor(Math.random()*11), true);
	ajax.SetContentType("text/xml");
	ajax.Send(null);
}

var t1 = null;
var t2 = null;

function Increase(id, price, max_amount) {
	var obj = document.getElementById(id);
	var value = obj.value;
//	if( used_points + price > balance ) {
//	    stopFunction();
//	    alert( lang_not_enough_points );
//	    return;
//	}
	if (value == "" || value == null)
		obj.value = 0;
	if( max_amount && obj.value >= max_amount ) {
	    stopFunction();
	    return;
	}
	obj.value++;
	used_points += price;

	t1 = setTimeout("Increase('"+id+"', "+price+", "+max_amount+")", 250);
}

function Decrease(id, price) {
	var obj = document.getElementById(id);
	var value = obj.value;
	
	if (value == "" || value == null)
		obj.value = 0;
		
	if (obj.value > 0) {
		used_points -= price;
		obj.value--;
	}
	t2 = setTimeout("Decrease('"+id+"', "+price+")", 250);
}

function stopFunction() {
	if( t1 ) clearTimeout(t1);
	t1 = null;
	if( t2 ) clearTimeout(t2);
	t2 = null;
}

function checkDelivery() {
	var total_price = document.getElementById("total_price");
    var dt = document.getElementById( "delivery_text" );
    var fm = document.getElementById( "choice" );
	var el1 = document.getElementById("nep");
	var el2 = document.getElementById("order_btn");
	if( !dt || !el1 || !el2 || !total_price || !fm )
	    return;
	if( CartItemsNum == 0 ) {
	    total_price.innerHTML = "0";
	    fm.style.display = "none";
		dt.style.display = "none";
	    el1.style.display = "none";
	    el2.style.display = "none";
	} else if( total_points > balance ) {
	    el1.style.display = "block";
	    el2.style.display = "none";
	} else {
	    el1.style.display = "none";
	    el2.style.display = "block";
	}
}

function deliveryChanged() {
	var dt = document.getElementById( "dt2" );
	var total_price = document.getElementById("total_price");
	if( !dt || !total_price )
	    return;
	if( dt.checked ) {
	    dt = document.getElementById( "delivery_text" );
	    if( !dt ) return;
		if( dt.style.display == "block" ) return;
		dt.style.display = "block";
		total_points += 1000;
		total_price.innerHTML = Math.floor(total_price.innerHTML) + 1000;
	} else {
	    dt = document.getElementById( "delivery_text" );
	    if( !dt ) return;
		if( dt.style.display == "none" ) return;
		dt.style.display = "none";
		total_points -= 1000;
		total_price.innerHTML = Math.floor(total_price.innerHTML) - 1000;
	}
	checkDelivery();
}
