//*****************************************************************
//*** グローバル変数領域定義
//*****************************************************************
// リンクサブメニューのon/off関連：変数定義
	var UsedFlg = 0x00000000;		// 領域使用状態フラグ(0:未使用 / 1:使用)
	var ViewFlg = 0x00000000;		// 表示のon/off状態保持フラグ(0:非表示 / 1:表示)
	var ViewIdx = 0;				// 作業用インデックス値
	var ViewMax = 32;				// 使用可能領域最大インデックス

	ViewCmt = new Array(ViewMax);		// コメント領域宣言
	ViewImgID = new Array(ViewMax);		// レフトナビ領域宣言（ID番号用）
	ViewImgCL = new Array(ViewMax);		// レフトナビ画像領域宣言（Close用）
	ViewImgOP = new Array(ViewMax);		// レフトナビ画像領域宣言（Open用）


// 商品カテゴリ関連：定数・変数定義
	var CPMax = 256;					// 使用可能領域最大インデックス（総ページ数用）
	var CNMax = 16;						// 使用可能領域最大インデックス（名称用）

	CatPgMax = new Array(CPMax);		// カテゴリ別総ページ数領域宣言
	CatName = new Array(CNMax);			// カテゴリ別名称格納領域宣言

//=============================================
// カテゴリID(index)詳細（定数）
//---------------------------------------------
//   全16bit構成
//    bit15-8 : 予備領域
//    bit 7-4 : 親カテゴリID（CAT_****）
//    bit 3-0 : 子カテゴリID（CID_****）
//=============================================
//- 親カテゴリID
	var CAT_MINIMOTO       = 0x0000;		// ミニモト
	var CAT_OTHER          = 0x0010;		// 二輪パーツ
	var CAT_Dmy2           = 0x0020;		// 予備用
	var CAT_Dmy3           = 0x0030;		// 予備用
	var CAT_Dmy4           = 0x0040;		// 予備用
	var CAT_Dmy5           = 0x0050;		// 予備用
	var CAT_Dmy6           = 0x0060;		// 予備用
	var CAT_Dmy7           = 0x0070;		// 予備用
	var CAT_Dmy8           = 0x0080;		// 予備用
	var CAT_Dmy9           = 0x0090;		// 予備用
	var CAT_Dmy10          = 0x00A0;		// 予備用
	var CAT_Dmy11          = 0x00B0;		// 予備用
	var CAT_Dmy12          = 0x00C0;		// 予備用
	var CAT_Dmy13          = 0x00D0;		// 予備用
	var CAT_Dmy14          = 0x00E0;		// 予備用
	var CAT_Dmy15          = 0x00F0;		// 予備用

//- 子カテゴリID
	var CID_ORG_PARTS      = 0x0000;		// オリジナルパーツ
	var CID_SUSPENTION     = 0x0001;		// サスペンション
	var CID_CHASSIS        = 0x0002;		// シャーシ
	var CID_HANDLE         = 0x0003;		// ハンドル
	var CID_WHEEL_BREAK    = 0x0004;		// ホイール、ブレーキ
	var CID_DRIVE          = 0x0005;		// ドライブ
	var CID_ENGINE         = 0x0006;		// カバー、エンジン
	var CID_SEAT           = 0x0007;		// シート、カバー
	var CID_BILLET         = 0x0008;		// ビレッド
	var CID_BODY           = 0x0009;		// 外装パーツ
	var CID_MUFFLER        = 0x000A;		// マフラー
	var CID_HELMET         = 0x000B;		// ヘルメット
	var CID_SUIT           = 0x000C;		// ライダースーツ
	var CID_FULLBODY       = 0x000D;		// 車体
	var CID_Dmy5           = 0x000E;		// 予備用
	var CID_Dmy6           = 0x000F;		// 予備用


//*****************************************************************
//*** 動作スクリプト記述
//*****************************************************************
//=================================================================
// 共通利用
//=================================================================
//=============================================
// 前ゼロ埋め
//---------------------------------------------
//- arg0 : 桁数
//- arg1 : 編集値
//=============================================
function SetZero(arg0,arg1){
	var	nm ="";
	var lp;

	for (lp = 0 ; lp < arg0; lp++) {
		nm = nm + "0";
	}
	nm = nm + String(arg1);
	nm = nm.substr(nm.length - arg0,arg0);

	return nm;
}

//=================================================================
// リンクサブメニューのon/off関連
//=================================================================
//=============================================
// ナビメニューのアクション
//---------------------------------------------
//- arg0 : IMG tag ID
//- arg1 : GIF file name
//=============================================
function ActNavi(arg0,arg1){
	var obj = "";			// エレメントOBJ変数

	obj = document.getElementById(arg0);
	obj.src = arg1;
}

