var LIST_SELECT_SHOW_MAX_COUNT = (5);

//	エレメント取得
function GetElementByIdGeneral(inEleId) {

	var theEle = null; 
	try {

		if (inEleId) {
			theEle = document.getElementById(inEleId);
		}

	} catch (e) {
		return null;
	}
	return theEle;

}

//	エレメント取得
function GetElementsByNameGeneral(inEleName) {

	var theEles = null; 
	try {
		if (inEleName) {
			theEles = document.getElementsByName(inEleName);
		}
	} catch (e) {
		return null;
	}
	return theEles;

}


//	検索結果リスト、初期表示時の最後の選択リスト番号を取得
function GetSelectShowEndId(inSelectCountMax) {

	var SelectShowEndId = LIST_SELECT_SHOW_MAX_COUNT;

	try {

		var SelectCountMax = parseInt(inSelectCountMax);

		if (SelectCountMax < LIST_SELECT_SHOW_MAX_COUNT) {
			SelectShowEndId = SelectCountMax;
		}

	} catch (e) {
		return LIST_SELECT_SHOW_MAX_COUNT;
	}
	return SelectShowEndId;
}

//	検索結果表示切替
function ChangeSearchLists(inEleId) {

	try {

		var EleId = GetSelectId(inEleId, gSelectedId);

		ChangeSearchList(EleId, gSelectCountMax);
		ChangeSelect(EleId, gSelectCountMax, inEleId);

		gSelectedId = EleId;
	} catch (e) {
		return;
	}
	return;
}

//	押下された選択リスト番号の取得
function GetSelectId(inEleId, inSelectedId) {

	var EleId = inEleId;

	try {
		if (inEleId == "prev") {
			EleId = parseInt(inSelectedId) - 1;
		} else if (inEleId == "next") {
			EleId = parseInt(inSelectedId) + 1;
		}

	} catch (e) {
		return parseInt(inEleId);
	}
	return parseInt(EleId);

}

//	選択リスト番号の表示切替
function ChangeSelect(inEleId, inSelectCountMax, inOrijinalEleId) {

	try {
/*
		//	ページ数の表示上減数が設定されていない場合
		var SelectCountMax = parseInt(inSelectCountMax);

		for (var i = 1; i <= SelectCountMax; i++) {

			var SelectEle = GetElementByIdGeneral("list_select:" + i);
			var SelectedEle = GetElementByIdGeneral("list_selected:" + i);

			if (SelectEle && SelectedEle) {

				var SelectEleClassName = "list_select_visibility";
				var SelectedEleClassName = "list_select_hidden";

				if (i == inEleId) {
					SelectEleClassName = "list_select_hidden";
					SelectedEleClassName = "list_selected";
				}

				ChangeClassNameByElement(SelectEle, SelectEleClassName);
				ChangeClassNameByElement(SelectedEle, SelectedEleClassName);
			}
		}
		ChangePrevAndNextSelect(inEleId, inSelectCountMax);

		gSelectShowStartId = CoverShowNumber['Start'];
		gSelectShowEndId = CoverShowNumber['End'];
*/

		//	ページ数の表示上減数が設定されている場合
		CoverShowNumber = new Array();

		CoverShowNumber['Start'] = gSelectShowStartId;
		CoverShowNumber['End'] = gSelectShowEndId;

		GetCoverShowNumber(inEleId, inSelectCountMax, inOrijinalEleId, CoverShowNumber);

		var SelectCountMax = parseInt(inSelectCountMax);

		for (var i = 1; i <= SelectCountMax; i++) {

			var SelectEle = GetElementByIdGeneral("list_select:" + i);
			var SelectedEle = GetElementByIdGeneral("list_selected:" + i);

			if (SelectEle && SelectedEle) {

				var SelectEleClassName = "list_select_visibility";
				var SelectedEleClassName = "list_select_hidden";

				if (i < CoverShowNumber['Start'] || i > CoverShowNumber['End']) {
					SelectEleClassName = "list_select_hidden";
				}

				if (i == inEleId) {
					SelectEleClassName = "list_select_hidden";
					SelectedEleClassName = "list_selected";
				}

				ChangeClassNameByElement(SelectEle, SelectEleClassName);
				ChangeClassNameByElement(SelectedEle, SelectedEleClassName);
			}
		}
		ChangePrevAndNextSelect(inEleId, inSelectCountMax);

		gSelectShowStartId = CoverShowNumber['Start'];
		gSelectShowEndId = CoverShowNumber['End'];

	} catch (e) {
		return;
	}
	return;
}

