//----------- 全項目共通 ---------------------------------------------------------------------------------
//呼び出しに失敗した場合のコールバック関数
function getError(req){
	alert(req.responseText);
}


//----------- 郵便番号取得 ---------------------------------------------------------------------------------
var g_zip_ary=Array();
var g_zip_count=0;
var g_zip_length=0;

function postZIP(url,params){

	params = buildParams(params);
	// protype.jsを用いて、XMLHttpRequestオブジェクトを作成
	new Ajax.Request(
		url,
		{
			 method:'post'
			,onSuccess:getResponseZIP
			,onFailure:getError
			,postBody:params
		}
	);
}

//値のセット
function setZip(kenmei,adress1,adress2){
	document.getElementById(kenmei).value=g_zip_ary[g_zip_count]['pref'];
	document.getElementById(address1).value=g_zip_ary[g_zip_count]['city'];
	document.getElementById(address2).value=g_zip_ary[g_zip_count]['street'];
}

//コールバック関数
function getResponseZIP(req){
	if(req.responseText=='false')		{
		document.getElementById('f_ziperror').style.display = 'inline';
		document.getElementById('f_ziperror').value='　※郵便番号が違います。再度入力して下さい。';
		document.getElementById('f_kenmei').value='';
		document.getElementById('f_address_1').value='';
		document.getElementById('f_address_2').value='';
		document.getElementById('f_address_3').value='';
		return;
	}else	{
		document.getElementById('f_ziperror').style.display = 'none';
		document.getElementById('f_ziperror').value='';
	}
	var str ="";
	g_zip_count=0;
	eval("g_zip_ary="+req.responseText);
	document.getElementById('f_kenmei').value=g_zip_ary[g_zip_count]['pref'];
	document.getElementById('f_address_1').value=g_zip_ary[g_zip_count]['city'];
	document.getElementById('f_address_2').value=g_zip_ary[g_zip_count]['street'];
	g_zip_length = countHash(g_zip_ary);
	if( g_zip_length > 1 ){
		document.getElementById('next_address').style.display = 'inline';
	}else{
		document.getElementById('next_address').style.display = 'none';
	}
}
	

//候補のカウントと値のセット
function countZip(){
	g_zip_count++;
	if( g_zip_count >= g_zip_length ){
		g_zip_count = 0;
	}
	document.getElementById('f_zip_1').value=g_zip_ary[g_zip_count]['zip'].substr(0,3);
	document.getElementById('f_zip_2').value=g_zip_ary[g_zip_count]['zip'].substr(3,4);

	document.getElementById('f_kenmei').value=g_zip_ary[g_zip_count]['pref'];
	document.getElementById('f_address_1').value=g_zip_ary[g_zip_count]['city'];
	document.getElementById('f_address_2').value=g_zip_ary[g_zip_count]['street'];
}

//連想配列の数のカウント
function countHash( hash ){
	var counter = 0;
	for( var i in hash ){
		counter++;
	}
	return counter;
}

//----------- 職種情報取得 ---------------------------------------------------------------------------------
function postJOB(url,params){
	params = buildParams(params);

	// protype.jsを用いて、XMLHttpRequestオブジェクトを作成
	new Ajax.Request(
		url,
		{
			 method:'post'
			,onSuccess:getResponseJOB
			,onFailure:getError
			,postBody:params
		}
	);
}

