// 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) {
			var p = new CartItem({ name: '', qty: nodes[i].value, id: nodes[i].id });
			store.add(p);
		}
	}
	
	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;
	});	
		
	cartitems = Ext.encode(expData);		

	var params = { method: 'addCartItems', cartitems: cartitems, category: form.product_category.value };
	
	Ext.Ajax.request({
		url: '/components/public.cfc',
		params: params,
		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;
	var allitems = data.ALLITEMS;
	
	Ext.get('inner_sidebar').insertHtml('afterEnd',content);	

	var cartdiv = Ext.get('cart');
	cartdiv.dom.innerHTML = '' + cartCount + ' items - ' + cartTotal;
	window.scrollTo(0,0);
	
	WSS_CartItems(this._gn, this._acct, this._cacct, allitems);
}

function closeCartDialog() {
	Ext.destroy(Ext.get('cartDialog'));
	
}
