﻿// クッキーにセットするマップ条件名
var COOKIE_SEARCH_COND = "sscond";
// クッキーにセットする通常検索条件名
var COOKIE_SEARCH_COND_TUJO = "sstujo";

// チェックボックス(同名で複数あり)
var SF100B00001_01_CHECK_MULTI =
	[];
// チェックボックス
var SF100B00001_01_CHECK =
	[];
// コンボボックス
var SF100B00001_01_SELECT =
	["CNT"];
// ラジオボタン
var SF100B00001_01_RADIO =
	[];
// hidden
var SF100B00001_01_HIDDEN = 
	["ONOFF", "SORT", "INFO", "KEISHIKI", "KAVIEW", "CNT"];

// チェックボックス
var SF100C00001_01_CHECK = 
	[];
// ラジオボタン
var SF100C00001_01_RADIO =
	["KA_DISP"];
// hidden
var SF100C00001_01_HIDDEN = 
	["P", "MCNT", "CNT", "SORT","MODE","MTK","SCC","TK",
	 "MIN_TSUKINJIKAN1", "MAX_TSUKINJIKAN1", "MIN_TSUKINJIKAN2", "MAX_TSUKINJIKAN2"];
// hidden(値が日本語)
var SF100C00001_01_HIDDEN_VAL_JP = 
	[];
// 地図関連
var SF100C00001_01_MAP_PRM = 
	["LT", "LG", "SCALE"];

// パラメータ名の区切り文字
var	DELIMITA_PRM = "=";
// パラメータ値の区切り文字
var	DELIMITA_VAL = "&";

function getSearchCondFromCookie( name ) {

	// クッキーから表示条件を取得
	var cookieVal = document.cookie + ";";	
	var startIndex = cookieVal.indexOf(name);	
	startIndex = cookieVal.indexOf("=",startIndex) + 1;
	endIndex = cookieVal.indexOf(";",startIndex);
	cookieVal = cookieVal.substring(startIndex, endIndex);

	var		prmNm	= "";	// パラメータ名
	var		prmVal	= "";	// パラメータ値
	var		idxNm	= 0;	// パラメータ名インデックス
	var		idxVal	= 0;	// パラメータ値インデックス
	var		objPrm	= new Object();
	var		arylistPropNms = new Array(SF100B00001_01_CHECK_MULTI.length);
	var		bMultiPrm;
	var		index;
	
	while ( (idxNm = cookieVal.indexOf(DELIMITA_PRM, idxVal)) > -1) {
		// パラメータ名取得
		prmNm = cookieVal.substring(idxVal, idxNm);
		idxNm++;
		
		// パラメータ値取得
		idxVal = cookieVal.indexOf(DELIMITA_VAL, idxNm);
		if (idxVal > -1) {
			prmVal = cookieVal.substring(idxNm, idxVal);
			idxVal++;
		} else {
			prmVal = cookieVal.substring(idxNm);
		}
		
		if (prmVal != "" || prmNm == "KM" ) {
			bMultiPrm = false;
			for (index = 0; index < SF100B00001_01_CHECK_MULTI.length; index++) {
				if (prmNm == SF100B00001_01_CHECK_MULTI[index]) {
					bMultiPrm = true;
					break;
				}
			}
			if (bMultiPrm) {
				if (arylistPropNms[index] == null) {
					arylistPropNms[index] = new Array();
				}
				arylistPropNms[index][arylistPropNms[index].length] = prmVal;
			} else {
				objPrm[prmNm] = prmVal;
			}
		}

		if (idxVal < 0) {
			break;
		}
	}
	for (index = 0; index < SF100B00001_01_CHECK_MULTI.length; index++) {
		if (arylistPropNms[index] != null) {
			objPrm[SF100B00001_01_CHECK_MULTI[index]] = arylistPropNms[index];
		}
	}
	
	return objPrm;
}

