(function($){
	$.fn.tSkimmer=function(options){
		$.fn.tSkimmer.defaults={firstOnMouseOut:false,cover:false,coverFadeSpeed:200};
		var settings=$.extend({},$.fn.tSkimmer.defaults,options);
		var $this=$(this);
		var $imgs=$('li:not(.cover) img',$this);
		var img_count=$imgs.length;
		var $cover=$('li.cover',$this);
		var width,height;
		var url=$this.data('url');
		var make=function(){
		  $this.addClass('thumbs-skimmer');
		  width=$this.width();
		  height=$this.height();
		  $('li',$this).width(width).height(height);
		  $('li.url a').width(width).height(height);
		  var allImages=[];
		  $imgs.each(function(){
				var element=$(this);
				allImages.push({src:this.src,element:this});});
				var allImagesLength=allImages.length,allImagesLoaded=0;
				$.each(allImages,function(i,img){
					var image=new Image;
					image.src=img.src;
					//image.onload=function(){
						//allImagesLoaded++;
						//if(allImagesLoaded==allImagesLength){
							$('img:first',$this).addClass('active');
							//console.log($('img:first',$this));
						//};
					//};
				});
			};
			$this.mousemove(function(event){
				if($.browser.mozilla===true){
					offsetX=event.layerX;
				}else{
					offsetX=event.offsetX;
				}
				var x=offsetX*100/$this.width();
				var img=x*img_count/100;
				img=Math.ceil(img);
				img=img==0?0:(img-1);
				$('img.active',$this).removeClass('active');
				$('img',$this).eq(img).addClass('active');
			});
			
			if(settings.firstOnMouseOut){
				$this.mouseleave(function(){
					$('img.active',$this).removeClass('active');
					$('img:first',$this).addClass('active');
				});
			}
			
			if(settings.cover=='showOnHover'){
				$('li.cover',$this).hide();
				$this.hover(function(){
					$cover.fadeIn(settings.coverFadeSpeed);
				},function(){
					$cover.fadeOut(settings.coverFadeSpeed);
				});
			}
		
			if(settings.cover=='showOnMouseOut'){
				$this.hover(function(){
					$cover.fadeOut(settings.coverFadeSpeed);
				},function(){
					$cover.fadeIn(settings.coverFadeSpeed);
				});
			}
			
			if(url){
				$this.addClass('pointer').click(function(){
					window.location=url;
				});
			}
		
			return this.each(make);
		};
	})(jQuery);
