$.fn.Tab = function(){
	var objs = {
		title   : $('.tab',this),
		content : $('.TabContent',this),
		show    : function(idx){
			this.hide();
			$(this.title[idx||0]).addClass('on');
			$(this.content[idx||0]).show();
		},
		hide    : function(){
			this.title.removeClass('on');
			this.content.hide();
		}
	}
	objs.show();
	objs.title.bind('click',function(){
		objs.show(objs.title.index(this));
	});
};
$.fn.ajaxProduct = function(){
	var _this = this;
	var _html = [];
	_html.push('<div id="Product">');
	_html.push('<div id="IMG" img="true"><a href="{0}">');
	_html.push('<img id="preview" src="{5}" /></a></div>');
	_html.push('<div id="name"><strong><a href="{0}">{2}</a></strong><br/><span>Price:<strong>${3}</strong></span>{6}</div>');
	_html.push('<div id="Remark"><span>Remark：</span>{4}</div></div>');
	_html = _html.join('');
	var _page = [];
	_page.push('<div class="page">');
	_page.push('<a href="{first}">First</a>&nbsp;/&nbsp;');
	_page.push('<a href="{prev}">Up</a>&nbsp;/&nbsp;');
	_page.push('<a href="{next}">Next</a>&nbsp;/&nbsp;');
	_page.push('<a href="{last}">End</a>');
	_page.push('&nbsp;&nbsp;&nbsp;Page:<strong>{page}/{count}</strong>');
	_page.push('&nbsp;&nbsp;&nbsp;Total:<strong>{total}</strong>');
	_page.push('Units &nbsp;&nbsp;&nbsp;Go to page&nbsp;');
	_page.push('<input id="page" maxlength="5" size="2" value="{page}" name="page" tyep="TEXT" />');
	_page.push('&nbsp;<input name="go" type="submit" id="go" value="GO" /></div>');
	_page = _page.join('');
	_this.Print = function(idx){
		var obj = $(this);
		$.ajax({
			type    : "GET",
			dataType: "json",
			url     : obj.attr('url'),
			data    : {page:idx||0},
			cache   : false,
			success: function(data){
				var _ret = [];
				if(data.data.length>0){
					_ret.push('<div class="clear"></div>');
					$.each(data.data,function(i,n){
						_ret.push(_html.format(n.url,n.id,n.name,n.price,unescape(n.remark),n.src,data.success?'<span>Vip Price:<strong>$'+n.price1+'</strong></span>':""));
					});
					_ret.push('<div class="clear"></div>');
					obj.count = data.page.count;
					_ret.push(_page.format(data.page));
				}else
					_ret.push('<div>No data</div>');
				obj.empty().html(_ret.join(''));
			},
			complete : function(){
				$('.page a',obj).unbind('click').click(function(){
					var pg = $(this).attr('href').match(/page=\d+/ig).toString().replace(/page=(\d+)/ig,'$1');
					_this.Print.apply(obj,[pg]);
					return false;
				});
				$('.page #go',obj).unbind('click').click(function(){
					var CurrentPage = $('.page #page',obj).val();
					CurrentPage = CurrentPage<=obj.count?CurrentPage:obj.count;
					_this.Print.apply(obj,[CurrentPage]);
					return false;
				});
				$('div[img="true"]',obj).hover(function(){
					$(this).addClass('on');
				},function(){
					$(this).removeClass('on');
				})
			}
		});	
	}
	_this.each(function(i,n){
		_this.Print.apply(this);
	});
};