/*******************************

	* picFade
	* Copyright (c) yeso!
	* Date: 2010-07-13
	
说明：
	* 必须对包裹子元素的直接父元素应用该方法
	* example: $("#picturewrap").picFade({ controls:"controls",speed:2000,shiftEvent:"mouseover",fadeOutT:300,fadeInT:800});
	* controls:控制按钮父元素的样式类名
	* speed:速度。单位毫秒
	* shiftEvent:触发事件名
	* fadeOutT:渐隐耗时
	* fadeInT:渐现耗时
*******************************/

;(function($){
	
$.fn.picFade=function( options ){
	
	var opts=$.extend({},$.fn.picFade.defaults,options );
	
	return this.each(function(){
		var _this=$(this);
		var $parent=_this.parent();
		var $controls=$( '<div class="'+opts.controls+'"></div>' ).appendTo( $parent );
		var num=_this.children().length;
		
		_this.currentPagePicFade=0;
		_this.intervalPicFade=null;
		
		for( i=0;i<num;i++){
			$("<span>"+(i+1)+"</span>").appendTo( $controls )[ opts.shiftEvent ]( function(){
				$(this).addClass("on").siblings().removeClass("on");
				var index=$controls.children("span").index( $(this) );
				_this.children().eq( _this.currentPagePicFade ).fadeOut( opts.fadeOutT, function(){
					_this.children().eq( index ).fadeIn( opts.fadeInT );
				});
				_this.currentPagePicFade=index;
			});
		}
		
		_this.mouseover(function(){ clearInterval( _this.intervalPicFade ); });
		_this.mouseout(function(){ _this.intervalPicFade=setInterval(function(){
			var showNext=_this.currentPagePicFade+1;
			if( showNext==num) showNext=0;
			$controls.children("span").eq( showNext )[ opts.shiftEvent ]();
		},opts.speed); });
		
		$controls.mouseover( function(){_this.mouseover();} );
		$controls.mouseout( function(){_this.mouseout();} );
		
		$controls.children("span").eq(0).addClass("on");
		_this.mouseout();

	});
};	

$.fn.picFade.defaults={
	controls : "controls",
	shiftEvent : "click",
	speed : 3000,
	fadeOutT : 200,
	fadeInT : 500
};

})(jQuery);
