var nsCart = nsBase.extend({
	status : function () {
		var options = Object.extend({
			onComplete : function() { 
				var elm = $('CartShow');
				if (elm) {
					elm.addEvent('click', this.show.bind(this));
				}
			}.bind(this)
		}, this.options['status']);
	
		this.request(options);
	},

	addItem : function (id) {
		if (!id) return;
		var el, params = {};
		el = $('item_id['+id+']');
//		el.value = el.value.toInt();

		if (el.value > 0) {
			params['item_id['+id+']'] = el.value;
			var options = Object.extend({
				onComplete : function() { 
					this.status();
				}.bind(this)
			}, this.options['add']);

			options.data = Object.extend(params, options.data);
/*
		for (var i in options.data)
			alert(i + " : " + options.data[i]);
return; 
*/
			this.request(options);
		}
		el.value = 0;
	},

	addItems : function () {
		var frm = $(options.formId);

		var options = Object.extend({
			onComplete : function() { 
				this.status();
			}.bind(this)
		}, this.options['add']);

		this.submit(frm, options);
		this.setNull();
	},

	setNull : function () {
		var ff = $('frm').elements;
		for (var i = 0; i < ff.length; ++i) 
		{
			ff[i].value = 0;
		}
	},

	clear : function (options) {
		var options = Object.extend({
			onComplete : function() { 
				this.show();
				this.status(); 
			}.bind(this)
		}, options || {});

		Object.extend(options, this.options['clear']);
		
		this.request(options);
	},

	recalc : function () {
		var frm = $(this.options.formId);

		var options = Object.extend({
			onComplete : function() { 
				this.status();
				this.show();
			}.bind(this)
		}, this.options['recalc']);

		this.submit(frm, options);
	}, 

	delItem : function (id) {
		var params = {};
		params['item_id['+id+']'] = 0;

		var options = Object.extend({
			onComplete : function() { 
				this.status();
				this.show();
			}.bind(this)
		}, this.options['del']);
		Object.extend(options.data || {}, params);
		this.request(options);
	},

	show : function () {
		this.request(this.options['show']);
	}
});
