	function showthis(type, col) {
		$('op'+type+'1').style.display = 'none';
		$('op'+type+'2').style.display = 'none';
		$('op'+type+'3').style.display = 'none';
		$('op'+type+col).style.display = 'block';
		if(col == 3){
			putPref(type, pref[type]);
		}
		if(col == 1){
			putAirport(type, airport_cd[type]);
		}
		if(col == 2){
			putLine(type, line_cd[type]);
		}
	}

	function putPref(type, pref){
		var dat = '';
		dat = '<select name="pref'+type+'" id="pref'+type+'" onchange="putDistrict('+type+', $F(\'pref'+type+'\'), 0); pref['+type+']= $F(\'pref'+type+'\');">\n';
		dat += ' <option value="">都道府県を選択</option>\n';

		for(var key in pref_list[type]){
			if (key.match(/[^0-9]/g)) {
				continue;
			}
			if(pref == key){
				dat += ' <option value="'+key+'" selected="selected">'+pref_list[type][key]+'</option>\n';
			}else{
				dat += ' <option value="'+key+'">'+pref_list[type][key]+'</option>\n';
			}
		}
		dat += '</select>\n';
		$('item_pref'+type).innerHTML = dat;
		$('item_pref'+type).style.display = 'block';
		if(pref != ''){
			putDistrict(type, pref, district_cd[type])
		}else{
			$('item_district'+type).style.display = 'none';
		}
	}

	function putDistrict(type, pref, district){
		var dat = '';
		dat = '<select name="district_cd'+type+'" id="district_cd'+type+'" onchange="district_cd['+type+']= $F(\'district_cd'+type+'\');">\n';
		dat += ' <option value="">市区町村を選択</option>\n';
		for(var key in district_list[type][pref]){
			if (key.match(/[^0-9]/g)) {
				continue;
			}
			if(district == key){
				dat += ' <option value="'+key+'" selected="selected">'+district_list[type][pref][key]+'</option>\n';
			}else{
				dat += ' <option value="'+key+'">'+district_list[type][pref][key]+'</option>\n';
			}
		}
		dat += '</select>\n';
		$('item_district'+type).innerHTML = dat;
		$('item_district'+type).style.display = 'block';
	}

	function putAirport(type, airport){
		var dat = '';
		dat = '<select name="airport_cd'+type+'" id="airport_cd'+type+'" onchange="airport_cd['+type+']= $F(\'airport_cd'+type+'\');">\n';
		dat += ' <option value="">空港を選択</option>\n';
		for(var key in airport_list[type]){
			if (key.match(/[^0-9]/g)) {
				continue;
			}
			if(airport == key){
				dat += ' <option value="'+key+'" selected="selected">'+airport_list[type][key]+'</option>\n';
			}else{
				dat += ' <option value="'+key+'">'+airport_list[type][key]+'</option>\n';
			}
		}
		dat += '</select>\n';
		$('item_airport'+type).innerHTML = dat;
		$('item_airport'+type).style.display = 'block';
	}

	function putLine(type, line){
		var dat = '';
		dat = '<select name="line_cd'+type+'" id="line_cd'+type+'" onchange="putStation('+type+', $F(\'line_cd'+type+'\'), 0); line_cd['+type+']= $F(\'line_cd'+type+'\');">\n';
		dat += ' <option value="">路線を選択</option>\n';
		for(var key in line_list[type]){
			if (key.match(/[^0-9]/g)) {
				continue;
			}
			if(line == key){
				dat += ' <option value="'+key+'" selected="selected">'+line_list[type][key]+'</option>\n';
			}else{
				dat += ' <option value="'+key+'">'+line_list[type][key]+'</option>\n';
			}
		}
		dat += '</select>\n';
		$('item_line'+type).innerHTML = dat;
		$('item_line'+type).style.display = 'block';
		if(line != ''){
			putStation(type, line, station_cd[type])
		}else{
			$('item_station'+type).style.display = 'none';
		}
	}

	function putStation(type, line, station){
		var dat = '';
		dat = '<select name="station_cd'+type+'" id="station_cd'+type+'" onchange="station_cd['+type+']= $F(\'station_cd'+type+'\');">\n';
		dat += ' <option value="">駅を選択</option>\n';
		for(var key in station_list[type][line]){
			if (key.match(/[^0-9]/g)) {
				continue;
			}
			if(station == key){
				dat += ' <option value="'+key+'" selected="selected">'+station_list[type][line][key]+'</option>\n';
			}else{
				dat += ' <option value="'+key+'">'+station_list[type][line][key]+'</option>\n';
			}
		}
		dat += '</select>\n';
		$('item_station'+type).innerHTML = dat;
		$('item_station'+type).style.display = 'block';
	}

	function checkFrom(){
		var msg = '';

		var year1  = $F('year1');
		var month1 = $F('month1');
		var day1   = $F('day1');
		var hh1    = $F('hh1');
		var mm1    = $F('mm1');
		var datetime1 = year1+'/'+month1+'/'+day1+' '+hh1+':'+mm1;
		var year2  = $F('year2');
		var month2 = $F('month2');
		var day2   = $F('day2');
		var hh2    = $F('hh2');
		var mm2    = $F('mm2');
		var datetime2 = year2+'/'+month2+'/'+day2+' '+hh2+':'+mm2;

		var today = new Date();

		if(!datetime1.match(/^\d{4}\/\d{1,2}\/\d{1,2} \d{1,2}:\d{1,2}$/)){ 
			msg += 'ご出発日時が正しくありません。\n';
		}else if(! isValidDate($F('year1'), $F('month1'), $F('day1'))){
			msg += 'ご出発日時が正しくありません。\n';
		}
		if(!datetime2.match(/^\d{4}\/\d{1,2}\/\d{1,2} \d{1,2}:\d{1,2}$/)){ 
			msg += 'ご返却日時が正しくありません。\n';
		}else if(! isValidDate($F('year2'), $F('month2'), $F('day2'))){
			msg += 'ご返却日時が正しくありません。\n';
		}
		if(msg == ''){
			var date1 = new Date(year1, month1-1, day1, hh1, mm1, 0);
			var date2 = new Date(year2, month2-1, day2, hh2, mm2, 0);
			if(today > date1){
				msg += 'ご出発日時が過去の日付です。\n';
			}
			if(today > date2){
				msg += 'ご返却日時が過去の日付です。\n';
			}
			if(date1 > date2){
				msg += 'ご返却日時はご出発日時より後にしてください。\n';
			}
		}

		var shop1 = $A(document.search.shop1).find(function(v) {
			  return v.checked;
			}
		).value;
		shop1 = parseInt(shop1);	//文字として認識しないために
		var shop2 = $A(document.search.shop2).find(function(v) {
			  return v.checked;
			}
		).value;
		shop2 = parseInt(shop2);	//文字として認識しないために

		msg += isValidShop(1);
		msg += isValidShop(2);

		if(msg != ''){
			alert(msg);
			return false;
		}
		return true;
	}

	function isValidDate(y,m,d){
		var di = new Date(y,m-1,d);
		if(di.getFullYear() == y && di.getMonth() == m-1 && di.getDate() == d){
			return true;
		}
		return false;
	}

	function isValidShop(type){
		var msg = '';
		var name = '';
		var shop = '';

		switch(type){
			case 1:
				name = '出発';
				var shop = $A(document.search.shop1).find(function(v) {
					  return v.checked;
					}
				).value;
				break;
			case 2:
				name = '返却';
				var shop = $A(document.search.shop2).find(function(v) {
					  return v.checked;
					}
				).value;
				break;
		}
		shop = parseInt(shop);	//文字として認識しないために

		switch(shop){
			case 1:
				var airport_cd = $F('airport_cd'+type);
				if(!airport_cd.match(/^\d+$/)){
					msg += name+'店舗の空港を選択してください。\n';
				}
				break;
			case 2:
				var line_cd = $F('line_cd'+type);
				if(!line_cd.match(/^\d+$/)){
					msg += name+'店舗の路線を選択してください。\n';
				}else{
					var station_cd = $F('station_cd'+type);
					if(!station_cd.match(/^\d+$/)){
						msg += name+'店舗の駅を選択してください。\n';
					}
				}
				break;
			case 3:
				var pref = $F('pref'+type);
				if(!pref.match(/^\d+$/)){
					msg +=  name+'店舗の都道府県を選択してください。\n';
				}else{
					var district_cd = $F('district_cd'+type);
					if(!district_cd.match(/^\d+$/)){
						msg +=  name+'店舗の市区町村を選択してください。\n';
					}
				}
				break;
		}

		return msg;
	}

	function dateSync() {
		date1 = new Object();
		date2 = new Object();

		date1.year  = $F('year1');
		date1.month = $F('month1');
		date1.day   = $F('day1');

		date2 = computeDate(date1, 1);

		$('year2').value  = date2.year;
		$('month2').value = date2.month;
		$('day2').value   = date2.day;
	}

	//n日後、n日前の日付を求める
	/**
	 * 年月日と加算日からn日後、n日前を求める関数
	 * year 年
	 * month 月
	 * day 日
	 * addDays 加算日。マイナス指定でn日前も設定可能
	 */
	function computeDate(date1, addDays) {
		var dt = new Date(date1.year, date1.month - 1, date1.day);
		var baseSec = dt.getTime();
		var addSec = addDays * 86400000;//日数 * 1日のミリ秒数
		var targetSec = baseSec + addSec;

		dt.setTime(targetSec);

		date2 = new Object();
		date2.year = dt.getFullYear();
		date2.month = dt.getMonth()+1;
		date2.day = dt.getDate();

		return date2;
	}