/* 	slide_ad 图片幻灯焦点类 v1.0 2011.03.07
 * 	应用说明:页面包含jquery 库文件和本文件： slide_ad.js
 * 	创建实例:
 * 	参数直接赋值法：new slide("slideNav",0,"click");
 * 	参数动态赋值法：var s2=new slide("slideNav_img"); *此参数必选
 *						s2.tab_type=1;
 *					 	s2.e_type="mouseover";
 *					 	s2.b_page=true;
 *						s2.b_title=true;
 *					 	s2.Start();
 *				
 * 	参数说明:
 *	ID		"slideNav"	容器ID		(必选)
 *	tab_type(0)			选卡类型		(可选,默认为0数字按钮型) 1为缩略图型1，更多的类型还未开发，以后主要在此处扩展更多的样式
 *	e_type	(mouseover)	选卡事件类型	(可选,默认为onmouseover鼠标移动触发) 还可以有click点击触发
 *	b_page	(false)		是否手动翻页	(可选,默认为false无手动翻页,反之则有)
 *	b_title	(true)		是否有标题	(可选,默认为true显示标题,反之则不显示)
 *
 *	更多参数等后扩展(高度/宽度、标题样式、画面停留时间等)，其实不用其它参数，配合CSS样式很多形式都可以实现了
 *	html代码：
<div class="slide" id="slideNav">
    <p><a href="#"><img src="01.jpg" width="320" height="250" style="display:block;" alt="title1" /></a><a href="#"><img src="02.jpg" width="320" height="250" alt="title2" /></a><a href="#"><img src="03.jpg" width="320" height="250" alt="title3" /></a></p>
</div>

 * 	使用提醒:一定要配合对应的CSS样式及jquery类库才能实现
 * 	程序制作/版权所有:胡双明 E-Mail:humm@163.com 
 */
var slide=function(){
	this.ID=arguments[0];
	if(!this.ID)
	{
		alert("您要设置的\"" + arguments[0] + "\"初始化错误\r\n请检查标签ID设置是否正确!");
		this.ID = -1;
		return;
	}
	this.tab_type=0;
	this.e_type="mouseover";
	this.b_title=true;
	this.b_page=false;
	
	if(typeof arguments[1] == "number") this.tab_type = arguments[1];	
	if(typeof arguments[2] == "string") this.e_type = arguments[2];
	if(typeof arguments[3] == "boolean") this.b_page = arguments[3];
	if(typeof arguments[4] == "boolean") this.b_title = arguments[4];
	
	if(arguments.length >= 2)this.Start();
};
slide.prototype.Start = function(){
	if(this.ID == -1)return;
	var obj=this.ID;
	var tab_type=this.tab_type;
	var e_type=this.e_type;
	var b_page=this.b_page;
	var b_title=this.b_title;
	var indexs;
	$(function(){
		var index = 0;
		indexs= $("#"+obj+" p a").index($("#"+obj+" p a:last-child"));
		var _btn="";
		var _tit="";
		var cc=1;
		var _imgs=$("#"+obj+" p img")
		for(var j=0; j<=indexs; j++){
			
			if(b_title){
				_tit +="<strong "
				if (j==0) _tit +="style=\"display:inline;\"";			
				_tit +=">"+_imgs.eq(j).attr("alt")+"</strong>";	
			}
			
			_btn +="<em "
			if (j==0) _btn+="class=\"hov\"";
			_btn +=">"			
			switch(tab_type){
				case 0:
					_btn+=(j+1);
					break;
				case 1:
					_btn+="<img src=\""+_imgs.eq(j).attr("src")+"\" />";
					break;
			}
			_btn +="</em>"
		}
		 
		$("<div/>").addClass("b_g").appendTo("#"+obj);
		$("<span/>").addClass("btn").html(_btn).appendTo("#"+obj);
		if(b_title) $("<span/>").addClass("tit").html(_tit).appendTo("#"+obj);
		if(b_page) $("<span/>").addClass("page").html("<b>◀</b> <i>1</i>/"+(indexs+1)+" <b>▶</b>").appendTo("#"+obj);
		
		//选项卡触发
		if(e_type=="click"){
			$("#"+obj+" .btn em").click(function(){
				index  =  $("#"+obj+" .btn em").index(this);
				showImg(index);
			});
		}
		else{
			$("#"+obj+" .btn em").mouseover(function(){
				index  =  $("#"+obj+" .btn em").index(this);
				showImg(index);
			});			
		}
		
		//滑入 停止动画，滑出开始动画.
		$("#"+obj).hover(function(){
			  if(MyTime){
				 clearInterval(MyTime);
			  }
		},function(){
			  MyTime = setInterval(function(){
				showImg(index);
				index++;
				if(index==indexs+1){index=0;}
			  } , 3000);
		});
		//自动开始
		var MyTime = setInterval(function(){
			showImg(index);
			index++;
			if(index==indexs+1){index=0;}
		} , 3000);
		//手动翻页
		if($("#"+obj+" .page")){
			$("#"+obj+" .page b:first").click(function(){
				var t=setTimeout(function(){
					showImg(index);
					index--;
					if(index==-1){index=indexs;}
				} , 3000);
				clearTimeout(this.t);
			});
			$("#"+obj+" .page b:last").click(function(){setInterval(function(){
				showImg(index);
				index++;
				if(index==indexs+1){index=0;}
				} , 3000);
							
			});
		}
	 })
	//关键函数：通过控制i ，来显示不同的幻灯片
	var showImg=function(i){
		$("#"+obj+" p img")
			.eq(i).stop(true,true).fadeIn(1000)
			.parent().siblings().find("img").hide();
		$("#"+obj+" .btn em")
			.eq(i).addClass("hov")
			.siblings().removeClass("hov");
		if($("#"+obj+" span strong")){
			$("#"+obj+" span strong")
				.eq(i).stop(true,true).slideDown()
				.siblings().hide();
		}
		if($("#"+obj+" .page i")) $("#"+obj+" .page i").html(i+1);
	}	
}



