	var junbicyuu = function(myobj) {
    var hyouzi_naiyou = myobj.firstChild.nodeValue;
	$("sentaku_koumoku").innerHTML = "<div class='benkyou2'>"+hyouzi_naiyou+"</div>";	
	var junbicyuu = "<div style='font-size:16px; color:#800;'>準備中です</div>"
	$("menu").innerHTML = junbicyuu;	
	}

	var key_sel =  function(myobj) {
	   var sougou_awase = myobj.id.substr(0,1);
	   var hyouzi_naiyou = myobj.firstChild.nodeValue;
		$("sentaku_koumoku").innerHTML = "<div class='benkyou2'>"+hyouzi_naiyou+"</div>";	

	list_hyouji(sougou_awase);	
	}

	var sougou_onclick = function() {
	myEffectPuff6(menu);
	}
	var key_sel =  function(myobj) {
	   var sougou_awase = myobj.id.substr(0,1);
	   var hyouzi_naiyou = myobj.firstChild.nodeValue;
		$("sentaku_koumoku").innerHTML = "<div class='benkyou2'>"+hyouzi_naiyou+"</div>";	

	list_hyouji(sougou_awase);	
	}

	var list_hyouji =  function(my) {
	   var arr_str = "";
	   arr_str_list = [];
	   arr_daimei = [];
	   var p = 0;
	   var menu_html = "";
	   var sougou_key = "";
		

		for(mkey in test){
  	   			arr_str = mkey.substr(0,3);
				sougou_key = mkey.substr(3,1);
  	   		if(sougou_key == my){
				if(arr_str_list.length == 0){
                    arr_str_list[p] = arr_str;
                    arr_daimei[p]=test[mkey]["daimei"];
                    p++;
								menu_html += '<input type="button" onclick="sougou_random2(this),tobashi()" id="'+my+'randomb" class="randomb" value="ランダム" onmouseover="myEffbotanHighli8(this)"></input><br><br>';
				}
				else{
						if(arr_str_list[p-1] == arr_str){
						}
						else{
						arr_str_list[p] = arr_str;
                    	arr_daimei[p]=test[mkey]["daimei"];
						p++;
						}				  	   			
  	   			}
			}
		}
		
			for (var i = 0; i < arr_str_list.length; i++){
			menu_html += '<table border="0"><tr>';				
			menu_html += '<td class="menu_header" id="'+arr_str_list[i]+'_header" onclick="click_list(this)" nowrap onmouseover="m_overtxt(this)" onmouseout="m_outtxt_midashi(this)">'+arr_daimei[i]+'</td>';
			menu_html += '<td class="close_block" onClick="tonari_kieru(this)" onmouseover="m_overtxt(this)" onmouseout="m_outtxt_midashi(this)">close<div class="menu_block" id="'+arr_str_list[i]+'_block"><div id="'+arr_str_list[i]+'"></div></div></td>';
			menu_html += '</tr></table>';			
//			menu_html += '<div class="menu_block" id="'+arr_str_list[i]+'_block"><div id="'+arr_str_list[i]+'"></div></div>';						

			}	
$(menu).innerHTML = menu_html;	   		
	   }
	   
