$(document).ready( function() {

	var availableCredits = parseInt($(".credits .a").html())
	var bidCredits = getTotalBids();

	// Bid Increment
	$(".add").click(function(){

		var itemId = $(this).attr('id')
		var number = $("input#bid-"+itemId).val();
		$("input#bid-"+itemId).val(getNewValue(number, true, bidCredits, availableCredits));

		return false;				
	});	

	// Bid Decrement
	$(".subtract").click(function() {

		var itemId = $(this).attr('id')
		var number = $("input#bid-"+itemId).val();
		$("input#bid-"+itemId).val(getNewValue(number, false, null));

		return false;			
	});	
});

function getTotalBids() {
	
	var max = 0;
	
	$(".bids").each ( function () {
		max += parseInt(trimZeros($(this).val()));
	});
	return max
}

function formatNumber(num) {
	num = String(num);

	while (num.length < 3) {
		num = '0' + num;
	}
	return num;
}

function trimZeros(numStr) {

	if (numStr && numStr.match("^0") == "0")
		return trimZeros(numStr.slice(1));
	else if (numStr == '')
		return '0'
	else
		return numStr;
}

function getNewValue(inputVal, add, bidCredits, availableCredits) {

	var number = parseInt(trimZeros($.trim(inputVal)));
	if (isNaN(number)) return '000';

	if (add)
		number ++;
	else
		number --;

	if (getTotalBids() - bidCredits >= availableCredits) number --;
	if (number > 999) number = 999;
	if (number < 0) number = 0;

	return formatNumber(number);
}