///////////////////////////////////////////////////////////////////////////////
//
// Sales版、Web版 両対応
//（SalesかWebかは 変数contents_type により判別する）
//
///////////////////////////////////////////////////////////////////////////////

/******************************************************************************
    デバッグ用アラート制御
******************************************************************************/

function ALERT(arg){
//	alert(arg);
}

//メッセージ
function MsgAlert(arg){
//	alert(arg);
}

//RotFlg
function RotFlgAlert(arg){
//	alert("("+arg+")RotFlg=" + RotFlg);
}

//contents領域読み込みオブジェクト
function contentsObjectAlert(arg){	
//	alert(arg);
}

//loadHTMLのタグ
function HtmTagAlert(arg){
//	alert(arg);
}

//メニュー遷移
function MenuAlert(arg){
//	alert(arg);
}


/******************************************************************************
    変数
******************************************************************************/
var now_BG=defBG;			//backgroundの選択情報記憶（初期値：デフォルト）
var fristLoaded = false;
var backgroundLoaded=false;		//backgroundコンテンツの初回起動判定、一度起動されたらtrueへ

var now_tour;				//SeatArrangeメニューのデフォルトbtnKey
var now_Gallery = defGallery_photo;		//GALLERYメニューのデフォルトbtnkey
var now_intPano = defintPano;		//INTERIORメニューのデフォルトbtnkey
var now_intSeat;			//SeatArrangeメニューのデフォルトbtnKey
var now_coPosition= 0;
var funcOpenFlg     = false;        	// interior FashOpen?

var startContents_flg = false;		//コンテンツスタート判定

var tourTimeFlg=false;			//コンテンツスタートdelay

var QualityFlg = false;			//デフォルト3DQUALITY→スピード優先

var loadMenuFlg = false;		//menu loaded?

var resetBtnFlg = false;		//リセットボタンが押された→true

var RePage = "";			//メニュー遷移状態を格納

var bgChangeSceneFlg = false;		//BACKGROUND背景切替フラグ

var firstStopRotFlg = true;			//起動直後3D領域クリックで回転停止する機能を有効化(true)

var playTour0WhenStart = false;		//startMenuCheck時にTour0の再生を開始するフラグ
var playTour0Start = true;			//3DTOUR0起動時クリック音フラグ

var kitTimeFlg = false;				//キットアニメーションスタートフラグ

var helpLinkAry = new Array();		//ヘルプリンク格納

var alertType = 0;					// 表示中のalert画面の種類 非表示時は0
var beforeAlertKey;					// alert画面が出る直前に押されたボタン
var afterWldExec = "";				// ワールド読み込み完了メッセージ受取時の実行コード
var alert_mes="";					// 

var repageflg = 0;

var parSel_tx_disp = "0";			// パーツの説明画面を表示するかどうか。"1"表示、"0"非表示


// 3D Tour関連
var tourNum=0;
var tourTotalNum=0;
var eventName="";
var stoppingTour = 0;				// ツアー終了処理の段階
var setPartsFlg = new Array();  	// ツアー開始前のパーツ
var setColKey = 0;					// ツアー開始前のカラー
var setGraKey = 0;					// ツアー開始前のグレード
var tour2ColNo= 0;

// グレード絞込み機能
var pdArr = new Array();
var pdSelArr = new Array();
var filter_grade = "";
var filter_litter = "";
var filter_kudou = "";
var filter_mt = "";
var filter_fuel = "";
var filter_capacity = "";
var filter_price = "";
var filter_par;				// 表示パーツのタブＩＤ

// ボタン配列
var graBtnArr   = new Array();
var colBtnArr   = new Array();
var parBtnArr   = new Array();
var touBtnArr   = new Array();
var intBtnArr   = new Array();
var keyArr      = new Array();
var imageArr    = new Array();
var selectedArr = new Array();
var disabledArr = new Array();
var picsizeArr  = new Array();
var urlArr      = new Array();

//TV-CF用ファイル名一時格納場所
var tvcf_fname	= "";



/******************************************************************************
  EnableStart Action
******************************************************************************/
function EnableStart(mode,arc,rot,load){
	switch(mode){
		case 0:
		//alert("EnableStart_mode0");
			disableControl = false;					//未使用？
			if( arc ) ArcballStart();				//[arg2]arcballスタート？
			if( rot ) Rot_WaitStart(1);				//[arg3]自動回転するか？
			if(load){						//[arg4]loading画面表示があるか？
				hideLoadingArea();				//loading画面非表示
				setTimeout("sendEnableProc()", 3000);		//3000ms後にFLASHボタン有効
				setTimeout("sendEnableProc_header()", 3000);
			}else{						
				sendEnableProc();				//FLASHボタン有効
				sendEnableProc_header();
    			}
			break;
		case 1:
			//alert("EnableStart_mode1");
			disableControl = true;				//未使用？
			if( arc ) ArcballStop();			//[arg2]arcballストップ
			if( rot ) Ctrl_Rotation("S");			//[arg3]自動回転ストップ
			//if( rot ) Rot_WaitStart(0);			////[arg3]
			if( load )showLoadingArea();			//[arg4]loading画面表示
			sendNotEnableProc();				//FLASHのボタン制御→NG
			sendNotEnableProc_header();
			break;
		case 2:							// "3D Tour"自動開始用
			//alert("EnableStart_mode2");
			disableControl = false;				//未使用？
			if( arc ) ArcballStart();			//[arg2]arcballスタート
			if( rot ) Rot_WaitStart(1);			//[arg3]自動回転
			if( load ) hideLoadingArea();			//[arg4]loading→100％→終了
			break;
			
		default:
		//処理無し
		break;
	}
}



/******************************************************************************
    Message
******************************************************************************/
function onMessageSent_type(message){
  
	MsgAlert(message);

	switch(message){

	// ************** exterior *************** //
		//パーツ（ホイール以外）装着完了時に返ってくるメッセージ
		case "par_action_end":
			partsWaitFlg = false;
//		alert("par_action_end");
			if( tourTimeFlg ){			// 3DTour アニメーション中
				TourStep();
				return;
			}
			if(kitTimeFlg){		//キットアニメーション中
//			alert("onmessageSent_type6-1");
				KitProc();
//				alert("onmessageSent_type6-2");
				return;
			}
			if( !worldWaitFlg ){
//				alert("onmessageSent_type **");
				EnableStart(0,true,true,false);	//▼メニュー操作可能、arcballスタート、自動回転スタート
				RotFlgAlert(0);
			}

			return;

		//ホイール装着完了時に返ってくるメッセージ
		case "wld_action_end":
			worldWaitFlg=false;
			if( tourTimeFlg ){;			//3D TOURアニメーション中
				TourStep();
				return;
			}
			if( kitTimeFlg ){			//キットアニメーションスタート
				KitProc();
				return;	
			}
            if(afterWldExec!="") {
              eval(afterWldExec);
              afterWldExec="";
              return;
            }
			if( !startContents_flg ){		//新規co読み込み時起動時
				startMenuCheck();
			}else{
			//グレード変更時
				EnableStart(0,true,false,false);//▽arcballスタート、メニュー有効
				if(resetBtnFlg){
			//		Ctrl_Rotation(RotFlg);
					resetBtnFlg = false;
				}
				RotFlgAlert(1);
			}
			if( !worldWaitFlg ){
//				alert("onmessageSent_type **");
				EnableStart(0,true,true,false);	//▼メニュー操作可能、arcballスタート、自動回転スタート
				RotFlgAlert(0);
			}
			
			return;

		//背景切替時に返ってくるメッセージ
		case "bg_action_end":
			if(RePage=="IMG_TO_EXCO"){return;}				//GALLERY(2D)→BACKGROUNDへの遷移は弾く
			if(RePage=="FLA_TO_EXCO" || RePage=="CO_TO_EXCO"){return;}	//INTERIOR(3D/2D)→BACKGROUNDへの遷移は弾く
			if(bgChangeSceneFlg){return;}					//BACKGROUNDで背景切替時は弾く
			startMenuCheck();						//3D SIMULATION→BACKGROUND、あるいは3D TOUR→BACKGROUNDの遷移時のみ
			return;

		//ビュー切替時に返ってくるメッセージ
		case "cam_action_end":
			EnableStart(0,true,true,false);
			RotFlgAlert(2);//◎メニュー有効、arcballスタート、自動回転スタート（RotFlgに格納）
			return;

		//3D TOURアニメーション時に返ってくるメッセージ
		case "tour_action_end":
			TourBetwProc();		//3D TOURアニメーション中
			return;


  		//3D領域クリックで回転停止した後に返ってくるメッセージ
		case "rotation_stop":
		//起動時3D領域クリックで回転停止
		//FLASHの回転状態→STOPへ
		//（起動時は左回転）
			ChangeRotIcon("L-Stop");	//flashplayer6の場合、javascriptからボタンを移動できないためコメントアウト

			if( firstStopRotFlg==true){
			//機能を無効化
				Quit_firstStopRot();
				firstStopRotFlg=false;
			}

			//回転フラグ→ストップ
			RotFlg="S";
            RotCO="S";
			return;
		//3D領域クリック監視中に、クリックされた時に返ってくるメッセージ
		case "clicked":
			if ( now_menu==1 && tourTimeFlg ){stop3DTour(""); }
			return;


		//アニメーション終了時（ZoomIn/ZoomOut）
		case "in_action_end":
			In_animendMessage();
			return;

		//triggerAction("cam_reset",tmp);の後、返ってくるメッセージ
		case "reset_action_end":
			//3D TOURの再生の時も返ってくるが、その時は無視
			if( !tourTimeFlg ){startMenuCheck();}
			return;

		default:
		// *************** interior *****************//
			var in_pano_no = 1;
			for(var in_pano_ch = 0;in_pano_ch< InPano_Flash.length;in_pano_ch++){
				var check_mes = "";
				if(in_pano_no<10)
					check_mes = "msg_ip0"+in_pano_no+"_click";
				else
					check_mes = "msg_ip"+in_pano_no+"_click";

				if(message == check_mes){
					inte_pointClick(in_pano_no);
					return;
				}
				in_pano_no++;
			}

			return;
	}
}



/******************************************************************************
    COLoad ( first/Reload )
******************************************************************************/
//【メモ】"**.co"がloadされる度に、必ず通る。

