$.fn.extend({
	slideVisual : function(options){

		var $target = $(this);
		var defaults = { images:[], timer:6000 };
		options = $.extend(defaults, options);

		var imgArray = new Array();
		imgArray = options.images;
		var imgArrayLen = imgArray.length;

		var $targetBox = $('<div />');
		$(this).find('img:eq(0)').after($targetBox);

		var $targetImg;
		var selectImageArr = new Array();

		var imageGalleryTimer;
		var galleryTime = options.timer;

		var loadImageCnt = 1;
		$.each(
			imgArray,
			function(num,url){
				var $img = $('<img />').attr('src',url).css('opacity',0).appendTo($targetBox);
				selectImageArr[num]=num;
				if(num){
					$img.load(function(){
						loadImageCnt++;
						if(loadImageCnt>=imgArrayLen){
							$targetImg = $targetBox.find('img');
							changeImage();
						}
					});
				}
			}
		);

		function changeImage(){
			clearTimeout(imageGalleryTimer);
			$targetImg.eq(selectImageArr[0]).css('opacity',0).css('zIndex',500).stop().animate({ opacity : 1 },{
				duration : 800,
//				easing : 'easeInCubic',
				complete : function(){
					$targetImg.eq(selectImageArr[0]).css('zIndex',400).siblings().css('zIndex',300);
					selectImageArr.push(selectImageArr.shift());
					imageGalleryTimer = setTimeout(function(){ changeImage();},galleryTime);
				}
			});
		}


	}
});

