/**
 * JS-Funktionen des Warenkorbs
 */
if( typeof myty == "undefined" ) var myty = {basePath:'/tycon'};
var tyShopBasket = {
	name : 'tyShopBasket',
	url : myty.basePath + '/modules/shop/handlers/ajaxHandler.php',
	count : 0,
	settings : {},
	callbacks : {
		onAddComplete	: function(){},
		onAddError		: function(){},
		onLoadComplete	: function(){}
	},
	addByButton : function(buttonObj,defaultOptionId,inputNameForOptionId,inputNameForCount){
		var formValues = $ty(buttonObj).parents('form').serializeArray();
		var count = 1;
		var optionId = parseInt(defaultOptionId);

		$ty.each(formValues, function(index, val) {
			if(val.name == inputNameForOptionId){
				optionId = parseInt(val.value);
			}
			if(val.name == inputNameForCount){
				count = parseInt(val.value);
			}
		});
		if(count > 0 && optionId > 0){
			this.add(optionId,count);
			return true;
		}else{
			return false;
		}
	},
	addByForm : function(optionId,countFieldId){
		this.add(optionId,document.getElementById(countFieldId).value);
	},
	add : function(optionId,count){
		var obj = this;
		var data = {object:this.name,action:'add',optionId:optionId,count:count};
		
		$ty.getJSON(this.url,data,function(response){
			$ty('#'+obj.name+'Quantity').text(response.count);
			$ty('#'+obj.name+'SumTotalBrutto').text(response.totalBrutto);
			$ty('#'+obj.name+'SumTotal').text(response.totalSum);

			if(response.error == false){
				obj.count = response.count;
				obj.callbacks.onAddComplete(response);
			}else{
				obj.callbacks.onAddError(response);
			}
		});
	},
	loadBasket : function(){
		var obj = this;
		var data = {object:this.name,action:'loadBasket'};
		$ty.getJSON(this.url,data,function(response){
			obj.count = response.count;
			obj.callbacks.onLoadComplete(response);
		} );
	},
	getCount : function(){return this.count;},
	configure : function(settings,callbacks) {
		this.settings = $ty.extend(this.settings,settings);
		this.callbacks = $ty.extend(this.callbacks,callbacks);
	}
}
//Anfrage-Warenkorb
var tyShopRequestBasket = $ty.extend({},tyShopBasket,{'name':'tyShopRequestBasket'});