//=============================================
// レフトナビメニューのアクション
//---------------------------------------------
//- arg0 : CMT tag ID (cmt0-31)
//- arg1 : IMG tag ID (ltnv01-32)
//- arg2 : GIF file name （拡張子無）
//=============================================
function LTActNavi(arg0,arg1,arg2){
	var obj1 = "";			// エレメントOBJ変数（コメント部）
	var obj2 = "";			// エレメントOBJ変数（イメージ部）

	obj1 = document.getElementById(arg0);
	obj2 = document.getElementById(arg1);

	if (obj1.innerHTML == "") {
		obj2.src = arg2+"cl.gif";	// Close状態
	} else {
		obj2.src = arg2+"op.gif";	// Open状態
	}
}

//=================================================================
// リンクサブメニューのon/off関連
//=================================================================
//=============================================
// サブメニュー格納領域初期化
//=============================================
function InitSbMenu(){
	for (ViewIdx = 0 ; ViewIdx < ViewMax ; ViewIdx++) {
		ViewCmt[ViewIdx] = "";			// コメント領域初期化
		ViewImgID[ViewIdx] = "";		// レフトナビ（ID番号）初期化
		ViewImgCL[ViewIdx] = "";		// レフトナビ画像（Close）初期化
		ViewImgOP[ViewIdx] = "";		// レフトナビ画像（Open）初期化
	}
}

//=============================================
// 領域使用状態フラグ設定ルーチン
//---------------------------------------------
//- arg : 予約したい表示領域番号(0-31)
//=============================================
function SetUsedFlg(arg){
	var fpos = 0;
	var	nm ="";

	if (!isNaN(parseInt(arg)) && ((arg >= 0) && (arg < ViewMax))){
		fpos = 0x00000001 << arg;	// フラグ位置設定
		UsedFlg = UsedFlg | fpos;	// 領域予約（使用）フラグon
		ViewCmt[arg] = "";			// 予約コメント領域の初期化
		nm = SetZero(2,arg+1);		// 前ゼロ埋め
		ViewImgID[arg] = nm;								// レフトナビ（ID番号）設定（前ゼロ埋め2桁）
		ViewImgCL[arg] = "./image/btn_lt_"+nm+"cl.gif";		// レフトナビ画像（Close）設定
		ViewImgOP[arg] = "./image/btn_lt_"+nm+"op.gif";		// レフトナビ画像（Open）設定
	} else {
		alert("定義領域範囲外が指定されました。(Err=0xff)");
	}
}

//=============================================
// on/offルーチン
//---------------------------------------------
//- arg : 表示領域番号(0-31)
//=============================================
function ShowCmt(arg){
	var obj1 = "";			// エレメントOBJ変数（アイコン部）
	var obj2 = "";			// エレメントOBJ変数（コメント部）
	var fpos = 0;			// 動作フラグ位置保存用
	var ErrFlg = 0;			// エラーフラグ（0:ok / 1:error）

	if (!isNaN(parseInt(arg))) {
		fpos = 0x00000001 << arg;			// 動作フラグ位置設定
		if ((UsedFlg & fpos) != 0) {		// フラグonの時、使用領域が指定されているかのチェックをクリア
			obj1 = document.getElementById("sw"+arg);
			obj2 = document.getElementById("cmt"+arg);
		} else {							// 未使用領域が指定された為、エラーとする
			ErrFlg = 1;
		}
	
		if (ErrFlg == 0) {
			ViewFlg = ViewFlg ^ fpos;		// フラグをxorし、on/offの状態入れ替え
			if ((ViewFlg & fpos) != 0) {	// 表示状態へ
				obj1.innerHTML = "<img id='ltnv"+ViewImgID[arg]+"' src='"+ViewImgOP[arg]+"'>";
				obj2.innerHTML = ViewCmt[arg];
			} else {						// 非表示状態へ
				obj1.innerHTML = "<img id='ltnv"+ViewImgID[arg]+"' src='"+ViewImgCL[arg]+"'>";
				obj2.innerHTML = "";
			}
		}
	} else {
		alert("定義領域範囲外が指定されました。(Err=0x81)");
	}
}