//コールバック関数
function getResponseJOB(req){
	var str ="";
	var codes=Array();
	var items=Array();
	var i=0;

	eval("var ary="+req.responseText);

	keyname={'major_key':'_1','minor_key':'_2','sub_key':'_3'};
    po=document.getElementById(ary['idname']+keyname[ary['keyname']]);

	if(ary['data'] != '0'){
		// 項目を選択された
		codes[i] = "0";
		if(ary['keyname']=='major_key')	{
				items[i] = "職種カテゴリを選択して下さい";
		}else if(ary['keyname']=='minor_key')	{
				items[i] = "職種カテゴリ詳細を選択して下さい";
		}else if(ary['keyname']=='sub_key')	{
				items[i] = "職種を選択して下さい";
		}
		i++;
		for( key in ary['data'] ){
			codes[i] = ary['data'][key][ary['codename']];
			items[i] = ary['data'][key][ary['keyname']];
			i++;
		}

		setSelectItem( po ,codes , items );

		if( ary['keyname'] == 'minor_key' ){
			var code=Array();
			var item=Array();
			code[0] = "0";
			item[0] = "職種を選択して下さい";
			setSelectItem( document.getElementById(ary['idname']+'_3') ,code , item );
		}
	}else{
		// 「カテゴリを選択して下さい」を選択されたとき
		codes[0] = "0";
		if(ary['keyname']=='major_key')	{
				items[0] = "職種カテゴリを選択して下さい";
				setSelectItem( document.getElementById(ary['idname']+'_1') ,codes , items );
				items[0] = "職種カテゴリ詳細を選択して下さい";
				setSelectItem( document.getElementById(ary['idname']+'_2') ,codes , items );
				items[0] = "職種を選択して下さい";
				setSelectItem( document.getElementById(ary['idname']+'_3') ,codes , items );
		}else if(ary['keyname']=='minor_key')	{
				items[0] = "職種カテゴリ詳細を選択して下さい";
				setSelectItem( document.getElementById(ary['idname']+'_2') ,codes , items );
				items[0] = "職種を選択して下さい";
				setSelectItem( document.getElementById(ary['idname']+'_3') ,codes , items );
		}else if(ary['keyname']=='sub_key')	{
				items[0] = "職種を選択して下さい";
				setSelectItem( document.getElementById(ary['idname']+'_3') ,codes , items );
		}
	}


	// 修正フォームを開いた場合に予め決められた値が選択されているようにする
	if(ary['setto']!=undefined){ //最初に選択する値を予め決めておいたとき
		setSelect(po,ary['setto1']);
	}
}

	
//----------- 業種情報取得 ---------------------------------------------------------------------------------
function postBUSINESS(url,params){
	params = buildParams(params);

	// protype.jsを用いて、XMLHttpRequestオブジェクトを作成
	new Ajax.Request(
		url,
		{
			 method:'post'
			,onSuccess:getResponseBUSINESS
			,onFailure:getError
			,postBody:params
		}
	);
}

//コールバック関数
function getResponseBUSINESS(req){
	var str ="";
	var codes=Array();
	var items=Array();
	var i=0;

	eval("var ary="+req.responseText);

	keyname={'major_key':'_1','minor_key':'_2'};
  po=document.getElementById(ary['idname']+keyname[ary['keyname']]);

	if(ary['data'] != '0')	{
		// 項目を選択された
		codes[i] = "0";
		if(ary['keyname']=='major_key')	{
			items[i] = "業種カテゴリを選択して下さい";
		}else if(ary['keyname']=='minor_key')	{
			items[i] = "業種を選択して下さい";
		}

		i++;
		for( key in ary['data'] ){
			codes[i] = ary['data'][key][ary['codename']];
			items[i] = ary['data'][key][ary['keyname']];
			i++;
		}
	}else{
		// 「カテゴリを選択して下さい」を選択されたとき
		codes[0] = "0";
		if(ary['keyname']=='major_key')	{
				items[0] = "業種カテゴリを選択して下さい";
				setSelectItem( document.getElementById(ary['idname']+'_1') ,codes , items );
				items[0] = "業種を選択して下さい";
				setSelectItem( document.getElementById(ary['idname']+'_2') ,codes , items );
		}else if(ary['keyname']=='minor_key')	{
				items[0] = "業種を選択して下さい";
				setSelectItem( document.getElementById(ary['idname']+'_2') ,codes , items );
		}
	}
	setSelectItem( po ,codes , items );
}

