(function ($j)
{
	$j.fn.lookbook = function ( options )
	{
		var obj = $j( this );
		       
		return this.each( function()
		{
			// init
			function init()
			{	
				slider.append( preloader[0] );
				obj.append( slider );
				
				//sliderWidth += preloader[0].width;
				slider.css( { width: '13000px' } );
			}
			
			// init2
			function init2()
			{
				for( var i=1; i<images.length; i++ )
				{
					slider.append( preloader[i] );
					$j( preloader[i] ).fadeTo( 1, 0.4 );
					
					//sliderWidth += preloader[i].width;
				}
				
				//slider.css( { width: sliderWidth + 'px' } );
				
				btn_next.click( function()
				{
					next();
					return false;
				});
				btn_prev.click( function()
				{
					prev();
					return false;
				});
				
				checkButtons();
				$j( '#max' ).html( images.length );
			}
			
			// click next
			function next()
			{
				if( current < images.length-1 )
				{
					if( preloader[current].width < 800 )
					{
						currentMargin -= ( preloader[current].width + 150 );
					}
					else if( preloader[current+1].width < 800 )
					{
						currentMargin -= ( preloader[current].width - 150 );
					}
					else
					{
						currentMargin -= preloader[current].width;
					}
					
					$j( preloader[current] ).fadeTo( 1000, 0.4 );
					current++;
					$j( preloader[current] ).fadeTo( 1000, 1 );
					
					slider.animate( { marginLeft: currentMargin + 'px' }, 1000 );
					
					c_prev = false;
					c_next = true;
				}
				
				checkButtons();
			}
			
			// click prev
			function prev()
			{
				if( current > 0 )
				{
					if( preloader[current].width < 800 )
					{
						currentMargin += ( preloader[current-1].width - 150 );
					}
					else if( preloader[current-1].width < 800 )
					{
						currentMargin += ( preloader[current-1].width + 150 );
					}
					else
					{
						currentMargin += preloader[current].width;
					}
										
					$j( preloader[current] ).fadeTo( 1000, 0.4 );
					current--;
					$j( preloader[current] ).fadeTo( 1000, 1 );
					
					slider.animate( { marginLeft: currentMargin + 'px' }, 1000 );
					
					c_prev = true;
					c_next = false;
				}
				
				checkButtons();
			}
			
			// check buttons
			function checkButtons()
			{
				if( current > 0 )
					btn_prev.css({ display: 'block' });
				else
					btn_prev.css({ display: 'none' });
				
				if( current < images.length-1 )
					btn_next.css({ display: 'block' });
				else
					btn_next.css({ display: 'none' });
				
				if( c_next )
					$j( '#count' + (current-1) ).fadeTo( 1, 0.3 );
				if( c_prev )
					$j( '#count' + (current+1) ).fadeTo( 1, 0.3 );
					
				$j( '#count' + current ).fadeTo( 1, 1 );
			}
			
			// where comes click from
			var c_prev = false;
			var c_next = false;
			
			// defs
			var current = 0;
			var currentMargin = 0;
			var isSmall = true;
			var sliderWidth = 0;
			
			// html elems
			var slider = $j( '<div class="lookbook_slider"></div>' );
			var btn_prev = $j( '<a href="#" class="btn_prev"></a>' );
			var btn_next = $j( '<a href="#" class="btn_next"></a>' );
			var counter = $j( '<div class="counter"></div>' );
			var clear = $j( '<div class="clear"></div>' );
			obj.append( slider );
			obj.append( clear );
			obj.append( counter );
			obj.append( btn_prev );
			obj.append( btn_next );
			
			// imglist
			var images = new Array();
			images[0] = 'http://www.trikoton.com/media/trikoton/lookbook/lb6.jpg';
			images[1] = 'http://www.trikoton.com/media/trikoton/lookbook/lb1.jpg';
			images[2] = 'http://www.trikoton.com/media/trikoton/lookbook/lb4.jpg';
			images[3] = 'http://www.trikoton.com/media/trikoton/lookbook/lb2.jpg';
			images[4] = 'http://www.trikoton.com/media/trikoton/lookbook/lb7.jpg';
			images[5] = 'http://www.trikoton.com/media/trikoton/lookbook/lb5.jpg';
			images[6] = 'http://www.trikoton.com/media/trikoton/lookbook/lb9.jpg';
			images[7] = 'http://www.trikoton.com/media/trikoton/lookbook/lb8.jpg';
			images[8] = 'http://www.trikoton.com/media/trikoton/lookbook/lb3.jpg';
			
			// preloading
			preloader = new Array();
			
			preloader[0] = new Image();
			preloader[0].src = images[0];
			preloader[0].onLoad = init();
			counter.append( '<span class="counter_item" id="count0"></span>' );			

			for( var i=1; i<images.length; i++ )
			{
				preloader[i] = new Image();
				preloader[i].src = images[i];
				
				counter.append( '<span class="counter_item" id="count' + i + '"></span>' );
				$j( '#count' + i ).fadeTo( 1, 0.3 );
			}
			
			
			var hover = false;
			
			$j( '.lookbook' ).bind( 'mouseenter',function()
			{
				hover = true;
		    }).bind( 'mouseleave',function()
		    {
		    	hover = true;
		    });


			$j(document).ready(function()
			{
				if( hover )
				{
					$j( '.header' ).fadeTo( 1000, 0.05 );
					$j( '.footer' ).fadeTo( 1000, 0.05 );
				}
				
				$j( '.lookbook' ).bind( 'mouseenter',function()
				{
					//$j( '.header' ).fadeTo( 1000, 0.05 );
					//$j( '.footer' ).fadeTo( 1000, 0.05 );
					
					if( $j( '.header' ).is(':animated') )
					{
						$j( '.header' ).stop().fadeTo( 1000, 0.05 );
						$j( '.footer' ).stop().fadeTo( 1000, 0.05 );
					}
					else
					{
						$j( '.header' ).fadeTo( 1000, 0.05 );
						$j( '.footer' ).fadeTo( 1000, 0.05 );
					}

					
			    }).bind( 'mouseleave',function()
			    {
			    	//$j( '.header' ).fadeTo( 1000, 1 );
					//$j( '.footer' ).fadeTo( 1000, 1 );
					
					if( $j( '.header' ).is(':animated') )
					{
						$j( '.header' ).stop().fadeTo( 500, 1 );
						$j( '.footer' ).stop().fadeTo( 500, 1 );
					}
					else
					{
						$j( '.header' ).fadeTo( 500, 1 );
						$j( '.footer' ).fadeTo( 500, 1 );
					}
			    });
				
			});
			
			preloader[ (images.length-1) ].onLoad = init2();
		});
	};
})(jQuery);

$j( '.lookbook' ).lookbook();