(function($){
	
	$.fn.artFadeinFadeout=function(o){
		return this.each(function(){
			new $.artFadeinFadeout(this,o);
		});
	};
	
	var defaults={
		Content: "",
		Play: true,
		EffectSpeed: 3500
	};
	
	$.artFadeinFadeout=function(el,o){
		
		this.o=$.extend({},defaults,o||{});
		this.$canvas=$(el);
		if(this.o.Content!="" && this.o.CountMax > 1) {
			this.init();
		}
	};
	
	$.artFadeinFadeout.fn=$.artFadeinFadeout.prototype={};
	$.artFadeinFadeout.fn.extend=$.artFadeinFadeout.extend=$.extend;
	
	$.artFadeinFadeout.fn.extend({
		
		init:function(){
			
			var self = this;
			this.playBool = true;
			this.CountAct=2;
			this.CountDiv=0;
			this.interval=null;
			this.AutoPlay();

			$(this.o.Content).hover(function () {
				self.moveStop();
			},function () {
				self.playBool = true;
				self.ShowEffect();
			});

		},AutoPlay:function(){
			
			var self=this;
			this.interval=setInterval(function(){
				self.ShowEffect();
			},this.o.EffectSpeed);
			
		},ShowEffect:function(){
			
			if(this.playBool) {
				var self=this;
				this.NextAct=null;
				this.NextHide=null;
				
				this.CountAct = (this.CountAct+1>this.o.CountMax) ? 1 : this.CountAct+1;
				this.CountDiv = (this.CountDiv==0) ? 1 : 0;
				
				if(this.CountDiv==0) {
					this.NextHide = $(this.$canvas).children(".box_art_content_showhide_next");
					this.NextAct = $(this.$canvas).children(".box_art_content_showhide_active");
				} else {
					this.NextHide = $(this.$canvas).children(".box_art_content_showhide_active");
					this.NextAct = $(this.$canvas).children(".box_art_content_showhide_next");
				} 
				
				$(this.NextHide).fadeOut(1100);
				$(this.NextAct).fadeIn(1100, function() {
					$(self.NextHide).html($(self.o.Content).find(".box_art_content_showhide_"+(self.CountAct-1)).html());
					self.resetInterval();			
				});	
			}
				
		},moveStop:function(){
			
			this.playBool = false;
			clearInterval(this.interval);
			
		},resetInterval:function(){
			
			clearInterval(this.interval);
			this.AutoPlay();
			
		}
	
	});
	
})(jQuery);