var tonari_kieru = function(myobj) {

	var nextNode = myobj.childNodes[1].firstChild;
	nextNode.innerHTML = "";
	
}	   
var click_list =  function(myobj) {
	var p = 0;
	var s_key = [];
	var kari_key = myobj.id;
		kari_key = kari_key.substr(0,3); 	
    var list_content = "";
    var list_random = "";
    var zen_content = "";
	  	   for(var key in test){
	  	   	    hikaku = key.substr(0,3);
	  	   	    mykey = key.substr(4,key.length-1);
	  	   		if(hikaku == kari_key){
	 list_content += '<div onmouseout="m_outtxt(this)" onmouseover="m_overtxt(this)" onclick="tobashi(),list_select(this),my_dragg()" class="mylist">'+mykey+'</span><span style="display:none;" class="mkey">'+key+'</span></div>'; 	   			
	  	        s_key [p] = key;
	  	        p++;
	  	   		}	
	  	   }
		
	 shuffle(s_key);
	list_random = '<div onclick="tobashi(),list_select(this),my_dragg()" class="random"><span onmouseout="m_outtxt(this)" onmouseover="m_overtxt(this)">ランダム</span><span style="display:none;" class="randamkey">'+s_key[0]+'</span></div>';
		
zen_content = list_random + list_content;
			//	alert(zen_content);
		  		$(kari_key).innerHTML = zen_content;

	}

	var sougou_random = function() {
param = location.search;
param =	unescape(param);		
awase2_key = param.substr(1,(param.length - 1));
		
len = awase2_key.indexOf("★");
naiyou = awase2_key.substr(0,len);

koumoku = awase2_key.substr(len + 1,awase2_key.length - len);
		
keykey = awase2_key.substr(3,1);   

	var p = 0;
	var s_randomkey = [];
	var hikaku2 = ""; 	
	  	   for(var key in test){
	  	   	hikaku2 = key.substr(3,1);	
	  	   		if(hikaku2 == keykey){
			  	   s_randomkey[p] = key;
			  	   p++;	  	   		
	  	   		} 
  	   		
	  	   }
			$("ccc_place").innerHTML = koumoku;
			$("bbb_place").innerHTML = '<input type="button" onclick="jumpccc(),tobashi()" id="'+keykey+'randomb" class="randomb" value="ランダム" onmouseover="myEffbotanHighli8(this)"></input><br><br>';

			
	 shuffle(s_randomkey);
			if(s_randomkey[0] == naiyou){
	 K(s_randomkey[1]);
			}
            else{
 	 K(s_randomkey[0]);		
			}		 

	 my_dragg();	   	   

	}

	var sougou_random2 = function(myobj) {

		keykey = myobj.id;
		keykey = keykey.substr(0,1);
		var hikaku = "";
        hikaku2 = $(keykey+"_sougou").innerHTML;

        $("ccc_place").innerHTML = hikaku2;		
		$("bbb_place").innerHTML = '<input type="button" onclick="jumpccc(),tobashi()" id="'+keykey+'randomb" class="randomb" value="ランダム" onmouseover="myEffbotanHighli8(this)"></input><br><br>';		

	var p = 0;
	var s_randomkey = [];
	  	   for(var key in test){
	  	   	hikaku = key.substr(3,1);
	  	   	if(hikaku == keykey){
			  	   s_randomkey[p] = key;
			  	   p++;	  	   		
	  	   		} 
  	   		
	  	   }


	 shuffle(s_randomkey); 	 
	 K(s_randomkey[0]);		
	 my_dragg();	   	   

	} 

   var mylist = function() {
       key_id = ["hd1","hd2","hd3","hd4","hd5","hd6","hd7"];
       var random_mkey = new Array(test.length);
       var list_content = [];
       var list_random = [];
       var zen_content = [];
       var p = 0;
       var mkey = [];
   	   var arr_type = new Object();
       var arr_str = "";
		var arr_str_list = new Array();
       var arr_len = 0;
       
  	   for(mkey in test){
  	   	arr_str = mkey.substr(0,3);
//  	   	    arr_str = "hoi";
  	   	if(arr_type[arr_str]){
  	   		arr_len = arr_type[arr_str].length;
  	   	}else{
  	   		arr_str_list[p] = arr_str;
  	   		p++;
  	   		arr_type[arr_str] = new Array();
  	   		arr_len = 0;
		}
  	   	arr_type[arr_str][arr_len] = mkey;  	   	
//  	   	arr_type[arr_str][arr_len] = mkey.substr(4,mkey.length-1);
//  	   	alert(arr_type[arr_str][arr_len]);
//  	   	arr_type["hoi"][arr_len] = mkey.substr(4,mkey.length-1);
//  	   	arr_type[arr_str][new Array(test.length);] = mkey.substr(4,mkey.length-1);
//  	   	alert(arr_type[arr_str][arr_len]);
// 	   	alert(mkey.substr(4,mkey.length-1)); 
//  	   	break;

  	   	  	   	}/**/
 		
     for (var i = 0; i < key_id.length; i++){
   	   list_content[i] = "";
		for(mkey in test){
   	   	var mkey2 = mkey.substr(4,mkey.length-1);
   	   	var hikaku_n =  mkey.substr(0,3);

   	   			if(hikaku_n == key_id[i]){
    	list_content[i] += '<div onmouseout="m_outtxt(this)" onmouseover="m_overtxt(this)" onclick="tobashi(),list_select(this),my_dragg()" class="mylist">'+mkey2+'</span><span style="display:none;" class="mkey">'+mkey+'</span></div>';
   	   			}
	   		}
	   		 
   		}


  for (var i = 0; i < arr_str_list.length; i++){	
		arr_str = arr_str_list[i];
		shuffle(arr_type[arr_str]);
	  	
//  	exit;  	
   		list_random[i] = '<div onclick="tobashi(),list_select(this),my_dragg()" class="random"><span onmouseout="m_outtxt(this)" onmouseover="m_overtxt(this)">ランダム</span><span style="display:none;" class="randamkey">'+arr_type[arr_str][0]+'</span></div>';
	
   	zen_content[i] = list_random[i] + list_content[i] ; 
  		$(key_id[i]).innerHTML = zen_content[i];  	     		
//   	$(key_id[i]).innerHTML = zen_content[i];
//   	alert($(key_id[i]).innerHTML);
// 	  	alert($(key_id[i]).firstChild.childNodes.item(1).firstChild.nodeValue);

   		}

   		   }
   
	var tobashi = function() {
	myEffectPuff6(zentai);
		
	}
	
	var modori = function() {
	myEffectPuff6(bbb);
	myEffectAppear7(menu);
	    	}
	    	
	var m_overtxt = function(mobj) {
	var mobj=$(mobj);
	mobj.style.color = "orange";
	}
	
	var m_outtxt = function(mobj) {
	var mobj=$(mobj);
	mobj.style.color = "#1e90ff";
	}
	
	var m_outtxt_midashi = function(mobj) {
	var mobj=$(mobj);
	mobj.style.color = "#008";
	}	
	
	var my_shake = function(mobj) {	
	new Effect.Shake(mobj, {duration:3.0}); return false;	
		}

	var list_select = function(myobj) {
//		   var mykey = hoi.firstChild.childNodes.item(1).firstChild.nodeValue;
	    var mykey = "";
		var thisclass = myobj.getAttribute('class') || myobj.getAttribute("className");
		if(thisclass == "random"){
		mykey = myobj.childNodes(1).firstChild.nodeValue;
		}
		else{
		mykey = myobj.childNodes(2).firstChild.nodeValue;
			
		}

var inpkey = mykey.substr(3,1);
var ccc_naiyo = $("sentaku_koumoku").innerHTML;
        $("ccc_place").innerHTML = ccc_naiyo;		
		$("bbb_place").innerHTML = '<input type="button" onclick="jumpccc(),tobashi()" id="'+inpkey+'randomb" class="randomb" value="ランダム" onmouseover="myEffbotanHighli8(this)"></input><br><br>';		


	
           K(mykey);
	    }
	    	
