//********イベント・リスナーをセット********
//********コンテンツ一覧を表示する********
//********ページ切り替え********
//********イメージアニメーション********
//********DBから取得したデータを構造体にして返す********
//********コンテンツを表示する********
//********サブメニューの表示切り替え********
//********サブメニューの非表示切り替え********
//********サブメニュー要素の取得********



//定数セット　いずれはマスター化する
var MAX_ROW = 6;
//var DIRECTORY = 'file:///D:/kc_html_test/';
var DIRECTORY = 'http://spitfire-mk4.com/';
//var DIRECTORY = 'file:///D:/Spitfire/kc_html_test/';

//********イベント・リスナーをセット********
function initDocument(index)	{
/* メニューのHTML記述 */
  /* 各メニューのDIV要素にclick/mouseover/mouseoutイベント・リスナーをセット */
  var menu_group = document.getElementById('head_menu').childNodes;

  for(var i=0; i<menu_group.length; i++) {
   var menu_group_element = menu_group.item(i);
   if(menu_group_element.className != 'menu_group') { continue; }
       /* mouseoverイベント・リスナーをセット */
       dom.event.addEventListener(menu_group_element, 'mouseover', SubMenuShow);
       dom.event.addEventListener(menu_group_element, 'mouseout', SubMenuHide);

       var top_menu = menu_group_element.childNodes;

       for(var j=0; j<top_menu.length; j++) {
	var top_menu_element = top_menu.item(j);
	if(top_menu_element.className == 'top_menu' ) { 
	   /* clickイベント・リスナーをセット */
	 //  dom.event.addEventListener(top_menu_element, 'click', submenuAction);
 	   continue; 
	} else if(top_menu_element.className != 'sub_menu_group') { continue; }
	   /* サブメニューグループを非表示にする*/
	   top_menu_element.style.display = 'none';

	   var sub_menu = top_menu_element.childNodes;

	   for(var m=0; m<sub_menu.length; m++) {
		  var sub_menu_element = sub_menu.item(m);

		  if(sub_menu_element.className != 'sub_menu') { continue; } 
		  /* clickイベント・リスナーをセット */
		  dom.event.addEventListener(sub_menu_element, 'click', submenuAction);
	   } /* for 3の閉じ */
       } /* for 2の閉じ */
  } /* for 1の閉じ */

} /* functionの閉じ */


//********サブメニュー定義********
function submenuAction(evt){

  var elmName;
  var divelm1 = document.getElementById('contents01');
  var divelm2 = document.getElementById('contents02');

  if(evt.srcElement){
    var elmId=evt.srcElement.id;
    var elmTarget=evt.srcElement;
  }else if(evt.target){
    var elmId=evt.target.id;
    var elmTarget=evt.target;
  }

  var elmParent=elmTarget.parentNode;
  elmParent.style.display = 'none';

  if (elmId==='british_sportscar') {  
    divelm1.className='inline';
    divelm2.className='none';
  } 


  if (elmId==='spitfire_mk4-1') {
    location.href = DIRECTORY+"ja/menu.html";
  }

  if (elmId==='spitfire_mk4-2') {
    location.href = DIRECTORY+"ja/menu2.html";
  }

  if (elmId==='spitfire_gt6-1') {  
    location.href = DIRECTORY+"GT6/menu.html";
  }

  if (elmId==='spitfire_gt6-2') {  
    location.href = DIRECTORY+"GT6/menu2.html";
  }

  if (elmId==='RangeRover_1992') {  
    location.href = DIRECTORY+"RangeRover/menu1.html";
  }

  if (elmId==='RangeRover_1980') {  
    location.href = DIRECTORY+"RangeRover/menu2.html";
  }

  if (elmId==='mini_1000') {  
    location.href = DIRECTORY+"mini/menu1.html";
  }

  if (elmId==='Lotus_Elan') {  
    location.href = DIRECTORY+"elan/menu.html";
  }

  if (elmId==='Triumph_TR25W') {  
    location.href = DIRECTORY+"tr25w/menu.html";
  }

  if (elmId==='HONDA_CB50') {  
    location.href = DIRECTORY+"CB50/menu.html";
  }

  if (elmId==='Blog') {  
    location.href = DIRECTORY+"Joblog/";
  }

  if (elmId==='Tools') {  
    location.href = DIRECTORY+"others/tools.html";
  }

  if (elmId==='Garagelife') {  
    location.href = DIRECTORY+"garage/menu.html";
  }

  if (elmId==='Books') {  
    location.href = DIRECTORY+"others/books.html";
  }

  if (elmId==='History') {  
    location.href = DIRECTORY+"others/whatsnew.html";
  }

  if (elmId==='Shopsite') {  
    location.href = DIRECTORY+"others/shop.html";
  }

  if (elmId==='Refersite') {  
    location.href = DIRECTORY+"others/links.html";
  }



  dom.event.preventDefault(evt);

}


