var Grid_Num ;								//グリッドの最大数 **************順番の入れ替え可能なグリッドの個数に合わせて変更 
var Grid = new Array ( Grid_Num ) ;		//グリッドの並べ替えに使用する配列 
var Grid_Data = new Array ( Grid_Num ) ;	// 
var Cookie_DATA = 0;						//クッキーデータを代入するための変数 

//***********************************************************
//可変グリッドの最大数をHTMLより取得しグローバル変数へ代入 
//***********************************************************
function Grid_Max ( Max ) {
	//Max変数はテキストとして読み込まれているので数値に変換して 
	//グローバル変数に代入する 
	Grid_Num = eval(Max) ;
}
//***********************************************************
//可変グリッドの最大数をHTMLより取得しグローバル変数へ代入 
//***********************************************************

//***********************************************************
//並べ替えるDIV範囲をグローバル変数（配列）に代入設定******** 
//***********************************************************
function Grid_DATA () {
	for ( i = 1 ; i < Grid_Num + 1 ; i ++ ) {
		//Grid[i] = $(".No"+i).parent.parent();
		Grid[i] = $(".No"+i).parent();
	}
}
//***********************************************************
//並べ替えるDIV範囲をグローバル変数（配列）に代入設定******** 
//***********************************************************

//***********************************************************
//グリッドの順番を並べ替える********************************* 
//***********************************************************
function Change_Grid ( Fix_Data ) {
	//固定グリッドの情報を配列に代入 
	
	Fix_Check = Fix_Data.split ( "," ) ;
	
	Grid_DATA ();
	
	//クッキーに情報がある場合は読み込んで配列に代入する 
	if ( ! $.cookie('Grid_Number') ) {
		//alert ( "Cookie NO!" ) ;
		//グリッドの順番を初期状態にする 
		for ( i = 1 ; i < Grid_Num + 1 ; i ++ ) {
			Cookie_DATA = Cookie_DATA + ";" + i ;
		}
	} else {
		//alert ( "Cookie OK!" ) ;
		//グリッドの順番をクッキー情報から取得 
		Cookie_DATA = $.cookie('Grid_Number') ;
		
		//配列の要素を確認し、要素以上にグリッドが存在する場合は要素を追加 
		Grid_Data = Cookie_DATA.split( ";" ) ;
		for ( i = 1 ; i < Grid_Num + 1 ; i ++ ) {
			if ( !Grid_Data[i]  ) {
				Cookie_DATA = Cookie_DATA + ";" + i ;
			}
		}
	}
	//alert ( "Cookie_DATA=" + Cookie_DATA ) ;
	
	//クッキーから取得した情報を分割して配列に代入 
	Grid_Data = Cookie_DATA.split( ";" ) ;
	
				
	
	//固定グリッドの情報をもとにCookie_DATA配列を並べ替える 
	for ( i = 1 ; i < Grid_Num + 1 ; i ++ ) {
		//固定させるグリッドの内容を判定 
		if ( Fix_Check[i] != 0 ) {
			
			for ( j = 1 ; j < Grid_Num + 1 ; j ++ ) {
				if ( Fix_Check[i] == Grid_Data[j] ) {
					//固定させるグリッド内容を表す配列要素を抜き出して詰める 
					for ( k = j ; k < Grid_Num + 1 ; k ++ ) {
						Grid_Data[k] = Grid_Data[k+1];
					}
					Grid_Data.pop () ;
					//alert (Grid_Data ) ;
				}
			}
		}
		
	}
	
	
	//固定するグリッドの内容番号を固定個所に挿入 
	
	for ( i = 1 ; i < Grid_Num + 1 ; i ++ ) {
		if ( Fix_Check[i] != 0 ) {
			
			for ( j = Grid_Num ; j > i ; j -- ) {
				//alert ( "Plus!" ) ; 
				Grid_Data[j] = Grid_Data[ j - 1 ] ;
			}
			Grid_Data[i] = Fix_Check[i];
		}
	}
	
	/*
	document.write ( "FIHISH !! <BR>" ) ;
	for ( i = 1 ; i < Grid_Num + 1 ; i ++ ) {
		document.write("I=" + i + "     Grid_Data[" + i + "]=" + Grid_Data[i] + "<br>" ) ;
	}
	*/
	
	/*グリッドの順番をクッキーに書き込み */
	
	$.cookie('Grid_Number', Cookie_DATA,{ expires: 30 , path:'/'}); 
	
	for ( i = 1 ; i < Grid_Num + 1 ; i ++ ) {
		
		Data = Grid[ Grid_Data[i] ];
		/*
		//Dummy「DIV」の前にGridを配置する 
		*/
		$(".Dummy").before(Data);
	}
	//alert ( $.cookie('Grid_Number') ) ;
}
//***********************************************************
//グリッドの順番を並べ替える********************************* 
//***********************************************************

//***********************************************************
//グリッドがクリックされた時、クリックされたグリッドをグリッド可変領域の先頭に配置する 
//***********************************************************
function Grid_Move (Order,Fix) {
	//alert ( "Cookie_DATA=" + Cookie_DATA + "    Order=" + Order ) ;
	//固定グリッドをクリックしたら動作しない 
	if ( Fix == 0 ) {
		//クッキー情報を配列に代入 
		Grid_Data = Cookie_DATA.split( ";" ) ;
		//Cookie_DATAを初期化 
		Cookie_DATA = 0 ;
		
		//クリックされた数字が収納されている配列番号を取得する 
		for ( i = 1 ; i < Grid_Num + 1 ; i ++ ) {
			if ( Order == Grid_Data[i] ) {
				//alert ( "Order=" + Order + "   i=" + i + "    Grid_Data["+i+"]=" + Grid_Data[i] );
				Grid_Data_Order = i ;
			}
		}
		
		//クリックされた番号の配列情報を配列番号[0]に代入 
		Grid_Data[0] = Grid_Data[Grid_Data_Order] ;
		//alert ( "Gird_Data[0]=" + Grid_Data[0] + "     Grid_Data[Order]=" + Grid_Data[Grid_Data_Order] + "     Order=" + Order ) ;
		
		//クリックされた数字が収納されている配列番号以下の配列情報を繰り上げ代入 
		for ( i = Grid_Data_Order ; i > 0 ; i -- ) {
			Grid_Data[i] = Grid_Data [ i - 1 ] ;
			//alert ( "Grid_Data["+i+"]="+ Grid_Data[i] ) ;
		}
		
		//クッキーに書き込むための情報を作成 
		for ( i = 1 ; i < Grid_Num + 1 ; i ++ ) {
			Cookie_DATA = Cookie_DATA + ";" + Grid_Data[i] ;
		}
		
		//グリッドの順番をクッキーに書き込み 
		$.cookie('Grid_Number', Cookie_DATA,{ expires: 30 , path:'/'}); 
		//alert ( "LAST Cookie=" + $.cookie('Grid_Number') ) ;
		
		onload () ;
		//history.go(0);
		//alert ( "END" );
	} else {
		//alert ( "FIX!") ;
	}
}
//***********************************************************
//グリッドがクリックされた時、クリックされたグリッドをグリッド可変領域の先頭に配置する 
//***********************************************************