var nextpage_select = function() {
param = location.search;
param =	unescape(param);		
awase2 = param.substr(1,(param.length - 1));
		
len = awase2.indexOf("★");
len2 = len - 2;
naiyou = awase2.substr(2,len2);

koumoku = awase2.substr(len + 1,awase2.length - len);
		
keykey = awase2.substr(5,1); 

nxorbf = awase2.substr(0,2);
	
       var selkey = [];
       var p = 0;
       var hikaku = "";
  	   for(var key in test){
  	   hikaku = key.substr(3,1);
  	   
  	   		if(hikaku == keykey){
  	   		selkey[p] = key;
   	   		p++;
  	   		}
   	   
   	   }
	   
   	   var length = selkey.length;
   	   var next_key = "";
       		for (var i = 0; i < length; i++){
//       		alert(selkey[i]+awase2_key) ;
       			if(selkey[i] == naiyou){
       				if(nxorbf == "nx"){
       				next_key = selkey[i + 1];
       				}	
       				else{
       				next_key = selkey[i - 1];
       				}	
       			;
       			}
       		}
$("ccc_place").innerHTML = koumoku;
$("bbb_place").innerHTML = '<input type="button" onclick="jumpccc(),tobashi()" id="'+keykey+'randomb" class="randomb" value="ランダム" onmouseover="myEffbotanHighli8(this)"></input><br><br>';
      	K(next_key);
 	   }
 	   