//=================================================================
// 商品詳細ページ、ページ移動表示関連
//=================================================================
//=============================================
// ページ移動表示
//---------------------------------------------
//- arg0 : 親カテゴリID（CAT_****）
//- arg1 : 子カテゴリID（CID_****）
//- arg2 : 現在のページ
//=============================================
function ShowPages(arg0,arg1,arg2){
	var obj = "";			// エレメントOBJ変数
	var DspTg = "";			// 表示行格納変数
	var ActMode = 0;		// ルーチン動作モード
	var ActMdPrev = 0x01;	// ルーチン動作モード定数（前ページ表示）
	var ActMdNext = 0x02;	// ルーチン動作モード定数（次ページ表示）
	var lnks = "";			// 表示内容（Link先名：ページ数除く）
	var lnkspg = "";		// 表示内容（Link先名）
	var nm = "";
	var lp;

	//*** 動作モードチェック ***
	// 前ページ表示？
	if (arg2 != 1) {
		ActMode = ActMode | ActMdPrev;
	}
	// 次ページ表示？
	if (arg2 != CatPgMax[arg0 + arg1]) {
		ActMode = ActMode | ActMdNext;
	}

	//*** 動作モード別処理 ***
	// リンク先名（ページ除く）用意
	nm = SetZero(2,arg1+1);		// 前ゼロ埋め（2桁）
	lnks = CatName[((arg0 >> 4) & 0x0F)] + nm + "-";

	// 表示部分作成
	if (ActMode & ActMdPrev) {
		nm = SetZero(3,arg2-1);		// 前ゼロ埋め（3桁）
		lnkspg = "./" + lnks + nm + ".html";
		DspTg += "<a href='"+lnkspg+"' class='pg01'>&lt;&lt;</a>&nbsp;";
	}

	for (lp = 1 ; lp <= CatPgMax[arg0 + arg1] ; lp++) {
		if (lp == arg2) {		// 太字＆サイズアップ表示
			DspTg += "&nbsp;<span class='pg02'>"+lp+"&nbsp;";
		} else {				// 標準表示
			nm = SetZero(3,lp);		// 前ゼロ埋め（3桁）
			lnkspg = "./" + lnks + nm + ".html";
			DspTg += "&nbsp;<a href='"+lnkspg+"' class='pg01'>"+lp+"</a>&nbsp;";
		}
	}

	if (ActMode & ActMdNext) {
		nm = SetZero(3,arg2+1);		// 前ゼロ埋め（3桁）
		lnkspg = "./" + lnks + nm + ".html";
		DspTg += "&nbsp;<a href='"+lnkspg+"' class='pg01'>&gt;&gt;</a>";
	}

	// 表示部分出力
	document.write(DspTg);
}



//=================================================================
// 初期処理ルーチンcall等
//=================================================================
// サブメニュー格納領域初期化
InitSbMenu();

// カテゴリ別総ページ数設定
CatPgMax[CAT_MINIMOTO + CID_ORG_PARTS]   = 1;		// オリジナルパーツ
CatPgMax[CAT_MINIMOTO + CID_SUSPENTION]  = 2;		// サスペンション
CatPgMax[CAT_MINIMOTO + CID_CHASSIS]     = 2;		// シャーシ
CatPgMax[CAT_MINIMOTO + CID_HANDLE]      = 5;		// ハンドル
CatPgMax[CAT_MINIMOTO + CID_WHEEL_BREAK] = 2;		// ホイール、ブレーキ
CatPgMax[CAT_MINIMOTO + CID_DRIVE]       = 1;		// ドライブ
CatPgMax[CAT_MINIMOTO + CID_ENGINE]      = 1;		// カバー、エンジン
CatPgMax[CAT_MINIMOTO + CID_SEAT]        = 1;		// シート、カバー
CatPgMax[CAT_MINIMOTO + CID_BILLET]      = 3;		// ビレッド
CatPgMax[CAT_MINIMOTO + CID_BODY]        = 1;		// 外装パーツ

CatPgMax[CAT_OTHER + CID_SUSPENTION]     = 1;		// サスペンション
CatPgMax[CAT_OTHER + CID_WHEEL_BREAK]    = 2;		// ホイール、ブレーキ
CatPgMax[CAT_OTHER + CID_MUFFLER]        = 3;		// マフラー
CatPgMax[CAT_OTHER + CID_HELMET]         = 2;		// ヘルメット
CatPgMax[CAT_OTHER + CID_SUIT]           = 3;		// ライダースーツ
CatPgMax[CAT_OTHER + CID_FULLBODY]       = 3;		// 車体
CatPgMax[CAT_OTHER + CID_BODY]	         = 1;		// 外装パーツ

// カテゴリ別名称設定
CatName[((CAT_MINIMOTO >> 4) & 0x0F)]   = "A";		// ミニモト
CatName[((CAT_OTHER >> 4) & 0x0F)]      = "B";		// 二輪パーツ