//----------- 路線情報取得 ---------------------------------------------------------------------------------
function postLINE(url,params){
	params = buildParams(params);

	// protype.jsを用いて、XMLHttpRequestオブジェクトを作成
	new Ajax.Request(
		url,
		{
			 method:'post'
			,onSuccess:getResponseLINE
			,onFailure:getError
			,postBody:params
		}
	);
}

//コールバック関数
function getResponseLINE(req){
	var str ="";
	var codes=Array();
	var items=Array();
	var i=0;

	eval("var ary="+req.responseText);

	keyname={'company':'_1','line':'_2','station':'_3'};
  	po=document.getElementById(ary['idname']+keyname[ary['keyname']]);

	keyitem={'company':'鉄道会社','line':'路線','station':'駅'};

	if(ary['data'] != '0')	{
		// 項目を選択された
		codes[i] = "0";
		items[i] = keyitem[ary['keyname']]+"を選択して下さい";
		i++;
		for( key in ary['data'] ){
			codes[i] = ary['data'][key][ary['codename']];
			items[i] = ary['data'][key][ary['keyname']];
			i++;
		}
		setSelectItem( po ,codes , items );
		

		if( ary['keyname'] == 'line' )	{
			var code=Array();
			var item=Array();
			code[0] = "0";
			item[0] = "駅を選択して下さい";
			setSelectItem( document.getElementById(ary['idname']+'_3') , code, item );
		}
	}else	{
		// 「～を選択して下さい」を選択されたとき
		codes[0] = "0";
		if(ary['keyname']=='company')	{
				items[0] = "鉄道会社を選択して下さい";
				setSelectItem( document.getElementById(ary['idname']+'_1') ,codes , items );
				items[0] = "路線を選択して下さい";
				setSelectItem( document.getElementById(ary['idname']+'_2') ,codes , items );
				items[0] = "駅を選択して下さい";
				setSelectItem( document.getElementById(ary['idname']+'_3') ,codes , items );
		}else if(ary['keyname']=='line')	{
				items[0] = "路線を選択して下さい";
				setSelectItem( document.getElementById(ary['idname']+'_2') ,codes , items );
				items[0] = "駅を選択して下さい";
				setSelectItem( document.getElementById(ary['idname']+'_3') ,codes , items );
		}else if(ary['keyname']=='station')	{
				items[0] = "駅を選択して下さい";
				setSelectItem( document.getElementById(ary['idname']+'_3') ,codes , items );
		}
	}
}

//----------- 勤務地情報取得 ---------------------------------------------------------------------------------
function postKINMU(url,params){
	params = buildParams(params);

	// protype.jsを用いて、XMLHttpRequestオブジェクトを作成
	new Ajax.Request(
		url,
		{
			 method:'post'
			,onSuccess:getResponseKINMU
			,onFailure:getError
			,postBody:params
		}
	);
}

//コールバック関数
function getResponseKINMU(req){
	var str ="";
	var codes=Array();
	var items=Array();
	var i=0;

	eval("var ary="+req.responseText);

	keyname={'pref':'_1','city':'_2'};
	po=document.getElementById(ary['idname']+keyname[ary['keyname']]);
	keyitem={'pref':'都道府県','city':'市区町村'};

	if(ary['data'] != '0')	{
		// 項目を選択された
		codes[i] = "0";
		items[i] = keyitem[ary['keyname']]+"を選択して下さい（未選択可）";
		i++;
		for( key in ary['data'] ){
			codes[i] = ary['data'][key][ary['keyname']];
			items[i] = ary['data'][key][ary['keyname']];
			i++;
		}
		setSelectItem( po ,codes , items );
	}else{
		// 「カテゴリを選択して下さい」を選択されたとき
		codes[0] = "0";
		if(ary['keyname']=='pref')	{
				items[0] = "都道府県を選択して下さい（未選択可）";
				setSelectItem( document.getElementById(ary['idname']+'_1') ,codes , items );
				items[0] = "市町区村を選択して下さい（未選択可）";
				setSelectItem( document.getElementById(ary['idname']+'_2') ,codes , items );
		}else if(ary['keyname']=='city')	{
				items[0] = "市町区村を選択して下さい（未選択可）";
				setSelectItem( document.getElementById(ary['idname']+'_2') ,codes , items );
		}
	}

	if(ary['setto']!=undefined){ //最初に選択する値を予め決めておいたとき
		setSelect(po,ary['setto1']);
	}

}


