//目的地の一方が選択されたらもう一方を「なし」に変換する処理
function changeArea(num){
	switch (num){
		case 0:
			document.area_search.cmb_placepre.options[0].selected = true;
			break;
		case 1:
			document.area_search.cmb_placearea.options[0].selected = true;
			break;
	}
}
		
//出発地・目的地駅名、利用日検索
function strCheck(staname){
	var staname = document.area_search;
	var cmb_startpre = staname.cmb_startpre;//出発地の都道府県の値
	var cmb_placearea = staname.cmb_placearea;//目的地の方面の値
	var cmb_placepre = staname.cmb_placepre;//目的地の都道府県の値
	var UseYear = staname.txt_year;//利用年
	var UseMonth = staname.txt_month;//利用月
	var UseDay = staname.txt_day;//利用日

	//利用日の日付チェック
	//年月日が全て入力されたケース
	if( UseYear.value != "" && UseMonth.value != "" && UseDay.value != "" ){
		//年が数字で入力されているかのチェック
		if(IsNum(UseYear.value) == false){
			alert("半角数字で入力してください。");
			staname.txt_year.value = "" ;
			staname.txt_month.value = "" ;
			staname.txt_day.value = "" ;
			return false;
		//月が数字で入力されているかのチェック
		}else if(IsNum(UseMonth.value) == false){
			alert("半角数字で入力してください。");
			staname.txt_year.value = "" ;
			staname.txt_month.value = "" ;
			staname.txt_day.value = "" ;
			return false;
		//日が数字で入力されているかのチェック
		}else if(IsNum(UseDay.value) == false){
			alert("半角数字で入力してください。");
			staname.txt_year.value = "" ;
			staname.txt_month.value = "" ;
			staname.txt_day.value = "" ;
			return false;
		}			

		//利用日の入力制限（999年まで）
		if (UseYear.value > 999){
			alert("年の有効入力桁数は3桁です。");
			staname.txt_year.value = "" ;
			staname.txt_month.value = "" ;
			staname.txt_day.value = "" ;
			return false;
		}			

		//利用日の整合性のチェック
		if (datecheck(UseYear.value,UseMonth.value,UseDay.value) == -1){
			alert("有効な利用日を入力してください。");
			staname.txt_year.value = "" ;
			staname.txt_month.value = "" ;
			staname.txt_day.value = "" ;
			return false;
		}
	//年月日が入力されないケース
	}else if(UseYear.value == "" && UseMonth.value == "" && UseDay.value == "" ){
		//出発都道府県が未選択の場合
		if (cmb_startpre.options[0].selected){
			//目的地方面のケース
			if(cmb_placearea.options[0].selected){
				//チェックされているものが値を持っていなかったらエラーメッセージ
				//目的地都道府県のケース
				if(cmb_placepre.options[0].selected){
					//チェックされているものが値を持っていなかったらエラーメッセージ
					alert("検索条件を指定してください。");
					return false;
				}
			}
		}
	//年月日の入力が不完全な場合
	}else{
		alert("年月日の全てに入力してください。");
		staname.txt_year.value = "" ;
		staname.txt_month.value = "" ;
		staname.txt_day.value = "" ;
		return false;
	}
	return true;
}
//出発・目的地、利用日検索終了

//キーワード検索
function wordCheck(keyword){
	var keyword = document.word_search;
	var txt_keyword = keyword.txt_keyword;

	var stxt_keyword = Trim(txt_keyword.value);

	if (stxt_keyword == ""){
		alert("キーワードを入力してください。");
		return false;
	}else if (WildCard(stxt_keyword) == false){
		alert("検索に無効な文字があります。");
		return false;
	}	
	
	return true;
}
//キーワード検索終了