//	表示する選択リスト番号の設定
function GetCoverShowNumber(inEleId, inSelectCountMax, inOrijinalEleId, ioCoverShowNumber) {

	var CoverShowNumber = new Array();
	try {
		var Start = 0;
		var End = LIST_SELECT_SHOW_MAX_COUNT;

		var SelectCountMax = parseInt(inSelectCountMax);
		var EleId = parseInt(inEleId);

		if (inOrijinalEleId == "prev") {
			var PrevEleId = EleId - 1
			if (PrevEleId < ioCoverShowNumber['Start']) {

				Start = EleId;
				End = (EleId + LIST_SELECT_SHOW_MAX_COUNT) - 1;

				if (End > SelectCountMax) {
					End = SelectCountMax;
				}
				if (End == SelectCountMax) {
					Start = (SelectCountMax - LIST_SELECT_SHOW_MAX_COUNT) + 1;
				}
				if (Start < 1) {
					Start = 1;
				}
				ioCoverShowNumber['Start'] = Start;
				ioCoverShowNumber['End'] = End;
			}
		}


		if (inOrijinalEleId == "next") {
			var NextEleId = EleId + 1
			if (NextEleId > ioCoverShowNumber['End']) {

				Start = (EleId - LIST_SELECT_SHOW_MAX_COUNT) + 1;
				End = EleId;

				if (Start < 1) {
					Start = 1;
				}

				if (Start == 1) {
					if (SelectCountMax < LIST_SELECT_SHOW_MAX_COUNT) {
						End = SelectCountMax;
					} else {
						End = LIST_SELECT_SHOW_MAX_COUNT;
					}
				}
				if (End > SelectCountMax) {
					End = SelectCountMax;
				}
				if (End == SelectCountMax) {
					Start = (SelectCountMax - LIST_SELECT_SHOW_MAX_COUNT) + 1;
				}

				ioCoverShowNumber['Start'] = Start;
				ioCoverShowNumber['End'] = End;
			}
		}

	} catch (e) {
		ioCoverShowNumber['Start'] = gSelectShowStartId;
		ioCoverShowNumber['End'] = gSelectShowEndId;
		return null;
	}
	return;
}

//	「前へ」「次へ」の表示設定
function ChangePrevAndNextSelect(inEleId, inSelectCountMax) {

	try {

		var SelectCountMax = parseInt(inSelectCountMax);

		var PrevClassName = "list_select_visibility";
		if (inEleId == 1 || SelectCountMax == 1) {
			PrevClassName = "list_select_hidden";
		}
		ChangeClassNameByEleId("list_select:prev", PrevClassName);


		var NextClassName = "list_select_visibility";
		if (inEleId == SelectCountMax || SelectCountMax == 1) {
			NextClassName = "list_select_hidden";
		}
		ChangeClassNameByEleId("list_select:next", NextClassName);

	} catch (e) {
		return;
	}
	return;
}

//	エレメントのクラス名設定
function ChangeClassNameByEleId(inEleId, inClassName) {

	try {

		var Ele = GetElementByIdGeneral(inEleId);
		ChangeClassNameByElement(Ele, inClassName);

	} catch (e) {
		return;
	}
	return;

}

//	エレメントのクラス名設定
function ChangeClassNameByElement(inEle, inClassName) {

	try {

		if (inEle) {
			inEle.className = inClassName;
		}

	} catch (e) {
		return;
	}
	return;
}

