////////
//
// ts_calc.js 1.00 - 
//
// Copyright(c) T-Soft Inc. 2006 All rights reserved.
//
////////



//
// price data
//
var g_ts_calcdata_sc;
var g_ts_calcdata_db;

g_ts_calcdata_sc = new Array;
g_ts_calcdata_db = new Array;

g_ts_calcdata_sc["キューブ（2列シートのタイプ）"] = "Futuu";
g_ts_calcdata_sc["キューブキュービック（3列シートのタイプ）"] = "Futuu";

// 0    = 0,セット価格0,単品価格0,セット価格1,単品価格1,セット価格2,単品価格2
// 1〜n = 丸め個数,セット価格,単品価格
g_ts_calcdata_db["FArm"] = "1,1000,2000";
g_ts_calcdata_db["FArmEx"] = "1,2000,4000";
g_ts_calcdata_db["FArmEk"] = "0,0,0,1000,2000,4000,8000";
g_ts_calcdata_db["FArm4Life"] = "0,0,0,1000,2000,1000,2000";
g_ts_calcdata_db["FArmNBox"] = "0,0,0,1000,2000,2500,5000";
g_ts_calcdata_db["FArmPremacy"] = "0,0,0,1000,2000,2000,4000";
g_ts_calcdata_db["FArmCon"] = "1,2500,5000";
g_ts_calcdata_db["FArmConBb"] = "0,0,0,1000,2000,3000,6000";
g_ts_calcdata_db["FArmCube"] = "1,2000,4000";
g_ts_calcdata_db["FArmSerena"] = "1,2000,4000";
g_ts_calcdata_db["FArmVoxynoah"] = "1,2000,4000";
g_ts_calcdata_db["FArmSienta"] = "0,0,0,2000,4000,2000,4000";
g_ts_calcdata_db["FArmMobi"] = "0,0,0,1000,2000,1000,2000,1000,2000";
g_ts_calcdata_db["FArmVamos"] = "0,0,0,1000,2000,1000,2000";
g_ts_calcdata_db["FArmCube"] = "1,3000,6000";
g_ts_calcdata_db["FCbxMobispa"] = "1,5000,10000";
g_ts_calcdata_db["FCbx"] = "1,5000";
g_ts_calcdata_db["FCbxNew500Fiat"] = "1,15000";
g_ts_calcdata_db["FCbxCube"] = "1,2000,4000";
g_ts_calcdata_db["RArm"] = "1,2000,4000";
g_ts_calcdata_db["RArmQ"] = "1,2000";
g_ts_calcdata_db["RArmFreed"] = "0,0,0,2000,4000,2000,4000";
g_ts_calcdata_db["RArmEvery"] = "0,0,0,2000,4000,2000,4000,4000,8000";
g_ts_calcdata_db["RArmPremacy"] = "1,3000,6000";
g_ts_calcdata_db["RArm2Premacy"] = "1,2000,4000";
g_ts_calcdata_db["RCcuKaraku"] = "1,2000,4000";
g_ts_calcdata_db["RCcuSerena"] = "1,5000,10000";
g_ts_calcdata_db["RCcuVoxynoah"] = "1,5000,10000";
g_ts_calcdata_db["HeadF"] = "1,3000";
g_ts_calcdata_db["HeadB"] = "1,3000";
g_ts_calcdata_db["HeadT"] = "1,3000";
g_ts_calcdata_db["HeadKF"] = "1,10000";
g_ts_calcdata_db["HeadKB"] = "1,10000";
g_ts_calcdata_db["HeadC"] = "1,1500";
g_ts_calcdata_db["Fseat1retumekei"] = "1,18000";
g_ts_calcdata_db["Fseat1retumefutu"] = "1,20000";
g_ts_calcdata_db["Rseat3retume"] = "1,15000";
g_ts_calcdata_db["Piping"] = "1,5000";
g_ts_calcdata_db["Piping3"] = "1,7500";
g_ts_calcdata_db["ChackR"] = "1,2000";
g_ts_calcdata_db["ChackL"] = "1,2000";
g_ts_calcdata_db["PocketR"] = "1,2000";
g_ts_calcdata_db["PocketL"] = "1,2000";
g_ts_calcdata_db["RsChackR"] = "1,1000";
g_ts_calcdata_db["RsChackL"] = "1,1000";
g_ts_calcdata_db["RsSpkAnaR"] = "1,5000";
g_ts_calcdata_db["RsSpkAnaL"] = "1,5000";
g_ts_calcdata_db["HoleR"] = "1,1000";
g_ts_calcdata_db["KmUtiLapin"] = "0,0,0,15000,15000,15000,15000";
g_ts_calcdata_db["KmUti5Life"] = "0,0,0,15000,15000,15000,15000";
g_ts_calcdata_db["KmDshLapin"] = "0,0,0,18000,18000,18000,18000";
g_ts_calcdata_db["KmUti2Tanto"] = "0,0,0,17000,17000,17000,17000";
g_ts_calcdata_db["KmUti2Fit"] = "0,0,0,20000,20000,20000,20000";
g_ts_calcdata_db["KmSnbLapin"] = "1,6000";
g_ts_calcdata_db["KmSnbSerena"] = "1,8000";
g_ts_calcdata_db["KmSnbZ12Cube"] = "1,8000";
g_ts_calcdata_db["KmSid"] = "1,3000";
g_ts_calcdata_db["FCbxSienta"] = "1,8000,16000";
g_ts_calcdata_db["FCbxFit"] = "1,1000,2000";
g_ts_calcdata_db["FCbx2Fit"] = "1,3000,6000";
g_ts_calcdata_db["KmUtiNote"] = "1,17000";
g_ts_calcdata_db["KmTrmNote"] = "1,4000";
g_ts_calcdata_db["FCbxPassoBoon"] = "1,8000";
g_ts_calcdata_db["KmCpcPassoBoon"] = "1,4000";
g_ts_calcdata_db["KmTrmPassoBoon"] = "1,4000";
g_ts_calcdata_db["KmUtiAxela"] = "1,19000";
g_ts_calcdata_db["KmUtiArmAxela"] = "1,5000,10000";
g_ts_calcdata_db["FCbxAxela"] = "1,3000,6000";
g_ts_calcdata_db["FCbx2Axela"] = "1,3000,6000";
g_ts_calcdata_db["KmSnbCopen"] = "1,4500";
g_ts_calcdata_db["KmTkbMiracocoa"] = "1,4000";
g_ts_calcdata_db["FCbxCopen"] = "1,2000,4000";
g_ts_calcdata_db["KmTrm"] = "1,4000";
g_ts_calcdata_db["KmUtiZest"] = "1,9000";
g_ts_calcdata_db["KmHan"] = "1,4800";
g_ts_calcdata_db["Thi"] = "1,1980";
g_ts_calcdata_db["Dbx"] = "1,2980";
g_ts_calcdata_db["KmUtiCopen"] = "1,15000";
g_ts_calcdata_db["KmUti2Lapin"] = "1,15000";
g_ts_calcdata_db["KmUtiGino"] = "1,15000";
g_ts_calcdata_db["KmUtiKB"] = "1,15000";
g_ts_calcdata_db["KMMeterNew500Fiat"] = "1,10000";
g_ts_calcdata_db["KMInpaneNew500Fiat"] = "1,30000";
g_ts_calcdata_db["KMDoorNew500Fiat"] = "1,15000";
g_ts_calcdata_db["KmLetM"] = "5,2000";
g_ts_calcdata_db["KmMatKei1"] = "1,14800,14800,14800";
g_ts_calcdata_db["KmMatFutu1"] = "1,16800,16800,16800";
g_ts_calcdata_db["KmMatKei2"] = "1,24800,24800,24800";
g_ts_calcdata_db["KmMatFutu2"] = "1,29800,29800,29800";
g_ts_calcdata_db["KmLagMatFutu2"] = "1,9000,9000,9000";
g_ts_calcdata_db["KmMatFutu3"] = "1,35800,35800,35800";

//
// compute price
//