//	席タイプ、券タイプ検索
function typeCheck(type){
	var type = document.type_search;
	/***** 2006/09/04 Update Start *****/
	//var chk_green = type.chk_green						//グリーン車
	//var chk_reserved = type.chk_reserved				//普通車指定席
	//var chk_free = type.chk_free						//普通車自由席
	//var chk_berth = type.chk_berth						//寝台車
	//var chk_otherseats = type.chk_otherseats			//その他
	//var chk_freepass = type.chk_freepass				//フリーパス
	//var chk_return = type.chk_return					//往復タイプ
	//var chk_freepassreturn = type.chk_freepassreturn	//回数券タイプ
	//var chk_commutation = type.chk_commutation			//往復＋フリータイプ
	//var chk_othertickets = type.chk_othertickets		//その他
	var chk_green      = type.s0			//グリーン車
	var chk_reserved   = type.s1			//普通車指定席
	var chk_free       = type.s2			//普通車自由席
	var chk_berth      = type.s3			//寝台車
	var chk_otherseats = type.s4			//その他
	var chk_freepass       = type.t0		//フリーパス
	var chk_return         = type.t1		//往復タイプ
	var chk_freepassreturn = type.t2		//回数券タイプ
	var chk_commutation    = type.t3		//往復＋フリータイプ
	var chk_othertickets   = type.t4		//その他
	/***** 2006/09/04 Update End *****/

//	席タイプ,,,,	
	if(chk_green.checked == false){
		if(chk_reserved.checked == false){
			if(chk_free.checked == false){
				if(chk_berth.checked == false){
					if(chk_otherseats.checked == false){
					//	券の種類 ,,,,
						if(chk_freepass.checked == false){ 
							if(chk_return.checked == false){
								if(chk_freepassreturn.checked == false){
									if(chk_commutation.checked == false){
										if(chk_othertickets.checked == false){
											alert("検索条件を指定してください。");
											return false;
										}
									}
								}
							}
						}
					}
				}
			}
		}		
	}else{
		return true;
	}
}
//席タイプ、券タイプ検索終了

//駅名検索
function typeStaName(StationName){
	StationName.txt_startSta.value = Triming(StationName.txt_startSta.value);
	StationName.txt_placeSta.value = Triming(StationName.txt_placeSta.value);
	
	//出発駅及び出発駅に何も入力されていない場合
	if (StationName.txt_startSta.value == '' && StationName.txt_placeSta.value == ''){
		alert("駅名を入力してください。");
		return false;
	} else {
		//出発駅に禁則文字がある場合
		if (StationName.txt_startSta.value != '') {
			if (! WildCard(StationName.txt_startSta.value)){
				alert("検索に無効な文字が含まれています。");
				return false;
			}
		}
		//目的駅に禁則文字がある場合
		if (StationName.txt_placeSta.value != '') {
			if (! WildCard(StationName.txt_placeSta.value)){
				alert("検索に無効な文字が含まれています。");
				return false;
			}
		}
	}
	return true;
}

//駅名検索終了
function WinOpen_Help() {
	window.open('help_c.html','howto',
				'width=450,height=703,location=no,menubar=no,personalbar=no,directories=no,scrollbars=yes,status=no,toolbar=no,copyhistory=no,resizable=yes');
}

function WinOpen(Goods) {
	window.open('RepayInfo.aspx','howto',
				'width=450,height=703,location=no,menubar=no,personalbar=no,directories=no,scrollbars=yes,status=no,toolbar=no,copyhistory=no,resizable=yes');
}