//----------- 希望収入情報取得 ---------------------------------------------------------------------------------
function postSALALY(url,params){
	params = buildParams(params);

	// protype.jsを用いて、XMLHttpRequestオブジェクトを作成
	new Ajax.Request(
		url,
		{
			 method:'post'
			,onSuccess:getResponseSALALY
			,onFailure:getError
			,postBody:params
		}
	);
}

//コールバック関数
function getResponseSALALY(req){
	var codes=Array();
	var items=Array();
	var i=0;

	eval("var ary="+req.responseText);

  po=document.getElementById(ary['idname']);

	if(ary['data'] != '0')	{
		for( key in ary['data'] ){
			codes[i] = key;
			items[i] = ary['data'][key][0];
			i++;
		}
		setSelectItem( po ,codes , items );
	}

	// 修正フォームを開いた場合に予め決められた値が選択されているようにする
	if(ary['setto']!=undefined){ //最初に選択する値を予め決めておいたとき
		setSelect(po,ary['setto1']);
	}
}


//----------- TOP画面の新着求人の職種検索情報取得 ---------------------------------------------------------------------------------
function postSEARCHJOB(url,params){
	params = buildParams(params);
	// protype.jsを用いて、XMLHttpRequestオブジェクトを作成
	new Ajax.Request(
		url,
		{
			 method:'post'
			,onSuccess:getResponseSERACHJOB
			,onFailure:getError
			,postBody:params
		}
	);
}

//コールバック関数
function getResponseSERACHJOB(req){
	var str ="";
	var codes=Array();
	var items=Array();
	var i=0;
	var code;

	eval("var ary="+req.responseText);

  po=document.getElementById(ary['idname']);

	if(ary['data'] != '0'){
		// 項目を選択された
		codes[i] = "0";
		items[i] = "職種カテゴリ詳細を選択して下さい";
		i++;

		for( key in ary['data'] ){
			code=formatNum(3,ary['data'][key][ary['codename2']]);
			codes[i] = ary['data'][key][ary['codename1']]+code;
			items[i] = ary['data'][key][ary['keyname']];
			i++;
		}

		setSelectItem( po, codes, items );
	}else{
		// 「カテゴリを選択して下さい」を選択されたとき
		codes[0] = "0";
		items[0] = "職種カテゴリ詳細を選択して下さい";
		setSelectItem( po, codes , items );
	}
	// 修正フォームを開いた場合に予め決められた値が選択されているようにする
	if(ary['setto']!=undefined){ //最初に選択する値を予め決めておいたとき
		setSelect(po,ary['setto']);
	}
}


//----- ダイアログ表示 -----------------------------------------------------------------
function dispJobDialog(val){
	value=val;
	dlg=document.getElementById('job_dialog');
	Glayer.showBox(dlg);
}
function closeJobDialog(){
	dlg=document.getElementById('job_dialog');
	Glayer.hideBox(dlg);
}
function setJobValue(id,key){

	var po=document.getElementById('job_label'+value);
	po.value=key;
	var po2=document.getElementById('f_job_'+value);
	po2.value=id;
	closeJobDialog();
	
	return true;
}


function formatNum(keta, num) {
  var src = new String(num);
  var cnt = keta - src.length;
  if (cnt <= 0) return src;
  while (cnt-- > 0) src = "0" + src;
  return src;
}