$.fn.blockSlider = function(options){    
	var defaults = {
		speed: 1000,
		pause: 8000,
		nav: true,
		navMarkup: ''
	};
	options = $.extend(defaults, options);
	var slider = $(this);
	var size = slider.children().length;
	var nav = options.nav ? (options.navMarkup ? slider.next().find(options.navMarkup) : createNavMarkup()) : false;
	nav && onClickNav();
	slider.children(':first').addClass('active').siblings().hide();
	slider.data('instance', setInterval(crossFading, options.pause));

	function crossFading(){                                
		var currentItem = slider.children().index(slider.children('.active:first'));
		slider.children().eq(currentItem).fadeOut(1000);
		slider.children().each(function(i){
			$(this).css('z-index', ((size - i) + currentItem) % size).hide();
		});
		
		slider.children().eq(currentItem).show();
		console.log();
		var next = ++currentItem % size;
		slider.children().removeClass('active').hide().eq(next).addClass('active').fadeIn();
		nav && nav.children().removeClass('active').eq(next).addClass('active');
	}
	
	function createNavMarkup(){
		var nav = $('<ul class="nav">');
		$('<div class="nav-wrapper">').insertAfter(slider).append(nav);
		for(var i=0; i<size; i++){
			nav.append('<li>');
		}
		return nav;
	}
	
	function onClickNav(){
		nav.children().each(function(i){
			$(this).click(function(){
				clearInterval(slider.data('instance'));
				$(this).addClass('active').siblings('.active').removeClass('active');
				slider.children().removeClass('active').css('z-index', 0).hide().eq(i).css('z-index', size+1).addClass('active').show();
				slider.children().stop(true).eq(i+1 % size).css('z-index', size);
				slider.data('instance', setInterval(crossFading, options.pause));
			});
		}).eq(0).addClass('active');
	}
}