function compute(f) {
    var price = 0;
    var tempdel = 0;
    var pieces = 0;
    var carriges = 0;
	var val;
    var pm;
	var pt;
	var fs, rs3;
	var ct;
    
    // selectedIndexes start from 0
    // so first item is 0, second is 1, etc.


	// 車タイプ
	ct = serScType(f);

	// 一式セット価格
	pm = formGetDStrNum( formGetRadioValue(f.naiyou) );
	if (pm == 1) {
		if (ct == "Kei") {
			price += 29800;
		} else if (ct == "Futuu") {
			price += 35800;
		} else if (ct == "LapSS") {
			price += 34800;
		} else if (ct == "2AxelaFSpseat") {
			price += 39800;
		} else if (ct == "Copen") {
			price += 29800;
		} else if (ct == "FiatNew500") {
			price += 195000;
			
		} else {
			price += 0;
			alert("管理者用メッセージ：カータイプ「軽自動車・普通車等（carPriType）」を設定してください。");
		}

		// アクセラリヤアーム穴ありタイプ
		if ( formGetDStrNum( formGetRadioValue(f.RArmHoleAxela) ) > 0 ) {
			price += 4000;
		}
		
		// Z12キューブリヤアーム穴ありタイプ
		if ( formGetDStrNum( formGetRadioValue(f.RArmHoleCube) ) > 0 ) {
			price += 4000;
		}
		
		// フリードリヤアーム穴ありタイプ
		if ( formGetDStrNum( formGetRadioValue(f.RArmHoleFreed) ) > 0 ) {
			price += 4000;
		}

		// デミオリヤヘッド一体型
		if ( formGetDStrNum( formGetRadioValue(f.RHeadtypeDemio) ) > 0 ) {
			price += 3000;
		}

		// ラパン用 / ラパンSS用
		if ( formGetDStrNum( formGetRadioValue(f.SeetSetLapan) ) > 0 ) {
			price += 5000;
		}
		
		// FiatNew500スポーツシート用
		if ( formGetDStrNum( formGetRadioValue(f.SeattypeNew500Fiat) ) > 0 ) {
			price += 10000;
		}


		// 2代目アクセラフロントノーマルシート用 / 2代目アクセラフロントスポーツシート用
		if ( formGetDStrNum( formGetRadioValue(f.SeetSet2Axela) ) > 0 ) {
			price += 4000;
		}

//		price += serScPri(f,pm);
	}


	// シートパターン
	pt = formGetDStrNum( formGetRadioValue(f.seatpattern) );


	// フロントシートカバーのみ（左右セット）
	fs  = formGetDStrNum( formGetRadioValue(f.Fseat1retume) );	// Fseat1retumefutu,Fseat1retumekeiの価格設定は別にある。

	// ３列目シートカバー
	rs3 = formGetDStrNum( formGetRadioValue(f.Rseat3retume) )


	// シートカバーデザイン
	if (formGetDStrNum(formGetRadioValue(f.SeatDesign)) > 1) 
	{
		if ( rs3 == 0) {
			price += 5000;
		} else {
			price += 7500;
		}
	}


	// シート生地
	var ski, sst, sha, ssy;
	ski = formGetListValue(f.sozaiKihon);
	sst = formGetListValue(f.sozaiStripe);
	sha = formGetListValue(f.sozaiHaimen);
	ssy = formGetListValue(f.sozaiHyoumen);
	if (pt == 1) {
		// 「デニム」または「はんぷ」を使用する場合
		if ((ski == "デニム" || ski == "はんぷ") && (sst == "デニム" || sst == "はんぷ") ) {
			// オールデニム（又ははんぷの場合）
			price += ( rs3 != 0 ) ? 7800 : 5200;
		} else if ((ski == "デニム" || ski == "はんぷ") || (sst == "デニム" || sst == "はんぷ")) {
			// 基本色のみ（又はストライプ色のみ）
			// 表面色のみ（又は背面色のみ）
			price += ( rs3 != 0 ) ? 3900 : 2600;
		}
		
		if (sst == "チェック生地") {
			price += ( rs3 != 0 ) ? 3900 : 2600;
		}

		if (sst == "アルカンターラ") {
			price += 20000;
		}
	} else {
		// 「デニム」または「はんぷ」を使用する場合
		if ((sha == "デニム" || sha == "はんぷ") && (ssy == "デニム" || ssy == "はんぷ") ) {
			// オールデニム（又ははんぷの場合）
			price += ( rs3 != 0 ) ? 7800 : 5200;
		} else if ((sha == "デニム" || sha == "はんぷ") || (ssy == "デニム" || ssy == "はんぷ")) {
			// 基本色のみ（又はストライプ色のみ）
			// 表面色のみ（又は背面色のみ）
			price += ( rs3 != 0 ) ? 3900 : 2600;
		}
		
		if (sst == "チェック生地") {
			price += ( rs3 != 0 ) ? 3900 : 2600;
		}

		if (ssy == "アルカンターラ") {
			price += 20000;
		}
	}



	// フロントシートカバーのみ（左右セット）
	if (pm != 1) {
		if ( fs > 0 ) {
			if (ct == "Kei") {
				price += 18000;
			} else {
				price += 20000;
			}
		}
	}

	price = price + serPriOpt(f, pm);
	var carriges = carriges;
	var tax = price * 0.05;

	f.price.value = yenconv(price);
	f.tax.value = yenconv(Math.ceil(tax));
	f.total.value = yenconv(Math.ceil(price + tax + carriges));
}



//
// input value validate
//