//	検索結果リスト表示切替
function ChangeSearchList(inEleId, inSelectCountMax) {

	try {
		var SelectCountMax = parseInt(inSelectCountMax);

		for (var i = 1; i <= SelectCountMax; i++) {

			var Ele = GetElementByIdGeneral("search_list:" + i);
			var ClassName = "search_list_hidden";

			if (i == inEleId) {
				ClassName = "search_list_visibility";
			}

			ChangeClassNameByElement(Ele, ClassName);
		}

	} catch (e) {
		return;
	}
	return;

}

//	検索結果絞込み（新車、中古車、サービスのみの場合）
function SubmitCheckboxForNcarUcarSvckj(inTenpoText) {
	
	try {

		var MainFrom = document.frmMain;
		var CheckboxFrom = document.frmCheckbox;

		if (MainFrom && CheckboxFrom) {
			var chk_str = "";
			// 全チェックボックスを確認し、区切り文字無しで連結
			for (var i=0; i<CheckboxFrom.elements.length; i++) {
				if (CheckboxFrom.elements[i].type == "checkbox") {
					if (CheckboxFrom.elements[i].checked) {
						chk_str = chk_str + CheckboxFrom.elements[i].value;
					} else {
						chk_str = chk_str + 'N';
					}
				}
			}

			// パラメータにセット
			MainFrom.chk_str.value = chk_str;
			if (IsProperty(MainFrom, "reload_flag")) {
				MainFrom.reload_flag.value = "1";
			}

			if (inTenpoText) {
				if (IsProperty(MainFrom, "tenpo_text")) {
					if (IsProperty(MainFrom.tenpo_text, "value")) {
						MainFrom.tenpo_text.value = inTenpoText;
					}
				}
			}
			// 実行
			MainFrom.submit();
		}

	} catch (e) {
		return;
	}
	return;
}

//	プロパティが存在するかのチェック
function IsProperty(inObj, inPropertyName) {
	try {
		if (inObj && inPropertyName) {
			if(inPropertyName in inObj){
				return true;
			}
		}
	} catch (e) {
		return false;
	}
	return false;
}

//	その他メンテナンスページへの遷移
function SubmitOtherMente() {
	try {
		if (IsProperty(document, "frmOtherMent")) {

			var Form = document.frmOtherMent;
			Form.submit();

		}
	} catch (e) {
		return false;
	}
	return false;
}

function SubmitTenpoLinkGeneral(inForm, inUrl) {

	try {

		if (inForm && inUrl) {
			inForm.action = inUrl;
			inForm.submit();
		}

	} catch (e) {
		return false;
	}
	return false;

}

function ChangeTextColorForOtokuinfo(inName, inMode, inBackgroundImg) {

	try {

		var Eles = GetElementsByNameGeneral(inName);

		if (Eles) {
			var Color = GetTextColorForOtokuinfo(inMode);

			for (var i = 0; i < Eles.length; i++) {
				var Ele = Eles[i];
				ChangeTextColorByObj(Ele, Color);
				ChangeBackgroundImgByObj(Ele, inBackgroundImg);
			}
		}
	} catch (e) {
		return;
	}
	return;
}

function GetTextColorForOtokuinfo(inMode) {

	var Color = "#ffffff";

	try {
		if (inMode == "on") {
			Color = "#c71444";
		}
	} catch (e) {
		return Color;
	}
	return Color;
}



function ChangeTextColorByObj(inObj, inColor) {

	try {

		if (inObj) {
			inObj.style.color = inColor;
		}

	} catch (e) {
		return;
	}
	return;
}

function ChangeBackgroundImgByObj(inObj, inBackgroundImg) {

	try {

		if (inObj && inBackgroundImg) {
			if (inObj.style.backgroundImage != "" ) {
				inObj.style.backgroundImage = 'url(' + inBackgroundImg + ');';
			}
		}

	} catch (e) {
		return;
	}
	return;
}

function MoveToEleById(inEleId) {

	try {

		var Ele = GetElementByIdGeneral(inEleId);

		if (Ele) {
			var Y = Ele.offsetTop;
			scrollTo(0, Y); 
		}

	} catch (e) {
		return;
	}
	return;
}