function SetColoaded_type(){
	if( !fristLoaded ){
		setTimeout("playBackMusic("+now_bgm+")",2000);
		//リアルタイム金額表示
		RealTime_TotalPrice();
	}

  // --------------------------------------------------------------- 3D Quality
	if(now_menu!=2){//INTERIOR以外(3D SIMULATION / 3D TOUR / BACKGROUND)
		if( QualityFlg==true ){QualityMode(QualityFlg);}
		//coが読み込まれる度に、3DQUALITYを設定
	}

	//"3D SIMULATION"、"3D TOUR"、"BACKGROUND"、では選択パーツ情報、選択カラー情報保持。
	if(now_menu==0 || now_menu==1 || now_menu==4){

	// ----------------------Parts
		RetWld = resetGraColPar(false,false,true);

	// ----------------------color
		setColor(now_color);

	// -------------------------------------------------exte00.htm
		//背景→大理石（デフォルト表示）
		triggerAction("init_background", tmp);
		if(now_menu==4){
			//背景→保持背景へ
			setBG(now_BG);	
		}	
	}

  // ----------------------Auto Rotation(Only First Time)


 
  // ----------------------Change First load Flg
  fristLoaded = true;
  
  // ----------------------ExteriorCO 以外のCOが読込まれた場合,ワールドがない場合は自動有効（backgroundもexteriorCO、INTERIORはexteriorCOではない）
  if( now_menu!=0 && now_menu!=1 && now_menu!=4 || RetWld==false ) {
	//alert("interior");
	//interiorの時のみ通る
	setTimeout("EnableStart(0,true,false,true);",500);		//メニュー操作可能、arcballスタート
  }
}



/******************************************************************************
    StartContents
******************************************************************************/
function startMenuCheck(){
  if( worldWaitFlg )return;
//チェック
  // start Menu!
  //BGMProc(now_bgm);                           // .........................................メニュー移動じゃない場合再ロードされる？
  //deleteLoadingArea();
  switch(now_menu){
    case 0:{Ctrl_Rotation(RotFlg);RotFlgAlert(3);break;}	//3DSIMULATION
    case 1:{Ctrl_Rotation(RotFlg);RotFlgAlert(4);break;}	//3DTOUR
    case 2:{RotFlgAlert(5);break;}
    case 3:{break;}
    case 4:{Ctrl_Rotation(RotFlg);RotFlgAlert(6);break;}	//background
  }
  startContents_flg=true;
  if( firstStopRotFlg==false){	
    //3D領域クリック回転停止機能を一度無効化しているなら、無効化
    Quit_firstStopRot();
  }
  if ( playTour0WhenStart ) {
    // Tour0自動開始
    EnableStart(2,true,false,true);	//◎（メニュー無効のまま）arcballスタート、loading画面終了
    sendToFlash("waitType", 2);
    menu.menuFla.TGotoLabel("\_root.rev_WaitMC","loop");
    menu.menuFla.TPlay("\_root.rev_WaitMC");
    playTour0();
  } else {
    EnableStart(0,true,false,true);	//◎メニュー有効、arcballスタート、loading画面終了
  }
  
}

function playTour0() {
    selectBtn_fla(defTour);
}

/******************************************************************************
    Now Loading
******************************************************************************/
function showLoadingArea(){ 
setWindow(1);}

//[cult用]loading終了
function hideLoadingArea(){
	contents.document.all.loading.SetVariable("\_root.finished",1);	//loadingフラッシュに終了フラグを送る
	setTimeout("setWindow(0)", 2000);				//2000ms後に強制切替
}

//[img用]loading終了
function hideLoadingAreaImg(){
	contents.document.all.loading.SetVariable("\_root.finished",1);	//loadingフラッシュに終了フラグを送る
	setTimeout("setWindow(2)",2000);				//2000ms後に強制切替
}

//[Flash用]loading終了
function hideLoadingAreaFla(){
	contents.document.all.loading.SetVariable("\_root.finished",1);	//loadingフラッシュに終了フラグを送る
	setTimeout("setWindow(4)",2000);				//2000ms後に強制切替
}


function setWindow(mode){
	switch(mode){
		case 0:
		//(0)COコンテンツloading画面終了
			contents.document.all.CultObject.style.width="100%";
			contents.document.all.CultObject.style.height="100%";
			contents.document.all.CultObject.style.visibility="visible";
			contents.document.all.loading.style.height=0;
			contents.document.all.loading.style.width=0;
			break;
		case 1:
		//(1)COコンテンツloading画面開始
			contents.document.all.CultObject.style.width=1;
			contents.document.all.CultObject.style.height=1;
			contents.document.all.loading.style.visibility="visible";
			contents.document.all.loading.style.height="100%";
			contents.document.all.loading.style.width="100%";
			contents.document.all.loading.Rewind();			//loadingムービーを巻き戻す
			contents.loading.TPlay("\_root");			//loadingのFLASHを最初から再生
			break;
		case 2:
		//(2)IMGコンテンツloading画面終了
			contents.document.all.image.style.width="100%";
			contents.document.all.image.style.height="100%";
			contents.document.all.image.style.visibility="visible";
			contents.document.all.loading.style.height="0%";
			contents.document.all.loading.style.width="0%";
			break;
		case 3:
		//(3)IMGコンテンツloading画面開始
			contents.document.all.image.style.width="0%";
			contents.document.all.image.style.height="0%";
			contents.document.all.loading.style.height="100%";
			contents.document.all.loading.style.width="100%";
			contents.document.all.loading.style.visibility="visible";
			contents.document.all.loading.Rewind();
			contents.document.all.loading.TPlay("\_root");
			break;
		case 4:
		//(4)FLASHコンテンツloading画面終了
		  contents.document.all.intePanoFla.style.width="100%";
      contents.document.all.intePanoFla.style.height="100%";
   	  contents.document.all.intePanoFla.style.visibility="visible";
      contents.document.all.loading.style.height=0;
      contents.document.all.loading.style.width=0;
			break;
		case 5:
		//(5)FLASHコンテンツloading画面開始
 	   contents.document.all.intePanoFla.style.width=1;
 	   contents.document.all.intePanoFla.style.height=1;
 	   contents.document.all.loading.style.visibility="visible";
 	   contents.document.all.loading.style.height="100%";
     contents.document.all.loading.style.width="100%";
    
    // Start NowLoading Flash
 	   contents.loading.TPlay("\_root");	
		
			}
}




/******************************************************************************
  Alert
******************************************************************************/

function ProcAlert(t,key) {
  alertType = t;
  beforeAlertKey=key;
  sendShowAlert(t);
  EnableStart(1,false,false,false);
}

function AlertBtnClick(btn) {

  playMusic_press();

  if ( btn=="0" ) {				//・・・・・・・・・・キャンセル
    EnableStart(0,false,false,false);
  } else if ( btn=="1" ) {		//・・・・・・・・・・OK
    switch ( alertType ) {
      case 1:		// パーツ装着時排他DOP
      case 2:		// パーツ装着時排他TRD
      case 100:		// パーツ装着時排他その他
	  EnableStart(1,true,false,false);
	  Rot_WaitStart(0);					//自動回転一時停止
      afterWldExec = "SelectBtn_type("+beforeAlertKey+")";
      resetParFlg(now_grade);
      resetGraColPar(false,false,true);
	  sendWait(2);
      break;

      case 10:		// パーツ装着時排他カラー
      resetGraColPar(false,true,false);
      SelectBtn_type(beforeAlertKey);
	  sendWait(2);
      break;

      case 20:		// パッケージ装着時リセット確認
	  EnableStart(1,true,false,false);
	  Rot_WaitStart(0);					//自動回転一時停止
 	  kitColNo=-1;
      kitTimeFlg=true;
      resetParFlg(now_grade);
      resetGraColPar(false,false,true);
	  sendWait(2);
      break;

      case 30:		// カラー変更時リセット確認
	  EnableStart(1,true,false,false);
	  Rot_WaitStart(0);					//自動回転一時停止
      afterWldExec = "SelectBtn_type("+beforeAlertKey+");EnableStart(0,true,false,false);Rot_WaitStart(1);";
      resetParFlg(now_grade);
      resetGraColPar(false,false,true);
	  sendWait(2);
      break;

     


    }
  }

  // アラート画面終了
  alertType = 0;
}



/******************************************************************************
  ReSet
******************************************************************************/
// --------------------------------------------------------------- ColorParts Reset
function ProcReset(){
  EnableStart(1,true,false,false);		//メニュー操作不能、arcballストップ
  Rot_WaitStart(0)				//自動回転一時停止
  reset();
  resetBtnFlg = true;
  RealTime_TotalPrice();		//金額リセット
}


/******************************************************************************
  Print Proc
******************************************************************************/
function PrintProc(){
  playMusic_press();
  EnableStart(1,true,true,false);
  capture();
  
}

function getPluginInstallFile(){
  var pathname = unescape(location.pathname);
  pathname = pathname.replace("\/","");
  
  for( var t=0; t<3; t++ ){
    var idx = pathname.lastIndexOf("\\");
    var pathTextFilePath = pathname.substring(0,idx);
    pathname = pathTextFilePath;
  }
  return pathname+"\\plugins\\install.txt";
}
function capture(){
  // 保存先指示ファイルを指示[絶対パスのみ]
  menu.CaptCtrl.savePathTextFile(getPluginInstallFile());
  
  // キャプチャエリアを指定
  var sh = screen.height;
  var sw = sh * 1.25;
  
  menu.CaptCtrl.CaptAreaLeft   = ( screen.width - sw ) / 2; 
  menu.CaptCtrl.CaptAreaRight  = ( screen.width - sw ) / 2 + sw;
  menu.CaptCtrl.CaptAreaTop    =  94 * sh / 1024;
  menu.CaptCtrl.CaptAreaBottom = 719 * sh / 1024;

  // JPEG保存品質を指定
  menu.CaptCtrl.SaveQuality=90;

  // キャプチャ実行
  menu.CaptCtrl.Capture();

}

// capture終了後
function captureEnd(){
  // Load 印刷開始
  menu.menuFla.TGotoLabel("\_root.print_WaitMC","play");
  menu.menuFla.TPlay("\_root.print_WaitMC");
}

function printEnd(){  EnableStart(0,true,true,false);}



/******************************************************************************
  View Change
******************************************************************************/
function ChangeView(btnKey){	//ビュー切替ボタンプレス時
	playMusic_press();	//ボタンプレス音
  EnableStart(1,true,true,false);	//◎ボタンロック、arcballストップ、自動回転ストップ→RotFlg
	RotFlgAlert(7);
  setView(btnKey);
}