//pattern color sozai 
function validate(f) {
	var elemC;
	var labelC;
	var locatC;
	var elem1  = new Array("carType", "naiyou");
	var label1 = new Array("お車", "ご注文内容");
	var locat1 = new Array("carType", "naiyou");
	var elem2  = new Array("email");
	var label2 = new Array("ご注文主のメールアドレス");
	var elem3  = new Array("email", "payment");
	var label3 = new Array("ご注文主のメールアドレス", "お支払い方法");
	var locat3 = new Array("email", "payment");

	var elemShe1 = new Array("seatpattern", "iroKihon|iroKihon2", "iroStripe|iroStripe2", "sozaiKihon", "sozaiStripe", "SeatDesign");
	var elemShe2 = new Array("seatpattern", "iroHaimen|iroHaimen2", "iroHyoumen|iroHyoumen2", "sozaiHaimen", "sozaiHyoumen", "SeatDesign");
	var labelShe = new Array("シートのパターン", "シートの配色", "シートの配色", "シートの生地・素材", "シートの生地・素材", "シートのデザイン");
	var locatShe = new Array("seatpattern", "color", "color", "sozai", "sozai", "SeatDesign");

	var elemHed = new Array("HeadBasCol|HeadBasColEtc", "HeadStlCol|HeadStlColEtc");
	var labelHed = new Array("ヘッドの色", "ヘッドの色");
	var locatHed = new Array("head", "head");
	
	var elemPiping = new Array("PipingColor|PipingColor2");
	var labelPiping = new Array("パイピングの色");
	var locatPiping = new Array("Piping");

	var elemPiping3 = new Array("Piping3Color|Piping3Color2");
	var labelPiping3 = new Array("パイピングの色");
	var locatPiping3 = new Array("Piping3");
	
	var elemBrk = new Array("KmSidColor|KmSidColor2");
	var labelBrk = new Array("サイドブレーキカバーの色");
	var locatBrk = new Array("KmSid");

	var elemC16 = new Array("KmTrmColor|KmTrmColor2");
	var labelC16 = new Array("トランクマットの色");
	var locatC16 = new Array("KmTrm");

	var elemUth = new Array("KmUtiLapinColor|KmUtiLapinColor2");
	var labelUth = new Array("内張りの色");
	var locatUth = new Array("KmUtiLapin");
	
	var elemKmUtiKB = new Array("KmUtiKBColor|KmUtiKBColor2");
	var labelKmUtiKB = new Array("内張りの色");
	var locatKmUtiKB = new Array("KmUtiKB");

	var elemUthL = new Array("KmUti5LifeColor|KmUti5LifeColor2");
	var labelUthL = new Array("内張りの色");
	var locatUthL = new Array("KmUti5Life");
	
	var elemKmDshLapin = new Array("KmDshLapinColor|KmDshLapinColor2");
	var labelKmDshLapin = new Array("ダッシュマットの色");
	var locatKmDshLapin = new Array("KmDshLapin");
	
	var elem2TantoUth = new Array("KmUti2TantoColor|KmUti2TantoColor2");
	var label2TantoUth = new Array("内張りの色");
	var locat2TantoUth = new Array("KmUti2Tanto");

	var elem2FitUth = new Array("KmUti2FitColor|KmUti2FitColor2");
	var label2FitUth = new Array("内張りの色");
	var locat2FitUth = new Array("KmUti2Fit");

	var elemSun = new Array("KmSnbLapinColor|KmSnbLapinColor2");
	var labelSun = new Array("サンバイザーの色");
	var locatSun = new Array("KmSnbLapin");
	
	var elemSerenaSun = new Array("KmSnbSerenaColor|KmSnbSerenaColor2");
	var labelSerenaSun = new Array("サンバイザーの色");
	var locatSerenaSun = new Array("KmSnbSerena");
	
	var elemZ12CubeSun = new Array("KmSnbZ12CubeColor|KmSnbZ12CubeColor2");
	var labelZ12CubeSun = new Array("サンバイザーの色");
	var locatZ12CubeSun = new Array("KmSnbZ12Cube");
	
	var elemNew500Fiat = new Array("FCbxNew500FiatColor|FCbxNew500FiatColor2");
	var labelNew500Fiat = new Array("コンソールボックスカバーの色");
	var locatNew500Fiat = new Array("FCbxNew500Fiat");

	var elemKMMeterNew500Fiat = new Array("KMMeterNew500FiatColor|KMMeterNew500FiatColor2");
	var labelKMMeterNew500Fiat = new Array("メーターフードの色");
	var locatKMMeterNew500Fiat = new Array("KMMeterNew500Fiat");

	var elemKMInpaneNew500Fiat = new Array("KMInpaneNew500FiatColor|KMInpaneNew500FiatColor2");
	var labelKMInpaneNew500Fiat = new Array("インパネの色");
	var locatKMInpaneNew500Fiat = new Array("KMInpaneNew500Fiat");

	var elemKMDoorNew500Fiat = new Array("KMDoorNew500FiatColor|KMDoorNew500FiatColor2");
	var labelKMDoorNew500Fiat = new Array("ドアトリムの色");
	var locatKMDoorNew500Fiat = new Array("KMDoorNew500Fiat");
	
	var elemCBx = new Array("FCbxSientaColor|FCbxSientaColor2");
	var labelCBx = new Array("コンソールボックスカバーの色");
	var locatCBx = new Array("FCbxSienta");

	var elemC02 = new Array("FCbxFitType", "FCbxFitColor|FCbxFitColor2");
	var labelC02 = new Array("コンソールボックスカバーの型", "コンソールボックスカバーの色");
	var locatC02 = new Array("FCbxFit", "FCbxFit");
	
	var elemFCbx2Fit = new Array("FCbx2FitColor|FCbx2FitColor2");
	var labelFCbx2Fit = new Array("コンソールボックスカバーの色");
	var locatFCbx2Fit = new Array("FCbx2Fit");

	var elemKmMatKei1 = new Array("MatColorBase", "MatColorAcc");
	var labelKmMatKei1 = new Array("フロアマットのベース色", "フロアマットのアクセント色");
	var locatKmMatKei1 = new Array("KmMatKei1", "KmMatKei1");
	
	var elemKmMatFutu1 = new Array("MatColorBase", "MatColorAcc");
	var labelKmMatFutu1 = new Array("フロアマットのベース色", "フロアマットのアクセント色");
	var locatKmMatFutu1 = new Array("KmMatFutu1", "KmMatFutu1");
	
	var elemKmMatKei2 = new Array("MatColorBase", "MatColorAcc");
	var labelKmMatKei2 = new Array("フロアマットのベース色", "フロアマットのアクセント色");
	var locatKmMatKei2 = new Array("KmMatKei2", "KmMatKei2");
	
	var elemKmMatFutu2 = new Array("MatColorBase", "MatColorAcc");
	var labelKmMatFutu2 = new Array("フロアマットのベース色", "フロアマットのアクセント色");
	var locatKmMatFutu2 = new Array("KmMatFutu2", "KmMatFutu2");
	
	var elemKmLagMatFutu2 = new Array("LagMatColorBase", "LagMatColorAcc");
	var labelKmLagMatFutu2 = new Array("ラゲッジマットのベース色", "ラゲッジマットのアクセント色");
	var locatKmLagMatFutu2 = new Array("KmLagMatFutu2", "KmLagMatFutu2");
	
	var elemKmMatFutu3 = new Array("MatColorBase", "MatColorAcc");
	var labelKmMatFutu3 = new Array("フロアマットのベース色", "フロアマットのアクセント色");
	var locatKmMatFutu3 = new Array("KmMatFutu3", "KmMatFutu3");
	

	var elemC04 = new Array("KmCpcPassoBoonColor|KmCpcPassoBoonColor2");
	var labelC04 = new Array("クッションパッドカバーの色");
	var locatC04 = new Array("KmCpcPassoBoon");
	
	var elemKmTkbMiracocoa = new Array("KmTkbMiracocoaColor|KmTkbMiracocoaColor2");
	var labelKmTkbMiracocoa = new Array("トノカバーズカバーの色");
	var locatKmTkbMiracocoa = new Array("KmTkbMiracocoa");
	

	var elemC07 = new Array("FCbxAxelaColor|FCbxAxelaColor2");
	var labelC07 = new Array("コンソールボックスカバーの色");
	var locatC07 = new Array("FCbxAxela");
	
	var elemFCbx2Axela = new Array("FCbx2AxelaType", "FCbx2AxelaColor|FCbx2AxelaColor2");
	var labelFCbx2Axela = new Array("コンソールボックスカバーの型", "コンソールボックスカバーの色");
	var locatFCbx2Axela = new Array("FCbx2Axela", "FCbx2Axela");

	var elemC09 = new Array("KmSnbCopenColor|KmSnbCopenColor2");
	var labelC09 = new Array("バイザーカバーの色");
	var locatC09 = new Array("KmSnbCopen");

	var elemC10 = new Array("FCbxCopenColor|FCbxCopenColor2");
	var labelC10 = new Array("コンソールボックスカバーの色");
	var locatC10 = new Array("FCbxCopen");



	var elemC17 = new Array("RArmHoleAxela");
	var labelC17 = new Array("リヤアーム穴タイプ");
	var locatC17 = new Array("RArmHoleAxela");
	
	
	var elemCube = new Array("RArmHoleCube");
	var labelCube = new Array("リヤアーム穴タイプ");
	var locatCube = new Array("RArmHoleCube");


	var elemFreed = new Array("RArmHoleFreed");
	var labelFreed = new Array("リヤアーム穴タイプ");
	var locatFreed = new Array("RArmHoleFreed");


	var elemHad = new Array("KmHanSize", "KmHanColor|KmHanColor2");
	var labelHad = new Array("ハンドル外径", "ハンドルの色");
	var locatHad = new Array("KmHan", "KmHan");

	var elemThi = new Array("ThiColorOutside|ThiColorOutside2", "ThiColorInside|ThiColorInside2", "ThiColorBand|ThiColorBand2");
	var labelThi = new Array("カスタムティッシュカバー外側の色", "カスタムティッシュカバー内側の色", "カスタムティッシュカバーひもの色");
	var locatThi = new Array("Thi", "Thi", "Thi");

	var elemDbx = new Array("DbxColorOutside|DbxColorOutside2", "DbxColorInside|DbxColorInside2");
	var labelDbx = new Array("ダストボックスベースの色", "ダストボックスアクセントの色");
	var locatDbx = new Array("Dbx", "Dbx");
	
	var elemKmUtiCopen = new Array("KmUtiCopenColorOutside|KmUtiCopenColorOutside2", "KmUtiCopenColorInside|KmUtiCopenColorInside2");
	var labelKmUtiCopen = new Array("コペン内張りベース色", "コペン内張りアクセント色");
	var locatKmUtiCopen = new Array("KmUtiCopen", "KmUtiCopen");

	var elemKmUti2Lapin = new Array("KmUti2LapinColorOutside|KmUti2LapinColorOutside2", "KmUti2LapinColorInside|KmUti2LapinColorInside2");
	var labelKmUti2Lapin = new Array("ラパン内張りベース色", "ラパン内張りアクセント色");
	var locatKmUti2Lapin = new Array("KmUti2Lapin", "KmUti2Lapin");
	
	var elemKmUtiGino = new Array("KmUtiGinoColorOutside|KmUtiGinoColorOutside2", "KmUtiGinoColorInside|KmUtiGinoColorInside2");
	var labelKmUtiGino = new Array("ミラジーノ内張りベース色", "ミラジーノ内張りアクセント色");
	var locatKmUtiGino = new Array("KmUtiGino", "KmUtiGino");
	
	var elemRth  = new Array("KmLetM");
	var labelRth = new Array("レザー・生地切り売りの長さ");
	var locatRth = new Array("KmLetM");
	var pm, pt, fs, rs3;

    compute(f);



	// 一式セット価格
	pm  = formGetDStrNum( formGetRadioValue(f.naiyou) );
	// フロントシートカバーのみ（左右セット）
	fs = getFrontSeatNum(f);
	// ３列目シートカバー
	rs3 = formGetDStrNum( formGetRadioValue(f.Rseat3retume) );


	// お車の情報必須入力チェック
	if ( !formCheckNec(f, elem1, label1, locat1) ) {
		return false;
	}


	// アクセラリヤアーム穴タイプ必須入力チェック
	if ( pm == 1 ) {
		if ( !formCheckRadioSelect(f, "RArmHoleAxela", true) ) {
			if ( !formCheckNec(f, elemC17, labelC17, locatC17) ) {
				return false;
			}
		}
	}


	// Z12キューブリヤアーム穴タイプ必須入力チェック
	if ( pm == 1 ) {
		if ( !formCheckRadioSelect(f, "RArmHoleCube", true) ) {
			if ( !formCheckNec(f, elemCube, labelCube, locatCube) ) {
				return false;
			}
		}
	}
	

	// フリードリヤアーム穴タイプ必須入力チェック
	if ( pm == 1 ) {
		if ( !formCheckRadioSelect(f, "RArmHoleFreed", true) ) {
			if ( !formCheckNec(f, elemFreed, labelFreed, locatFreed) ) {
				return false;
			}
		}
	}
	

	// ご注文内容などの必須入力チェック

	if (pm == 1 || fs > 0 || rs3 > 0) {
		// シートパターン
		pt = formGetDStrNum( formGetRadioValue(f.seatpattern) );

		if ( pt == 2 ) {
			if ( !formCheckNec(f, elemShe2, labelShe, locatShe) ) {
				return false;
			}
		} else {
			if ( !formCheckNec(f, elemShe1, labelShe, locatShe) ) {
				return false;
			}
		}
	}


	// ヘッドレストカバー必須入力チェック
	if ( formGetDStrNum( formGetRadioValue(f.HeadF) ) > 0 ||
	     formGetDStrNum( formGetRadioValue(f.HeadB) ) > 0 ||
		 formGetDStrNum( formGetRadioValue(f.HeadKF) ) > 0 ||
		 formGetDStrNum( formGetRadioValue(f.HeadKB) ) > 0 ||
	     formGetDStrNum( formGetRadioValue(f.HeadT) ) > 0    ) {
		if ( !formCheckNec(f, elemHed, labelHed, locatHed) ) {
			return false;
		}
	}
	
	
		// パイピング12列用必須入力チェック
	if ( formGetDStrNum( formGetRadioValue(f.Piping) ) > 0 ) {
		if ( !formCheckNec(f, elemPiping, labelPiping, locatPiping) ) {
			return false;
		}
	}
	
			// パイピング3列用必須入力チェック
	if ( formGetDStrNum( formGetRadioValue(f.Piping3) ) > 0 ) {
		if ( !formCheckNec(f, elemPiping3, labelPiping3, locatPiping3) ) {
			return false;
		}
	}



	// ラパン内張り必須入力チェック
	if ( formGetDStrNum( formGetRadioValue(f.KmUtiLapin) ) > 0 ) {
		if ( !formCheckNec(f, elemUth, labelUth, locatUth) ) {
			return false;
		}
	}


	// 5代目ライフ内張り必須入力チェック
	if ( formGetDStrNum( formGetRadioValue(f.KmUti5Life) ) > 0 ) {
		if ( !formCheckNec(f, elemUthL, labelUthL, locatUthL) ) {
			return false;
		}
	}


	
	// ラパンダッシュマット必須入力チェック
	if ( formGetDStrNum( formGetRadioValue(f.KmDshLapin) ) > 0 ) {
		if ( !formCheckNec(f, elemKmDshLapin, labelKmDshLapin, locatKmDshLapin) ) {
			return false;
		}
	}
	
		// コペン内張り必須入力チェック
	if ( formGetDStrNum( formGetRadioValue(f.KmUtiCopen) ) > 0 ) {
		if ( !formCheckNec(f, elemKmUtiCopen, labelKmUtiCopen, locatKmUtiCopen) ) {
			return false;
		}
	}


		// 2代目ラパン内張り必須入力チェック
	if ( formGetDStrNum( formGetRadioValue(f.KmUti2Lapin) ) > 0 ) {
		if ( !formCheckNec(f, elemKmUti2Lapin, labelKmUti2Lapin, locatKmUti2Lapin) ) {
			return false;
		}
	}
	

		// ミラジーノ内張り必須入力チェック
	if ( formGetDStrNum( formGetRadioValue(f.KmUtiGino) ) > 0 ) {
		if ( !formCheckNec(f, elemKmUtiGino, labelKmUtiGino, locatKmUtiGino) ) {
			return false;
		}
	}
	
	// 2代目タント内張り必須入力チェック
	if ( formGetDStrNum( formGetRadioValue(f.KmUti2Tanto) ) > 0 ) {
		if ( !formCheckNec(f, elem2TantoUth, label2TantoUth, locat2TantoUth) ) {
			return false;
		}
	}

	// 2代目フィット内張り必須入力チェック
	if ( formGetDStrNum( formGetRadioValue(f.KmUti2Fit) ) > 0 ) {
		if ( !formCheckNec(f, elem2FitUth, label2FitUth, locat2FitUth) ) {
			return false;
		}
	}

	// マット必須入力チェック1
	if ( formGetDStrNum( formGetRadioValue(f.KmMatKei1) ) > 0 ) {
		if ( !formCheckNec(f, elemKmMatKei1, labelKmMatKei1, locatKmMatKei1) ) {
			return false;
		}
	}
	
	// マット必須入力チェック
	if ( formGetDStrNum( formGetRadioValue(f.KmMatFutu1) ) > 0 ) {
		if ( !formCheckNec(f, elemKmMatFutu1, labelKmMatFutu1, locatKmMatFutu1) ) {
			return false;
		}
	}
	
	// マット必須入力チェック
	if ( formGetDStrNum( formGetRadioValue(f.KmMatKei2) ) > 0 ) {
		if ( !formCheckNec(f, elemKmMatKei2, labelKmMatKei2, locatKmMatKei2) ) {
			return false;
		}
	}
	// マット必須入力チェック
	if ( formGetDStrNum( formGetRadioValue(f.KmMatFutu2) ) > 0 ) {
		if ( !formCheckNec(f, elemKmMatFutu2, labelKmMatFutu2, locatKmMatFutu2) ) {
			return false;
		}
	}
	
	// ラゲッジマット必須入力チェック
	if ( formGetDStrNum( formGetRadioValue(f.KmLagMatFutu2) ) > 0 ) {
		if ( !formCheckNec(f, elemKmLagMatFutu2, labelKmLagMatFutu2, locatKmLagMatFutu2) ) {
			return false;
		}
	}

	// マット必須入力チェック
	if ( formGetDStrNum( formGetRadioValue(f.KmMatFutu3) ) > 0 ) {
		if ( !formCheckNec(f, elemKmMatFutu3, labelKmMatFutu3, locatKmMatFutu3) ) {
			return false;
		}
	}



	// サンバイザーカバー必須入力チェックラパン
	if ( formGetDStrNum( formGetRadioValue(f.KmSnbLapin) ) > 0 ) {
		if ( !formCheckNec(f, elemSun, labelSun, locatSun) ) {
			return false;
		}
	}
	
	
		// サンバイザーカバー必須入力チェックセレナ
	if ( formGetDStrNum( formGetRadioValue(f.KmSnbSerena) ) > 0 ) {
		if ( !formCheckNec(f, elemSerenaSun, labelSerenaSun, locatSerenaSun) ) {
			return false;
		}
	}


		// サンバイザーカバー必須入力チェックZ12キューブ
	if ( formGetDStrNum( formGetRadioValue(f.KmSnbZ12Cube) ) > 0 ) {
		if ( !formCheckNec(f, elemZ12CubeSun, labelZ12CubeSun, locatZ12CubeSun) ) {
			return false;
		}
	}
	
		// FIAT500コンソールBOX必須入力チェック
	if ( formGetDStrNum( formGetRadioValue(f.FCbxNew500Fiat) ) > 0 ) {
		if ( !formCheckNec(f, elemFCbxNew500Fiat, labelFCbxNew500Fiat, locatFCbxNew500Fiat) ) {
			return false;
		}
	}	
	

		// FIAT500メーターフード必須入力チェック
	if ( formGetDStrNum( formGetRadioValue(f.KMMeterNew500Fiat) ) > 0 ) {
		if ( !formCheckNec(f, elemKMMeterNew500Fiat, labelKMMeterNew500Fiat, locatKMMeterNew500Fiat) ) {
			return false;
		}
	}

		// FIAT500インパネ必須入力チェック
	if ( formGetDStrNum( formGetRadioValue(f.KMInpaneNew500Fiat) ) > 0 ) {
		if ( !formCheckNec(f, elemKMInpaneNew500Fiat, labelKMInpaneNew500Fiat, locatKMInpaneNew500Fiat) ) {
			return false;
		}
	}

		// FIAT500ドアトリム必須入力チェック
	if ( formGetDStrNum( formGetRadioValue(f.KMDoorNew500Fiat) ) > 0 ) {
		if ( !formCheckNec(f, elemKMDoorNew500Fiat, labelKMDoorNew500Fiat, locatKMDoorNew500Fiat) ) {
			return false;
		}
	}


	// サイドブレーキカバー必須入力チェック
	if ( formGetDStrNum( formGetRadioValue(f.KmSid) ) > 0 ) {
		if ( !formCheckNec(f, elemBrk, labelBrk, locatBrk) ) {
			return false;
		}
	}

	// コンソールボックスカバー必須入力チェック
	if ( formGetDStrNum( formGetRadioValue(f.FCbxSienta) ) > 0 ) {
		if ( !formCheckNec(f, elemCBx, labelCBx, locatCBx) ) {
			return false;
		}
	}

	if ( ! validateSub(f, elemC02, labelC02, locatC02) ) {
		return false;
	}

	if ( ! validateSub(f, elemC04, labelC04, locatC04) ) {
		return false;
	}

	if ( ! validateSub(f, elemC07, labelC07, locatC07) ) {
		return false;
	}

	if ( ! validateSub(f, elemC09, labelC09, locatC09) ) {
		return false;
	}

	if ( ! validateSub(f, elemC10, labelC10, locatC10) ) {
		return false;
	}

	if ( ! validateSub(f, elemC16, labelC16, locatC16) ) {
		return false;
	}

	// アクセラの内張り　色選択チェック
	elemC 　= new Array("KmUtiAxelaColor|KmUtiAxelaColor2");
	labelC = new Array("内張りの色");
	locatC = new Array("KmUtiAxela");
	if ( ! validateSub(f, elemC, labelC, locatC) ) {
		return false;
	}
	
	// アクセラの内張りひじ置き　色選択チェック
	elemKmUtiArmAxela 　= new Array("KmUtiArmAxelaColor|KmUtiArmAxelaColor2");
	labelKmUtiArmAxela = new Array("内張りひじ置きの色");
	locatKmUtiArmAxela = new Array("KmUtiArmAxela");
	if ( ! validateSub(f, elemKmUtiArmAxela, labelKmUtiArmAxela, locatKmUtiArmAxela) ) {
		return false;
	}


	// マットの色選択チェック
	elemC 　= new Array("MatColorBase","MatColorAcc");
	labelC = new Array("フロアマットベース色","フロアマットアクセント色");
	locatC = new Array("KmMatKei1");
	if ( ! validateSub(f, elemC, labelC, locatC) ) {
		return false;
	}
	
	// マットの色選択チェック
	elemC 　= new Array("MatColorBase","MatColorAcc");
	labelC = new Array("フロアマットベース色","フロアマットアクセント色");
	locatC = new Array("KmMatFutu1");
	if ( ! validateSub(f, elemC, labelC, locatC) ) {
		return false;
	}
	
	// マットの色選択チェック
	elemC 　= new Array("MatColorBase","MatColorAcc");
	labelC = new Array("フロアマットベース色","フロアマットアクセント色");
	locatC = new Array("KmMatKei2");
	if ( ! validateSub(f, elemC, labelC, locatC) ) {
		return false;
	}
	
	// マットの色選択チェック
	elemC 　= new Array("MatColorBase","MatColorAcc");
	labelC = new Array("フロアマットベース色","フロアマットアクセント色");
	locatC = new Array("KmMatFutu2");
	if ( ! validateSub(f, elemC, labelC, locatC) ) {
		return false;
	}

	// ラゲッジマットの色選択チェック
	elemC 　= new Array("LagMatColorBase","LagMatColorAcc");
	labelC = new Array("ラゲッジマットベース色","ラゲッジマットアクセント色");
	locatC = new Array("KmLagMatFutu2");
	if ( ! validateSub(f, elemC, labelC, locatC) ) {
		return false;
	}

	
	// マットの色選択チェック
	elemC 　= new Array("MatColorBase","MatColorAcc");
	labelC = new Array("フロアマットベース色","フロアマットアクセント色");
	locatC = new Array("KmMatFutu3");
	if ( ! validateSub(f, elemC, labelC, locatC) ) {
		return false;
	}
	

	// パイピング12列の色選択チェック
	elemPiping  = new Array("PipingColor|PipingColor2");
	labelPiping = new Array("パイピングの色");
	locatPiping = new Array("Piping");
	if ( ! validateSub(f, elemPiping, labelPiping, locatPiping) ) {
		return false;
	}
	
	
	// パイピング3列の色選択チェック
	elemPiping3  = new Array("Piping3Color|Piping3Color2");
	labelPiping3 = new Array("パイピングの色");
	locatPiping3 = new Array("Piping3");
	if ( ! validateSub(f, elemPiping3, labelPiping3, locatPiping3) ) {
		return false;
	}


	// ゼストの内張り　色選択チェック
	elemC  = new Array("KmUtiZestColor|KmUtiZestColor2");
	labelC = new Array("内張りの色");
	locatC = new Array("KmUtiZest");
	if ( ! validateSub(f, elemC, labelC, locatC) ) {
		return false;
	}
	
	
	// フィットの内張り　色選択チェック
	elem2FitUth  = new Array("KmUti2FitColor|KmUti2FitColor2");
	labelC = new Array("内張りの色");
	locatC = new Array("KmUti2Fit");
	if ( ! validateSub(f, elem2FitUth, label2FitUth, locat2FitUth) ) {
		return false;
	}


	// ハンドルカバー必須入力チェック
	if ( formGetDStrNum( formGetRadioValue(f.KmHan) ) > 0 ) {
		if ( !formCheckNec(f, elemHad, labelHad, locatHad) ) {
			return false;
		}
	}

	// カスタムティッシュカバー必須入力チェック
	if ( formGetDStrNum( formGetRadioValue(f.Thi) ) > 0 ) {
		if ( !formCheckNec(f, elemThi, labelThi, locatThi) ) {
			return false;
		}
	}

	// レザー・生地切り売り必須入力チェック
	if ( formGetRadioValue(f.KmLet) > 0 ) {
		if( !formCheckNec(f, elemRth, labelRth, locatRth) ) {
			return false;
		}
	}
	
	// お客様の情報必須入力チェック
	if ( !formCheckNec(f, elem3, label3, locat3) ) {
		return false;
	}


	if ( !formCheckMail(f, elem2, label2) ) {
		return false;
	}

	return true;
}

