var ImageFilter_RandomCombine = function(){
	var ViewId = "#MainView_Area";	
	var html;
	var Fname;
	var html2;

	//画像分割
	var x_split = 7;
	var y_split = 7;
	var l_split = 2;

	//表示するときの時間
	var Timer_all = 2000;
		
	//座標保管用
	var x_posi = new Array();
	var y_posi = new Array();

	// controlがtrueの時に処理を開始する
	var control=false;	
	this.check_action = function(){
		return control;
	}
	
	this.set_action =function(co){
		if(co == true){
			control = true;
		}else{
			control = false;
		}
	}
	
	this.cover = function(Vname,Vhtml){		
		if(control!=true){ return false; }	
		if(Vname){ Fname = Vname; }else{ return false; }				
		if(Vhtml){ html = Vhtml; }else{ return false; }		
		
		switch(Vname){
			case "MyRandomIn":
			case "401":
				this.MyRandomIn();
			break;

			case "MyRandomOut":			
			case "402":
				this.MyRandomOut();
			break;			
																													
			default:
			this.MyRandomIn();		
		}
	}
	
	this.MyRandomIn = function(){
		control=false;				
		if($(ViewId+' div').size()==0){
			$(ViewId).wrapInner('<div></div>');
		}
		//最初の画像
		$(ViewId+' div:eq(0)').css({'float':'left','position':'absolute','top':'0px','left':'0px','z-index':'10'});		
	
		//最終表示画像
		$(ViewId).append('<div>'+html+'</div>');
		$(ViewId+' div:eq(1)').css({'float':'left','position':'absolute','top':'0px','left':'0px','z-index':'5'});		
		IW = $(ViewId+' div:eq(1)').outerWidth();		
		IH = $(ViewId+' div:eq(1)').outerHeight();	
		
		//フィルター時の画像インスタンス分割数
		IWS = Math.ceil(IW/x_split);
		IHS = Math.ceil(IH/y_split);
		$(ViewId).append('<div></div>');
					
		var y=0;
		var x=0;
		var z=0;
		var l=0;
		for (l=0;l<=l_split;l++) {
			for(y=0;y<y_split;y++){
				for(x=0;x<x_split;x++) {				
					z = (x_split*y_split*l)+(x_split*y)+x;
					$(ViewId+' div:eq(2)').append('<div>'+html+'</div>');
					IHP=Math.random()*IH*1.2-IH*0.1;
					IWP=Math.random()*IW*1.2-IW*0.1;
					
					if(x==x_split-1){
						$(ViewId+' div:eq(2) div:eq('+z+')').css({'position':'absolute','top':IHP,'left':IWP,'width':IW-(IWS*x)+'px','height':IHS+'px','overflow':'hidden','z-index':'20','opacity':'0'});	
					}else if(y==y_split-1){
					
						$(ViewId+' div:eq(2) div:eq('+z+')').css({'position':'absolute','top':IHP,'left':IWP,'width':IWS+'px','height':IH-(IHS*y)+'px','overflow':'hidden','z-index':'20','opacity':'0'});	
					}else{
						$(ViewId+' div:eq(2) div:eq('+z+')').css({'position':'absolute','top':IHP,'left':IWP,'width':IWS+'px','height':IHS+'px','overflow':'hidden','z-index':'20','opacity':'0'});	
					}
				
					x_posi[z] =IWS*x;				
					y_posi[z] =IHS*y;
					$(ViewId+' div:eq(2) div:eq('+z+') img').css({'position':'absolute','top':'-'+IHS*y+'px','left':'-'+IWS*x+'px','z-index':'20'});			
				}
			}
		}

		var n = 0;
		for(i=0;i<x_posi.length;i++){
			$(ViewId+' div:eq(2) div:eq('+i+')').animate({
				'opacity':'1',
				'top':y_posi[i],
				'left':x_posi[i]
			},{
				queue: true,
				duration: Timer_all,
				easing: "easeOutQuad",
				complete: function(){
					if(n>=x_posi.length-1){
						$(ViewId+' div:eq(2)').remove();					
						$(ViewId+' div:eq(0)').remove();
						control=true;		
					}else{
						n=n+1;	
					}
				}
			});					
		}		
	}
	
	this.MyRandomOut = function(){
		control=false;				
		if($(ViewId+' div').size()==0){
			$(ViewId).wrapInner('<div></div>');
		}
		//最初の画像
		$(ViewId+' div:eq(0)').css({'float':'left','position':'absolute','top':'0px','left':'0px','z-index':'20'});		
	
		//最終表示画像
		$(ViewId).append('<div>'+html+'</div>');
		$(ViewId+' div:eq(1)').css({'float':'left','position':'absolute','top':'0px','left':'0px','z-index':'5'});		
		IW = $(ViewId+' div:eq(1)').outerWidth();		
		IH = $(ViewId+' div:eq(1)').outerHeight();	
		
		//フィルター時の画像インスタンス分割数
		IWS = Math.ceil(IW/x_split);
		IHS = Math.ceil(IH/y_split);
		$(ViewId).append('<div></div>');
		
		html2 = $(ViewId+' div:eq(0)').html();		
		var y=0;
		var x=0;
		var z=0;
		var l=0;
		for (l=0;l<=l_split;l++) {
			for(y=0;y<y_split;y++){
				for(x=0;x<x_split;x++) {				
					z = (x_split*y_split*l)+(x_split*y)+x;
					$(ViewId+' div:eq(2)').append('<div>'+html2+'</div>');
					IHP = IHS*y;
					IWP = IWS*x;
					
					if(x==x_split-1){
						$(ViewId+' div:eq(2) div:eq('+z+')').css({'position':'absolute','top':IHP,'left':IWP,'width':IW-(IWS*x)+'px','height':IHS+'px','overflow':'hidden','z-index':'15','opacity':'1'});	
					}else if(y==y_split-1){
					
						$(ViewId+' div:eq(2) div:eq('+z+')').css({'position':'absolute','top':IHP,'left':IWP,'width':IWS+'px','height':IH-(IHS*y)+'px','overflow':'hidden','z-index':'15','opacity':'1'});	
					}else{
						$(ViewId+' div:eq(2) div:eq('+z+')').css({'position':'absolute','top':IHP,'left':IWP,'width':IWS+'px','height':IHS+'px','overflow':'hidden','z-index':'15','opacity':'1'});	
					}
				
					x_posi[z] =Math.random()*IW*1.4-IW*0.2;				
					y_posi[z] =Math.random()*IH*1.4-IH*0.2;
					$(ViewId+' div:eq(2) div:eq('+z+') img').css({'position':'absolute','top':'-'+IHS*y+'px','left':'-'+IWS*x+'px','z-index':'20'});			
				}
			}
		}
		$(ViewId+' div:eq(0)').css({'z-index':'5'});

		var n = 0;
		for(i=0;i<x_posi.length;i++){
			$(ViewId+' div:eq(2) div:eq('+i+')').animate({
				'opacity':'0',
				'top':y_posi[i],
				'left':x_posi[i]
			},{
				queue: true,
				duration: Timer_all,
				easing: "easeOutQuad",
				complete: function(){
					if(n>=x_posi.length-1){
						$(ViewId+' div:eq(2)').remove();					
						$(ViewId+' div:eq(0)').remove();
						control=true;		
					}else{
						n=n+1;	
					}
				}
			});					
		}		
	}
}