/******************************************************************************
  HELP
******************************************************************************/
//HELPのリンク先URL情報読込み関数（本来はXMLでやるべき）
function GetHelpLinkURL(argAry)
{
	switch(LANG_VER){
		//中国語
		case "CN":
			argAry[0] = "http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash&P2_Platform=Win32&P3_Browser_Version=MSIE&P5_Language=S_Chinese&Lang=S_Chinese";
			argAry[1] = "http://www.java.com/zh_CN/download/index.jsp";
			argAry[2] = "http://www.cult3d.com/download/download.asp";
			argAry[3] = "http://www.microsoft.com/downloads/details.aspx?FamilyID=b446ae53-3759-40cf-80d5-cde4bbe07999&DisplayLang=zh-cn";
			break;
		case "JP":		
		//日本語
			argAry[0] = "http://www.adobe.com/shockwave/download/index.cgi?Lang=Japanese&P5_Language=Japanese&P1_Prod_Version=ShockwaveFlash&Lang=Japanese";
			argAry[1] = "http://www.java.com/ja/download/index.jsp";
			argAry[2] = "http://www.ddweb.ne.jp/cult3d/download/download.asp";
			argAry[3] = "http://www.microsoft.com/japan/windows/windowsmedia/download/default.aspx";
			break;
		case "EN":
		//英語
			argAry[0] = "http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash&P2_Platform=Win32&P3_Browser_Version=MSIE&P5_Language=English&Lang=English";
			argAry[1] = "http://www.java.com/en/download/index.jsp";
			argAry[2] = "http://www.cult3d.com/download/download.asp";
			argAry[3] = "http://www.microsoft.com/windows/windowsmedia/mp10/default.aspx";
			break;
	}
}


function CloseHELP(){
  if( hWin ){ hWin.close();}
  // EnableStart(0,true,true);
}


//function OpenHELP(){
function OpenHeaderDialog(btnno){
	//INTERIOR(3D/2D), GALLERY(2D)
	if(now_menu==2 || now_menu==3){
		EnableStart(1,false,false,false);	//メニュー無効
	}else{	//exterior
		EnableStart(1,false,false,false);	//メニュー無効
		Rot_WaitStart(0);			//自動回転一時停止
	}
	

	//モーダルダイアログオープン 
    if ( contents_type==1 ){
	if(btnno == 1)
	  OpenModalDialog("./help.htm", 700, 665, window, "yes");
	else if(btnno == 6)
	  OpenModalDialog("./policy.htm", 700, 665, window, "yes");
	}
    else{
	if(btnno == 1)
	  OpenModalDialog("./help.htm", 648, 600, helpLinkAry, "yes");
	else if(btnno == 6)
	  OpenModalDialog("./policy.htm", 648, 600, helpLinkAry, "yes");
	}

	//モーダルダイアログクローズ後の処理
	playMusic_press();	//プレス音

	if(btnno == 1)
		header.HeaderFla.TGotoLabel("\_root.headerBtn_HELP","helpOff");	//ヘルプボタンをOFFに
	else if(btnno == 6)
		header.HeaderFla.TGotoLabel("\_root.headerBtn_POLICY","policyOff");	//ポリシーボタンをOFFに

	if(now_menu==2 || now_menu==3){
		EnableStart(0,false,false,false);	//メニュー有効
	}else{	//exterior.co
		EnableStart(0,false,false,false);	//メニュー無効
		Rot_WaitStart(1);			//一時停止解除
	}
}


//モーダルダイアログオープン関数
function OpenModalDialog( argFP, argW, argH, dArg, scrollFlg){
//argFP:ファイルパス、argW:width、argH:height、dArg:ダイアログに渡すオブジェクト
	var sizeW = screen.width;  var sizeH = screen.height;
	var leftpos = sizeW/2 - argW/2;
	var toppos  = sizeH/2 - argH/2;
	if( leftpos < 0 )leftpos=0;
	if( toppos < 0 )toppos=0;
	window.showModalDialog(argFP, dArg, "dialogWidth:"+argW+"px;dialogHeight:"+argH+"px;dialogLeft:"+leftpos+";dialogTop:"+toppos+";help:no;status:no;scroll:"+ scrollFlg +";");
}


/******************************************************************************
  Grade/Color/Parts
******************************************************************************/
//グレード変更
function ChangeGra(graKey){
  EnableStart(1,true,false,false);	//メニュー操作不能、arcballストップ
  if( setGrade(graKey)==false ) setTimeout("EnableStart(0,true,false,false);",500);	//◎ワールドパーツが無いとき→メニュー有効、arcballスタート
  //グレードを変更した場合、パッケージメッセージ表示フラグをOFFにする
  pacMsg  = 0;
  RotFlgAlert(8);
}

//カラー変更
function ChangeCol(colKey){       // ※Web TYPE ->non Animation
  var colIdx = getColIdx(colKey);
  var ret = chkSelectableCol(colIdx);
  if ( ret>0 ) {
    ProcAlert(ret,colKey);
	return;
  }
  setColor(colKey);
}


//パーツ変更
function ChangePat(parKey){
//	alert("ChangePat3-1");
  var parIdx = getParIdx(parKey);

		// nodeがない場合アニメーションはしな		
  if( getParNod(parIdx)=="" ){
		 checkExclusion(parIdx,true);											// 排他
		 parSel[parIdx]=!parSel[parIdx];
		 RotFlgAlert(9);
		 return;}		
		 
  EnableStart(1,true,false,false);	//メニュー無効、arcballストップ
  Rot_WaitStart(0);			//自動回転一時停止
 
  if( !parSel[parIdx]==false ){										//パーツ解除時
    if( getParWld(parIdx)!=1 ){setTimeout("EnableStart(0,true,true,false);",2000); RotFlgAlert(10);}	//◎メニュー有効、arcballスタート、自動回転スタート
  }
  
  setParts(parKey,true);
//  alert("ChangePat3-2");
}




function ChangePatPakKit(parKey){
  var parIdx = getParIdx(parKey);

  var ret = chkSelectablePar(parIdx);

  if ( ret>0 ) {
    ProcAlert(ret,parKey);
	return;
  }

  // type
  if( getParTyp(parIdx) == 0 || getParTyp(parIdx) == 1 ){		// パッケージ or セットの場合

    // リセット確認画面表示
    if ( parSel[parIdx]==false && checkResetPacDC(parIdx) ) {
      for (var i=0; i<parSel.length; i++) {
        if ( parSel[i]==true && getPar_GraType(i,getGraIdx(now_grade))!=2 ) {
	      ProcAlert(20,parKey);
          return;
        }
      }
    }

	selectPartsPackageAction(parKey);
  } else if( getParTyp(parIdx)>=2 ){								// パーツ、ホイールの場合
	ChangePat(parKey);
  }

}


// キット装着カウント用関数
function KitProc(){
  if(kitColNo == -1) {
    // キット前処理（リセット完了後）
    selectPartsPackageAction(beforeAlertKey);
    RealTime_TotalPrice();
    sendSelbtnStates(beforeAlertKey);
    return;
  } else if(kitColNo == kitCols.length){
    // キット処理終了
    kitColNo = 0;	//初期化
    kitCols = new Array();	//初期化
    kitTimeFlg = false;		//キットアニメーション終了		
    
    // カメラがfront以外ならfrontに向ける
    if ( now_cam != 0){
        Funccam(0);
        setTimeout("EnableStart(0,true,true);",3000);	
    }else{
        EnableStart(0,true,true);	
    }
    return;
  }	
  ChangePat(kitCols[kitColNo]);
  kitColNo++;
}

/******************************************************************************
  Spec
******************************************************************************/
function ChangeSpe(btnKey){
	if ( btnKey=="" ) {
		// タグが押されたとき
		if ( now_tag >= 0 ) {
			SpecTable(getTagSpeShowTable(now_tag), getTagSpeScrV(now_tag), getTagSpeScrH(now_tag));
		}
	} else {
		// ボタンが押されたとき
		SpecTable(getSpeShowTable(getSpeIdx(btnKey)), getSpeScrV(getSpeIdx(btnKey)), getSpeScrH(getSpeIdx(btnKey)) );
	}
}


// 縦スクロールの上ボタンクリック
function ScrVUp(){
	if ( now_menu==0 && now_Submenu==3 ) {
		SpecScrV(-spec_v_z);
	}
}

// 縦スクロールの下ボタンクリック
function ScrVDown(){
	if ( now_menu==0 && now_Submenu==3 ) {
		SpecScrV( spec_v_z);
	}
}

// 横スクロールの左ボタンクリック
function ScrHLeft(){
}

// 横スクロールの右ボタンクリック
function ScrHRight(){
}

// 縦スクロール実行
function SpecScrV(yz) {

	if ( spec_v_pos+yz < 0          ) yz =            - spec_v_pos;
	if ( spec_v_pos+yz > spec_v_len ) yz = spec_v_len - spec_v_pos;

	contents.frames["inf"].scrollBy(0,yz);
	spec_v_pos+=yz;
	SpecSendInfoV();
}

// 縦スクロールFlashに制御情報送信
function SpecSendInfoV() {

	var disable_up   = ( spec_v_pos <= 0 )          ? "1" : "0";
	var disable_down = ( spec_v_pos >= spec_v_len ) ? "1" : "0";

	sendToScrVFlash("disable_up",disable_up);
	sendToScrVFlash("disable_down",disable_down);
}

// 表示内容の切り替え
function SpecTable(aryShow, scr_v, scr_h) {

	// スクロール位置のリセット
	contents.frames["inf"].scrollBy(0,-spec_v_pos);

	spec_v_pos=0;

	// スクロール量を設定
	spec_v_len = scr_v;
	spec_h_len = scr_h;
	SpecSendInfoV();

    var arySpecAll = getSpeShowTableAll();

	for ( var i=0; i < arySpecAll.length; i++ ) {

		// 表示・非表示の判断
		disp="none";
		for ( var j=0; j < aryShow.length; j++ ) {
			if ( arySpecAll[i]==aryShow[j] ) {
				disp="";
				break;
			}
		}

		// 表示・非表示切り替え
		for ( var j=0; j < contents.frames["inf"].document.all.item(arySpecAll[i]).length; j++ ) {
			contents.frames["inf"].document.all.item(arySpecAll[i],j).style.display=disp;
		}
	}
}

// 諸元表ＨＴＭＬロード完了時の処理
function SpecOnLoad() {
	ChangeSpe("");
}



/******************************************************************************
  BackGround
******************************************************************************/
function ChangeBG(btnKey){
  EnableStart(1,true,true,true);
  var ret = setBG(parseInt(btnKey));
  if( !ret ) {EnableStart(0,true,true,true);}
}
function setBG(btnKey){
  now_BG = btnKey;
  triggerAction("changeScene",getPanSec(getPanIdx(btnKey)));
}