function validateSub(f, elem, label, locat) {
	if ( formGetDStrNum( formGetRadioValue(f.elements[locat[0]]) ) > 0 ) {
		if ( !formCheckNec(f, elem, label, locat) ) {
			return false;
		}
	}

	return true;
}



function initialize(inp) {
	changeNaiyou(f);
	changeSeatpattern(f);
	changeHead(f);
	changePiping(f);
	changePiping3(f);
	changeKmUtiLapin(f);
	changeKmUti5Life(f);
	changeKmSnbLapin(f);
	changeKmSnbSerena(f);
	changeKmSnbZ12Cube(f);
	changeKmSid(f);
	changeFCbxSienta(f);
	changeFCbxNew500Fiat(f);
	changeKMMeterNew500Fiat(f);
	changeKMInpaneNew500Fiat(f);
	changeKMDoorNew500Fiat(f);
	changeKmHan(f);
	changeTissue(f);
	changeDustbox(f);
	changeKmLet(f);
	changeKmSid(f);
	changeFCbxFit(f);
	changeFCbx2Fit(f);
    changeFCbxSienta(f);
	changeFCbxPassoBoon(f);
	changeKmCpcPassoBoon(f);
	changeKmTkbMiracocoa(f);
	changeKmTrm(f);
	changeKmDshLapin(f);
	changeKmUtiKB(f);
	changeKmUtiNote(f);
	changeKmUti2Tanto(f);
	changeKmUti2Fit(f);
	changeKmUtiCopen(f);
	changeKmUti2Lapin(f);
	changeKmUtiGino(f);
	changeKmUtiAxela(f);
	changeKmUtiArmAxela(f)
	changeFCbxAxela(f);
	changeFCbx2Axela(f);
	changeKmSnbCopen(f);
	changeFCbxCopen(f);
	changeKmUtiZest(f);
	changeKmMatKei1(f);
	changeKmMatFutu1(f);
	changeKmMatKei2(f);
	changeKmMatFutu2(f);
	changeKmLagMatFutu2(f);
	changeKmMatFutu3(f);

	compute(f);
}



