window.bt={author:"Nick",version:"1.0",update:"2010/9/3"};
$reg=function(a,b){
	for(var c=a.split("."),d=window;c.length>0;){
		var e=c.shift();
		d[e]||(d[e]={});
		d=d[e]
	}b()
};
Object.extend=function(a,b){for(var c in b)a[c]=b[c];return a};
Object.extend(String.prototype,{trim:function(){return this.replace(/^\s+|\s+$/,"")}});
Object.extend(Array.prototype,{
	_each:function(a,b){
	    var c=[];
	    try{
		    for(var d=0,e=this.length;d<e;d++){
			    var g=a(this[d],d);
			    b&&typeof g!="undefined"&&c.push(g)
		    }
	    }catch(f){}
	    return c
	},
	collect:function(a){return this._each(a,true)},
	each:function(a){this._each(a,false);return this},
	include:function(a){return this.index(a)!=-1},
	index:function(a){for(var b=0,c=this.length;b<c;b++)if(this[b]==a)return b;return-1},
	unique:function(){for(var a=0;a<this.length;a++)for(var b=this[a],c=this.length-1;c>a;c--)this[c]== b&&this.splice(c,1);return this},
	del:function(a){a=this.index(a);a>=0&&a<this.length&&this.splice(a,1);return this}
});
var Class={
	create:function(){
		for(var a=function(){this.initialize.apply(this,arguments)},b=0,c=arguments.length,d;b<c;b++){d=arguments[b];d!=null&&Object.extend(a.prototype,d)}
		return a
	}
}; 
function customEvent(a){
	a._e_={};
	a.on=function(b,c){a._e_[b]||(a._e_[b]=[]);this._e_[b].push(c)};
	a.fire=function(b){var c=a._e_[b],d=[];if(c){for(var e=1,g=arguments.length;e<g;e++)d.push(arguments[e]);for(e=0;e<g;e++){var f=c[e];f&&f.apply(null,d)}}};
	a.un=function(b,c){for(var d=a._e_[b],e=d.length,g=0;g<e;g++)if(d[g]==c)a.event[b]=d.splice(g,1)}
} 
Object.extend(Function.prototype,{
	bind:function(){
		for(var a=this,b=arguments[0],c=[],d=1,e=arguments.length;d<e;d++)c.push(arguments[d]);
		return function(){
			for(var g=c.concat(),f=0,h=arguments.length;f<h;f++)g.push(arguments[f]);
			return a.apply(b,g)
		}
	},
	bindEvent:function(){
		for(var a=this,b=arguments[0],c=[],d=1,e=arguments.length;d<e;d++)c.push(arguments[d]);
		return function(g){
			var f=c.concat();
			f.unshift(g||window.event);
			return a.apply(b,f)
		}
	}
}); 
$reg("bt.El",function(){
	bt.El.getOst=function(a){
		for(var b=0;a.offsetParent;){b+=a.offsetTop;a=a.offsetParent}
		return b
	}
}); 
$reg("bt.Cookie",function(){
	bt.Cookie={
		get:function(a){if(a=RegExp("(^| )"+a+"=([^;]*)(;|$)","gi").exec(unescape(document.cookie)))return a[2];return null},
		set:function(a,b,c,d,e){
			a=a+"="+b;
			if(c){if(c=="never")c=5256E4;b=new Date;b.setTime(b.getTime()+c*60*1E3);a+="; expires="+b.toGMTString()}
			if(d)a+="; path="+d;if(e)a+="; domain="+e;document.cookie=a
		},
		remove:function(a,b,c){document.cookie=a+"="+(b?"; path="+b:"")+(c?"; domain="+c:"")+"; expires=Thu, 01-Jan-70 00:00:01 GMT"}
	}
}); 
$reg("bt.tool.CountDown",function(){
	bt.tool.CountDown=Class.create({
		initialize:function(a){
			var b=(new Date).getTime();
			this.opt=Object.extend({delay:6E4,startTime:b,endTime:b+1728E5,onCount:this.onCount,onCountDone:function(){}},a);
			this.currentTime=this.opt.startTime},start:function(){this.opt.onCount(this._getTimeInfo(this.currentTime));
			this.iTimer=setInterval(function(){
				if(Math.floor((this.opt.endTime-this.currentTime)/1E3)<=0)this.end();
				else{this.currentTime+=this.opt.delay;this.opt.onCount(this._getTimeInfo(this.currentTime))}
			}
			.bind(this), this.opt.delay);return this
		},
		end:function(){clearTimeout(this.iTimer);this.opt.onCountDone();return this},
		onCount:function(){},
		_getTimeInfo:function(){
			var a=Math.floor((this.opt.endTime-this.currentTime)/1E3);
			return{second:a%60,minute:Math.floor(a/60)%60,hour:Math.floor(a/3600)%24,day:Math.floor(a/86400)}
		}
	});
	bt.tool.CountDown.init=function(a){
		$(".j-item").each(function(){
			var b=$(this),c=$(".j-counter",b);
			if(c){
				options={
					startTime:a.startTime*1E3,endTime:c.attr("data-end")*1E3,
					onCount:function(d,e){d.html([e.day> 0?'<em class="day">'+e.day+"</em>\u5929":"",'<em class="hour">',e.hour,'</em>\u5c0f\u65f6<em class="minute">',e.minute,"</em>\u5206"].join(""))}.bind(null,c),
					onCountDone:function(d){d.remove()}.bind(null,c)
				};
				options.startTime>=options.endTime?b.remove():(new bt.tool.CountDown(options)).start();c.show()
			}
		})
	}
}); 
$reg("bt.tool.Tab",function(){
	bt.tool.Tab=Class.create({
		initialize:function(a){
			customEvent(this);
			this.list=$(a.list);
			this.item=a.item;
			var b=a.selected||"on",c=this,d=a.callback||function(){};
			this.currentItem=this.list.children(a.item+"."+b);
			this.list.children(this.item).click(function(){
				var e=$(this);
				c.currentItem&&c.currentItem.removeClass(b);
				e.addClass(b);c.currentItem=e;
				d(this);
				c.fire("selected",this)
			})
		}
	});
	bt.tool.Tab.init=function(a){return new bt.tool.Tab(a)}
}); 
$reg("bt.tool.Sort",function(){
	bt.tool.Sort=Class.create({
		initialize:function(a){this.opt=a;this.initElement();this.getSortInfo()},
		initElement:function(){this.list=$(this.opt.list).get(0)},
		getSortInfo:function(){
			var a=$(this.opt.item,this.list),b=this.opt.keys;
			this.els=a;
			this.sortEls={};
			this.sortKeys={};
			for(var c=0,d=b.length;c<d;c++){this.sortKeys[b[c]]=[];this.sortEls[b[c]]={}}
			c=0;
			for(d=a.length;c<d;c++)for(var e=0,g=b.length;e<g;e++){var f=b[e],h=a[c].getAttribute("data-"+f)-0;if(this.sortEls[f][h])this.sortEls[f][h].push(a[c]); else this.sortEls[f][h]=[a[c]];this.sortKeys[f].push(h)}
		},
		sortView:function(a){
			var b=a.split("|");
			a=b[0];
			var c=b[1]-0,d=function(){return 0};
			b=[].concat(this.sortKeys[a]);
			if(b.length!=0){
				if(c>0)d=function(f,h){return f-h};
				if(c<0)d=function(f,h){return h-f};
				c!=0&&b.sort(d);
				b=b.unique();
				d=document.createElement("div");
				var e=0;
				for(c=this.els.length;e<c;e++)d.appendChild(this.els[e]);
				d=0;
				for(e=b.length;d<e;d++){
					var g=this.sortEls[a][b[d]];
					for(c=0;c<g.length;c++)this.list.appendChild(g[c])
				}
			}
		}
	});
	bt.tool.Sort.init= function(a){
		a=new bt.tool.Sort({list:a.list,item:a.item,keys:a.keys});
		return a.sortView.bind(a)
	};
	bt.tool.Sort.category=function(a){
		var b=$("li.j-item"),c=$("#moreBar"),d=$("#moreCateName"),e=$("#moreCateCount"),g=$("#moreLink"),f="";
		if(!a||a=="all"){
			b.css("display","");
			a="all"
		}else b.each(function(h,i){
			i=$(i);
			i.attr("data-category")==a?i.css("display",""):i.hide()
		});
		f=c.attr("data-"+a).split("|");
		if(f[1]>0){
			d.html(f[0]);
			e.html(f[1]);
			g.attr("href",f[2]);
			c.show()
		}else c.hide()
	}
}); 
$reg("bt.tool.view",function(){
	bt.tool.view=function(a){
		var b=$("#deals");
		switch(a){
			case 1:
			    $("#dealsView-list").removeClass("on");
				$("#dealsView-grid").addClass("on");
				b.removeClass("deals-list");
				b.addClass("deals-grid");
			break;
			case 2:
			    $("#dealsView-list").addClass("on");
				$("#dealsView-grid").removeClass("on");
				b.removeClass("deals-grid");
				b.addClass("deals-list")
		}
		bt.Cookie.set("vt",a,43200,"/")
	}
}); 
$reg("bt.fs",function(){
	bt.fs=function(){
		var a=$("#indexLay");
		if(a)if(a.attr("class")==""){
			a.attr("class","indexLay-full");
			$("#fsOnBtn").hide();
			$("#fsOffBtn").show()
		}else{
			a.attr("class","");
			$("#fsOffBtn").hide();
			$("#fsOnBtn").show()
		}
	}
}); 
$reg("bt.tool.Fix",function(){
	bt.tool.Fix=Class.create({
		initialize:function(a,b){
			this._fixEl=$(a);
			this._options=Object.extend({
				topEl:document.body,
				fixCall:function(){},
				resetCall:function(){},
				fixIE6:false,
				fixIE6Call:function(){},
				resetIE6Call:function(){}
			},b
		)},
		init:function(){
			this._dftTop=bt.El.getOst($(this._options.topEl).get(0));
			this._initEvent();
			return this
		},
		go2top:function(){
			$(window).scrollTop()>this._dftTop&&$(this._options.topEl).get(0).scrollIntoView();
			return this
		},
		_initEvent:function(){
			$(window).scroll(this._onScroll.bind(this));
			return this
		},
		_onScroll:function(){
			var a=$(window).scrollTop();
			this._fixOther(a);
			this._options.fixIE6&&$.browser.msie&&$.browser.version=="6.0"&&!$.support.style&&this._fixIE6(a);
			return this
		},
		_fixIE6:function(a){
			a>this._dftTop?this._options.fixIE6Call(this._dftTop,a):this._options.resetIE6Call(this._dftTop,a);
			return this
		},
		_fixOther:function(a){
			a>this._dftTop?this._options.fixCall(this._dftTop,a):this._options.resetCall(this._dftTop,a);
			return this
		}
	})
}); 
$reg("bt.tool.FixBar",function(){
	bt.tool.FixBar={
		init:function(){
			this._bar=$("#filterBar");
			this._fix=(new bt.tool.Fix(this._bar,{topEl:"#filterWrap",fixCall:function(){this._bar.addClass("filterBar-fix")}.bind(this),resetCall:function(){this._bar.removeClass("filterBar-fix")}.bind(this)})).init();
			return this
		},
		go2top:function(){this._fix.go2top();return this}
	}
}); 
$reg("bt.tool.FixTop",function(){
	bt.tool.FixTop={
		init:function(){
			this._top=$("#gotoTop");
			this._dftTop=null;
			this._fix=(new bt.tool.Fix(this._top,{fixCall:function(){this._top.show()}.bind(this),resetCall:function(){this._top.hide()}.bind(this)})).init();
			this._initEvent();
			return this
		},
		_initEvent:function(){this._top.click(this.go2top.bind(this));return this},
		go2top:function(){this._fix.go2top();return this}
	}
}); 
$reg("bt.cc",function(){
	var a="http://admin.100tuan.cn/",b="index.php/sa/cc/?";
	bt.cc=function(c){
		var d=document.createElement("img");
		temp=[];
		a=c.domain||a;
		b=c.path||b;
		for(var e in c)temp.push(e+"="+c[e]);
		temp.push("referer="+encodeURIComponent(document.referrer));
		temp.push("t="+(new Date).getTime());
		d.setAttribute("src",a+b+temp.join("&"));
		d.onload=function(){d=null}
	}
}); 

