var Basket=new Class({
	Implements: Options,
	options: {
		url: {
			connector:	'http://'+((window.location.href.indexOf('www')>-1)?'www.':'')+'lbt.hu/ajaxBridge/basket.php',
			add:		'do=add&product_id=[id]&amount=[amount]',
			addff:		'do=addfromfav&product_id=[id]&amount=[amount]',
			remove:		'do=remove&basket_id=[id]',
			amount:		'do=setAmount&amount=[amount]',
			refresh:	'do=getList',
			setep:		'do=setep&id=[id]&value=[myvalue]',
			removebypid:'do=removebypid&product_id=[id]'
		},
		elements: {
			compactList:	'basket_compact_list',
			compactSum:		'basket_compact_sum'
		}
	},

	initialize: function(options){
		this.setOptions(options);
	},

	add: function(product_id, amount_id){
		var amount=$(amount_id).get('value');
		var _url=this.options.url.connector+'?'+this.options.url.add.replace('[id]',product_id).replace('[amount]',amount);
		this._refresh(_url);
	},
	
	addOne: function(product_id){
		var _url=this.options.url.connector+'?'+this.options.url.add.replace('[id]',product_id).replace('[amount]',1);
		this._refresh(_url);
	},
	
	addFromfav: function(product_id, amount){
		var _url=this.options.url.connector+'?'+this.options.url.addff.replace('[id]',product_id).replace('[amount]',amount);
		this._refresh2(_url);
		
	},
	
	setep: function(id, myvalue){
		var _url=this.options.url.connector+'?'+this.options.url.setep.replace('[id]',id).replace('[myvalue]',myvalue);
		var myRequest = new Request({
			url:		_url,
			onSuccess:	function(r){
				
			}.bind(this)
		}).send();
		return false;
	},

	remove: function(basket_id){
		var _url=this.options.url.connector+'?'+this.options.url.remove.replace('[id]',basket_id);
		this._refresh(_url);
	},
	
	removebypid: function(product_id){
		var _url=this.options.url.connector+'?'+this.options.url.removebypid.replace('[id]',product_id);
		this._refresh(_url);
	},

	setAmount: function(amount){
		var _url=this.options.url.connector+'?'+this.options.url.amount.replace('[amount]',amount);
		this._refresh(_url);
	},

	refresh: function(){
		var _url=this.options.url.connector+'?'+this.options.url.refresh;
		this._refresh(_url);
	},

	new_window: function(mytext){
		new MochaUI.Window({
			id: 'warning',
			title: 'Figyelmeztetés',
			content: mytext,
			type: 'modal',
			type: 'modal',
			resizable: true,
			draggable: false,
			width: 240,
			height: 40
		});
	},
	
	_refresh: function(url){
		var myRequest = new Request({
			url:		url,
			onSuccess:	function(r){
				eval('var _response='+r);
				var _list=_response.items;

				if (_response.error!=undefined && _response.error!='') this.new_window(_response.error);
				
				var basketCompakt=$(this.options.elements.compactList);
				basketCompakt.empty();

				var basketHead=new Element('p',{
					styles: {
						marginTop:		'0px',
				    	marginBottom:	'5px',
				    	color:			'#606BB7'
				    }
				}).inject(basketCompakt);

				if(_list.length){
					basketHead.set('html','Ön az alábbi termékeket kívánja megvásárolni:');

					var table=new Element('table');
					var tbody=new Element('tbody').inject(table);
					var tr,td;
					for(var i=0;i<_list.length;i++){
						tr=new Element('tr').inject(tbody);
						new Element('td', {'html':_list[i].product_name, 'colspan' : 2, 'class':'product_name', 'styles': {'width': '100px'}}).inject(tr);

						//new Element('td', {'html':'<a href="" onclick="myBasket.remove('+_list[i].basketID+');return false;"><img height="18" width="18" title="Kiveszem a kosárból" alt="Kiveszem a kosárból" src="images/torles_ikon.png"></a>'}).inject(tr);
						new Element('td', {'html':'<a href="basket/basket/remove|'+_list[i].basketID+'"><img height="18" width="18" title="Kiveszem a kosárból" alt="Kiveszem a kosárból" src="images/torles_ikon.png"></a>'}).inject(tr);
						
						tr=new Element('tr').inject(tbody);
						new Element('td', {'html':_list[i].amount+' db', 'class':'amount', 'style':'width: 100px;'}).inject(tr);
						new Element('td', {
							'html':_list[i].formatted_prize_retail_gross,
							'colspan' : 2,
							'styles': { 'textAlign': 'right', 'paddingRight': '10px' }
						}).inject(tr);
					}
					table.inject(basketCompakt)

					$(this.options.elements.compactSum).set('html',_response.sum);
				} else {
					basketHead.set('html','Az Ön kosara jelenleg üres.');
					$(this.options.elements.compactSum).set('html','');
				}
				
			}.bind(this)
		}).send();
		return false;
	},
	
	_refresh2: function(url){
		var myRequest = new Request({
			url:		url,
			onSuccess:	function(r){
				window.location.reload();
			}.bind(this)
		}).send();
		return false;
	}
});