function getURLPrmNms() {
	var objUrlPrms = new Object();

	// URLパラメータ抽出
	var strUrlPrm = document.URL;
	var startIndex = strUrlPrm.indexOf("?");
	if ( (startIndex == -1) && (startIndex >= strUrlPrm.length)) {
		return objUrlPrms;
	}
	strUrlPrm = strUrlPrm.substring(startIndex+1);
	
	var		prmNm	= "";	// パラメータ名
	var		prmVal	= "";	// パラメータ値
	var		idxNm	= 0;	// パラメータ名インデックス
	var		idxVal	= 0;	// パラメータ値インデックス
	
	while ( (idxNm = strUrlPrm.indexOf(DELIMITA_PRM, idxVal)) > -1) {
		// パラメータ名取得
		prmNm = strUrlPrm.substring(idxVal, idxNm);
		idxNm++;
		idxVal = strUrlPrm.indexOf(DELIMITA_VAL, idxNm);
		
		
		// パラメータ値取得
		idxVal = strUrlPrm.indexOf(DELIMITA_VAL, idxNm);
		if (idxVal > -1) {
			prmVal = strUrlPrm.substring(idxNm, idxVal);
			idxVal++;
		} else {
			prmVal = strUrlPrm.substring(idxNm);
		}
		
		objUrlPrms[prmNm] = prmVal;

		if (idxVal < 0) {
			break;
		}
	}
	
	return objUrlPrms;
}

function getExpirationDateString() {
	// 有効期限文字列作成
	var exDate = new Date;
	var yy = exDate.getYear();
	if (yy < 2000) {
		yy += 1900;
	}
	
	// 有効期限は一年後
	exDate.setYear(yy + 1);
	return "expires=" + exDate.toGMTString();
}

function SF100B00001_01_setSearchCondToCookie() {
	var strCond = "";
	var idxPrm;
	var idxElm;
	var chkElm;
	
	// コンボボックス
	for (idxPrm = 0; idxPrm < SF100B00001_01_SELECT.length; idxPrm++) {
		chkElm = document.getElementsByName(SF100B00001_01_SELECT[idxPrm]).item(0);
		if (chkElm != null && chkElm.selectedIndex) {
			idxElm = chkElm.selectedIndex;
			strCond += chkElm.name + DELIMITA_PRM + chkElm.options[idxElm].value + DELIMITA_VAL;
		}
	}
	
	// hidden
	for (idxPrm = 0; idxPrm < SF100B00001_01_HIDDEN.length; idxPrm++) {
		chkElm = document.getElementsByName(SF100B00001_01_HIDDEN[idxPrm]).item(0);
		if (chkElm != null) {
			strCond += chkElm.name + DELIMITA_PRM + chkElm.value + DELIMITA_VAL;
		}
	}
	
	if (strCond.length == 0) {
		return;
	}
	
	strCond = strCond.substr(0, strCond.length-1);

///////////////////////////////////////////
//一年後に削除予定
	document.cookie = COOKIE_SEARCH_COND_TUJO + DELIMITA_PRM + strCond+ '; expires=Mon, 1-Jan-1990 00:00:00 GMT; path=/ ; domain=' + domain_nm;
//一年後に削除予定
///////////////////////////////////////////

	// クッキーに表示条件をセット
	var strExpire = getExpirationDateString();
	document.cookie = COOKIE_SEARCH_COND_TUJO + DELIMITA_PRM + strCond+ "; " + strExpire + '; path=/ ; domain=' + document.domain;

}