/******************************************************************************
  Estimate
******************************************************************************/
function openPrice(){

  if ( contents_type==1 ) {

	// ----------------------------------------------------- Sales版の処理

	playMusic_press();			//ボタンプレス音
    var delay = 800; // ｸﾘｯｸ音対応

	//if(getTagNam(getTagIdx(getMainTag(now_menu,now_Submenu)))!="Spec"){
	if(getTagNamMS(now_menu,now_Submenu)!="Spec"){

	EnableStart(1,true,false,false);	//メニュー無効、arcballストップ
	Rot_WaitStart(0);			//自動回転一時停止
	}

	if(combi_type == 2){

		SetNowCarParameters();		//ai21連携
		GetNowCarParameters();

		setTimeout("location.replace('price.htm')",delay);
	}
	else if(combi_type == 1){

		toPageEditMemo();
	}

  } else {

	// ----------------------------------------------------- Web版の処理

	EnableStart(1,true,false,false);	//メニュー無効、arcballストップ
	Rot_WaitStart(0);			//自動回転一時停止
	playMusic_press();			//ボタンプレス音

	//各種金額計算
	estimate();

	//見積もり画面に渡すデータ作成
	var strObj="";
	var strObjs="";
	var inDatAry = new Array( new Array(), new Array(), new Array(), new Array(), "", window );
	
	setDatArr(inDatAry);


	//モーダルダイアログ開く、データ渡す（1つのオブジェクトしか渡せない→全てのデータをinDatAry配列に格納）
	OpenModalDialog("./price.htm", 610, 900, inDatAry, "yes");
	
	//モーダルダイアログ閉じる
	playMusic_press();	//プレス音
	menu.menuFla.TGotoLabel("\_root.tagArea.sub_menu04","off");	//見積もりボタンをOFF
	EnableStart(0,true,false,false);	//メニュー有効、arcballスタート
	Rot_WaitStart(1);	//一時停止解除
  }
}




function SendDataToFlash()
{
  // grade,kudou,color
  var str = Btn_Gra[nowGradeNo][2] + "," + Btn_Gra[nowGradeNo][3] + "," + Btn_Col[nowColorNo][2];
  panel.estimateTCV.SetVariable("\_root.strCost", str);
  
  // option,option
  str="";
  var ct=0;
  for(var i=0; i<parSel.length; i++){
    if( Btn_Par[i][3][nowGradeNo]!=1) continue;
    ct++;
    if(parSel[i]==1){
      if(str == "") str += ct+"";
      else str += ","+ct;
    }
  }
  // color
  if( Btn_Col[nowColorNo][4]!=0 ){
    if(str == "") str += (ct+1)+"";
    else str += ","+(ct+1);
  }
  
  panel.estimateTCV.SetVariable("\_root.Cost_OptionNo", str);
  
  // cost
  panel.estimateTCV.SetVariable("\_root.CostBasic", CostBasic);
  panel.estimateTCV.SetVariable("\_root.CostOption", CostOption);
  panel.estimateTCV.SetVariable("\_root.CostTotal", CostTotal);
  
  // Set data comp flg
  panel.estimateTCV.SetVariable("\_root.SendData", "1");
}


/******************************************************************************
  3D Tour
******************************************************************************/

function TourFunction(btnKey){				//ボタン選択時
    now_tour = btnKey;
	EnableStart(1,true,false,false);			//メニュー操作不能、arcballストップ
	Rot_WaitStart(0)					//自動回転一時停止
	RotFlgAlert(11);
	tourTimeFlg = true;
	eventName = getTouCom(getTouIdx(btnKey));
	tourTotalNum = getTouNum(getTouIdx(btnKey));
	triggerAction(eventName,tmp);			//3D TOUR開始→メッセージを受け取る
}

function TourStep(){
	
//コメントアウト	
//  if( tourNum==tourTotalNum ){ tourTimeFlg=false; tourNum=0; tour2ColNo=0; EnableStart(0,true,true,false);RotFlgAlert(12);return;}

  //ツアー終了中なら、終了処理へ
  if ( stoppingTour>0 ) {
      FinishTourMain();
      return;
  }
  tourNum++;
  var ev = ""+eventName+"-"+tourNum;
  triggerAction(ev,tmp);
  
	//クリック有効（ハンドカーソルON）
	sendToFlash("tour_flg","1");
	sendToFlash_head("tour_flg","1");
	triggerAction("CheckClick_on",tmp);		//3D領域のクリックイベントを監視開始  
}




function TourBetwProc(){			//3D TOURのメインプロセス

    //ツアー終了中なら、終了処理へ
	if ( stoppingTour>0 ) {
		FinishTourMain();
		return;
	}

	if( tourNum==tourTotalNum ){
		stoppingTour=1;
		FinishTour1();
	} else if( tourNum==0 ){
    		setPartsFlg = new Array();			//パーツ情報を保持
		for( var y=0; y<parSel.length; y++ ){
			setPartsFlg[y]=false;
			if( parSel[y]==true )setPartsFlg[y]=true;
		}
		setColKey   = now_color;			//カラー情報を保持
		setGraKey   = now_grade;			//グレード情報を保持

        // グレードをマスグレードにリセット
        if( getTouResetGra(getTouIdx(now_tour))==1 ) {
            resetParFlg(now_grade);
            var RetWld = resetGraColPar(true,false,false);
            //if(!RetWld){ setTimeout("TourStep();",500);}
        } else{ 
          setTimeout("TourStep();",500);
        }
    
	} else {					// Severalty process
		var ex="TourProc_"+eventName+"();";
		eval(ex);
	}
}

// ツアー終了処理メイン
function FinishTourMain() {
	if ( worldWaitFlg || partsWaitFlg ) return;
	if ( stoppingTour == 1 ) {
		FinishTour1();
	} else if ( stoppingTour == 3 ) {
		setTimeout("FinishTour2();",1000);
	}
}

// ツアー終了処理サブ１（グレードをリセット）
function FinishTour1() {
	if ( stoppingTour==1 ) {
		stoppingTour=2;
		for( var y=0; y<setPartsFlg.length; y++ ){
			parSel[y]=false;
			if( setPartsFlg[y]==true )parSel[y]=true;
		}
		now_grade  = setGraKey;
//		now_color_in = setColinKey;
		setColor(setColKey);
		var RetWld = resetGraColPar(false,false,true);
//		if(!RetWld){ setTimeout("stoppingTour=3;TourStep();",500);}
		setTimeout("stoppingTour=3;TourStep();",500);
		stoppingTour=3;
	}

}

// ツアー終了処理サブ２（変数をクリアし、ユーザ操作を許可）
function FinishTour2() {
	if ( stoppingTour==3 ) {
		stoppingTour=0;
		tourTimeFlg=false;
		tourNum=0;
		tour2ColNo=0;
		EnableStart(0,true,true,false);
		//alert("clickoff");
		//クリック無効（ハンドカーソルOFF）
		sendToFlash("tour_flg","0");
		sendToFlash_head("tour_flg","0");
		triggerAction("CheckClick_off",tmp);		//3D領域のクリックイベントを監視終了
		RotFlgAlert(11);
	}
}




function TourProc_Tour1(){
}

function TourProc_Tour2(){
  if( tour2ColNo==tour2Cols.length ){ TourStep(); return;}
  triggerAction('changeBodyColor', getColNod(getColIdx(tour2Cols[tour2ColNo])));
  tour2ColNo++;
}

function TourProc_Tour3(){
  if( tourNum>=tour3ShowParts.length+1 )return;
  if( tour3ShowParts[tourNum-1].length>0 ){ Showparts( tour3ShowParts[tourNum-1] ); partsWaitFlg = true; }
  if( tour3HideParts[tourNum-1].length>0 ){ Hideparts( tour3HideParts[tourNum-1] ); }
}





/******************************************************************************
  Interior
******************************************************************************/

function ChangeIntPano(btnKey){
  now_intPano = btnKey;
  //"inte00.htm"〜"inte03.htm"をco領域にロード
  //LoadHTML( now_menu, getIntIdx(btnKey) );
LoadHTML( now_menu, 0 );
}

function inte_pointClick(pos){

  if( getIntCO(getIntIdx(now_intPano))=="" ){								// 2D[Flash]
	sendIntClick(pos);
    return;
  }

  // 以下、3D処理
  playMusic_press();
  EnableStart(1,false,false,false); //メニュー操作不能
  now_coPosition = pos;
  
  var code = "ip"+no2Proc(now_coPosition);
  triggerAction("zoomin",code);			//web版では実際にズームインしない。この後、"in_action_end"メッセージを返す。
}


// 2DFlashの訴求ポイントがクリックされたときの処理
function InteFlash_EX(pos,mode){
  playMusic_press();
  now_coPosition = pos;
  TextProc(mode);
}


function inte_pointRollOver(pos){
  if( pos==0 ){ triggerAction("all_unselect",tmp); return;}

  var code = "ip"+no2Proc(pos);
  triggerAction("select",code);
}

// 訴求画面の表示・非表示
// (tx.swfで閉じるボタンが押されたらこの関数が呼ばれる）
function TextProc(show){

  if ( ( now_menu==0 ) && ( now_Submenu==2) ) {
    // parts
    if(!show){              // hide
      playMusic_press();
      var itemname = "Tx00";
      parSel_tx_disp = contents.document.all.item(itemname).GetVariable("\_root.dispFlg");
      TxFlashShowHide(false,0);
	  EnableStart(0,true,false,false);
	  Rot_WaitStart(1);

    } else {                // show
      TxFlashShowHide(true,0);
    }
  } else if ( now_menu==2 ) {
	// interior
    popwin_flg=show;
    var posAry = getIntPosAry(getIntIdx(now_intPano));
    //var voiceFile = getIntFlaVoice( getIntFlaIdx(posAry[now_coPosition-1]) );//音声読み上げ機能
    
    if(!show){              // hide
      playMusic_press();
      //playVoice( voiceFile, false);//音声読み上げ機能
      TxFlashShowHide(false,now_coPosition-1);
      var code = "ip"+no2Proc(now_coPosition);

      if ( isLoaded ) {
		// 3D
        triggerAction("zoomout",code);
      } else {
		// 2D
		popwin_flg=false;
		sendIntClose();
		EnableStart(0,false,false,false);
      }

    }else {                // show
      //playVoice( voiceFile, true);//音声読み上げ機能
      TxFlashShowHide(true,now_coPosition-1);
    }
  }
}