$reg("bt.ck",function(){
	bt.ck=function(a){
		var b=document.createElement("img");
		b.setAttribute("src","http://www.100tuan.cn/admin.php?c=click&a=add&tid="+a);
		b.onload=function(){b=null}
	}
});
function addBookmark(a,b){
	if(document.all){
		window.external.AddFavorite(a,b);
	}
	else if(window.sidebar){
		window.sidebar.addPanel(b,a,"");
	}
}
function switchCover(a){
	/*try{
		var b=a.getAttribute("data-scover");
		if(a.src!=b){a.src=b;a.setAttribute("data-scover","images/common/defaultCover.gif")}
	}catch(c){
		bt.cc({"Sa[sa_key]":"index_cover_error","sa[remark]":src})
	}*/
	a.src="images/common/defaultCover.gif";
}
bt.go2City=function(a){bt.Cookie.set("tuan_dxarea",a,"never","/",".100tuan.cn")};
bt.moreCity=function(a,b){
	var c=$(a);
	c&&c.hover(function(){$(b).show()},function(){$(b).mouseleave(function(){$(b).hide()})})
}; 
bt.iDialog={
	init:function(){
		try{
			var a=bt.Cookie,b=a.get("is"),c=a.get("iu"),d=a.get("ir"),e=$("#dialog-byInvite");
			b=="1"&&c&&d?this.show(e):this.remove(e)
		}catch(g){
			bt.cc({"Sa[sa_key]":"invite_confirm_error"})
		}
	},
	show:function(a){
		var b;
		a.html('<h3 class="dHd">欢迎来到百团大战</h3><div class="dBd"><strong>百团大战</strong>是一家专业团购门户，在这里，你可以浏览到来自美团、糯米、拉手等团购网站的优质商品。</div><div class="dFt"><a id="btn-invitedConfirm" class="btn btn-confirm" href="javascript:void(0)">确定</a></div>').show(); 
		b=$("#btn-invitedConfirm");
		b.click(this.send.bind(this,a,b))
	},
	send:function(a,b){
		b.html('<img src="api/invited/" style="visibility:hidden;width:1px;height:1px;" />');
		a.hide();
		window.setTimeout(this.remove.bind(this,a),3E3)
	},
	remove:function(a){a.remove()}
}; 
bt.tool.slide={
	init:function(a){
		this.distance=a.distance;
		this.list=a.list;
		this.listItem=a.listItem;
		this.direction=a.direction;
		this.pageList=a.pageList;
		this.pageItem=a.pageItem;
		this.delay=a.delay;
		this.currentIndex=1;
		this.autoStart=a.autoStart||1;
		this.autoState=0;
		this.listCount=$(this.listItem,this.list).length;
		this.list.css("position","absolute");
		this.list.css("width",this.listCount*this.distance+20+"px");
		this.pageList&&this.initPageList();
		if(this.listCount>1){this.initEvent();this._autoStart()}
	}, 
	initEvent:function(){
		var a=this;
		this.pageList&&$(this.pageItem,this.pageList).click(function(){var b=$(this),c=b.attr("data-index"),d=a.pageList.find(".on");d&&d.removeClass("on");if(c){b.addClass("on");a.select(c)}});
		this.list.mouseenter(function(){a.inMoving=true});
		this.list.mouseleave(function(){a.inMoving=false;a._autoStart()})
	},
	initPageList:function(){
		for(var a=[],b=1;b<=this.listCount;b++)b==1?a.push('<li class="on" data-index="'+b+'"><a href="javascript:void(0)">'+b+"</a></li>"):a.push('<li data-index="'+ b+'"><a href="javascript:void(0)">'+b+"</a></li>");
		this.pageList.html(a.join(""))
	},
	_autoStart:function(){
		if(this.autoStart!=2)if(!this.inAutoDelay){
			this.inAutoDelay=true;
			setTimeout(function(){this.inAutoDelay=false;if(!this.inMoving){if(this.currentIndex==this.listCount)this.autoState=1;if(this.currentIndex==1)this.autoState=0;if(this.autoState)this.currentIndex--;else this.currentIndex++;this.select(this.currentIndex)}}.bind(this),this.delay)
		}
	},
	onComplete:function(){this.inMoving=false;this._autoStart()}, 
	select:function(a){
		var b=$(this.pageItem,this.pageList).eq(a-1),c=this.pageList.find(".on");
		c&&c.removeClass("on");
		b.addClass("on");
		this.currentIndex=a;this.move(a)
	},
	move:function(a){
		if(!this.inMoving){
			this.inMoving=true;a-=1;
			this.list.animate({left:-this.distance*a},{duration:500,queue:false,easing:"easeInOutExpo",complete:this.onComplete.bind(this)})
		}
	}
};
