// Remove form input character on keyup if not 0-9
function checkInt(val) {
	var strPass = val.value;
	var strLength = strPass.length;
	var badchar = false;
	
	for ( i = 0; i < strLength; i++ ) {
		var lchar = val.value.charAt(i);
		if(isNaN(parseInt(lchar))) { badchar = true; }
	}

	if(badchar) {
		var newStr = '';
		for ( i = 0; i < strLength; i++ ) {
			var lchar = val.value.charAt(i);
			if( !isNaN(parseInt(lchar))) { newStr += lchar; }
		}
		val.value = newStr;
	}
}

function addToCart(form) {
	store = new Ext.data.SimpleStore({
		fields:[{ name: 'name', mapping: 'NAME'},
				{ name: 'qty', mapping: 'QTY'},
				{ name: 'id', mapping: 'ID'}]
	});

	CartItem = Ext.data.Record.create([
	   {name: 'qty', type: 'string'},
	   {name: 'name', type: 'string'},
	   {name: 'id', type: 'string'}]);

	var nodes = Ext.query('input.quantity', form);
	for( var i=0; i<nodes.length; i++) {
		if( nodes[i].value > 0) {
			store.add(new CartItem({ name: '', qty: nodes[i].value, id: nodes[i].id }));
		}
	}
	
	if(store.getCount() == 0) {
		alert('Please enter a quantity greater than 0 for the items you wish to add to your cart.');
		return;
	}
	var expData = [];
	var count = 0;
	store.data.each(function() { expData[count++] = this.data; });
	var cartitems = Ext.encode(expData);		
	
	Ext.Ajax.request({
		url: '/components/public.cfc',
		params: { method: 'addCartItems', cartitems: cartitems, category: form.product_category.value },
		success: addtocartCallback,
		failure: function(){ alert('Error connecting to server'); }
	});			
}

function addtocartCallback(response, options) {
	var responseObj = Ext.util.JSON.decode(response.responseText);
	var data = responseObj.data[0];
	var cartCount = data.CARTCOUNT;
	var cartTotal = data.CARTTOTAL;
	var content = data.CONTENT;
	
	Ext.get('main-left').insertHtml('beforeEnd',content);	
	Ext.get('cart-summary').dom.innerHTML = cartCount + ' items - ' + cartTotal;
	window.scrollTo(0,0);	
	catalystAddToCart(data.NEWITEMS, data.NEWCART);
}

function closeCartDialog() { Ext.destroy(Ext.get('cartDialog')); }