function checkDeYokoNomi(f) {
	var pat;
	var sd;
	var SozaiB, SozaiS;
	var msg;

	msg = "";
	pat = formGetRadioValue(f.seatpattern);
	if (pat == 0) {
		formSetDisabled (f.SeatDesign, true);
	} else {
		if (pat == 1) {
			SozaiS = formGetListValue(f.sozaiStripe);
		} else {
			SozaiS = formGetListValue(f.sozaiHyoumen);
		}

		sd = formGetRadioValue(f.SeatDesign);

		if (SozaiS == "デニム" || SozaiS == "アルカンターラ" || SozaiS == "はんぷ" ) {
			formSetDisabled (f.SeatDesign, true);
			f.SeatDesign[1].disabled = false;
			if (sd != 0) {
				f.SeatDesign[1].checked  = true;
				if (sd != 2) {
					msg = "縦ステッチ";
				}
			}
		} else if (SozaiS == "チェック生地" || SozaiS == "ヒョウ柄生地" ) {
			formSetDisabled (f.SeatDesign, true);
			f.SeatDesign[0].disabled = false;
			if (sd != 0) {
				f.SeatDesign[0].checked = true;
				if (sd != 1) {
					msg = "横ステッチ";
				}
			}
		} else {
			formSetDisabled (f.SeatDesign, false);
		}

		if (msg != "") {
			alert("シートのデザインは" + msg + "のみとなります。");
		}
	}
}



