;(function($){
	$.fn.extend({
		bwslider:function(m,t,n,b){
			var e=0;
			var thiss=this;
			var bodyw=$("body").width();
			var init_cont="<ul></ul><ol class='bw_list'></ol><div class='bw_last'><</div><div class='bw_next'>></div>";  //添加容器
			var list_a="bw_list_a";
			var init_h=this.children("li").height();
			
			if(init_h>0){
				this.height(init_h);
			}
			
			var num=this.children().length;  //变换图片数量
			if(num<2){
				return;
			}
			
			var init_ul=this.html();  //储存变化图片
			
			this.html(init_cont);
			var ul=this.find("ul");
			
			var b_top=(this.height()-$(".bw_last").height())/2;
			$(".bw_last,.bw_next").css("top",b_top);
			
			if(n==false){
				$(".bw_list").hide();
			}
			if(b==false){
				$(".bw_last,.bw_next").hide();
			}
			
			ul.html(init_ul);
			
			var list="";
			for(var i=1;i<=num;i++){
				list=list+"<a href='javascript:;'></a>";
			}
			$(".bw_list").html(list);
			
			function is_pc(){
				var os = new Array("Android","iPhone","Windows Phone","iPod","BlackBerry","MeeGo","SymbianOS");
				var info = navigator.userAgent;
				var len = os.length;
				for(var i = 0; i < len; i++){
					if(info.indexOf(os[i]) > 0){
						return false;
					}
				}
				return true;
			}
			
			function eqjs(j){
				ul.children().css({"z-index":3,"opacity":0});
				ul.children().eq(j).css("z-index",4);
				ul.children().eq(j).animate({opacity:1},"slow");
				$(".bw_list").children().removeClass(list_a);
				$(".bw_list").children().eq(j).addClass(list_a);
				
				if(t=="slide"){
					ul.children().css({"z-index":3,"opacity":1,"left":"100%"});
					ul.children().eq(j).css("left",0);
				}
				
				e=j;
			}
			
			function eqslide(j){
				var k=j-1;
				if(k<0){
					k=num-1;
				}
				ul.children().eq(k).animate({left:-bodyw},"slow",function(){$(this).css("left","100%");});
				ul.children().eq(j).animate({left:0},"slow");
				$(".bw_list").children().removeClass(list_a);
				$(".bw_list").children().eq(j).addClass(list_a);
				e=j;
			}
			function eqslide_last(j){
				var k_last=j+1;
				if(k_last>num-1){
					k_last=0;
				}
				ul.children().eq(j).css("left",-bodyw);
				ul.children().eq(k_last).animate({left:"100%"},"slow");
				ul.children().eq(j).animate({left:0},"slow");
				$(".bw_list").children().removeClass(list_a);
				$(".bw_list").children().eq(j).addClass(list_a);
				e=j;
			}
			
			//初始化图片
			eqjs(0);
			
			//按钮动作
			$(".bw_next").click(function(){
				e=e+1;
				if(e>num-1){
					e=0;
				}
				
				if(t=="fade"){
					
					clearInterval(fade);
					eqjs(e);
					fade=setInterval(bwfade,m*1000);
					
				}else{
					
					clearInterval(slide);
					eqslide(e);
					slide=setInterval(bwslide,m*1000);
					
				}
				
			});
			$(".bw_last").click(function(){
				e=e-1;
				if(e<0){
					e=num-1;
				}
				
				if(t=="fade"){
					
					clearInterval(fade);
					eqjs(e);
					fade=setInterval(bwfade,m*1000);
					
				}else{
					
					clearInterval(slide);
					eqslide_last(e);
					slide=setInterval(bwslide,m*1000);
				}
				
			});
			
			//节点动作
			$(".bw_list a").click(function(){
				if(t=="fade"){
					
					clearInterval(fade);
					eqjs($(this).index());
					fade=setInterval(bwfade,m*1000);
					
				}else{
					
					clearInterval(slide);
					eqjs($(this).index());
					slide=setInterval(bwslide,m*1000);
				}
			});
			
			if(!is_pc()){
				$(".bw_last,.bw_next").hide();
				
				//手机滑动变换
				ul.children("li").on("swipeleft",function(){
					e=e+1;
					if(e>num-1){
						e=0;
					}
					
					if(t=="fade"){
						
						clearInterval(fade);
						eqjs(e);
						fade=setInterval(bwfade,m*1000);
						
					}else{
						
						clearInterval(slide);
						eqslide(e);
						slide=setInterval(bwslide,m*1000);
					}
				});
				
				ul.children("li").on("swiperight",function(){
					e=e-1;
					if(e<0){
						e=num-1;
					}
					
					if(t=="fade"){
						
						clearInterval(fade);
						eqjs(e);
						fade=setInterval(bwfade,m*1000);
						
					}else{
						
						clearInterval(slide);
						eqslide_last(e);
						slide=setInterval(bwslide,m*1000);
						
					}
				});
			
			}
			
			
			//自动变换函数
			function bwfade(){
				e=e+1;
				if(e>num-1){
					e=0;
				}
				eqjs(e);
			}
			function bwslide(){
				e=e+1;
				if(e>num-1){
					e=0;
				}
				eqslide(e);
			}
			function bwslide_last(){
				e=e-1;
				if(e<0){
					e=num-1;
				}
				eqslide_last(e);
			}
			
			if(t=="fade"){
				var fade=setInterval(bwfade,m*1000);
			}else{
				var slide=setInterval(bwslide,m*1000);
			}
			
			$(window).resize(function(){
				bodyw=$("body").width();
				thiss.height(thiss.children("ul").children("li").eq(0).find("img").height());
				
				$(".bw_last,.bw_next").css("top",(thiss.height()-$(".bw_last").height())/2);
			});
			
		}
	});
})(jQuery);

/**
* bwslider 传4个参数
* 第一个参数是变换时间，
* 第二个参数变换方式 有两种 fade是渐变变换 slide是图片向左滑动变换，
* 第三个参数是否打开节点 true是 false否，
* 第四个参数是否打开左右按钮 true是 false否 (移动端界面较小默认隐藏按钮)
* 调用方法 ↓
**/
$(window).load(function(){
    $(".bwslide").bwslider(3,"slide",true,true);
});