var aaapage_select = function() {
param = location.search;
param =	unescape(param);


var aaa_key = param.substr(1,(param.length - 1));	   
	var s_key = [];
	var p = 0;
	awase_key = aaa_key.substr(3,1);
list_hyouji(awase_key);		
	aaa_key = aaa_key.substr(0,3);

	var sentaku_kou_divs = $$('div.sentaku_kou');
	hikaku = [];
	hyouzi_naiyou = "";
       		for (var i = 0; i < sentaku_kou_divs.length; i++){
       		hikaku[i] = sentaku_kou_divs[i].id.substr(0,1);
       			if(hikaku[i] == awase_key){
 					hyouzi_naiyou = sentaku_kou_divs[i].firstChild.nodeValue;
       				$("sentaku_koumoku").innerHTML = hyouzi_naiyou;
       			}	
       		}	
	
	var list_content = "";
    var list_random = "";
    var zen_content = "";
	  	   for(var key in test){
	  	   	    hikaku = key.substr(0,3);
	  	   	    mykey = key.substr(4,key.length-1);
	  	   		if(hikaku == aaa_key){
	 list_content += '<div onmouseout="m_outtxt(this)" onmouseover="m_overtxt(this)" onclick="tobashi(),list_select(this),my_dragg()" class="mylist">'+mykey+'</span><span style="display:none;" class="mkey">'+key+'</span></div>';
	  	        s_key [p] = key;
	  	        p++;
	  	   		}	
	  	   }
shuffle(s_key);
	list_random = '<div onclick="tobashi(),list_select(this),my_dragg()" class="random"><span onmouseout="m_outtxt(this)" onmouseover="m_overtxt(this)">ランダム</span><span style="display:none;" class="randamkey">'+s_key[0]+'</span></div>';	

zen_content = list_random + list_content;
	$(aaa_key).innerHTML = zen_content;
	new Effect.SlideDown(aaa_key+'_block1');	

} 

	    var jumpbbb = function(myobj) {
		var koumoku_key = $("ccc_place").innerHTML;
		var awase_key = $("key_place").innerHTML;
	    var botans_id = myobj.id;
	    	if(botans_id == "next_bt"){
	    	location.href = "bbb.html?nx"+awase_key+"★"+koumoku_key;	    	
	    	}else{
	    	location.href = "bbb.html?bf"+awase_key+"★"+koumoku_key;	    	
	    	}
}

	var jumpaaa = function() {
var awase_key = $("key_place").innerHTML;
    location.href = "aaa2.html?"+awase_key;
    
}

	var jumpccc = function() {
var koumoku_key = $("ccc_place").innerHTML;
var awase_key = $("key_place").innerHTML;
    location.href = "ccc.html?"+awase_key+"★"+koumoku_key;
    
}      
   
    
function K(mykey) {

           var str = test[mykey]['bunsyou'];
           var str2 = "";
           for (i=0; i < str.length-1; i++){
           		if(str.charAt(i) == "★"){
           		str2 += "<br>";
           		}
           		else{
           		str2 += str.charAt(i) ;
           		}
           		
           }
           //str2 = str.replace(/★/i,"<br>");
           var bs = str2.split("#");
           var zen_psen = test[mykey]['psen'];           
           var kaku_psen = zen_psen.split("#");
				var owari_flag = 0;
				if(kaku_psen[kaku_psen.length-1] == "owari"){
				kaku_psen.pop();
				var owari_flag = 1;
				}
				var hajime_flag = 0;
				if(kaku_psen[kaku_psen.length-1] == "hajime"){
				kaku_psen.pop();
				var hajime_flag = 1;
				}
           var my_html = '' ;
           var view = '' ;
           var s_view = '';
           var bsck = [];
           var bs_leng = [];
           var kotae = [];
           var sentaku = [];
           var p = 0;
           var dai_mei = mykey.substr(4,mykey.length-1);
           my_html += '<div>'+dai_mei+'<span style="display:none;" id="key_place">'+mykey+'</span></div><br>';

		   var sentaku_fg = ["A","B","C"];
	       shuffle(sentaku_fg);
     for (var i = 0, length = bs.length; i < length; i++){
 
	           bsck[i] = bs[i].charAt(0);
	           
//	           if(isNaN(bsck[i])){
//		           view += '<span class="bn">'+bs[i]+'</span>';
//	           }
           	   if(bsck[i].match(/[ABC]/)){
		           bs_leng[i] = bs[i].length - 1;
		           kotae[i] = bs[i].substr(1,bs_leng[i]);
		           sentaku[p] = kotae[i];
			       p++;
						if(bsck[i] == sentaku_fg[0]){
		           view += '<span class="box1">&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</span><span class="kait">'+kotae[i]+'</span>';
						}
						else{
							bs[i] = bs[i].substr(1,bs[i].length-1);
		           view += '<span class="bn">'+bs[i]+'</span>';										}
				}
	           else{
		           view += '<span class="bn">'+bs[i]+'</span>';
	           }
		}
my_html += '<p id="c">'+view+'</p>';

                s_view += '<center><table id="mytable">';

                var z = kaku_psen.concat(sentaku);               
                for (var i = 0; i < z.length; i++){
               		for(var n = i + 1; n < z.length; n++){
               			if(z[i] == z[n]){
                        z[i] = "del";
               			}
               		}
                }
                var pp = 0;
                var z_sentaku = [];
                for (var i = 0; i < z.length; i++){
						if(z[i] != "del"){
                        z_sentaku[pp] = z[i];
                        pp++;
               			}                
               	}                
                
     			shuffle(z_sentaku);
var mytr_len = 8;//最大何セルにするか
				var start_len = mytr_len * -1;
				var max_len = 0;
				var amari = z_sentaku.length%4;
				
				var tr_kazu = Math.floor(z_sentaku.length/mytr_len);

				for (var n = 0; n < tr_kazu; n++){
				s_view += '<tr>';
				start_len += mytr_len;
				max_len += mytr_len;
				for (var i = start_len; i < max_len; i++){
				s_view += '<td class="stg" nowrap>'+z_sentaku[i]+'</td>';
				}
				s_view += '</tr>';					
				}
				
				if(amari != 0){
				start_len = z_sentaku.length - amari;
				max_len = z_sentaku.length - 1;
				s_view += '<tr>';
					for (var i = start_len; i < max_len; i++){
					s_view += '<td class="stg" nowrap>'+z_sentaku[i]+'</td>';
					}
				s_view += '</tr>';
				}
				
			s_view += '</table></center>';

my_html +='<div id="b" class="b" style="display:block;">'+s_view+'</div>';

my_html += '<table id="mytable2"><tr>';
my_html += '<td id="handlen" onClick="handl()" onmouseover="myEffbotanHighli8(this)" class="botan1">判定</td>';

if(hajime_flag == 0){
my_html += '<td id="before_bt" onClick="jumpbbb(this)" onmouseover="myEffbotanHighli8(this)" class="botan1">前へ</td>';
}	
if(owari_flag == 0){
my_html += '<td id="next_bt" onClick="jumpbbb(this)" onmouseover="myEffbotanHighli8(this)" class="botan1">次へ</td>';
}

//my_html += '<a href="aaa2.html"><td id="handlen3" onmouseover="myEffbotanHighli8(this)" class="botan1">終了</td></a>';

my_html += '<td id="handlen3" onClick="jumpaaa()" onmouseover="myEffbotanHighli8(this)" class="botan1">終了</td>';

	my_html += '</tr></table>';

my_html += '<br><div id="seikai" style="display:none"></div></span>'

$("bbb").innerHTML = my_html;

}

   var myStartEffect = function(element) {
     element._opacity = Element.getOpacity(element);
     new Effect.Opacity(element, {duration:0.2, from:element._opacity, to:0.7});
     new Effect.Highlight(element, {});
     
   }
   var myStartEffect2 = function(element) {
   new Effect.Pulsate(element, {duration:2.0, transition: Effect.Transitions.linear});
   new Effect.Highlight(element, {duration:2.0, transition: Effect.Transitions.pulse}) ;

   }
   
   var myStartEffect3 = function(element) {
    new Effect.Appear(element, {delay:0.1, duration: 4.0,
    from: 0.1, to:2.5,
    transition: Effect.Transitions.linear});

   }
   
   var myStartEffect4 = function(element) {
   new Effect.Appear(element, {delay:0.1, duration: 4.0,
    from: 0.1, to:2.5,
    transition: Effect.Transitions.wobble});

   } 
   
   var myStartEffect5 = function(element) {
   new Effect.Fade(element, {delay:0.1, duration: 4.0,
    from: 0.1, to:2.5,
    transition: Effect.Transitions.linear});
   
   }
   
   var myEffectPuff6 = function(element) {
   new Effect.Puff(element, { duration: 1.0, queue: 'end' });  
   }

   var myEffectAppear7 = function(element) {
    new Effect.Appear(element, {delay:0.6, duration: 1.0,
    from: 0.1, to:2.5,
    transition: Effect.Transitions.linear});
   }
   
   var myEffbotanHighli8 = function(element) {

   new Effect.Highlight(element, {from:0.1, to:1.0, duration:1.0, transition: Effect.Transitions.linear}) ;
   }
   
   
	function my_dragg(){

	var divs = $$('td.stg');
	var spans = $$('span.box1');


	for (var j = 0; j < divs.length; ++j){
		new Draggable(divs[j], {revert:true, starteffect:myStartEffect});}
	for (var ja = 0; ja < spans.length; ++ja){				
		Droppables.add(spans[ja], {accept:'stg',
								   hoverclass:'box2',
								   onDrop:function(element, dropon, event){dropon.firstChild.nodeValue = element.firstChild.nodeValue}});

	}	
	
}

      function handl(){
      var span_k = $$('span.kait');
      var span_a = $$('span.box1');
 
          var ans1 = [];
          var ans2 = [];
          var ans1_s = [];
          var maru = 0;

	  for (var n = 0; n < span_a.length; n++)      
          {
        
         ans1[n] = span_a[n].firstChild.nodeValue ;                    
         ans2[n] = span_k[n].firstChild.nodeValue ;
                    
         ans1_s[n] = ans1[n].match( /[^\s.-]+/   ) ;

        if(ans1_s[n] == ans2[n]){
        maru = maru + 1;

         }
        else{
        span_a[n].firstChild.nodeValue ='×' +ans1_s[n] ;
        myStartEffect2(span_a[n]);        
        $('seikai').innerHTML = "間違いがあります";
        myStartEffect4('seikai');
         } 
      
         }

		       if( maru == ans1_s.length ){
		       $('seikai').innerHTML = "全問正解です";
		       myStartEffect3('seikai');
		              
		       }  
      
      }