function changeNaiyou(f) {
	var Fseat1 = new Array("Fseat1retume", "Fseat1retumefutu", "Fseat1retumekei", "ChackF", "ChackB");

	pm = formGetDStrNum( formGetRadioValue(f.naiyou) );
	if (pm == 1) {
		formSetArrayDisabled (f, Fseat1, true);
		if ( getFrontSeatNum(f) > 0 ) {
			alert("シートカバー　一式セットをご購入時には「１列目（フロント）シートカバーのみ」はご注文の必要がございません。");
			formSetRadioValue(f.Fseat1retume, "0");
			formSetRadioValue(f.Fseat1retumefutu, "0");
			formSetRadioValue(f.Fseat1retumekei, "0");
		}
	} else {
		formSetArrayDisabled (f, Fseat1, false);
	}

	// アクセラリヤアーム穴タイプ必須入力チェック
	var RArm  = new Array("RArm");
	var dsa;

	if ( f.RArmHoleAxela != null ) {
		dsa = false;
		if ( pm == 1 ) {
			// アクセラリヤアーム穴ありタイプ
			if ( formGetDStrNum( formGetRadioValue(f.RArmHoleAxela) ) == 0 ) {
				dsa = true;
			}
		}

		formSetArrayDisabled (f, RArm, dsa);
		if ( (dsa) && formGetDStrNum( formGetRadioValue(f.RArm) ) != 0 ) {
			formSetRadioValue(f.RArm, "0");
			alert("シートカバーを「リヤアーム穴なしタイプ」をご注文の場合、「２列目アームレストカバー」はご注文できません。");
		}
	}
	
	
	// Z12キューブリヤアーム穴タイプ必須入力チェック
	var RArm  = new Array("RArm");
	var dsa;

	if ( f.RArmHoleCube != null ) {
		dsa = false;
		if ( pm == 1 ) {
			// Z12キューブリヤアーム穴ありタイプ
			if ( formGetDStrNum( formGetRadioValue(f.RArmHoleCube) ) == 0 ) {
				dsa = true;
			}
		}

		formSetArrayDisabled (f, RArm, dsa);
		if ( (dsa) && formGetDStrNum( formGetRadioValue(f.RArm) ) != 0 ) {
			formSetRadioValue(f.RArm, "0");
			alert("シートカバーを「リヤアーム穴なしタイプ」をご注文の場合、「２列目アームレストカバー」はご注文できません。");
		}
	}
	

	// フリードリヤアーム穴タイプ必須入力チェック
	var RArm  = new Array("RArm");
	var dsa;

	if ( f.RArmHoleFreed != null ) {
		dsa = false;
		if ( pm == 1 ) {
			// フリードリヤアーム穴ありタイプ
			if ( formGetDStrNum( formGetRadioValue(f.RArmHoleFreed) ) == 0 ) {
				dsa = true;
			}
		}

		formSetArrayDisabled (f, RArm, dsa);
		if ( (dsa) && formGetDStrNum( formGetRadioValue(f.RArm) ) != 0 ) {
			formSetRadioValue(f.RArm, "0");
			alert("シートカバーを「リヤアーム穴なしタイプ」をご注文の場合、「２列目アームレストカバー」はご注文できません。");
		}
	}	
	
	
}

function changeSeatpattern(f) {
	var pat;
	var NameB, NameS, NameBh;
	var NorPat = new Array("iroKihon" , "iroKihon2" , "iroStripe" , "iroStripe2" , "sozaiKihon" , "sozaiStripe");
	var RevPat = new Array("iroHaimen", "iroHaimen2", "iroHyoumen", "iroHyoumen2", "sozaiHaimen", "sozaiHyoumen");

	pat = formGetRadioValue(f.seatpattern);

	if (pat == 0) {
		NameB = "基本/背面";
		NameS = "ストライプ/表面";
		NameBh = GetHeadBColor(carType, 0) + "/" + GetHeadBColor(carType, 1);
		formSetArrayDisabled (f, NorPat, true);
		formSetArrayDisabled (f, RevPat, true);
	} else if (pat == 1) {
		NameB = "基本";
		NameS = "ストライプ";
		NameBh = GetHeadBColor(carType, 0);
		formSetArrayDisabled (f, NorPat, false);
		formSetArrayDisabled (f, RevPat, true);
	} else {
		NameB = "背面";
		NameS = "表面";
		NameBh = GetHeadBColor(carType, 1);
		formSetArrayDisabled (f, NorPat, true );
		formSetArrayDisabled (f, RevPat, false);
	}

	checkDeYokoNomi(f);

	setinnerHTML("ClrTxtKmLetB", NameB);
	setinnerHTML("ClrTxtKmLetS", NameS);
	setinnerHTML("ClrTxtHeadB", NameBh);
	setinnerHTML("ClrTxtHeadS", NameS);

	setColorName(f, NameB, NameS);
}

function GetHeadBColor(ct, pt) {
	return pt ? "背面" : "基本";
}

