<!--

ckaryDesign = new Array();
//配列ckaryDesignの宣言。

function setckDesign(){
//cookieを保存したりするfunction（関数）：setck()の宣言。

	if(document.forms[0].plate[0].checked){
		 ckaryDesign[0] = 0;
	}else{
		 ckaryDesign[0] = 1;
	}
	if(document.forms[0].steam[0].checked){
		 ckaryDesign[1] = 0;
	}else{
		 ckaryDesign[1] = 1;
	}
	if(document.forms[0].teika_onoff[0].checked){
		 ckaryDesign[2] = 0;
	}else{
		 ckaryDesign[2] = 1;
	}

	ckaryDesign[3] = document.forms[0].heigh_in.value;
	ckaryDesign[4] = document.forms[0].heigh_out.value;
	ckaryDesign[5] = document.forms[0].heigh_m3.value;
	ckaryDesign[6] = document.forms[0].heigh_mpa.value;
	ckaryDesign[7] = document.forms[0].low_out.value;
	ckaryDesign[8] = document.forms[0].low_in.value;
	ckaryDesign[9] = document.forms[0].low_m3.value;
	ckaryDesign[10] = document.forms[0].low_mpa.value;
	ckaryDesign[11] = document.forms[0].heigh_hope.value;
	ckaryDesign[12] = document.forms[0].low_hope.value;
	ckaryDesign[13] = document.forms[0].h_teika.value;
	ckaryDesign[14] = document.forms[0].height_flow.selectedIndex;
	ckaryDesign[15] = document.forms[0].low_flow.selectedIndex;


// 20110803 INS START GROOVER
	// 熱交の種類
	if(document.forms[0].heat[0].checked){
		 ckaryDesign[16] = 0;
	}else{
		 ckaryDesign[16] = 1;
	}
// 20110803 INS END GROOVER


//	alert(ckaryDesign[14]+":"+ckaryDesign[15]);
//フォームに記入された値を配列ckaryDesignに代入。

// alert('◎フォームの内容\n'+ckaryDesign[0]+'　'+ckaryDesign[1]+'　'+ckaryDesign[2]);
//動作テスト用alert。

	ckstr = escape(ckaryDesign[0]);
//変数ckstrに、配列ckaryDesignの最初の値をESCAPEしたものを代入。
//escape()は記号やマルチバイト文字などを%##（##は文字コード）というような形に置換した値を返す。
//フォームを送信する場合などにブラウザが行う処理と同様である。
//ちなみに、ブラウザによって返す値は異なるので注意。（NN4はS-JISのコード、IE5はUTF-16のコード、など）
//文字コードの話を参照のこと。

	i = 1;
//次のループのための準備。

   // %00undefinedが計算するごとに増えるので修正した 2009/06/09 hisaka
   //for (i=1;i<=ckaryDesign.length;i++){
	for (i=1;i<ckaryDesign.length;i++){
		ckstr += "%00" + escape(ckaryDesign[i]);
	}

//alert('ckaryDesign.lengthの値'+ckaryDesign.length);

//ckaryDesignの全要素について、ループ内の処理を実行する。
//このループで、変数ckstrに、%00とESCAPEされた配列ckaryDesignの値を連結する。
//%00はヌル文字をESCAPEしたものであり、
//通常、フォームに入力された文字列をESCAPEしても出てくることはないので、
//区切り記号として利用している。
//結果として、
//ckstr = escape(ckaryDesign[0]) + "%00" + escape(ckaryDesign[1]) + "%00" + escape(ckaryDesign[2]);
//という処理を行ったことになるが、変数が配列なぶん、汎用性が高い。

	//alert('◎ESCAPEされた文字列'+ckstr);
//動作テスト用。

	document.cookie = "Design_jsc=" + ckstr + "; expires=Thu, 1-Jan-2030 00:00:00 GMT;";
//クッキー情報を書き込む、Design_jscというのは単なる名前、
//呼び出す際に必要になる。勝手につけても問題ない。
//expires=で、cookieの有効期限を設定している。
//ここではさっきexpに設定した現在の1日後になる。
//標準形式に変換する必要があるのでtoGMTstring()を用いている。

}
//setck()はここまで。

