﻿function slider(property){
	this.wrap = property.wrap;
	this.sliderBox = property.sliderBox;
	this.sliderNumBox = property.sliderNum;
	this.curClass = property.curClass;
	this.speed = property.speed ? this.speed = property.speed : this.speed;
	this.mode = property.mode;
	this.init();
}
slider.prototype = {
	counter : 0,
	speed : 3000,
	outBox : null,
	sliderBox : null,
	sliderNumBox : null,
	sliderSize : function(){return $(this.sliderBox + ' li').length},
	objHeight : function(){return $(this.sliderBox + ' li').height()},
	delayed : null,
	mode : "title",
	init : function(){
	
		$('<ul id="'+this.sliderNumBox.substring(1)+'"></ul>').appendTo($(this.wrap));
		$(this.wrap).addClass(this.mode);
		for(var i=1; i < this.sliderSize() + 1; i++){
			if(this.mode=="thumbnail"){
				var imgSrc = $(this.sliderBox + ' li img').eq(i-1).attr('src');
				$('<li id="'+i+'"><img src="'+imgSrc+'" alt="" /></li>').appendTo($(this.sliderNumBox));
				
			}
			else if(this.mode=="title"){
				$('<li id="'+i+'">'+$(this.sliderBox + ' li img').eq(i-1).attr("alt")+'</li>').appendTo($(this.sliderNumBox));	
				
			}
			else{
				$('<li id="'+i+'">'+i+'</li>').appendTo($(this.sliderNumBox));	
			}
		}
		$(this.sliderNumBox + ' li:first').addClass(this.curClass);
		if(this.mode=="title"){
			var liWidth=Math.floor($(this.sliderNumBox).width()/this.sliderSize());
			
			$(this.sliderNumBox + ' li').css({opacity: "0.9",width:liWidth});
			if(this.sliderSize()>1){
				var liLastWidth=$(this.sliderNumBox).width()-liWidth*(this.sliderSize()-1);
				$(this.sliderNumBox + ' li').last().css({opacity: "0.9",width:liLastWidth});
			}
		}else{
			$(this.sliderNumBox + ' li').css({opacity: "0.9"});
		}
		this.auto();
	},
	slider : function(){
		var self = this;
		if(this.counter <= $(this.sliderBox + ' li').length - 2){
			self.counter++;	
			$(self.sliderNumBox + ' li').removeClass();
			$(self.sliderNumBox + ' li').eq(self.counter).addClass(this.curClass);
			$(this.sliderBox).animate({top : '-=' + self.objHeight() + 'px'},'fast');	
		}else{
			self.counter = 0;	
			$(self.sliderNumBox + ' li').removeClass();
			$(self.sliderNumBox + ' li').eq(self.counter).addClass(this.curClass);
			$(this.sliderBox).animate({top : '0px'},'slow');
		}
	},
	unInit:function(){
		var self = this;
		 clearInterval(self.delayed);
	},
	
	auto : function(){
		var self = this;
		self.delayed = setInterval(function(){self.slider()},self.speed);
		$(self.sliderNumBox + ' li').hover(
			function(){
				clearInterval(self.delayed);
				self.counter = $(this).attr('id');
				$(self.sliderNumBox + ' li').removeClass();
				$(this).addClass(self.curClass);
				if(self.counter > 1){
					$(self.sliderBox).animate({top : '-' + self.objHeight() * (self.counter - 1) + 'px'},'fast');	
				}else{
					$(self.sliderBox).animate({top : '0px'},'fast');	
				}
			},
			function(){
				self.counter--;	
				self.delayed = setInterval(function(){self.slider()},self.speed);
			}
		);
		$(self.sliderBox + ' li').hover(
			function(){
				clearInterval(self.delayed);
			},
			function(){
				//self.counter--;	
				self.delayed = setInterval(function(){self.slider()},self.speed);
			}
		);
		
	}
}