// --------------------------- [ Animation End Message ]
function In_animendMessage(){

	if( !funcOpenFlg ){
		funcOpenFlg=true;
		TextProc(true);
	}else{
		funcOpenFlg=false;
		EnableStart(0,false,false,false);
	}
}

function TxFlashShowHide(mode,pos){

  if ( pos<= -1 ) return;

  if ( mode ) {
	// 表示時→まずはFlashに画像のURLを送信する
	// 　　　　（Flash側で画像ロード完了後、TxFlashShowHideSub(true)が呼ばれる）
   
   var filename;
   var itemname = "Tx00";

    if ( ( now_menu==0 ) && ( now_Submenu==2 ) ){
	  // parts
	  filename = getParPopup(getParIdx(beforeAlertKey)) + ".jpg";
    } else if ( now_menu==1 ) {
	  // 3D Tour
      filename = getIntFlaFile( getIntFlaIdx((4900+pos)+"") );
    } else if ( now_menu==2 ) {
	  // Interior
      var posAry = getIntPosAry(getIntIdx(now_intPano));
      filename = getIntFlaFile( getIntFlaIdx(posAry[pos]) );
    }
    contents.document.all.item(itemname).SetVariable("\_root.img", "./images/tx/" + filename );
    contents.document.all.item(itemname).SetVariable("\_root.fla_no", "0" );
    contents.document.all.item(itemname).SetVariable("\_root.sendFlg", "1" );

  } else {
   var itemname = "Tx00";
	// 非表示時→即、非表示にする
    TxFlashShowHideSub(false);
  }
}

function TxFlashShowHideSub(mode) {

  var n = "LayerTx00";
  var itemname = "Tx00";
  var v = mode ? "9px" : "-2000px";
  var w = contents.document.all.item(itemname).GetVariable("\_root.img_w") + "px";
  var h = contents.document.all.item(itemname).GetVariable("\_root.img_h") + "px";
  contents.document.all.item(n).style.clip = "rect(0px "+w+" "+h+" 0px)";
  contents.document.all.item(n).style.left=v;

}

//function In_close(){
//  contents.document.all.InTx00.SetVariable("\_root.flg_states","close");
//}

//function In_FlashShowHide(mode){
//  if ( now_coPosition<= 0 ) return;
//  var n = "LayerInTx0"+(now_coPosition-1);
//  var v = mode ? "visible" : "hidden";
//  contents.document.all.item(n).style.visibility=v;
//}



/******************************************************************************
  Interior Seat (To InteriorSeat Flash)
******************************************************************************/

function ChangeIntSeat(btnKey){

  if ( now_intSeat == btnKey ) {
    // Load済のはずなので、アニメーション再生開始
    sendIntSeatPlay();
  } else {
    now_intSeat = btnKey;
    // HTMLをLoad
    EnableStart(1,false,false,false);
    LoadHTML( now_menu, now_Submenu );
  }
}

function onIntSeatLoad() {
  // まだボタンが選択されていなければアニメーション停止
  if ( selectedArr[0]=="" ) {
    sendIntSeatStop();
  }
}


/******************************************************************************
  Business Memo
******************************************************************************/
function OpenBizMemo(){
  // Set Cookies
  var ret = setCookies("test","20060317");
  if( !ret )alert("クッキーセット失敗");

  // 新しいHTML OPEN
  //top.window.location.replace('testCookie.htm');
  
  var strUrl = "testCookie.htm?"+unescape("FromTCV");
  top.window.location.replace(strUrl);
}


/******************************************************************************
  GALLERY
******************************************************************************/
function ChangeGallery(btnKey){		//GALLERYでのボタン遷移
	now_Gallery = btnKey;
	EnableStart(1,false,false,false);			//メニュー操作不能
	LoadHTML(now_menu, 0);
}

function DownloadFile(btnKey, arg){
	now_Gallery = btnKey;
	var picstr = "";
	picstr = 'images/'
	switch(arg){
		case 1:
			picstr += getWPprDLfileName(getWPprIdx(now_Gallery));
			window.open(picstr);
			break;
		case 2:
			picstr += getSSvrDLfileName(getSSvrIdx(now_Gallery));
			window.contents.location.href(picstr);
			break;
		default:
			//処理無し
			break;
	}
}


/******************************************************************************
  Header Process
   btn 0:BGM 1:HELP 2:3DQuality 3:CarSelect(Sales版のみ)
******************************************************************************/
function HeaderProc(btnKey){

  var delay = 800; // ｸﾘｯｸ音対応
  playMusic_press();	//プレス音
  btnKey = parseInt(btnKey);

	  switch( btnKey ){	
	    case 0:{ setBackMusic(!now_bgm); break;}
	    //case 1:{ OpenHELP(); break;}
	    case 1:{ OpenHeaderDialog(1); break;}
	    case 2:{ qualityProc(!QualityFlg); break;}
	    case 3:{
		if(combi_type == 2){					//ai21 フレームなし画面に飛ぶ
		      setCookie("Refer","TCV");
		      setCookie("BGM",now_bgm);
		      setCookie("Quality",QualityFlg);
		      setTimeout("location.replace('../start/index.htm')", delay);
		}
		else if(combi_type == 1){					//i-crop TOPに飛ぶ
			setTimeout("toPageTop()", delay);
		}
		break;}

	    case 4:{ setTimeout("toPageSelectCar3D()", delay); break;}	//i-crop 車種選択画面に飛ぶ
	    case 5:{ 
			start_submenu = parseInt(menu.menuFla.GetVariable("\_root.now_submenu"), 10);	//i-crop 商談メモ画面に飛ぶ
			start_tag = parseInt(menu.menuFla.GetVariable("\_root.now_tag"), 10);
			//alert(start_submenu + " " + start_tag);
			if(start_submenu==0 && start_tag==0) 		setTimeout("toPageSelectGrade()",  delay);	// ｸﾘｯｸ音対応
			else if(start_submenu==1 && start_tag==0)	setTimeout("toPageSelectBColor()", delay);	// ｸﾘｯｸ音対応
			else if(start_submenu==1 && start_tag==1)	setTimeout("toPageSelectIColor()", delay);	// ｸﾘｯｸ音対応
			else if(start_submenu==2)	setTimeout("toPageSelectOp()",     delay);	// ｸﾘｯｸ音対応
			break;
		}
	    case 6:{ OpenHeaderDialog(6); break;}
	  }
}

function qualityProc(d){
  QualityFlg = d;
  QualityMode(QualityFlg);
}


/******************************************************************************
  Function (XX...return string)
******************************************************************************/
function no2Proc(no){
  var strNo="";
  if( no > 10 )strNo = no;
  else strNo = "0"+no;
  return strNo;
}


/******************************************************************************
    Select menu/sub/btn
******************************************************************************/
function LoadHTML(menu,htmNo){
  //playBackMusic(false);
  
  // reset
  //if( menu==0 || menu==1 )resetExterior();
  startContents_flg = false;
  isLoaded = false;
  var strHtm = getMainURL(getMainIdx(menu)) + "0" + htmNo + ".htm";
HtmTagAlert(strHtm);
  contents.location.replace(strHtm);
}

