(function($){
	$.fn.CartKits = function(){
		var $this = this;
		var url = arguments[0] || "ajax/Cart.asp";
		$this.filter('[@cart="buy"]').attr('href','javascript:void(0);').bind("click",function(){
			var __obj  = $(this);
			var _json = new Function("return " + __obj.attr("data"))();
			_json['action'] = 'buy';
			$.ajax({
				dataType:"json",
				type: "GET",
				cache:false,
				url:url,
				data:_json,
				success:function(data, textStatus){
					if(data.flag){
						$('[@cart=totalAmount]').html(data.qty);
						location.replace('basket.asp');
					}else
						alertEx(data);
				},//请求出错处理
				error: function(data,textStatus){alert("Error:");}
			}); 
		});
		$this.filter('[@cart="totalAmount"]').load(url,{action:'totalAmount'});
		$this.filter('[@cart="Remove"]').bind("click",function(){
			var __obj = $(this)
			var ID = __obj.attr("data");
			var params = [];
			params.push('ID='+ID);
			params.push('action=Remove');
			$.prompt("Delete this product from basket?",{ 
					buttons:{Delete:true, Cancel:false},
					callback: function(v,m){
						if(v){
			$.ajax({
				dataType:"json",
				type: "GET",
				cache:false,
				url:url,
				data:params.join('&'),
				success:function(data, textStatus){
					//alertEx(data);
					$('#baskets').load(url,{action:'Print'},function(){
						$('#Content1 img[@autosize=\"true\"]').ImageAutoSize(80,80);
						$('#Content1 div.basketProduct:odd').css("background","#F2F2F1");
						$('[@cart]').CartKits('ajax/Cart_En.asp');
						$('#baskets input[type="text"]').onlypressnum();
						$('a[rel*="facebox"]').facebox();
					});
					
					//location.reload();
				},//请求出错处理
				error: function(){alert("Error");}
			}); 
			}
			}});
		});
		$this.filter('[@cart="RemoveAll"]').bind("click",function(){
			var __obj = $(this)
			var params = [];
			params.push('action=RemoveAll');
			$.ajax({
				dataType:"json",
				type: "GET",
				cache:false,
				url:url,
				data:params.join('&'),
				success:function(data, textStatus){
					alertEx(data);
					if(data.flag){
						location.reload();
					}
				},//请求出错处理
				error: function(){alert("Error");}
			});
		});
		$this.filter('[@cart="Click"]').unbind().bind("click",function(){
			var __obj  = $(this);
			var params = [];
			params.push('action=Submit');
			$.ajax({
				dataType:"json",
				type: "GET",
				cache:false,
				url:url,
				data:params.join('&'),
				success:function(data, textStatus){
					if(data.flag){
						$(__obj[0].form).submit();
					}else{
						alert(data.result);
					}
				},//请求出错处理
				complete:function(XMLHttpRequest, textStatus){
					//HideLoading();
				},
				error:function(){alert("Error");}
			});
			return false;
		});
		$this.filter('[@cart="Submit"]').unbind().bind('submit',function(){
			$(this).ajaxSubmit({
				dataType: "json",
				beforeSubmit:function(){
				},
				success:function(data){
					if(data.flag){
						alert(data.result);
						$('#baskets').load(url,{action:'Print'});
					}else
						alert(data.result);
				}				
			});
			return false;
		});	
	};
	$.fn.onlypressnum = function() {
		var $args = arguments[0]||false;
		$(this).css({imeMode:"disabled",'-moz-user-select':"none",'user-select':'none','-khtml-user-select':'none'});
		$(this).bind("keypress",function(e){
			var tmp = $(this).val()+String.fromCharCode(e.which);
			if(/^\d+$/.test(tmp)){
				if($args){
					var params = [];
					var __obj = $(this)
					var ID = __obj.attr("data");
					params.push('ID='+ID);
					params.push('qty='+tmp);
					params.push('action=Update');
					$.ajax({
						dataType:"json",
						type: "GET",
						cache:false,
						url:'ajax/Cart_En.asp',
						data:params.join('&'),
						success:function(data, textStatus){
							//alertEx(data);
						},//请求出错处理
						error: function(data,textStatus){alert("Error:");}
					}); 
				}
				return true;
			}else
				return false;
		})
		.bind("contextmenu",function(){return false;})
//		.bind("selectstart",function(){return false;})
		.bind("paste",function(){return false;})
		.bind("click",function(){
			this.select();
		});
	};
	function alertEx(){
		var data = arguments[0];
		//$.prompt(data.result,{ opacity: 0.4 });
		alert(data.result);
	}
})(jQuery);