function SF100B00001_01_getSearchCondFromCookie() {
	var idxPrm;
	var idxCond;
	var idxElm;
	var chkElm;
	var aryTemp;
	var strTemp;

	// URLパラメータがある場合は、クッキーから取得しない
	var strUrl = document.URL;
	idxElm = strUrl.indexOf("?");
	if ( (idxElm > -1) && (idxElm < strUrl.length)) {
		return;
	}
	
	// エラー発生時はクッキーから取得しない
	chkElm = document.getElementById("ErrorDisp01");
	if ( (chkElm != null) && (chkElm.firstChild.innerHTML != "") ) {
			return;
	}
	
	// クッキーから検索条件取得
	var objCond = getSearchCondFromCookie( COOKIE_SEARCH_COND_TUJO );
	
	// コンボボックス(といか今はCNT用)
	for (idxPrm = 0; idxPrm < SF100B00001_01_SELECT.length; idxPrm++) {
		strTemp = objCond[SF100B00001_01_SELECT[idxPrm]];
		chkElm = document.getElementsByName(SF100B00001_01_SELECT[idxPrm]).item(0);
		if ( (strTemp != undefined) && (chkElm != null) ) {
		 	chkElm.value = strTemp;
		}
	}
	
	// hidden
	for (idxPrm = 0; idxPrm < SF100B00001_01_HIDDEN.length; idxPrm++) {
		strTemp = objCond[SF100B00001_01_HIDDEN[idxPrm]];
		chkElm = document.getElementsByName(SF100B00001_01_HIDDEN[idxPrm]).item(0);
		if ( (strTemp != undefined) && (chkElm != null) ) {
		 	chkElm.value = strTemp;
		}
	}
	
	// 詳細条件パネル表示
	//if (document.SF100B00001Form.ONOFF.value == "1") {
	//	toggle_floatpanel('DetailPanel', 'DetailBtn', ['sfcommon/img/btn_detail.gif', 'sfcommon/img/btn_panel_close.gif'], 60, 0.8);
	//}
}

function SF100C00001_01_setSearchCondToCookie() {
	var strCond = '';
	var idxElm;
	var chkElm;
	
	// hidden項目
	for (idxElm = 0; idxElm < SF100C00001_01_HIDDEN.length; idxElm++) {
		chkElm = document.getElementsByName(SF100C00001_01_HIDDEN[idxElm]).item(0);
		
		if (chkElm != null) {		
			if (chkElm.name == "MIN_TSUKINJIKAN1") {
				chkElm = document.getElementById("DestinationPanel_d1r_min");
				if ( (chkElm != null) && (chkElm.value != "") ) {
					strCond += SF100C00001_01_HIDDEN[idxElm] + DELIMITA_PRM + chkElm.value + DELIMITA_VAL;
				}	
			} else if (chkElm.name == "MAX_TSUKINJIKAN1") {
				chkElm = document.getElementById("DestinationPanel_d1r_max");
				if ( (chkElm != null) && (chkElm.value != "") ) {
					strCond += SF100C00001_01_HIDDEN[idxElm] + DELIMITA_PRM + chkElm.value + DELIMITA_VAL;
				}	
			} else if (chkElm.name == "MIN_TSUKINJIKAN2") {
				chkElm = document.getElementById("DestinationPanel_d2r_min");
				if ( (chkElm != null) && (chkElm.value != "") ) {
					strCond += SF100C00001_01_HIDDEN[idxElm] + DELIMITA_PRM + chkElm.value + DELIMITA_VAL;
				}	
			} else if (chkElm.name == "MAX_TSUKINJIKAN2") {
				chkElm = document.getElementById("DestinationPanel_d2r_max");
				if ( (chkElm != null) && (chkElm.value != "") ) {
					strCond += SF100C00001_01_HIDDEN[idxElm] + DELIMITA_PRM + chkElm.value + DELIMITA_VAL;
				}	
			} else if (chkElm.value != "") {
				strCond += chkElm.name + DELIMITA_PRM + chkElm.value + DELIMITA_VAL;
			}
		}
	}
	
	// hidden項目で値が日本語をとるもの
	for (idxElm = 0; idxElm < SF100C00001_01_HIDDEN_VAL_JP.length; idxElm++) {
		chkElm = document.getElementsByName(SF100C00001_01_HIDDEN_VAL_JP[idxElm]).item(0);
		if ( (chkElm != null) && (chkElm.value != "") ) {
			strCond += chkElm.name + DELIMITA_PRM + escape(chkElm.value) + DELIMITA_VAL;
		}
	}
	
	// チェックボックス
	for (idxElm = 0; idxElm < SF100C00001_01_CHECK.length; idxElm++) {
		chkElm = document.getElementsByName(SF100C00001_01_CHECK[idxElm]).item(0);
		if ( (chkElm != null) && (chkElm.checked) ) {
			strCond += chkElm.name + DELIMITA_PRM + chkElm.value + DELIMITA_VAL;
		}
	}
	
	// ラジオボタン
	for (idxPrm = 0; idxPrm < SF100C00001_01_RADIO.length; idxPrm++) {
		chkElm = document.getElementsByName(SF100C00001_01_RADIO[idxPrm]);
		for (idxElm = 0; idxElm < chkElm.length; idxElm++) {
			if (chkElm[idxElm].checked) {
				strCond += chkElm[idxElm].name + DELIMITA_PRM + chkElm[idxElm].value + DELIMITA_VAL;
			}
		}
	}
	
	// 目的地１
	chkElm = document.getElementById("Destination1");
	if ( (chkElm != null) && (chkElm.value != "") ) {
		strCond += chkElm.id + DELIMITA_PRM + escape(chkElm.value) + DELIMITA_VAL;
	}
	
	// 目的地２
	chkElm = document.getElementById("Destination2");
	if ( (chkElm != null) && (chkElm.value != "") ) {
		strCond += chkElm.id + DELIMITA_PRM + escape(chkElm.value) + DELIMITA_VAL;
	}

	if (strCond.length == 0) {
		return;
	}
	
	strCond = strCond.substr(0, strCond.length-1);

///////////////////////////////////////////
//一年後に削除予定
	document.cookie = COOKIE_SEARCH_COND + DELIMITA_PRM + strCond+ '; expires=Mon, 1-Jan-1990 00:00:00 GMT; path=/ ; domain=' + domain_nm;
//一年後に削除予定
///////////////////////////////////////////

	// クッキーに表示条件をセット
	var strExpire = getExpirationDateString();
	document.cookie = COOKIE_SEARCH_COND + DELIMITA_PRM + strCond+ "; " + strExpire + ';  path=/ ; domain=' + document.domain;

}