function setinnerHTML(e, s) {
	if ( document.getElementById(e) != null) {
		document.getElementById(e).innerHTML = s;
	}
}
/*
function setColorNamePart(elms, msg, NameB, NameS) {
	with (elms) {
		options[1].text = NameB + msg;
		options[2].text = NameS + msg;
	}
}
*/
function setColorName(f, NameB, NameS) {
	var msg;

	msg = "色と同じ色";

	f.colorNameB.value = NameB;
	f.colorNameS.value = NameS;

	var elms = new Array (	"KmSnbLapinColor","KmSnbSerenaColor" ,"KmSnbZ12CubeColor" ,"KmSidColor", "FCbxSientaColor", "KmHanColor", "FCbxNew500FiatColor", "KMMeterNew500FiatColor", "KMInpaneNew500FiatColor", "KMDoorNew500FiatColor",
	                        "PipingColor","Piping3Color" ,
							"ThiColorOutside", "ThiColorInside", "ThiColorBand",
							"DbxColorOutside", "DbxColorInside",
							"KmUtiCopenColorOutside", "KmUtiCopenColorInside",
							"KmUti2LapinColorOutside", "KmUti2LapinColorInside",
							"KmUtiGinoColorOutside", "KmUtiGinoColorInside",
						    "FCbxFitColor","FCbx2FitColor","FCbxPassoBoonColor","KmCpcPassoBoonColor","KmDshLapinColor", "KmTkbMiracocoa",
							"KmUtiKBColor","KmUtiLapinColor", "KmUti5LifeColor", "KmUti2TantoColor", "KmUti2FitColor","KmUtiNoteColor", "KmUtiZestColor",
							"KmTrmPassoBoonColor", "KmUtiAxelaColor", "KmUtiArmAxelaColor", "FCbxAxelaColor","FCbx2AxelaColor",
							"KmSnbCopenColor", "FCbxCopenColor", 
							"KmTrmColor");

	setColorNameSub(f, elms, NameB, NameS, msg);
}

function setColorNameSub(f, elms, NameB, NameS, msg) {
	var i;
	var e;

	for(i=0;i<elms.length;i++){
		e = f.elements[elms[i]];
		if (e != null) {
			with (f.elements[elms[i]]) {
				options[1].text = NameB + msg;
				options[2].text = NameS + msg;
			}
		}
	}
}

function changeBaseColor(me,v){
	inp = me.form.basecoloretc;

	formSetDisabled(inp, v);

	if ((!v) && inp.value == "その他色の場合ご記入") {
		inp.value = "";
	}
}

function changeStripeColor(me,v){
	inp = me.form.stripecoloretc;

	formSetDisabled(inp, v);

	if ((!v) && inp.value == "その他色の場合ご記入") {
		inp.value = "";
	}
}


function changeHead(f) {
	var msg;
	var valF, valB, valC, valT, valKF, valKB;
	var elms = new Array("HeadBasCol" , "HeadBasColEtc", "HeadStlCol", "HeadStlColEtc");
	var elmC = new Array("HeadCentCol");

	msg = "";

	valF = formGetDStrNum( formGetRadioValue(f.HeadF) );
	valB = formGetDStrNum( formGetRadioValue(f.HeadB) );
	valC = formGetDStrNum( formGetRadioValue(f.HeadC) );
	valKF = formGetDStrNum( formGetRadioValue(f.HeadKF) );
	valKB = formGetDStrNum( formGetRadioValue(f.HeadKB) );
	valT = formGetDStrNum( formGetRadioValue(f.HeadT) );

	if ( valF > 0 || valB > 0 || valKF > 0 || valKB > 0 || valT > 0 ) {
		formSetArrayDisabled (f, elms, false);

		if ( valF || valKF  > 0 ) {
			msg += "１";
		}

		if ( valB || valKB  > 0 ) {
			if (msg.length > 0) msg += "・";
			msg += "２";
		}

		if ( valT > 0 ) {
			if (msg.length > 0) msg += "・";
			msg += "３";
		}
		
		if (msg.length > 0) msg += "列目";
	} else {
		formSetArrayDisabled (f, elms, true);
	}

	if ( valC > 0 ) {
		formSetArrayDisabled (f, elmC, false);
	} else {
		formSetArrayDisabled (f, elmC, true);
	}

	f.Head.value = msg;
}

function changeStdeni(me,v){
	var inp = me.form.StdeniPos;

	formSetDisabled(inp,v);
}

function changeKmHan(f) {
	var val;
	var elms = new Array("KmHanSize", "KmHanColor", "KmHanColor2");

	val = formGetDStrNum( formGetRadioValue(f.KmHan) );
	if (val > 0) {
		formSetArrayDisabled (f, elms, false);
	} else {
		formSetArrayDisabled (f, elms, true);
	}
}





function changeTissue(f) {
	var val;
	var elms = new Array("ThiColorOutside" , "ThiColorOutside2", "ThiColorInside", "ThiColorInside2", "ThiColorBand", "ThiColorBand2");

	val = formGetDStrNum( formGetRadioValue(f.Thi) );
	if (val > 0) {
		formSetArrayDisabled (f, elms, false);
	} else {
		formSetArrayDisabled (f, elms, true);
	}
}


function changeDustbox(f) {
	var val;
	var elms = new Array("DbxColorOutside" , "DbxColorOutside2", "DbxColorInside", "DbxColorInside2");

	val = formGetDStrNum( formGetRadioValue(f.Dbx) );
	if (val > 0) {
		formSetArrayDisabled (f, elms, false);
	} else {
		formSetArrayDisabled (f, elms, true);
	}
}


function changeKmUtiCopen(f) {
	var val;
	var elms = new Array("KmUtiCopenColorOutside" , "KmUtiCopenColorOutside2", "KmUtiCopenColorInside", "KmUtiCopenColorInside2");

	val = formGetDStrNum( formGetRadioValue(f.KmUtiCopen) );
	if (val > 0) {
		formSetArrayDisabled (f, elms, false);
	} else {
		formSetArrayDisabled (f, elms, true);
	}
}





function changeKmUti2Lapin(f) {
	var val;
	var elms = new Array("KmUti2LapinColorOutside" , "KmUti2LapinColorOutside2", "KmUti2LapinColorInside", "KmUti2LapinColorInside2");

	val = formGetDStrNum( formGetRadioValue(f.KmUti2Lapin) );
	if (val > 0) {
		formSetArrayDisabled (f, elms, false);
	} else {
		formSetArrayDisabled (f, elms, true);
	}
}



function changeKmUtiGino(f) {
	var val;
	var elms = new Array("KmUtiGinoColorOutside" , "KmUtiGinoColorOutside2", "KmUtiGinoColorInside", "KmUtiGinoColorInside2");

	val = formGetDStrNum( formGetRadioValue(f.KmUtiGino) );
	if (val > 0) {
		formSetArrayDisabled (f, elms, false);
	} else {
		formSetArrayDisabled (f, elms, true);
	}
}




function changeKmLet(f){
	formSetDisabled(f.KmLetM, (formGetRadioValue(f.KmLet) == 0));
}


function changeSub(f, inp, elms){
	var val;

	if ( f.elements[inp] == undefined ) return;

	val = formGetDStrNum( formGetRadioValue(f.elements[inp]) );
	if (val > 0) {
		formSetArrayDisabled (f, elms, false);
	} else {
		formSetArrayDisabled (f, elms, true);
	}
}


function changePiping(f) {
	var elms = new Array("PipingColor", "PipingColor2");

	changeSub(f, "Piping", elms);
}


function changePiping3(f) {
	var elms = new Array("Piping3Color", "Piping3Color2");

	changeSub(f, "Piping3", elms);
}


function changeKmDshLapin(f) {
	var elms = new Array("KmDshLapinColor", "KmDshLapinColor2");

	changeSub(f, "KmDshLapin", elms);
}

function changeKmUtiKB(f) {
	var elms = new Array("KmUtiKBColor", "KmUtiKBColor2");

	changeSub(f, "KmUtiKB", elms);
}

function changeKmUtiLapin(f) {
	var elms = new Array("KmUtiLapinColor", "KmUtiLapinColor2");

	changeSub(f, "KmUtiLapin", elms);
}


function changeKmUti5Life(f) {
	var elms = new Array("KmUti5LifeColor", "KmUti5LifeColor2");

	changeSub(f, "KmUti5Life", elms);
}


function changeKmUti2Tanto(f) {
	var elms = new Array("KmUti2TantoColor", "KmUti2TantoColor2");

	changeSub(f, "KmUti2Tanto", elms);
}

function changeKmUti2Fit(f) {
	var elms = new Array("KmUti2FitColor", "KmUti2FitColor2");

	changeSub(f, "KmUti2Tanto", elms);
}

