function iSlider(_params){
	
	this.params = _params;
		
	this.in_move = false;
	
	if(!this.params.axis)
		this.params.axis = 'x';
		
	if(!this.params.animation_speed)
		this.params.animation_speed = 700;
	
	this.init();
	
}

iSlider.prototype = {
	
	init: function(){

		this.cur_item = 0;
		this.container = $('#' + this.params.id).get(0);
		this.items = $(this.container).find('a');
		this.prev_btn = $(this.container).next().find('span.l').get(0);
		this.next_btn = $(this.container).next().find('span.r').get(0);
		
		var oThis = this;
		
		$(this.prev_btn).click(
			function(){
				if(!oThis.in_move){
					initSliderInterval();
					oThis.move(0, null, this);
				}
				return false;
			}
		);
		
		$(this.next_btn).click(
			function(){
				if(!oThis.in_move){
					initSliderInterval();
					oThis.move(1, null, this);
				}
				return false;
			}
		);		
		
		 $(this.container).mouseenter(
		 	function(){
		 		//$(this).find('span').css({'visibility': 'visible'});
		 	}
		 ).mouseleave(
		 	function(){
		 		//$(this).find('span').css({'visibility': 'hidden'});
		 	}
		 );
		 
		 if(this.params.show_caption){
		 	this.caption_container = $('<div class="slider_capture"></div>');
		 	$(this.container).parent().append(this.caption_container);
		 	$(this.caption_container).text($(this.items[0]).find('span').text());
		 }
		 
		 if(this.params.show_navi){
		 	var navi_cnt = '<div class="slider_navi"><table><tr>';
		 	for(var i=0; i<this.items.length; i++){
		 		navi_cnt += '<td' + (i == 0 ? ' class="cur"' : '') + '><a href="#"></a></td>'
		 	}
		 	navi_cnt += '</tr></table></div>';
		 	this.navi_container = $(navi_cnt);
		 	$(this.container).parent().append(this.navi_container);
		 	$(this.navi_container).find('a').click(
		 		function(){
		 			this.blur();
		 			var pos = $(this).parent().prevAll().length;
		 			oThis.move(1, pos+1, this);
		 			initSliderInterval();
		 			return false;
		 		}
		 	);
		 }
		
	},
	
	move: function(dir, extra_pos, lnk){
		
		if(this.in_move)
			return false;
		
		if(extra_pos){
			var new_item = extra_pos-1;
			dir = $(this.items[new_item]).prevAll('.cur').length ? 1 : 0;
		}else{
			var new_item = dir > 0 ? this.cur_item+1 : this.cur_item-1;
			if(new_item > this.items.length-1)
				new_item = 0;
			else{
				if(new_item < 0)
					new_item = this.items.length-1;
			}
		}
		
		//alert(new_item + ' ' + dir);
		
		var container_size = $(this.container).innerWidth();
		var new_item_pos = null;
		var cur_item_pos = null;
		if(dir > 0){
			new_item_pos = container_size;
			cur_item_pos = -container_size;
		}else{
			new_item_pos = -container_size;
			cur_item_pos = container_size;
		}
		
		this.in_move = true;
		oThis = this;
		$(this.items[new_item]).css({'left': new_item_pos}).animate({'left': 0}, this.params.animation_speed).addClass('cur');
		$(this.items[this.cur_item]).animate({'left': cur_item_pos}, this.params.animation_speed, function(){oThis.in_move=false; $(this).removeClass('cur');});	
		
		
		if(this.caption_container){
			$(this.caption_container).text($(this.items[new_item]).find('span').text());
		}
		
		if(this.navi_container){
			$(this.navi_container).find('td').removeClass('cur');
			$($(this.navi_container).find('td').get(new_item)).addClass('cur');
		}
		
		this.cur_item = new_item;
		
		
	}

}
