//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
//
//　■ナビゲーションクラス
//　依存関係：commonlib.js
//
//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//クラス生成
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
clsNavigation = new Object();
clsNavigation = function(){

  //*******************************************************
  //プロパティ
  //*******************************************************
  this.strInsName = "navi";
  
  this.aobjMaker      = new Array();
  this.aobjCarInfo    = new Array();
  this.objThumbImage  = new Object();
  this.objDescription = new Object();
  this.objThumbnail   = new Object();
  
  //*******************************************************
  //初期処理
  //*******************************************************
  this.init = function(){
    //オブジェクト取得
    this.getobject();
    
    //表示初期化
    this.setmaker(0);
  }
  
  //*******************************************************
  //オブジェクト取得
  //*******************************************************
  this.getobject = function(){
    
    //=====================================================
    //サムネイル表示領域
    //=====================================================
    this.objThumbImage  = document.getElementById("imgThumbnail");
    this.objDescription = document.getElementById("txtThumbnail");
    this.objThumbnail   = aobjData;
    
    //=====================================================
    //メーカーボタン
    //=====================================================
    var objArea = document.getElementById("ctrlMaker");
    aobjTemp = com.getTag(objArea, "a");
    for (var i=0; i<aobjTemp.length; i++){
      if (aobjTemp[i].className.indexOf('btnMaker') < 0){ continue; }
      if (com.isUnDef(this.aobjMaker[i])){
        this.aobjMaker[i] = new Array();
      }
      this.aobjMaker[i]['btn'] = aobjTemp[i];
    }
    
    //=====================================================
    //車種名表示エリア
    //=====================================================
    var objArea = document.getElementById("ctrlCarName");
    aobjTemp = com.getTag(objArea, "div");
    for (var i=0; i<aobjTemp.length; i++){
      if (aobjTemp[i].className.indexOf('areCarName') < 0){ continue; }
      if (com.isUnDef(this.aobjMaker[i])){
        this.aobjMaker[i] = new Array();
      }
      this.aobjMaker[i]['car'] = aobjTemp[i];
    }
    
    //=====================================================
    //イベントアタッチ
    //=====================================================
    for (var i=0; i<this.aobjMaker.length; i++){
      //オーバー
      com.addEvent(this.aobjMaker[i]['btn'], "mouseover", com.getFnc("this.btnroll('maker', 1," + i + ")",this));
      //アウト
      com.addEvent(this.aobjMaker[i]['btn'], "mouseout", com.getFnc("this.btnroll('maker', 0," + i + ")",this));
      //クリック
      com.addEvent(this.aobjMaker[i]['btn'], "click", com.getFnc("this.setmaker(" + i + ")",this));
    }
  }

  //*******************************************************
  //ボタンアクション
  //*******************************************************
  //=======================================================
  //ロールオーバー
  //=======================================================
  this.btnrollover = function(vobjTarget){
    var objImg = (com.getTag(vobjTarget, "img"))[0];
    var strPath = objImg.src;
    strPath = strPath.replace(/_on\.gif$/, ".gif");
    strPath = strPath.replace(/_ac\.gif$/, ".gif");
    strPath = strPath.replace(/\.gif$/, "_on.gif");
    
    strPath = strPath.replace(/_on\.jpg$/, ".jpg");
    strPath = strPath.replace(/_ac\.jpg$/, ".jpg");
    strPath = strPath.replace(/\.jpg$/, "_on.jpg");
    
    strPath = strPath.replace(/_on\.jpeg$/, ".jpeg");
    strPath = strPath.replace(/_ac\.jpeg$/, ".jpeg");
    strPath = strPath.replace(/\.jpeg$/, "_on.jpeg");
    objImg.src = strPath;
  }
  //=======================================================
  //ロールアウト
  //=======================================================
  this.btnrollout = function(vobjTarget){
    var objImg = (com.getTag(vobjTarget, "img"))[0];
    var strPath = objImg.src;
    
    strPath = strPath.replace(/_on\.gif$/, ".gif");
    strPath = strPath.replace(/_ac\.gif$/, ".gif");

    strPath = strPath.replace(/_on\.jpg$/, ".jpg");
    strPath = strPath.replace(/_ac\.jpg$/, ".jpg");

    strPath = strPath.replace(/_on\.jpeg$/, ".jpeg");
    strPath = strPath.replace(/_ac\.jpeg$/, ".jpeg");
    objImg.src = strPath;
  }
  
  //*******************************************************
  //ボタンロールオーバーラッパー
  //*******************************************************
  this.btnroll = function(vstrBtnType, vintType, vintIndex){
    
    //オブジェクト判定
    if (vstrBtnType == 'maker'){
      var objButton = this.aobjMaker;
    }else{
      var objButton = this.aobjCarInfo;
    }
    
    //オブジェクト取得
    if (com.isUnDef(objButton[vintIndex]['btn'])){ return; }
    var objBtn = objButton[vintIndex]['btn'];
    
    //カレント時は制御しない
    var objImg = (com.getTag(objBtn, "img"))[0];
    if (objImg.src.match(/_ac\.gif$/)){ return; }
    if (objImg.src.match(/_ac\.jpg$/)){ return; }
    if (objImg.src.match(/_ac\.jpeg$/)){ return; }

    //ロールオーバー処理実行
    if (vintType){
      this.btnrollover(objBtn);
    }else{
      this.btnrollout(objBtn);
    }
  }
  
  //*******************************************************
  //メーカ確定
  //*******************************************************
  this.setmaker = function(vintIndex){
    
    //=====================================================
    //全情報初期化
    //=====================================================
    for (var i=0; i<this.aobjMaker.length; i++){
      //全ボタンを通常状態に変更
      if (!com.isUnDef(this.aobjMaker[i]['btn'])){
        this.btnrollout(this.aobjMaker[i]['btn']);
      }
      //全車種表示領域非表示
      if (!com.isUnDef(this.aobjMaker[i]['car'])){
        this.aobjMaker[i]['car'].style.display = "none";
      }
    }
    
    //=====================================================
    //自身をアクティブに設定
    //=====================================================
    //ボタンをアクティブに設定
    if (!com.isUnDef(this.aobjMaker[vintIndex]['btn'])){
      var objImg = (com.getTag(this.aobjMaker[vintIndex]['btn'], "img"))[0];
      var strPath = objImg.src;
      strPath = strPath.replace(/\.gif$/, "_ac.gif");
      strPath = strPath.replace(/\.jpg$/, "_ac.jpg");
      strPath = strPath.replace(/\.jpeg$/, "_ac.jpeg");
      objImg.src = strPath;
    }
    
    //自身の車種情報を表示
    if (!com.isUnDef(this.aobjMaker[vintIndex]['car'])){
      this.aobjMaker[vintIndex]['car'].style.display = "block";
    }
    
    //=====================================================
    //車種情報取得
    //=====================================================
    this.getcarinfo(vintIndex);
  }
  
  
  //*******************************************************
  //車種情報取得
  //*******************************************************
  this.getcarinfo = function(vintIndex){
    
    //=====================================================
    //オブジェクト取得
    //=====================================================
    if (com.isUnDef(this.aobjMaker[vintIndex]['car'])){ return; }
    
    var objArea = this.aobjMaker[vintIndex]['car'];
    aobjTemp = com.getTag(objArea, "a");
    for (var i=0; i<aobjTemp.length; i++){
      if (aobjTemp[i].className.indexOf('btnCarName') < 0){ continue; }
      if (com.isUnDef(this.aobjCarInfo[i])){
        this.aobjCarInfo[i] = new Array();
      }
      this.aobjCarInfo[i]['btn'] = aobjTemp[i];
    }

    //=====================================================
    //サムネイル情報取得
    //=====================================================
    for (var i=0; i<this.aobjCarInfo.length; i++){
      if (com.isUnDef(this.objThumbnail[vintIndex][i])) { continue; }

      for (var strKey in this.objThumbnail[vintIndex][i]){
        this.aobjCarInfo[i][strKey] = this.objThumbnail[vintIndex][i][strKey]
      }
    }
    
    //=====================================================
    //イベントアタッチ
    //=====================================================
    for (var i=0; i<this.aobjCarInfo.length; i++){
      //オーバー
      com.addEvent(this.aobjCarInfo[i]['btn'], "mouseover", com.getFnc("this.setthumbnail(" + i + ")",this));
      //アウト
      com.addEvent(this.aobjCarInfo[i]['btn'], "mouseout", com.getFnc("this.btnroll('car', 0," + i + ")",this));
      //クリック
      com.addEvent(this.aobjCarInfo[i]['btn'], "click", com.getFnc("document.location.href = '" + this.aobjCarInfo[i]['url'] + "'",this));
    }
    
    //=====================================================
    //初期化
    //=====================================================
    this.setthumbnail(0);
    this.btnroll('car', 0, 0);
  }

  //*******************************************************
  //サムネイルセット
  //*******************************************************
  this.setthumbnail = function(vintIndex){
    
    //=====================================================
    //ロールオーバー
    //=====================================================
    this.btnrollover(this.aobjCarInfo[vintIndex]['btn'])
      
    //=====================================================
    //画像差し替え
    //=====================================================
    var objImg = (com.getTag(this.objThumbImage, "img"))[0];
    objImg.src = this.aobjCarInfo[vintIndex]['img'];
    objImg.alt = this.aobjCarInfo[vintIndex]['alt'];
    this.objDescription.innerHTML = this.aobjCarInfo[vintIndex]['desc'];
  }
  //*******************************************************
}

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//インスタンス生成、初期化
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
navi = new clsNavigation();
com.addEvent(window, "load", function(){navi.init()});