function WinBack() {
	window.history.back();
}

	//******************** IsNum関数 ********************
	//Name			:IsNum
	//Description	:半角数字かどうかのチェック
	//Parameter		:int型 nStr(In)
	//Return		:boolean型 true 半角数字、false 半角数字でない
	//Create Date	:2001/5/19
	//Creater Name	:Ryota Sato_IKI
	function IsNum(nstr){
		sNumChar = "0123456789";
		if (nstr.length == 0){
			//ヌルは、数字でない
			return false;
		}else{
			//文字があった場合
			for (i=0;i<nstr.length;i++){
				numFlag = false;
				for (j=0;j<10;j++){
					if (nstr.charCodeAt(i) == sNumChar.charCodeAt(j)){
						numFlag = true;
						j = 10;
					}
				}
				if (!numFlag){
					return false;
				}
			}

			//***** 総合テスト 2005/02/23 Delete Start *****
			//数値が入力されているかのチェックのみ行うため削除
			//if (eval(nstr.charAt(0)) == 0){
			//	//最初が、0のとき数字でない。
			//	//2005/01/19 追加START
			//	if (eval(nstr.charAt(1)) >= 1 && eval(nstr.charAt(1)) <= 9 ){
			//		return true;
			//	}else{
			//	//2005/01/19 追加END
			//		return false;
			//	//2005/01/19 追加START
			//	}
			//	//2005/01/19 追加END
			//}else{
			//	return true;
			//}
			//***** 総合テスト 2005/02/23 Delete E n d *****
		}
	}


	//***************************************************************
	//*****function name				:intercalary
	//*****function Description	:うるう年かどうかの判定
	//*****Parameter						:y=YYYY形式の年号
	//*****Return Value					:True=うるう年 or False=平年
	//*****Create Day						:2001/3/12
	//*****Creater Name					:Ryota Sato(IKI)
	function intercalary(ry){
	//ry = ry + 1988
		if ((ry % 4) == 0){
			//4で割り切れる
			if ((ry % 100) == 0){
				//100で割り切れる
				if ((ry % 400) == 0){
					//400で割り切れる
					return true;
				}else{
					//400で割り切れない
					return false;
				}
			}else{
				//100で割り切れない
				return true;
			}
		}else{
			//4で割り切れない
			return false;
		}
	}

	//***************************************************************
	//*****function name				:dayvalue
	//*****function Description	:月ごとの最終日を求める
	//*****Parameter						:rm=月
	//*****Return	Value					:(月の最終日) or (エラー=-1)
	//*****Create Day						:2001/3/12
	//*****Creater Name					:Ryota Sato(IKI)

	function dayvalue(rm){
		switch(rm){
			case 2:return 28;
			case 4:;case 6:;case 9:;case 11:return 30;
			case 1:;case 3:;case 5:;case 7:;case 8:;case 10:;case 12:return 31;
			default:return -1;
		}
	}

	//***************************************************************
	//*****function name				:datecheck
	//*****function Description	:月と日付整合チェック
	//*****Parameter						:(ry=西暦) and (rm=月) and (rd=日) and (rdate=現在の日付("YYYY/MM/DD"形式))
	//*****Return	Value					:正常=処理すべき西暦 or 異常=-1
	//*****Create Day						:2001/3/12
	//*****Creater Name					:Ryota Sato(IKI)
	//function datecheck(ry,rm,rd,rdate){
	function datecheck(ry,rm,rd){
		//today = new Date(rdate);		//現在の日付を取得
		//cyyyy = today.getFullYear();//現在の西暦を取得
		//cmm = today.getMonth() + 1;	//現在の月を取得
		//cdd = today.getDate();			//現在の日付を取得
		
		//2002/03/01追加
		ry = parseInt(ry)
		rm = parseInt(rm)
		rd = parseInt(rd)
		//2002/03/01終了
		
		ry = ry + 1988;
		selectday = ry + "/" + rm + "/" + rd;
		////現在日より3日後の日付を取得
		//after3day = DayAdd(rdate,3);

		//alert(ry)
		
		pd = dayvalue(rm);		//月の最終日を求める
		if (pd > 0){
			if (rm == 2){				//2月の場合、うるう年を考える
				if (intercalary(ry)){
					pd = pd + 1;		//うるう年は、29日とする
				}
			}
			//***** 総合テスト 2005/03/03 Update Start *****
			//日付のチェックを月末だけから月初も追加
			if ((rd > 0) && (rd <= pd)){
				return 0;
			}else{
				return -1;
			}
			//if (rd <= pd){
			//	//申込可能
			//	//return ry;
			//	return 0;
			//}else{
			//	//日付の不正値(最終日を越えている)
			//	return -1;
			//}
			//***** 総合テスト 2005/03/03 Update E n d *****
		}else{
			//日付の不正値のエラー値
			return -1;
		}
	}

	//******************** Trim関数 ********************
	//Name				:Trim
	//Description	:文字列の両側のスペース文字を取り除く
	//Parameter		:char型 sChar(In)
	//Return			:char型 sChar内の両側のスペースを取り除いた文字列
	//Create Date	:2001/5/19
	//Creater Name:Ryota Sato_IKI
	function Trim(sChar){
		sTemp = "";
		iLength = sChar.length;	//文字列の長さ

		//左側スペースのトリミング
		i = 0;
		while ((sChar.charCodeAt(i) == 32) || (sChar.charCodeAt(i) == 12288)){
			if (i < iLength){
				i++;
			}else{
				break;
			}
		}
		iLeftPosition = i;	//左側の文字開始場所の格納
		//右側スペースのトリミング
		i = iLength - 1;
		while ((sChar.charCodeAt(i) == 32) || (sChar.charCodeAt(i) == 12288)){
			if (i < 0){
				break;
			}else{
				i--;
			}
		}
		iRightPosition = i;	//右側の文字開始場所の格納
		for (i=iLeftPosition;i<=iRightPosition;i++){
			sTemp = sTemp + sChar.charAt(i);
		}
		return (sTemp);
	}

	//******************** Triming関数 ********************
	//Name				:Triming
	//Description	:文字列内のスペース文字を取り除く
	//Parameter		:char型 sChar(In)
	//Return			:char型 sChar内のスペースを取り除いた文字列
	//Create Date	:2001/5/19
	//Creater Name:Ryota Sato_IKI

	function Triming(sChar){
		sTemp = "";
		for (i = 0;i < sChar.length;i++){
			if ((sChar.charCodeAt(i) == 32) || (sChar.charCodeAt(i) == 12288)){
				//半角スペース or 全角スペースは、トリミングする。
			}else{
				sTemp = sTemp + sChar.charAt(i);
			}
		}
		return sTemp;
	}
	//******************** WildCard関数 ********************
	//Name			:WildCard
	//Description	:ワイルドカード文字がある場合、警告を出す
	//Parameter		:char型 sTemp(In)
	//Return		:Boolean型(true=ワイルドカード無,false=ワイルドカード有)
	//Create Date	:2002/2/6
	//Creater Name	:Hishiyama_IKI

	function WildCard(sTemp){
		if((sTemp.indexOf("%",0) > -1 )||(sTemp.indexOf("_",0) > -1 )||(sTemp.indexOf("[",0) > -1 )||(sTemp.indexOf("]",0) > -1 )||(sTemp.indexOf("^",0) > -1 )||(sTemp.indexOf("'",0) > -1 )||(sTemp.indexOf('"',0) > -1 )||(sTemp.indexOf('<',0) > -1 )||(sTemp.indexOf('>',0) > -1 )){
			return false;
		}
		return true;
	}

	//******************** inputcheck関数 ********************
	//Name			:inputcheck
	//Description	:禁則文字入力を制限する
	//Parameter		:char型 sTemp(In)
	//Return		:Boolean型(true=正常,false=入力エラー)
	//Create Date	:2002/2/6
	//Creater Name	:Hishiyama_IKI

	function inputcheck(sTemp){
		sTemp = Trim(sTemp);
		if(Trim(sTemp) == ""){
			alert("駅名を入力してください。");
			return false;
		}else if(WildCard(sTemp) == false){
			alert("検索に無効な文字があります。");
			return false;
			}
		return true;
	}