// -------------------------------------------------------------- LoadPageCheck
function LoadPageCheck_type(next_menu,next_sub){
//MenuAlert("now_menu="+now_menu+", next_menu="+next_menu+", next_sub="+next_sub);
MenuAlert("now_menu="+now_menu+", next_menu="+next_menu+", now_intpano="+now_intPano);

/*全メインメニュー遷移パターン
遷移元		→	遷移先		now_menu	next_menu	"contents"領域にHTMLロード	備考
3D SIMULATION	→	サブメニュー	0		0				SAME_CO_NOLOADING
3D SIMULATION	→	3D TOUR				0		1				SAME_CO_NOLOADING				
3D SIMULATION	→	INTERIOR			0		2				EXCO_TO_INCO			exte→inte
3D SIMULATION	→	BACKGROUND		0		4				SAME_CO_LOADING				
3D SIMULATION	→	GALLERY				0		3				CO_TO_IMG
3D SIMULATION →　INTERIO(2D)   0   2				EXCO_TO_FLA
3D TOUR				→	3D SIMULATION	1		0				SAME_CO_NOLOADING				
3D TOUR				→	INTERIOR			1		2				EXCO_TO_INCO			exte→inte
3D TOUR				→	BACKGROUND		1		4				SAME_CO_LOADING				
3D TOUR				→	GALLERY				1		3				CO_TO_IMG
*INTERIOR(3D)	→	3D SIMULATION	2		0:3000	INCO_TO_EXCO			inte 3D→exte
*INTERIOR(2D)	→	3D SIMULATION	2		0				FLA_TO_CO
*INTERIOR(3D)	→	3D TOUR				2		1:3000	INCO_TO_EXCO			inte 3D→exte
*INTERIOR(2D)	→	3D TOUR				2		1				FLA_TO_CO
*INTERIOR(3D)	→	BACKGROUND		2		4:3000	INCO_TO_EXCO			inte 3D→exte
*INTERIOR(2D)	→	BACKGROUND		2		4				FLA_TO_CO
*INTERIOR(3D)	→	GALLERY				2		3:3000	CO_TO_IMG
*INTERIOR(2D)	→	GALLERY				2		3	***			FLA_TO_IMG

*INTERIOR(2D) →　SEAT ARRANGE  2   2       FLA_TO_FLA
*INTERIOR(3D) →　SEAT ARRANGE  2   2       CO_TO_FLA
*SEAT ARRANGE →　3D SIMULATION 2   0       FLA_TO_CO
*SEAT ARRANGE →　3D TOUR       2   1       FLA_TO_CO
*SEAT ARRANGE →　BACKGROUND    2   4       FLA_TO_CO
*SEAT ARRANGE →　GALLERY       2   3       FLA_TO_IMG
*SEAT ARRANGE →　INTERIOR(2D)  2   2       FLA_TO_FLA
*SEAT ARRANGE →　INTERIOR(3D)  2   2       FLA_TO_CO

BACKGROUND		→	3D SIMULATION	4		0				SAME_CO_LOADING				
BACKGROUND		→	3D TOUR				4		1				SAME_CO_LOADING				
BACKGROUND		→	INTERIOR			4		2				EXCO_TO_INCO			exte→inte
BACKGROUND		→	GALLERY				4		3				CO_TO_IMG
GALLERY				→	3D SIMULATION	3		0				IMG_TO_CO
GALLERY				→	3D TOUR				3		1				IMG_TO_CO
GALLERY				→	INTERIOR			3		2				IMG_TO_CO
GALLERY				→	サブメニュー	3		3				IMG_TO_IMG
GALLERY				→	BACKGROUND		3		4				IMG_TO_CO
*/









	//同じメニュー間の遷移
	if(now_menu==next_menu){
		switch(now_menu){
			case 0: {
					if((now_Submenu!=3)&&(next_sub==3)) return "EXCO_TO_IMG";
					else if((now_Submenu==3)&&(next_sub!=3)) return "IMG_TO_EXCO";
					else if((now_Submenu==3)&&(next_sub==3)) return "IMG_TO_IMG";
					else return "SAME_CO_NOLOADING";
					break;}
			case 1: return "SAME_CO_NOLOADING";break;
			case 2: {
								if( isIntCO(now_Submenu,now_intPano) ){		
									if( isIntCO(next_sub,now_intPano) ){	
										return "CO TO CO(EXCEPTION!!!)";
									} 
									else {									
										return "CO_TO_FLA";
								 	}
								} else {
									if( isIntCO(next_sub,now_intPano) ){	
										return "FLA_TO_CO";
									} 
									else {									
										return "FLA_TO_FLA";
								 	}
                                }
							break;
							}
			case 3: return "IMG_TO_IMG";break;
			case 4: return "SAME_CO_NOLOADING";break;
		}
	}

	//異なるメニュー間の遷移
	else{
		if(next_menu==2)now_intPano=defintPano;				//●リセット
		if(now_menu==0 || now_menu==1){
			if(now_Submenu==3){
			switch(next_menu){
				case 0:return "IMG_TO_EXCO";break;
				case 1:return "IMG_TO_EXCO";break;
				case 2:{
								if( isIntCO(next_sub,now_intPano) ){								// 次3D[CO]
									return "IMG_TO_CO";
								} 
								else {																									// 次2D[Flash]
									return "IMG_TO_FLA";
							 	}				
								break;
							}
				case 3:return "IMG_TO_IMG";break;
				case 4:return "IMG_TO_EXCO";break;
			}
			}
			else{
			switch(next_menu){
				case 0:return "SAME_CO_NOLOADING";break;
				case 1:return "SAME_CO_NOLOADING";break;
				case 2:{
								if( isIntCO(next_sub,now_intPano) ){								// 次3D[CO]
									return "EXCO_TO_CO";
								} 
								else {																									// 次2D[Flash]
									return "EXCO_TO_FLA";
							 	}				
								break;
							}
				case 3:return "EXCO_TO_IMG";break;
				case 4:return "SAME_CO_LOADING";break;
			}
			}
		}
		else if(now_menu==4){
			switch(next_menu){
				case 0:return "SAME_CO_LOADING";break;
				case 1:return "SAME_CO_LOADING";break;
				case 2:{
								if( isIntCO(next_sub,now_intPano) ){								// 次3D[CO]
									return "EXCO_TO_CO";
								} 
								else {																									// 次2D[Flash]
									return "EXCO_TO_FLA";
							 	}				
								break;
							}
				case 3:return "EXCO_TO_IMG";break;
				case 4:return "SAME_CO_LOADING";break;
			}			
		}
		else if(now_menu==2){
			var now_co = isIntCO(now_Submenu,now_intPano);
			switch(next_menu){
				case 0:
				case 1:
				case 4:
								if(now_co)return "CO_TO_EXCO";
								else return "FLA_TO_EXCO";
                				break;
				case 3:
								if(now_co)return "CO_TO_IMG";
								else return "FLA_TO_IMG";
                				break;
			}
		}
		else if(now_menu==3){
			switch(next_menu){
				case 0:return "IMG_TO_EXCO";break;
				case 1:return "IMG_TO_EXCO";break;
				case 2:{
								if( isIntCO(next_sub,now_intPano) ){								// 次3D[CO]
									return "IMG_TO_CO";
								} 
								else {																									// 次2D[Flash]
									return "IMG_TO_FLA";
							 	}				
								break;
							}
				case 4:return "IMG_TO_EXCO";break;
			}
		}
	}

}


// インテリアがCOかどうかを判定する関数
function isIntCO(sub,key) {

  if ( sub==0 ) return ( getIntCO(getIntIdx(key))!="" );
  if ( sub==1 ) return false;
}




// -------------------------------------------------------------- selectMenuTag(menu,sub)
//メインメニュー選択時/サブメニュー選択時の処理（必ず通る）
function selectMenuTag(menu,sub,tag){
	playMusic_press();	//ボタンプレス音

	//var RePage = "";


//alert(fristLoaded);
if(fristLoaded){
	if(bgChangeSceneFlg){bgChangeSceneFlg=false;}		//BACKGROUND背景切替フラグ→OFF
	RePage = LoadPageCheck_type(menu,sub);
	
//	alert("RePage="+RePage);
	
					//メニュー遷移時に
					//"SAME_CO_NOLOADING"	:contents領域のcoを読み替えない(LOADING画面無)
					//"SAME_CO_LOADING"	:contents領域のcoを読み替えない(LOADING画面有)
					//"NEW_CO"	:contents領域にcultを含んだHTMLをロード
					//"NO_CULT"	:contents領域にcultを含まないHTMLをロード（静止画像）
		
					
					
	switch(RePage){
		case "EXCO_TO_CO":
			//contents領域：exte.htm→inte.htm
			EnableStart(1,true,false,false);			//メニュー操作停止、arcballストップ
			Rot_WaitStart(0);					//自動回転一時停止
			LoadHTML(menu,sub);
			break;
		case "CO_TO_EXCO":
			//contents領域：inte.htm→exte.htm
			EnableStart(1,true,false,false);			//メニュー操作停止、arcballストップ
			LoadHTML(menu,sub);
			break;
		case "FLA_TO_CO":
			//contents領域：flash→co
			EnableStart(1,false,false,false);			//メニュー操作不能
			LoadHTML(menu,sub);
			break;
		case "FLA_TO_EXCO":
			//contents領域：flash→co
			EnableStart(1,false,false,false);			//メニュー操作不能
			LoadHTML(menu,sub);
			break;
		case "IMG_TO_CO":
			//contents領域：img→co
			EnableStart(1,false,false,false);			//メニュー操作不能
			LoadHTML(menu,sub);
			break;
		case "IMG_TO_EXCO":
			//contents領域：img→co
			EnableStart(1,false,false,false);			//メニュー操作不能
			if(menu == 0) LoadHTML(menu,0);
			else LoadHTML(menu,sub);
			break;
		case "FLA_TO_IMG":
			//flash→img
			EnableStart(1,false,false,false);			//メニュー操作停止
			LoadHTML(menu,sub);
			break;
		case "CO_TO_IMG":
			//contents領域に<img>タグを含むHTMLを新規ロード（静止画像）
			//メインメニュー遷移→GALLERY
			EnableStart(1,true,false,false);			//メニュー操作停止、arcballストップ
			Rot_WaitStart(0);					//自動回転一時停止
			LoadHTML(menu,sub);					//HTMLロード
			break;
		case "FLA_TO_FLA":            
		  EnableStart(1,false,false,false);
		  LoadHTML(menu,sub);
		  break;
		case "CO_TO_FLA":
		  EnableStart(1,true,false,false);
		  LoadHTML(menu,sub);
		  break;
		case"EXCO_TO_FLA":
		  EnableStart(1,true,false,false);
		  LoadHTML(menu,sub);
		  break;
		case"EXCO_TO_IMG":
		  EnableStart(1,true,false,false);
		  LoadHTML(menu,sub);
		  break;
		case "SAME_CO_LOADING":
			//contents領域をロードしない(coを読み替えない)
			EnableStart(1,true,false,true);				//メニュー操作停止、arcballストップ
			Rot_WaitStart(0);					//自動回転一時停止
			if(menu==4){						//遷移先がbackground
				if(!backgroundLoaded){
					//alert("初回BG");			//background初回起動時のみ
					setBG(defBG);
					backgroundLoaded = !backgroundLoaded;
				}else{
					//alert("BG記憶");			//background2回目以降起動時
					setBG(now_BG);
				}
			}
			else if(now_menu==4){
				triggerAction("changeScene", "default");	//backgrounから3DSIMULATION/3DTOURに遷移する時
			}
			break;
		case "IMG_TO_IMG":
			EnableStart(1,false,false,false);			//メニュー操作不能
			if(menu == 0) LoadHTML(menu,sub);
			else LoadHTML(menu,0);
			break;
		case "IMG_TO_FLA":
			EnableStart(1,false,false,false);			//メニュー操作不能
			LoadHTML(menu,0);
			break;
		case "SAME_CO_NOLOADING":
			//3D SIMULATIONサブメニュー遷移
			break;
		default:
			//処理無し
			break;
	}
	
	
}

  if(RePage!="SAME_CO_NOLOADING"){
    sendNavi( getMainNavi(menu,sub) );
  }
  sendPriceNote( ( menu==0 && sub==2 ) ? PLICE_NOTE_FLG : 0 );
  sendPrintEna( (getTagNamMS(menu,sub)!="Spec") );

    // 3D Tourへの切替時には、Tour0を再生開始
  if(Tour_auto_start_flg){
    playTour0WhenStart = false;
    if ( now_menu==0 && menu==1 ) {						//3D SIMULATION
      playTour0Start = false;
      playTour0();				// 今すぐ再生
          playTour0Start = true;
    } else if ( ( now_menu==2 || now_menu==3 || now_menu==4) && menu==1 ) {	//INTERIOR, BACKGROUND, GALLERY
      playTour0WhenStart = true;			// ロード完了後に再生
    }
  }

  var pre_menu = now_menu;
  var pre_Submenu = now_Submenu;
  var pre_tag = now_tag;


  now_menu = menu;
  now_Submenu  = sub;
  now_tag  = tag;



//表示するサブメニューの情報
MenuAlert("nowmenu："+now_menu + "　nowsubmenu："+now_Submenu+"　nowtag："+now_tag);	
  switch( now_menu ){
    // ----------------------------------------------------3D Simulation
    case 0:{
      switch( now_Submenu ){
        case 0:{ sendGraBtn("reset"); break;}											// Grade
        case 1:{ if( now_tag==0 ) sendColBtn();							// Color(EXTERIOR)
                 else             sendColinBtn();						// Color(INTERIOR)
                 break;}
        case 2:{ if ( FILTER_FLG ) filter_par = getParFilParTab(getParFilIdx(now_tag*10));
                 sendParBtn("DOP");
                 break;}									// メーカーオプション/純正部品/MODERISTA/DAMD/KENSTYLE/TRD
        case 3:{
		if ( now_Submenu==pre_Submenu ) {ChangeSpe("");sendSpeBtn();}
				 else{ sendSpeBtn();}
		  		 break;}
        case 4:{ openPrice(); return;}											//見積もり機能
			}
      break;
    }

    // ----------------------------------------------------3D Tour
    case 1:{ sendTouBtn();break;}			// サブメニュー無

    // ----------------------------------------------------Interior
    case 2:{
      switch( now_Submenu ){				// Interior Panorama
        case 0:{ now_intPano=defintPano;sendIntBtn(now_Submenu); break;}
        case 1:{ sendIntSeatBtn();
               	 break;}
      }
      break;
    }
    
    // ----------------------------------------------------【GALLERY】
    case 3:{
      switch( ARR_GALLERY[now_Submenu] ){
          case 0:  { now_Gallery=defGallery_photo;sendPhtBtn();break;}		// Photo
          case 1:  { now_Gallery=defGallery_TV;sendTVCFBtn();break;}		// TV-CF
          case 2:  { now_Gallery=defGallery_WP;sendWPprBtn();break;}		// WallPaper
          case 3:  { now_Gallery=defGallery_SS;sendSSvrBtn();break;}		// ScreenSaver
          case 4:  { break; }
          default: { break; }
      }
      break;
    }

    // ----------------------------------------------------【BACKGROUND】
    case 4:{ sendPanBtn();break;}			// Scene

  }
  sendBtnData();
  sendDataComp();
  change3DQualityBtn();
  if(combi_type==1)
    changememoBtn();
}


