


/**
#       Copyright 2008 Fabien Di Tore
#		this file is part of IceFramework
**/
(function($) {

     

	// Prototype Methods
	
	$.fn.extend({
		akCarousel: function(settings) {
			var defaults = {
				itemListSelector: 'ul:first li',
				projectorSelector: 'ul:first',
				projectorHeight: 621,
				projectorWidth : 1000,
				windowWidth : 1000,
				speed: 1000,
				swapDelay: 10000,
				autoSlide: false,
				onSlide : '',
				step: 0,
				loop:true,
				autoStopAtEnd:true
			};
			
			settings = $.extend({}, defaults, settings);
			
			return this.each(function() {
			//
				var $this = $(this);
				var o = $.meta ? $.extend({}, settings, $this.data()) : settings;
				
				$(this).akCarousel.properties =settings;
				
				var el = $this.find(o.itemListSelector);
				o.numItems = el.size();
				
				$.fn.akCarousel.properties.proj = $this.find(o.projectorSelector);
				var projector = $.fn.akCarousel.properties.proj;
				projector.wrap('<div class="projector"></div>');
				var par = projector.parent();

				par.css('width',o.windowWidth);
				par.css('height',o.projectorHeight);
				par.css('overflow','hidden');
				
			//	par.css('float','left');

				projector.css('width',o.projectorWidth*o.numItems);
				projector.css('height',o.projectorHeight);
				projector.css('position','relative');
				
				
				var elems = new Array();
				el.each(function(){
					$(this).css('width',o.projectorWidth);
					$(this).css('float','left');
				});
				$this.css('height',o.projectorHeight);
				if(o.autoSlide){
					
					   if(o.autoStopAtEnd){
                       projector.everyTime(o.swapDelay,'akCarousel',$.fn.akCarousel.gotoNextStep,o.numItems-1);
                   }else{
                       projector.everyTime(o.swapDelay,'akCarousel',$.fn.akCarousel.gotoNextStep);
                   }
					
				}
			});
		
		}

		

	});

	$.fn.akCarousel.properties = {
		
	};

	$.fn.akCarousel.gotoStep= function(index){
			//alert($(this).html());
			var o = $.fn.akCarousel.properties;
			if(index < o.numItems){
				o.step = index;
				o.proj.animate( { left: -o.projectorWidth*o.step, }, { queue:false, duration:o.speed} );
			}
			/*return this.each(function() {
				
// 			});*/
	}
	$.fn.akCarousel.gotoNextStep= function(){
			//alert($(this).html());
			var o = $.fn.akCarousel.properties;
			if((o.step+1) < o.numItems){
				o.step++;
			}else{
				o.step=0;
			}
			o.proj.animate( { left: -o.projectorWidth*o.step, }, { queue:false, duration:o.speed} );
			
			/*return this.each(function() {
				
// 			});*/
	}

})(jQuery);
