Fidelity = {};

Fidelity.changeQty = function (value, max) {
	var txtQty = $('shopQuantity');
	var oldValue = parseInt(txtQty.value, 10);

	oldValue += value;

	if (isNaN(oldValue)) {
		oldValue = 1;
	} else if (oldValue < 1) {
		oldValue = 1;
	} else if (oldValue > max) {
		oldValue = max;
	}
	txtQty.value = oldValue;
}

Fidelity.calcPointsLeft = function (points, price) {
	$('pointsLeft').innerHTML = points - ($('shopQuantity').value * price);
}

Fidelity.buyGift = function (id) {
	(new Ajax.Request('/ajax/shop.php', {
		method: 'post',
		parameters: {
			id: id,
			quantity: $('shopQuantity').value
		},
		onSuccess: function (response){
			var r = response.responseText.evalJSON();
			if (r.success) {
				$('shopPoints').innerHTML = r.pointsLeft;
				$('modalContent').hide();
				$('modalMessage').show();

				//hide one_time and one_day gift
				if (r.hide_gift) {
					Effect.BlindUp('shop_gift_' + id);
				}

				//hide too expensive gifts
				var shopGifts = $$('div.shopGift');
				r.pointsLeft = parseInt(r.pointsLeft, 10);
				shopGifts.each(function(e) {
					if ((parseInt(e.attributes.points.value, 10) > r.pointsLeft) && e.visible()) {
						Effect.BlindUp(e);
					}
				});
			} else {
				$('modalMessage2').innerHTML = r.message;
				$('modalContent').hide();
				$('modalMessage').show();
			}
		},
		onFailure: function (response){
			var r = response.responseText.evalJSON();
			$('modalMessage2').innerHTML = r.message;
			$('modalContent').hide();
			$('modalMessage').show();
		}
	}));
}