//********コンテンツ一覧を表示する********
function displayContentsList(jobFlag,page) {
  var ArrayData = getData(jobFlag);
  var elm;

  //ページ部表示
  if( ArrayData.length/MAX_ROW - parseInt(ArrayData.length/MAX_ROW) > 0 ){ 
      var numberPage = parseInt(ArrayData.length/MAX_ROW) + 1; 
  } else { 
      var numberPage = ArrayData.length/MAX_ROW;
  }
  var divNode = document.getElementById('page_contents');
  tmpNode = document.getElementById('page');

  for(var i=0; i<numberPage; i++) {
    elm = tmpNode.cloneNode(true);
    elm.id = 'page'+i ;

    if( i > 0 ){
	var aNode = document.createElement('a');
        aNode.id =  i ;
	/* clickイベント・リスナーをセット */
	dom.event.addEventListener(aNode, 'click', changePage);
	aNode.appendChild( document.createTextNode( i + 1 ));
	elm.appendChild( document.createTextNode('|'));
	elm.appendChild( aNode);
    } else {
       elm.appendChild( document.createTextNode(i+1));
    }
    divNode.appendChild(elm);
  }


  //リスト部表示
  var tblNode = document.getElementById('tbl_setA');
  var tmpNode = document.getElementById('row');
  for (var j=0; j < ArrayData.length; j++) {
    var k=0;
    elm = tmpNode.cloneNode(true);
    if (j<MAX_ROW){
    elm.style.display = '';}else{ elm.style.display = 'none';
    }
    elm.id = 'row' + j;
    tblNode.appendChild(elm);

    for(var i=0; i < elm.childNodes.length; i++) {
        if(elm.childNodes[i].className=='tytle') { 
  	    elm.childNodes[i].innerHTML='<a>'+ArrayData[j][k]+'</a>';k++;
           /* clickイベント・リスナーをセット */
           dom.event.addEventListener(elm.childNodes[i], 'click', ContentsShow);
        }else if( elm.childNodes[i].className!= undefined ) { elm.childNodes[i].innerHTML=ArrayData[j][k];k++;}
    } if(elm.nextSibling) { elm=elm.nextSibling; }
   }

tmpNode.style.display = 'none';



return true;
}


