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

	function putArea(type, area){
		var dat = '';
		dat = '<select name="area_cd'+type+'" id="area_cd'+type+'" onchange="putAreaBranch('+type+', $F(\'area_cd'+type+'\'), 0); area_cd['+type+']= $F(\'area_cd'+type+'\');'
		if(type == 1){
			dat += ' areaSync();';
		}
		dat += '">\n';
		dat += ' <option value="">エリアを選択</option>\n';

		for(var key in area_list[type]){
			if (key.match(/[^0-9]/g)) {
				continue;
			}
			if(area == key){
				dat += ' <option value="'+key+'" selected="selected">'+area_list[type][key]+'</option>\n';
			}else{
				dat += ' <option value="'+key+'">'+area_list[type][key]+'</option>\n';
			}
		}
		dat += '</select>\n';
		$('item_area'+type).innerHTML = dat;
		$('item_area'+type).style.display = 'block';
		putAreaBranch(type, area, branch_cd[type])
	}

	function putAreaBranch(type, area, area_branch){
		var dat = '';
		dat = '<select name="branch_cd'+type+'" id="branch_cd'+type+'" onchange="branch_cd['+type+']= $F(\'branch_cd'+type+'\');';
		if(type == 1){
			dat += ' branchSync();';
		}
		dat += '">\n';
		dat += ' <option value="">店舗を選択</option>\n';
		for(var key in area_branch_list[type][area]){
			if (key.match(/[^0-9]/g)) {
				continue;
			}
			if(area_branch == key){
				dat += ' <option value="'+key+'" selected="selected">'+area_branch_list[type][area][key]+'</option>\n';
			}else{
				dat += ' <option value="'+key+'">'+area_branch_list[type][area][key]+'</option>\n';
			}
		}
		dat += '</select>\n';
		$('item_area_branch'+type).innerHTML = dat;
		$('item_area_branch'+type).style.display = 'block';
	}
/*
	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 checkSearch(){
		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_ymdhis = 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 date_ymdhis1 = new Date(year1, month1-1, day1, hh1, mm1, 0);
			var date_ymdhis2 = new Date(year2, month2-1, day2, hh2, mm2, 0);
			var date_ymd1 = new Date(year1, month1-1, day1, 0, 0, 0);
			var date_ymd2 = new Date(year2, month2-1, day2, 0, 0, 0);
			if(today_ymdhis > date_ymdhis1){
				msg += 'ご出発日時が過去の日付です。\n';
			}
			if(today_ymdhis > date_ymdhis2){
				msg += 'ご返却日時が過去の日付です。\n';
			}
			if(date_ymdhis1 > date_ymdhis2){
				msg += 'ご返却日時はご出発日時より後にしてください。\n';
			}
			if(typeof date_min != "undefined"){
				if(date_ymd1 < date_min){
					msg += 'ご出発日は'+(date_min.getYear()+1900)+'年'+(date_min.getMonth()+1)+'月'+date_min.getDate()+'日 以降にしてください。\n';
				}
				if(date_ymd2 < date_min){
					msg += 'ご返却日は'+(date_min.getYear()+1900)+'年'+(date_min.getMonth()+1)+'月'+date_min.getDate()+'日 以降にしてください。\n';
				}
			}
			if(typeof date_max != "undefined"){
				if(date_max < date_ymd1){
					msg += 'ご出発日は'+(date_max.getYear()+1900)+'年'+(date_max.getMonth()+1)+'月'+date_max.getDate()+'日 以前にしてください。\n';
				}
				if(date_max < date_ymd2){
					msg += 'ご返却日は'+(date_max.getYear()+1900)+'年'+(date_max.getMonth()+1)+'月'+date_max.getDate()+'日 以前にしてください。\n';
				}
			}
		}

		//出発条件チェック
		var shop1 = $F('shop1');
		shop1 = parseInt(shop1);	//文字として認識しないために
		msg += isValidShop(1, shop1);

		var shop2 = $F('shop2');
		shop2 = parseInt(shop2);	//文字として認識しないために
		msg += isValidShop(2, shop2);

		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, shop){
		var msg = '';
		var name = '';

		switch(type){
			case 1:
				name = '出発';
				break;
			case 2:
				name = '返却';
				break;
		}
		shop = parseInt(shop);	//文字として認識しないために

		switch(shop){
			case 4:
				var pref = $F('area_cd'+type);
				if(!pref.match(/^\d+$/)){
					msg +=  name+'店舗のエリアを選択してください。\n';
				}else{
					var branch_cd = $F('branch_cd'+type);
					if(!branch_cd.match(/^\d+$/)){
						msg +=  name+'店舗を選択してください。\n';
					}
				}
				break;
		}

		return msg;
	}

	function dateSync() {
/*
		var date1 = new Object();
		var 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;
*/
		$('year2').value  = $F('year1');
		$('month2').value = $F('month1');
		$('day2').value   = $F('day1');
	}

	function areaSync() {
		if($('area_cd2')){
			var area_cd1 = $F('area_cd1');
			var area_cd2 = $F('area_cd2');

			if(area_cd2 == ''){
				$('area_cd2').value  = area_cd1;
				$('area_cd2').onchange();
			}
		}
	}

	function branchSync() {
		if($('branch_cd2')){
			var area_cd1 = $F('area_cd1');
			var branch_cd1 = $F('branch_cd1');
			var area_cd2 = $F('area_cd2');
			var branch_cd2 = $F('branch_cd2');

			if(area_cd1 == area_cd2){
				if(branch_cd2 == ''){
					$('branch_cd2').value  = branch_cd1;
					$('branch_cd2').onchange();
				}
			}
		}
	}

	//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;
	}