function changeKmSnbLapin(f) {
	var elms = new Array("KmSnbLapinColor", "KmSnbLapinColor2", "mirror");

	changeSub(f, "KmSnbLapin", elms);
}


function changeKmSnbSerena(f) {
	var elms = new Array("KmSnbSerenaColor", "KmSnbSerenaColor2");

	changeSub(f, "KmSnbSerena", elms);
}


function changeKmSnbZ12Cube(f) {
	var elms = new Array("KmSnbZ12CubeColor", "KmSnbZ12CubeColor2");

	changeSub(f, "KmSnbZ12Cube", elms);
}


function changeKmSid(f) {
	var elms = new Array("KmSidColor", "KmSidColor2");

	changeSub(f, "KmSid", elms);
}

function changeFCbxSienta(f) {
	var elms = new Array("FCbxSientaColor", "FCbxSientaColor2");

	changeSub(f, "FCbxSienta", elms);
}

function changeFCbxNew500Fiat(f) {
	var elms = new Array("FCbxNew500FiatColor", "FCbxNew500FiatColor2");

	changeSub(f, "FCbxNew500Fiat", elms);
}


function changeKMMeterNew500Fiat(f) {
	var elms = new Array("KMMeterNew500FiatColor", "KMMeterNew500FiatColor2");

	changeSub(f, "KMMeterNew500Fiat", elms);
}


function changeKMInpaneNew500Fiat(f) {
	var elms = new Array("KMInpaneNew500FiatColor", "KMInpaneNew500FiatColor2");

	changeSub(f, "KMInpaneNew500Fiat", elms);
}

function changeKMDoorNew500Fiat(f) {
	var elms = new Array("KMDoorNew500FiatColor", "KMDoorNew500FiatColor2");

	changeSub(f, "KMDoorNew500Fiat", elms);
}


function changeFCbxFit(f){
	var elms = new Array("FCbxFitType", "FCbxFitColor", "FCbxFitColor2", "FCbxFitOldNew");

	changeSub(f, "FCbxFit", elms);	
	
}

function changeFCbx2Fit(f) {
	var elms = new Array("FCbx2FitColor", "FCbx2FitColor2");

	changeSub(f, "FCbx2Fit", elms);
}




function changeKmMatKei1(f){
	var elms = new Array("MatColorBase");

	changeSub(f, "KmMatKei1", elms);
	
	var elms = new Array("MatColorAcc");

	changeSub(f, "KmMatKei1", elms);

}

function changeKmMatFutu1(f){
	var elms = new Array("MatColorBase");

	changeSub(f, "KmMatFutu1", elms);
	
	var elms = new Array("MatColorAcc");

	changeSub(f, "KmMatFutu1", elms);

}

function changeKmMatKei2(f){
	var elms = new Array("MatColorBase");

	changeSub(f, "KmMatKei2", elms);
	
	var elms = new Array("MatColorAcc");

	changeSub(f, "KmMatKei2", elms);

}

function changeKmMatFutu2(f){
	var elms = new Array("MatColorBase");

	changeSub(f, "KmMatFutu2", elms);
	
	var elms = new Array("MatColorAcc");

	changeSub(f, "KmMatFutu2", elms);

}


function changeKmLagMatFutu2(f){
	var elms = new Array("LagMatColorBase");

	changeSub(f, "KmLagMatFutu2", elms);
	
	var elms = new Array("LagMatColorAcc");

	changeSub(f, "KmLagMatFutu2", elms);

}



function changeKmMatFutu3(f){
	var elms = new Array("MatColorBase");

	changeSub(f, "KmMatFutu3", elms);
	
	var elms = new Array("MatColorAcc");

	changeSub(f, "KmMatFutu3", elms);

}





function changeFCbxPassoBoon(f){
	var elms = new Array("FCbxPassoBoonColor", "FCbxPassoBoonColor2");

	changeSub(f, "FCbxPassoBoon", elms);
}

function changeKmCpcPassoBoon(f){
	var elms = new Array("KmCpcPassoBoonColor", "KmCpcPassoBoonColor2");

	changeSub(f, "KmCpcPassoBoon", elms);
}


function changeKmTkbMiracocoa(f){
	var elms = new Array("KmTkbMiracocoaColor", "KmTkbMiracocoaColor2");

	changeSub(f, "KmTkbMiracocoa", elms);
}


function changeKmUtiNote(f){
	var elms = new Array("KmUtiNoteColor", "KmUtiNoteColor2");

	changeSub(f, "KmUtiNote", elms);
}

function changeKmTrm(f){
	var elms = new Array("KmTrmColor", "KmTrmColor2");

	changeSub(f, "KmTrm", elms);
}

function changeKmUtiAxela(f){
	var elms = new Array("KmUtiAxelaColor", "KmUtiAxelaColor2");

	changeSub(f, "KmUtiAxela", elms);
}


function changeKmUtiArmAxela(f){
	var elms = new Array("KmUtiArmAxelaColor", "KmUtiArmAxelaColor2");

	changeSub(f, "KmUtiArmAxela", elms);
}


function changeFCbxAxela(f){
	var elms = new Array("FCbxAxelaColor", "FCbxAxelaColor2");

	changeSub(f, "FCbxAxela", elms);
}


function changeFCbx2Axela(f){
	var elms = new Array("FCbx2AxelaType", "FCbx2AxelaColor", "FCbx2Axelacolor2", "FCbx2AxelaLokSld");

	changeSub(f, "FCbx2Axela", elms);	
	
}


function changeKmSnbCopen(f){
	var elms = new Array("KmSnbCopenColor", "KmSnbCopenColor2");

	changeSub(f, "KmSnbCopen", elms);
}

function changeFCbxCopen(f){
	var elms = new Array("FCbxCopenColor", "FCbxCopenColor2");

	changeSub(f, "FCbxCopen", elms);
}



function changeKmUtiZest(f){
	var elms = new Array("KmUtiZestColor", "KmUtiZestColor2");

	changeSub(f, "KmUtiZest", elms);
}






function serPriOpt(f, t) {
	var p, n;

	p = 0;
	t = parseInt(t);

	for (n in g_ts_calcdata_db) {
		p = p + serPri(f, n, t);
	}

	return p;
}
/*
function serScPri(f,t) {
	var itm, val;

	val = 0;
	itm = formGetDStrNum ( formGetRadioValue(f.elements["carTypeAxela"]) );
	if (itm > 0) {
		val = 4000;
	}

	return val;
}
*/

function serScType(f) {
	var itm, val;

	val = "";

	if (f.carPriType == null) {
		itm = g_ts_calcdata_sc[formGetListValue(f.carType)];
	} else {
		itm = f.carPriType.value;
	}
	if (itm != null) {
		val = itm;
	}

	return val;
}

function serPri(f, e, t) {
	var db;
	var itm, val, spi, iv, ivs;

	val = 0;

	if (f.elements[e] != null) {
		itm = g_ts_calcdata_db[e];
		if (itm != null) {

			if (f.elements[e].selectedIndex != null) {
				ivs = formGetListValue(f.elements[e]);
			} else {
				ivs = formGetRadioValue(f.elements[e]);
			}
			iv = formGetDStrNum ( ivs );
			spi = itm.split(",");
			if ( parseInt(spi[0]) > 0 ) {
				if ( iv > 0 ) {
					if ((t==0 || t==2) && spi.length>2) {
						val = parseInt(spi[2]);
					} else {
						val = parseInt(spi[1]);
					}

					if ( iv > parseInt(spi[0]) ) {
						val = val * parseInt(spi[0]);
					} else {
						val = val * iv;
					}
				}
			} else {
				if ( (t==0 || t==2) ) {

					val = parseInt(spi[1+iv*2+1]);
				} else {
					val = parseInt(spi[1+iv*2]);
				}
			}
		}
	}

	return val;
}

function getFrontSeatNum(f) {
	var fs;

	fs  = formGetDStrNum( formGetRadioValue(f.Fseat1retume) );
	if (fs <= 0) {fs  = formGetDStrNum( formGetRadioValue(f.Fseat1retumefutu) ); }
	if (fs <= 0) {fs  = formGetDStrNum( formGetRadioValue(f.Fseat1retumekei) ); }

	return fs;
}