function getckDesign(){
//cookieを呼び出したりする関数getck()の宣言

	//alert('◎cookie文字列全体\n'+document.cookie);
//動作テスト用。

	cklng = document.cookie.length;
//cookie文字列全部の長さ。理論編の例で言うところの
//「name=文字列; name2=文字列2; name3=文字列3; name4=文字列4;」
//全部の長さ。

	ckaryDesign = document.cookie.split("; ");
//配列ckaryDesignに、cookie文字列を"; "（セミコロン、スペース）で区切って配列に代入する。
//これで『name=文字列』が配列の各要素に代入される。（ckaryDesignは使いまわし）

	ckstr = "";
//ckstrの中身を空文字列に設定しておく。（ckstrも使いまわし）
//下のループでckstrがちゃんと設定されていないと、
//後でckstr.split("%00")するときエラーになるため、あらかじめ代入してある。

	i = 0;
//次のループのための準備。

	while (ckaryDesign[i]){
		if (ckaryDesign[i].substr(0,11) == "Design_jsc="){
			ckstr = ckaryDesign[i].substr(11,ckaryDesign[i].length);
			break;
		}
		i++;
	}
//このループで、必要な文字列を抽出している。
//ckaryDesignの各要素（「name=文字列」）に対して、最初の8文字が「Design_jsc=」かどうかをチェックし、
//そうであれば残りの部分を取り出してckstrに代入する。
//代入されたら、breakでループを直ちに終了する。

	//alert('◎抽出された文字列\n'+ ckaryDesign[i]);
//おなじみ、動作テスト用。

	ckaryDesign = ckstr.split("%00");
//配列ckaryDesign（また使いまわし）に、抽出した文字列を%00で区切ったものを代入する。
//ckstrがちゃんと定義されていないとエラーが発生する。

	if (ckaryDesign[0]) document.forms[0].plate[ckaryDesign[0]].checked = true;
	if (ckaryDesign[1]) document.forms[0].steam[ckaryDesign[1]].checked = true;
	if (ckaryDesign[2]) document.forms[0].teika_onoff[ckaryDesign[2]].checked = true;
	if (ckaryDesign[3]) document.forms[0].heigh_in.value = unescape(ckaryDesign[3]);
	if (ckaryDesign[4]) document.forms[0].heigh_out.value = unescape(ckaryDesign[4]);
	if (ckaryDesign[5]) document.forms[0].heigh_m3.value = unescape(ckaryDesign[5]);
	if (ckaryDesign[6]) document.forms[0].heigh_mpa.value = unescape(ckaryDesign[6]);
	if (ckaryDesign[7]) document.forms[0].low_out.value = unescape(ckaryDesign[7]);
	if (ckaryDesign[8]) document.forms[0].low_in.value = unescape(ckaryDesign[8]);
	if (ckaryDesign[9]) document.forms[0].low_m3.value = unescape(ckaryDesign[9]);
	if (ckaryDesign[10]) document.forms[0].low_mpa.value = unescape(ckaryDesign[10]);
	if (ckaryDesign[11]) document.forms[0].heigh_hope.value = unescape(ckaryDesign[11]);
	if (ckaryDesign[12]) document.forms[0].low_hope.value = unescape(ckaryDesign[12]);
	if (ckaryDesign[13]) document.forms[0].h_teika.value = unescape(ckaryDesign[13]);
	if (ckaryDesign[14]) document.forms[0].height_flow.selectedIndex = unescape(ckaryDesign[14]);
	if (ckaryDesign[15]) document.forms[0].low_flow.selectedIndex = unescape(ckaryDesign[15]);

// 20110803 INS START GROOVER
	// 熱交の種類
	if (ckaryDesign[16]) document.forms[0].heat[ckaryDesign[16]].checked = true;
// 20110803 INS END GROOVER

	/*
	if (ckaryDesign[14]) {
		for(i=0;document.forms[0].height_flow.options.length<=i;i++){
			if(document.forms[0].height_flow.value = unescape(ckaryDesign[14])){
				document.forms[0].height_flow.options[i].selected=true;
			}
		}
	}
	if (ckaryDesign[15]) {
		for(i=0;document.forms[0].low_flow.options.length<=i;i++){
			if(document.forms[0].low_flow.value = unescape(ckaryDesign[15])){
				document.forms[0].low_flow.options[i].selected=true;
			}
		}
	}
	*/
//	alert(ckaryDesign[14]+":"+ckaryDesign[15]);
//文字列をUNESCAPEしたものを、フォームに書き込む。unescape()は、escape()の逆の処理を行う。
//各文字列が空だったらなにもしない。

//初期情報をセットする。
	if (document.forms[0].steam[0].checked) {
		ValueChange('水相当',0);
	}else{
// 20110803 INS START GROOVER
// セミコロンがなかった
		//ValueChange('スチーム',1)
		ValueChange('スチーム',1);
// 20110803 INS END GROOVER
	}

// 20110803 INS START GROOVER
	// 熱交の種類
	if (document.forms[0].heat[0].checked) {
		heatValueChange(0);
	}else{
		heatValueChange(1);
	}
// 20110803 INS END GROOVER

	document.forms[0].r_low_out.value = document.forms[0].low_out.value;
	document.forms[0].r_low_in.value = document.forms[0].low_in.value;
	Kw_calculate();
}


//-->