// -------------------------------------------------------------- Select Button
//ボタンエリアの選択サムネイルを押した時の処理
function selectBtn(btnKey){
  if(playTour0Start==true)playMusic_press();					//ボタンプレス音 3DTOUR以外
  setTimeout("SelectBtn_type('"+btnKey+"');",10);
}

function SelectBtn_type(btnKey){
  switch( now_menu ){
    // ----------------------------------------------------3D SIMULATION
    case 0:{
      switch( now_Submenu ){
        case 0:{ if(btnKey!=now_grade)			ChangeGra(btnKey); break;}		//Grade
        case 1:{ if(now_tag==0){if(btnKey!=now_color)	ChangeCol(btnKey);}		//Color（EXTERIOR）
                 else if(now_tag==1){now_intcolor = btnKey;}					//Color（INTERIOR）
                 break;}
        case 2:{
//                 if ( PARTS_TX_FLG && (!parSel[getParIdx(btnKey)]) && ( parSel_tx_disp=="1" )&&(getParPopup(getParIdx(btnKey))!="")){
//                   beforeAlertKey=btnKey;
//                   //parKeyで訴求画像を選ぶ。
//                   InteFlash_EX(1,true);
//                   EnableStart(1,false,false,false);
//                 } else {
                   ChangePatPakKit(btnKey);
//                 }
                 break;
	    }																		//Parts
        case 3:{ ChangeSpe(btnKey);break;}										//Spec
      }
      break;
    }
    // ----------------------------------------------------3D TOUR
    case 1:{
      TourFunction(btnKey);
      break;
    }
    // ----------------------------------------------------INTERIOR
    case 2:{
      switch( now_Submenu ){
        case 0:{ 																										//インテリアパノラマ
          //contents領域に表示
          //INTERIORサムネイル選択時の制御
          if(btnKey!=now_intPano){
            // 現在COを表示している場合
            if( isIntCO(now_Submenu,now_intPano) ){
              EnableStart(1,true,false,false);				//メニュー操作→"無効"、arcballストップ
              if( !isIntCO(now_Submenu,btnKey) ){		//次にFlashを表示する場合
                  menu.menuFla.TGotoLabel("\_root.navi", "invalidAll");		//navigationの制御（2D→invalid）
              }
            } else {
               EnableStart(1,false,false,false);			//メニュー操作→"無効"
               // 今度COを表示する場合
               if( isIntCO(now_Submenu,btnKey) ){
                   menu.menuFla.TGotoLabel("\_root.navi", "interior");	//navigationの制御（3D→interior）
               }
            }
            ChangeIntPano(btnKey);
          }
          break;
        }
        case 1:{
          if ( selectedArr[0]=="" || btnKey!=now_intSeat ) ChangeIntSeat(btnKey);
              break;
        }//シートアレンジ
      }
      break;
  }


    // ----------------------------------------------------GALLERY
    case 3:{
      switch( ARR_GALLERY[now_Submenu] ){
          case 0:{//contents領域にphoto画像表示する処理(btnKEY)			//Photo
              if(btnKey!=now_Gallery)ChangeGallery(btnKey);
              break;}
          
          case 1:{//contents領域に表示する処理(btnKEY)				//TV-CF
//alert(btnKey);
				tvcf_fname = getTVCFDLfileName(getTVCFIdx(btnKey));

				playBackMusic(false);

				setTimeout('OpenModalDialog("./tvcf00.htm", TVCF_WIN_WIDTH, TVCF_WIN_HEIGHT, tvcf_fname, "no");setBackMusic(now_bgm);', 500);
              break;}
          case 2:{//ダウンロード処理						//WallPaper
              //DownloadFile(btnKey, now_Submenu);//FLASH内で記述
              break;}
          case 3:{//ダウンロード処理						//Screen Saver
              //DownloadFile(btnKey, now_Submenu);//FLASH内で記述
              break;}
          case 4:{
              break;}
          default:
              break;
      }
      break;
    }

    // ----------------------------------------------------BACKGROUND
    case 4:{
	//alert("background表示、btnKey1001,1002,1003");
	//background表示処理
	if(btnKey!=now_BG){bgChangeSceneFlg=true;setBG(btnKey);}			//SCENE	//BACKGROUND背景切替フラグ→ON
      break;
    }


  }

  // Send [select button states]
  sendSelbtnStates(btnKey);
  
//リアルタイム合計金額表示
	if(now_menu==0){		//3D SIMULATIONの時のみ、ボタンが押されるたび合計金額を計算
		RealTime_TotalPrice();						
	}  
}

// -------------------------------------------------------------- Selected
function SelectedBtn(btnKey){
  var flg=false;

  switch( now_menu ){
    // ----------------------------------------------------3D Simulation
    case 0:{
      // parts
      if(now_Submenu==2){sendParBtnSelected();flg=true;}
			break;
    }
    // ----------------------------------------------------3D Tour
    case 1:{ break;}
    
    // ----------------------------------------------------Interior View
    case 2:{ break;}

    // ----------------------------------------------------Gallery
    case 3:{ break;}
    // ----------------------------------------------------BACKGROUND
    case 4:{ break;}

  }
      
  if( !flg ){ 
    selectedArr = new Array();
    disabledArr = new Array();
    selectedArr.push(btnKey);
    disabledArr.push("");
  }

}


/******************************************************************************
    Create Btn
******************************************************************************/

// ----------------------------------------------------【諸元表】
function sendSpeBtn(){
  keyArr    = new Array();
  imageArr  = new Array();
  selectedArr = new Array();
  picsizeArr  = new Array();
  
  speBtnArr = new Array();
  speBtnArr = preSpeBtn();

  for(var i=0; i<speBtnArr.length; i++){
    keyArr.push(getSpeKey(speBtnArr[i]));
    imageArr.push(getSpePic(speBtnArr[i]));
    arySize = getSpePicSize(speBtnArr[i]);
    var strSize = arySize[0]+","+arySize[1];
    picsizeArr.push(strSize);
  }
}

function preSpeBtn(){
  var ary = new Array();
  for(var i = 0; i < Btn_Spec.length; i++){
    ary.push(i);
  }
  return ary;
}


// ----------------------------------------------------【3D TOUR】
function sendTouBtn(){
  
  initArr();

  touBtnArr = new Array();
  touBtnArr = preTouBtn();

  for(var i=0; i<touBtnArr.length; i++){
    keyArr.push(getTouKey(touBtnArr[i]));
    imageArr.push(getTouPic(touBtnArr[i]));
    arySize = getTouPicSize(touBtnArr[i]);
    var strSize = arySize[0]+","+arySize[1];
    picsizeArr.push(strSize);
  }
//  selectedArr.push("4000");				
  selectedArr.push("");					//カーソル位置無し
}

function preTouBtn(){
  var ary = new Array();
  for(var i = 0; i < Btn_Tour.length; i++){
    ary.push(i);
  }
  return ary;
}



// ----------------------------------------------------【INTERIOR】
function sendIntBtn(){

  initArr();

  intBtnArr = new Array();
  intBtnArr = preIntBtn();
  for(var i=0; i<intBtnArr.length; i++){
    keyArr.push(getIntKey(intBtnArr[i]));
    imageArr.push(getIntPic(intBtnArr[i]));
    arySize = getIntPicSize(intBtnArr[i]);
    var strSize = arySize[0]+","+arySize[1];
    picsizeArr.push(strSize);
  }
  selectedArr.push(keyArr[0]);
}

function sendIntSeatBtn(){

  initArr();

  intBtnArr = new Array();
  intBtnArr = preInSeatBtn();
  for(var i=0; i<intBtnArr.length; i++){
    keyArr.push(getInSeatKey(intBtnArr[i]));
    imageArr.push(getInSeatPic(intBtnArr[i]));
    arySize = getInSeatPicSize(intBtnArr[i]);
    var strSize = arySize[0]+","+arySize[1];
    picsizeArr.push(strSize);
  }
  
  now_intSeat = keyArr[0];
  if ( AUTOSTART_SEAT_FLG ) {
    selectedArr.push(now_intSeat);
  } else {
    selectedArr.push("");
  }
}



function preIntBtn(){
  var ary = new Array();
  for(var i=0; i < Btn_Inte.length; i++){
    if( getInt_GraType(i,getGraIdx(now_grade)) != 1 )continue;
    ary.push(i);
  }
  return ary;
}

function preInSeatBtn(){
  var ary = new Array();
  for(var i=0; i < Btn_Seat.length; i++){
    if( getInSeat_GraType(i,getGraIdx(now_grade)) == 0 )continue;
    if( getInSeatTab(i) != now_tag )continue;
    ary.push(i);
  }
  return ary;
}



// ----------------------------------------------------【GALLERY】
// ----------------------------------------------------Photo
function sendPhtBtn(){

  initArr();
  
  PhtBtnArr = new Array();
  PhtBtnArr = prePhtBtn();

  for(var i=0; i<PhtBtnArr.length; i++){
    keyArr.push(getPhtKey(PhtBtnArr[i]));
    imageArr.push(getPhtPic(PhtBtnArr[i]));
    arySize = getPhtPicSize(PhtBtnArr[i]);
    var strSize = arySize[0]+","+arySize[1];
    picsizeArr.push(strSize);
  }
  selectedArr.push(defGallery_photo);				//画像選択位置は定位置
}