function shuffle(arr){
var N = new Array;
    for (i=0; i < arr.length; i++)
      N[i] = new Array(Math.floor(Math.random() * arr.length*100),arr[i]);
N.sort();
    for (i = 0; i < N.length; i++) 
      arr[i]=N[i][1];
}


timerID = 0;
var mystr = "";
var mystart = 0;
moji = ["穴埋め道場","音楽道場","絵画道場","駆け込み道場","語呂合わせ道場"];
mojimoji = ["abcdefghijklmn","oopqrstuvwxyz","abcdefghijklmn","oopqrstuvwxyz"];
function tipe(mojino){
//$("syasin_place").innerHTML = '<img src="mitoubashi.JPG" alt="奥多摩　三頭橋" width="320" height="170" />';
	mystr = mojino.substr(0,1+mystart);
	switch(mystr){
			case "": clearInterval(timerID);
			default: document.getElementById("daimei_box").innerHTML = mystr;
				}
	mystart++;
				}

				
function goro(){
mojimoji = ["しょうきょくきょいく","す","るぞー"];	
	for (i = 0; i < mojimoji.length; i++){
		if(i%2==0){
$("g"+i).innerHTML = mojimoji[i];
myStartEffect9("g"+i);		
		}else{
$("g"+i).innerHTML = mojimoji[i];
myStartEffect3("g"+i);
			
		}		
	
	
	}
				}
				
var myStartEffect9 = function(element) {				
new Effect.Grow(element);
   }

				
