/**
* Title     : Slide
* Author    : Lonely
* PubDate   : 2011-01-27
*/

function Slide()
{
	this.na = 0;
	this.theInt = null;
	this.slide_time = 3000;
	this.obj = null;
	this.slide_num = 0;
	this.isnumber = false;
	this.trigger = 'click';
}

Slide.prototype={
    init:function()
	{
		var _this=this;
		this.slide_num = $("#"+this.obj).find("div").length;
		if(this.isnumber){
			if(this.slide_num>1){
				var btn_html = '<li class="hide"></li>';
				for(var i=1;i<=this.slide_num;i++){
					btn_html+='<li class="dot" rel="'+i+'">'+i+'</li>';
				}
				$("#"+this.obj+"_btn").html(btn_html);
			}
		}else{
			if(this.slide_num>1){
				var btn_html = '<li class="prev"></li>';
				for(var i=1;i<=this.slide_num;i++){
					btn_html+='<li class="dot" rel="'+i+'"></li>';
				}
				btn_html+='<li class="next"></li>';
				$("#"+this.obj+"_btn").html(btn_html);
			}
		}
		$("#"+this.obj).find(".dot").bind(this.trigger,function(){
			var id = $(this).attr("rel");
			_this.mouseSlide(id);
		});
		$("#"+this.obj).find(".prev").bind(this.trigger,function(){
			_this.prevSlide();
		});
		$("#"+this.obj).find(".next").bind(this.trigger,function(){
			_this.nextSlide();
		});
		this.showSlide(1)
	},
    prevSlide:function()
    {
		clearTimeout(this.theInt);
		if(this.na>0){
			this.showSlide(this.na);
		}else{
			this.showSlide(1);
		}
    },
    nextSlide:function()
    {
		clearTimeout(this.theInt);
		if(this.na+2<=this.slide_num){
			this.showSlide(this.na+2);
		}else{
			this.showSlide(this.slide_num);
		}
    },
    mouseSlide:function(id)
    {
		clearTimeout(this.theInt);
		this.showSlide(id)
    },
	showSlide:function(a)
	{
		var _this=this;
		clearTimeout(this.theInt);
		this.na = a-1;
		if(this.na<0) this.na = this.slide_num-1;
		$("#"+this.obj).find("div").hide();
		$("#"+this.obj+"_btn").find("li").removeClass("current");
		$("#"+this.obj).find("div").eq(this.na).show();
		$("#"+this.obj+"_btn").find("li").eq(this.na+1).addClass("current");
		a++;
		if(a>=this.slide_num) a = 0;
		this.theInt = setTimeout(function(){_this.showSlide(a)},this.slide_time);
	}
}