//********ページ切り替え********
function changePage(evt){
  if(evt.srcElement){
    var elmId=evt.srcElement.id;
    var elmTarget=evt.srcElement;
  }else if(evt.target){
    var elmId=evt.target.id;
    var elmTarget=evt.target;
  }
　var targetPage = elmTarget.id
　var currentPage = 0
　var j = 0

  //該当ページ(elmTarget.id)以外を非表示、該当ページのみ表示する
  var tmpNode = document.getElementById('tbl_setA');
  for(var i=0; i<tmpNode.childNodes.length; i++) {
	var elm = tmpNode.childNodes[i];
	if ( elm.id != undefined && elm.id.substring(0,3)=='row'){
	   if (currentPage == targetPage) {
		elm.style.display = '';
	   } else {
		if( elm.id != 'tbl_head' ) { elm.style.display = 'none';}
	   }
	   j++;
	}
	if ( j==MAX_ROW ) { currentPage++; j = 0; }

  }

  //ページ部の表示を変える
　var currentPage = 0
  var divNode = document.getElementById('page_contents');
  var tmpNode = document.getElementById('page');
  var m=divNode.childNodes.length
  for(var i=0; i<m; i++) {
	var elm = divNode.childNodes[i];
	if ( elm.id == 'page'+currentPage ){
	     newNode = tmpNode.cloneNode(true);
	     newNode.style.display = '';
	     newNode.id = 'page'+currentPage ;

	     if(targetPage == currentPage) {
		//elementの置換
		newNode.appendChild( document.createTextNode(currentPage + 1));
	     }else {
		var aNode = document.createElement('a');
		aNode.id = currentPage ;
		/* clickイベント・リスナーをセット */
		dom.event.addEventListener(aNode, 'click', changePage);
		aNode.appendChild( document.createTextNode( currentPage + 1 ));
		newNode.appendChild( aNode);
	     }

	     if (i>1){ newNode.appendChild( document.createTextNode('|')); }
	     elm.parentNode.replaceChild(newNode, elm);
	     currentPage++;
	}
  }


}


//********イメージアニメーション********
function moveImage(elementID){
return true;

  var elm = document.getElementById(elementID);
  elm.style.height='10px';

for(var i=0; i<600; i++){
//  document.images["sub_image"].style.top=i+100;
  elm.style.height=i*1+'px';
}


}



//********DBから取得したデータを構造体にして返す********
function getData(jobFlag){
var resRows, resRow;
var ArrayData = new Array();

	var httpObj = getHttpObject();

	httpObj.open("GET", "test.php",false);
	httpObj.send(null);
				resRows = httpObj.responseText.split("|");
				for(i in resRows){
				   resRow = resRows[i].split(",");
				   ArrayData[i] = new Array();
				   for(j in resRow){
					ArrayData[i][j] = resRow[j];
				   }
				}

/* 非同期処理 非同期で表示処理を別処理すると、レイアウト表示だけが先に処理されてしまう
	httpObj.onreadystatechange = function(){
		if(httpObj.readyState == 4){
			if(httpObj.status == 200){
				resRows = httpObj.responseText.split("|");
				for(i in resRows){
				   resRow = resRows[i].split(",");
				   ArrayData[i] = new Array();
				   for(j in resRow){
					ArrayData[i][j] = resRow[j];
				   }
				}
			}
		}
	}
*/
	return ArrayData;

}


//********コンテンツを表示する********
function ContentsShow(evt){

  if(evt.srcElement){
    var elmId=evt.srcElement.id;
    var elmTarget=evt.srcElement;
  }else if(evt.target){
    var elmId=evt.target.id;
    var elmTarget=evt.target;
  }

  elmTarget=elmTarget.parentNode
  alert(elmTarget.parentNode.id );  
}




//********サブメニューの表示切り替え********
function SubMenuShow(evt){
  if(evt.srcElement){
    var elm = evt.srcElement;
  }else if(evt.target){
    var elm = evt.target;
  }

  elmSubMenu = GetSubMenuElement(elm)
   // サブメニュー表示
  elmSubMenu.style.display = '';
  elmSubMenu.style.visibility = 'visible';

  return true;
}


//********サブメニューの非表示切り替え********
function SubMenuHide(evt){
  if(evt.srcElement){
    var elm = evt.srcElement;
  }else if(evt.target){
    var elm = evt.target;
  }

  elmSubMenu = GetSubMenuElement(elm)
   // サブメニュー非表示
  elmSubMenu.style.display = 'none';

  return true;
}


//********サブメニュー要素の取得********
function GetSubMenuElement(elm){
  //　ターゲットオブジェクトから、sub_menu_groupクラスのelementを辿る
  if( elm.className == 'top_menu') {
	elm = elm.nextSibling;
	// FF,Safariでは、改行文字もelementとして見てしまうので、その次のelementを取る
	if( elm.className !='sub_menu_group'){ elm = elm.nextSibling; }
     }
  if( elm.className == 'sub_menu' ){
	elm=elm.parentNode;
    } 

   return elm;
}