function prePhtBtn(){
  var ary = new Array();
  for(var i = 0; i < Btn_Pht.length; i++){
	ary.push(i);
  }
  return ary;
}

// ----------------------------------------------------TV-CF→エスティマではなし
function sendTVCFBtn(){
//alert("UNDER CONSTRUCTION!!!! TV-CF画像未定のため");
//TC-CFデータ作成後、次の処理追加

  initArr();
  
  TVCFBtnArr = new Array();
  TVCFBtnArr = preTVCFBtn();

  for(var i=0; i<TVCFBtnArr.length; i++){
    keyArr.push(getTVCFKey(TVCFBtnArr[i]));
    imageArr.push(getTVCFPic(TVCFBtnArr[i]));
    arySize = getTVCFPicSize(TVCFBtnArr[i]);
    var strSize = arySize[0]+","+arySize[1];
    picsizeArr.push(strSize);
  }
  selectedArr.push("");				//カーソル位置無し

}


function preTVCFBtn(){
  var ary = new Array();
  for(var i = 0; i < Btn_TVCF.length; i++){
	ary.push(i);
  }
  return ary;

}

// ----------------------------------------------------WallPaper
function sendWPprBtn(){

  initArr();
  
  WPprBtnArr = new Array();
  WPprBtnArr = preWPprBtn();

  for(var i=0; i<WPprBtnArr.length; i++){
    keyArr.push(getWPprKey(WPprBtnArr[i]));
    imageArr.push(getWPprPic(WPprBtnArr[i]));
    arySize = getWPprPicSize(WPprBtnArr[i]);
    var strSize = arySize[0]+","+arySize[1];
    picsizeArr.push(strSize);
    urlArr.push(getWPprDLfileName(WPprBtnArr[i]));
  }
  selectedArr.push("");				//カーソル位置無し
}


function preWPprBtn(){
  var ary = new Array();
  for(var i = 0; i < Btn_WPpr.length; i++){
	ary.push(i);
  }
  return ary;
}

// ----------------------------------------------------ScreenSaver
function sendSSvrBtn(){

  initArr();
  
  SSvrBtnArr = new Array();
  SSvrBtnArr = preSSvrBtn();

  for(var i=0; i<SSvrBtnArr.length; i++){
    keyArr.push(getSSvrKey(SSvrBtnArr[i]));
    imageArr.push(getSSvrPic(SSvrBtnArr[i]));
    arySize = getSSvrPicSize(SSvrBtnArr[i]);
    var strSize = arySize[0]+","+arySize[1];
    picsizeArr.push(strSize);
    urlArr.push(getSSvrDLfileName(SSvrBtnArr[i]));
  }
  selectedArr.push("");					//カーソル位置無し
}


function preSSvrBtn(){
  var ary = new Array();
  for(var i = 0; i < Btn_SSvr.length; i++){
	ary.push(i);
  }
  return ary;
}



// ----------------------------------------------------【BACKGROUND】
function sendPanBtn(){

  initArr();
  
  panBtnArr = new Array();
  panBtnArr = prePanBtn();

  for(var i=0; i<panBtnArr.length; i++){
    keyArr.push(getPanKey(panBtnArr[i]));
    imageArr.push(getPanPic(panBtnArr[i]));
    arySize = getPanPicSize(panBtnArr[i]);
    var strSize = arySize[0]+","+arySize[1];
    picsizeArr.push(strSize);
  }
  selectedArr.push(now_BG);			//カーソル位置記憶
}


function prePanBtn(){
  var ary = new Array();
  for(var i = 0; i < Btn_Pano.length; i++){
	if(Btn_Pano[i][1]=="") continue;
	ary.push(i);
  }
  return ary;
}

/******************************************************************************
    Sort  (Grade)  // From Flash->引数(文字列"sortItm+|+strUpDown")
     引数1  ソート対象
     引数2  true:降順 false:昇順
******************************************************************************/
function ProcSort(arg){

  // Flashへ送信
  sendGraBtn(arg);
  sendBtnData();
  sendDataComp();  
  
}


// グレード絞込み条件をリセット
function resetFilter() {
  filter_litter = "";
  filter_kudou = "";
  filter_mt = "";
  filter_fuel = "";
  filter_capacity = "";
}

// グレード絞込み項目の一覧をFlashに送信
function sendGraFilter(col) {

  col = parseInt(col);
  pdArr = new Array();
  pdSelArr = new Array();

  if ( ARR_GRA_ITEM[col]==10 ) {

    // ----- 車両本体価格
    pdArr.push(GRA_FILTER_PRICE_ASC);
    pdSelArr.push( "0" );
//    pdSelArr.push( ( filter_price==GRA_FILTER_PRICE_ASC ) ? "1" : "0" );
    pdArr.push(GRA_FILTER_PRICE_DES);
    pdSelArr.push( "0" );
//    pdSelArr.push( ( filter_price==GRA_FILTER_PRICE_DES ) ? "1" : "0" );

  } else {

    var sel=null;

    // "全選択"を追加
    switch( ARR_GRA_ITEM[col] ) {
      case 1:{ sel = ( filter_kudou=="" );    break; }
      case 2:{ sel = ( filter_litter=="" );   break; }
      case 3:{ sel = ( filter_mt=="" );       break; }
      case 4:{ sel = ( filter_capacity=="" ); break; }
      case 5:{ sel = ( filter_fuel=="" );     break; }
    }
    if ( sel!=null ) {
      sel = sel ? "1" : "0";
      pdArr.push( GRA_FILTER_ALL );
      pdSelArr.push( sel );
    }

    // ----- 車両本体価格以外
    for(var i=0; i<graBtnArr.length; i++){

      var idx = graBtnArr[i];
      var item="";

      // 値の取得
      switch( ARR_GRA_ITEM[col] ) {
        case 1:{ item = getGraKudou(graBtnArr[i]);    sel = ( item==filter_kudou );    break; }
        case 2:{ item = getGraLitter(graBtnArr[i]);   sel = ( item==filter_litter );   break; }
        case 3:{ item = getGraMt(graBtnArr[i]);       sel = ( item==filter_mt );       break; }
        case 4:{ item = getGraCapacity(graBtnArr[i]); sel = ( item==filter_capacity ); break; }
        case 5:{ item = getGraFuel(graBtnArr[i]);     sel = ( item==filter_fuel );     break; }
      }
      sel = sel ? "1" : "0";

      // 絞込み
      if ( filter_kudou    !="" && filter_kudou    != getGraKudou(idx)    && ARR_GRA_ITEM[col]!=1 ) continue;
      if ( filter_litter   !="" && filter_litter   != getGraLitter(idx)   && ARR_GRA_ITEM[col]!=2 ) continue;
      if ( filter_mt       !="" && filter_mt       != getGraMt(idx)       && ARR_GRA_ITEM[col]!=3 ) continue;
      if ( filter_capacity !="" && filter_capacity != getGraCapacity(idx) && ARR_GRA_ITEM[col]!=4 ) continue;
      if ( filter_fuel     !="" && filter_fuel     != getGraFuel(idx)     && ARR_GRA_ITEM[col]!=5 ) continue;

      // 既に同じものがあれば追加しない
      var chk = false;
      for ( var j=0; j<pdArr.length; j++ ) {
        if ( pdArr[j]==item ) {
          chk = true;
          break;
        }
      }
      if ( chk ) continue;

      // 追加
      if ( item!="" ) {
        pdArr.push( item );
        pdSelArr.push( sel );
      }
    }


  }

  // Flashへ送信
  sendPDData();
  sendDataComp();

}


// 絞込み項目が選択されたときの処理
function selectFilter(arg) {

  switch( now_menu ) {
    case 0:
      switch ( now_Submenu ) {
        case  0: { selectGraFilter(arg); break; }
        case  2: { selectParFilter(arg); break; }
        default: break;
      }
      break;
  }
}


// グレード絞込み項目が選択されたときの処理
// （引数が""の時は全絞込み項目をリセットする）
function selectGraFilter(arg) {

  if ( arg=="" ) {
    // ----- 全絞込項目リセット
    resetFilter();
    sendGraBtn();
  } else {

    var spD   = arg.split("|");
    var col   = parseInt(spD[0]);
    var item  = spD[1];

    if ( ARR_GRA_ITEM[col]==10 ) {

      // ----- 車両本体価格
      var arg = col+"|";
      if ( item==GRA_FILTER_PRICE_ASC ) arg+="DOWN";
      if ( item==GRA_FILTER_PRICE_DES ) arg+="UP";
	  filter_price = item;
      sendGraBtn(arg);		// ソート実行
   
    } else {

      // ----- 車両本体価格以外
      // "全選択"が選択された場合は該当絞込み項目をリセット
      if ( item==GRA_FILTER_ALL ) item="";

      // 値の取得
      switch( ARR_GRA_ITEM[col] ) {
        case 1:{ filter_kudou    = item; break; }
        case 2:{ filter_litter   = item; break; }
        case 3:{ filter_mt       = item; break; }
        case 4:{ filter_capacity = item; break; }
        case 5:{ filter_fuel     = item; break; }
      }
      sendGraBtn();

    }
  }

  // Flashへ送信
  sendBtnData();
  sendDataComp();  
  
}


// パーツ絞込み項目の一覧をFlashに送信
function sendParFilter(col) {

  pdArr = new Array();
  pdSelArr = new Array();
  for ( var i=0; i<PAR_FILTER.length; i++ ) {
    if ( getParFilTab(i)==col ) {
      var sel = ( getParFilParTab(i)==filter_par ) ? "1" : "0";
      pdArr.push( getParFilNam(i) );
      pdSelArr.push( sel );
    }
  }


  // Flashへ送信
  sendPDData();
  sendDataComp();

}

// パーツ絞込み項目が選択されたときの処理
function selectParFilter(arg) {

  var spD   = arg.split("|");
  var col   = parseInt(spD[0]);
  var item  = spD[1];

  for ( var i=0; i<PAR_FILTER.length; i++ ) {
    if ( getParFilTab(i)==col && getParFilNam(i)==item ) {
      filter_par = getParFilParTab(i);
      break;
    }
  }
  sendTag(col);
  sendParBtn("DOP");
  sendBtnData();
  sendDataComp();

}

function showPartsDetail(key) {
  playMusic_press();
  beforeAlertKey=key;
  EnableStart(1,true,false,false);
  Rot_WaitStart(0);
  TextProc(true);
}
