function myXmlHttpRequest(){
	if (typeof window.XMLHttpRequest == "undefined") {
		if (typeof window.ActiveXObject == "function") {
			try {
				new ActiveXObject("Msxml2.XMLHTTP");
				window.XMLHttpRequest = function()
				{
					return new ActiveXObject("Msxml2.XMLHTTP");
				}
			}
			catch (e) {
				try {
					new ActiveXObject("Microsoft.XMLHTTP");
					window.XMLHttpRequest = function()
					{
						return new ActiveXObject("Microsoft.XMLHTTP");
					}
				}
				catch (e) {
				}
			}
		}
	}
	return new XMLHttpRequest();
}

function handleExpChange(){
	expForm = document.getElementById('exp');
	ids = new Array( "job_content", "work_type", "bis_name", "bis_type","end_period_month","end_period_year","start_period_month","start_period_year" );
	if( expForm.checked ){
		isDisabled = true;
	}else{
		isDisabled = false;
	}
	for( i=0; i<ids.length; i++){
		form = document.getElementById(ids[i]);
		form.disabled = isDisabled;
	}

}

function handleZip3(loc){
	var zip = document.getElementById('zip');
	var zip2 = document.getElementById('zip2');
	url = 'zip2.html?zip=' + zip.value.substr(0,3) + zip2.value.substr(0,4);
	//window.alert(url);
	result = requestZip2(url);
	//window.alert(result);
	code = result[0];
	reg = result[1];
	div = result[2];
	addr = result[3];

	if( '' != code ){
		zip.value = code.substr(0,3);
		zip2.value = code.substr(3,4);
		regForm = document.getElementById('regions');
		
		if( selectOption(regForm, reg)){
			handleRegionChange(reg);
			divForm = document.getElementById('towns');
			if( selectOption(divForm, div)){
				addrForm = document.getElementById('address');
				addrForm.value = addr;
			}else{
			}
		}
	}
}
function selectOption(form, value){
	for( i=0; i<form.length; i++ ){
		if( form.options[i].value == value){
			form.selectedIndex = i;
			form.options[i].selected = 'true';
			return true;
		}
	}
	return false;
}
function handleLoad(){
		tr = document.getElementById('regions');
		url = 'regions.html';
		result = request(url);
		setOptions(tr,result,0);
}

function handleRegionChange(region){
		tr = document.getElementById('regions');
		to = document.getElementById('towns');
		value = tr.options[tr.selectedIndex].value;
		//window.alert(value);
		if( value == '選択して下さい' || value == ''){
			to.length = 1;
			to.options[0] = new Option('選択して下さい', '');
		}else{
			url = 'towns.html?region=' + encodeURIComponent(value);
			result = request(url);
			setOptions(to,result,region);
		}
}

function setOptions_new(box, ids, sel){
		i = 0;
		for(key in ids){
				box.options[i] = new Option(ids[key], key);
				if( key == sel ){
						box.selectedIndex = i;
						box.options[i].selected = "true";
				}
				i++;
		}
		box.length = i;
}
function setOptions(box,ids,sel){
		i = 0;
		//window.alert(sel);
		for(key in ids){
				key = key.replace("\r","");
				box.options[i] = new Option(key, key);
				
				if( key == sel ){
						box.selectedIndex = i;
						box.options[i].selected = "true";
				}
				i++;
		}
		box.length = i;
}
var req;
var result;
function idsAndNames_new(type, traffic, route){
		//req = new XMLHttpRequest();
		var req = myXmlHttpRequest();
		url = 'route.html?type=' + type;
		switch( type ){
				case 'traffic':
						break;
				case 'route':
						url += '&traffic=' + traffic;
						break;
				case 'station':
						url += '&traffic=' + traffic + '&route=' + route;
						break;
		}
		req.open( 'GET', url, false);
		//req.onreadystatechange = myCallback;
		req.send(null);
		result = getResult(req);
		return result;
}
function request(url){
		var req = myXmlHttpRequest();
		req.open( 'GET', url, false);
		//req.onreadystatechange = myCallback;
		req.send(null);
		result = getResult(req);
		return result;
}
function requestZip2(url){
		var req = myXmlHttpRequest();
		req.open( 'GET', url, false);
		//req.onreadystatechange = myCallback;
		req.send(null);
		//result = getResult(req);
		lines = req.responseText.split("\n");
		return lines;
}
function myCallback(){
		switch( req.readyState){
				case 4: 
						result = new Array();
						lines = req.responseText.split("\n");
						for( i in lines ){
							if( lines != '' ){
									elements = lines[i].split(",");	
									result[elements[0]] = elements[1];
							}
						}
						break;
		}
}

function getResult(req){
	result = new Array();
	lines = req.responseText.split("\n");
	for( i in lines ){
		if( lines != '' ){
				elements = lines[i].split(",");	
				result[elements[0]] = elements[1];
		}
	}
	return result;
}

function getResult2(req){
	result = new Array();
	return req.responseText.split("\n");
}

function request2(url){
		var req = myXmlHttpRequest();
		req.open( 'GET', url, false);
		req.send(null);
		result = getResult2(req);
		return result;
}
function addFavorite(str_id){

	url = 'add_favorite.html?str_id=' + str_id;
	//window.alert(url);
	result = request2(url);
	//window.alert(result);
	switch(parseInt(result)){
		case 1:
			m = 'お気に入り追加しました。';
			break;
		case 2:
			m = '既にお気に入りに追加済みです。';
			break;
		case 3:
			m = '30件以上追加できません';
			break;
		case 4:
			window.open('make_mypage3.html');
//			location.href = 'make_mypage3.html';
			return;
			break;
		case 5:
			m = 'エラーが発生しました。';
			break;
		default:
			m = '未知のエラーが発生しました。';
			break;
	}

	window.alert(m);

}


function delFavorite(str_id){
	if( window.confirm('削除しますか？') ){
		url = 'del_favorite.html?command=submit&str_id=' + str_id;
		location.href = url;
	}
	return;
}