function SF100C00001_01_getSearchCondFromCookie() {
	var idxElm;
	var idxCond;
	var chkElm;
	var aryTemp;
	var strTemp;
	
	// URLパラメータ取得
	var objUrlPrms = getURLPrmNms();

	// クッキーから検索条件取得
	var objCond = getSearchCondFromCookie( COOKIE_SEARCH_COND );

	// hidden項目
	for (idxElm = 0; idxElm < SF100C00001_01_HIDDEN.length; idxElm++) {
		if (objUrlPrms[SF100C00001_01_HIDDEN[idxElm]] == undefined) {
			strTemp = objCond[SF100C00001_01_HIDDEN[idxElm]];
			chkElm = document.getElementsByName(SF100C00001_01_HIDDEN[idxElm]).item(0);
			if ( (strTemp != undefined) && (chkElm != null) ) {
			 	chkElm.value = strTemp;
			}
		}
	}
	
	// hidden項目で値が日本語をとるもの
	for (idxElm = 0; idxElm < SF100C00001_01_HIDDEN_VAL_JP.length; idxElm++) {
		if (objUrlPrms[SF100C00001_01_HIDDEN_VAL_JP[idxElm]] == undefined) {
			strTemp = objCond[SF100C00001_01_HIDDEN_VAL_JP[idxElm]];
			chkElm = document.getElementsByName(SF100C00001_01_HIDDEN_VAL_JP[idxElm]).item(0);
			if ( (strTemp != undefined) && (chkElm != null) ) {
			 	chkElm.value = unescape(strTemp);
			}
		}
	}
	
	// チェックボックス
	for (idxElm = 0; idxElm < SF100C00001_01_CHECK.length; idxElm++) {
		if (objUrlPrms[SF100C00001_01_CHECK[idxElm]] == undefined) {
			strTemp = objCond[SF100C00001_01_CHECK[idxElm]];
			chkElm = document.getElementsByName(SF100C00001_01_CHECK[idxElm]).item(0);
			if ( (strTemp != undefined) && (chkElm != null) && (chkElm.value == strTemp)) {
			 	chkElm.checked = true;
			} else {
			 	chkElm.checked = false;
			}
		}
	}
	
	// 表示件数ラジオボタン
	strTemp = document.sf100c00001_01Form.MCNT.value;
	if (strTemp != "" ) {
		chkElm = document.getElementsByName("MCNT");
		for (idxElm = 0; idxElm < chkElm.length; idxElm++) {
			if ( (chkElm[idxElm].type == "radio") && (chkElm[idxElm].value == strTemp) ) {
				chkElm[idxElm].checked = true;
				break;
			}
		}
	}
	
	// ラジオボタン
	for (idxPrm = 0; idxPrm < SF100C00001_01_RADIO.length; idxPrm++) {
		strTemp = objCond[SF100C00001_01_RADIO[idxPrm]];
		chkElm = document.getElementsByName(SF100C00001_01_RADIO[idxPrm]);
		if (strTemp != undefined) {
			for (idxElm = 0; idxElm < chkElm.length; idxElm++) {
				if (chkElm[idxElm].value == strTemp) {
					chkElm[idxElm].checked = true;
					break;
				}
			}
		}
	}
	
	// 目的地１
	if (objUrlPrms["Destination1"] == undefined) {
		strTemp = objCond["Destination1"];
		chkElm = document.getElementById("Destination1");
		if ( (strTemp != undefined) && (chkElm != null) ) {
		 	chkElm.value = unescape(strTemp);
		}
	}
	if (objUrlPrms["MIN_TSUKINJIKAN1"] == undefined) {
		strTemp = objCond["MIN_TSUKINJIKAN1"];
		chkElm = document.getElementById("DestinationPanel_d1r_min");
		if ( (strTemp != undefined) && (chkElm != null) ) {
		 	chkElm.value = strTemp;
		}
	}
	if (objUrlPrms["MAX_TSUKINJIKAN1"] == undefined) {
		strTemp = objCond["MAX_TSUKINJIKAN1"];
		chkElm = document.getElementById("DestinationPanel_d1r_max");
		if ( (strTemp != undefined) && (chkElm != null) ) {
		 	chkElm.value = strTemp;
		} 
	}
	
	// 目的地２
	if (objUrlPrms["Destination2"] == undefined) {
		strTemp = objCond["Destination2"];
		chkElm = document.getElementById("Destination2");
		if ( (strTemp != undefined) && (chkElm != null) ) {
		 	chkElm.value = unescape(strTemp);
		}
	}
	if (objUrlPrms["MIN_TSUKINJIKAN2"] == undefined) {
		strTemp = objCond["MIN_TSUKINJIKAN2"];
		chkElm = document.getElementById("DestinationPanel_d2r_min");
		if ( (strTemp != undefined) && (chkElm != null) ) {
		 	chkElm.value = strTemp;
		}
	}
	if (objUrlPrms["MAX_TSUKINJIKAN2"] == undefined) {
		strTemp = objCond["MAX_TSUKINJIKAN2"];
		chkElm = document.getElementById("DestinationPanel_d2r_max");
		if ( (strTemp != undefined) && (chkElm != null) ) {
		 	chkElm.value = strTemp;
		}
	}

    // 地図関連
    var objMapPosVal = new Object();
	if (objUrlPrms[SF100C00001_01_MAP_PRM[idxElm]] == undefined) {
		for (idxElm = 0; idxElm < SF100C00001_01_MAP_PRM.length; idxElm++) {
			strTemp = objCond[SF100C00001_01_MAP_PRM[idxElm]];
			if (strTemp != undefined) {
		 		objMapPosVal[SF100C00001_01_MAP_PRM[idxElm]] = strTemp-0;
			}
		}
		if (objMapPosVal.length == 0) {
			return null;
		}
	} else {
		return null;
	}
	
	return objMapPosVal;
}
