﻿jQuery.fn.changePic = function(options){
	var settings = jQuery.extend({
			delay:3000,
			delayEffect:600,
			changeImg:null,
			changeNum:null,
			auto:true,
			changeId :null
		},options);
		var thisAdd = 0;
		var thatAdd;
		var len = settings.changeImg.size();
		if(len<=1){
			return ;
		}
				settings.changeImg.hide().css('opacity',0);
				settings.changeImg.eq(0).show().css('opacity',1);
				settings.changeImg.each(function(i,n){
					$('<a href="javascript:void(0);"></a>').appendTo(settings.changeNum);
				});
		var changeNumA = settings.changeNum.children('a');
			changeNumA.eq(0).addClass('here');
			if(thisAdd ==0){settings.scrollClick.hide()}else{settings.scrollClick.show()}
		var changeAuto = function(){
				settings.changeImg.eq(thisAdd).show().animate({opacity: 0}, {queue: false,duration: settings.delayEffect,complete:function(){$(this).hide();}} );
				changeNumA.eq(thisAdd).removeClass('here');
				thisAdd++;
				if(thisAdd>=len){thisAdd = 0;}
				if(thisAdd ==0){settings.scrollClick.hide()}else{settings.scrollClick.show()}				
				settings.changeImg.eq(thisAdd).show().animate( {opacity: 1}, {queue: false, duration: settings.delayEffect,complete:function(){$(this).show();}} );
				changeNumA.eq(thisAdd).addClass('here');
			}
			changeNumA.hover(function(){
				if(settings.changeId){clearInterval(settings.changeId)}
				if(settings.changeImg + ':animated'){$(this).stop(true)}
					thatAdd = changeNumA.index($(this));
					changeNumA.filter('.here').removeClass('here');						
					changeNumA.eq(thatAdd).addClass('here');
					if(thatAdd == thisAdd){return;}
					if(thatAdd == 0){settings.scrollClick.hide()}else{settings.scrollClick.show()}
					settings.changeImg.eq(thisAdd).animate({opacity: 0}, {duration: settings.delayEffect,complete:function(){$(this).hide();}} );
					settings.changeImg.eq(thatAdd).show().animate({opacity:1}, {queue: false, duration: settings.delayEffect});
				},
				function(){
					thisAdd=thatAdd;
					settings.changeId = setInterval(changeAuto,settings.delay);
				});
			if(settings.auto){settings.changeId = setInterval(changeAuto,settings.delay);}
		
		
	}
