jQuery.fn.extend({
	flyCarousel:function(param){
		var defaults={
			num:5,inner:{left:0,top:0},outer:{left:0,top:0},speed:'fast'
		}
		param=$.extend(defaults,param)
		var getLeftTop=function(el){
			return {'left':$(el).attr('offsetLeft')+'px','top':+$(el).attr('offsetTop')+'px'};
		}
		var els=[],vels=[],cords=[],lock=false
		this.find('ul li').each(function(){
			els.push(this)
		})
		vels=els.slice(0,param.num)
		for(var i=0;i<vels.length;i++){
			$(vels[i]).addClass('item'+(i+1)).css({display:'block'})
		}
		for(var i=0;i<vels.length;i++)
			cords[i]=getLeftTop(vels[i])
			
		
		this.find('.next').click(function(){
		if(!lock){
			lock=true
			els.unshift(els.pop())			
			var nvels=els.slice(0,param.num)			
			for(var i=0;i<vels.length-1;i++)
				$(vels[i]).animate(cords[i+1],param.speed)
			$(vels.slice(-1)).animate(param.outer,param.speed,function(){$(this).css({display:'none'});lock=false})
			$(nvels[0]).css({display:'block'}).css(param.inner).animate(cords[0],param.speed)
			vels=nvels			
		}
		return false
		})
		this.find('.prev').click(function(){
		if(!lock){
			lock=true
			els.push(els.shift())			
			var nvels=els.slice(0,param.num)			
			for(var i=1;i<vels.length;i++)
				$(vels[i]).animate(cords[i-1],param.speed)
			$(vels[0]).animate(param.inner,param.speed,function(){$(this).css({display:'none'}).css(param.inner);lock=false})
			$(nvels.slice(-1)).css({display:'block'}).css(param.outer).animate(cords[param.num-1],param.speed)
			vels=nvels			
		}
		return false
		})
		
	}
})
/*Y29kZSBieSBwbHprbg==*/
