var req_keyword;
var req_sector_key;
var req_eds_sector_key;
var req_edc_sector_key;
var req_cs;
var req_keyword;
var req_count;
function make_fscomp(keyword, count, start_pos, sort_key, sort_order)
{
	var str = "";
	str = '最新の有報をサーチ..';
	var cs = 0;
	if ($('chk_scd').checked)
	{
		cs = 1;
		str = str + '(証券コード未定含む)';
	}
	
	req_str = str;
	$('FSCOMP_MSG').innerHTML = str;
	$('FSCOMP_TAB').innerHTML = '';
	$('FSCOMP_TAB').appendChild(load_pic());
	serch_fscomp(keyword, count, start_pos, sort_key, sort_order, '', '', '', cs);
}

function req_fscomp(keyword, count, start_pos, sort_key, sort_order)
{
	if (keyword == $('searchkey').defaultValue || keyword == '')
	{
		make_fscomp('', count, start_pos, sort_key, sort_order);
		return;
	}
	
	var str = "";
	str = 'キーワード[' + keyword + ']' + 'で有報をサーチ..';
	var cs = 0;
	if ($('chk_scd').checked)
	{
		cs = 1;
		str = str + '(証券コード未定含む)';
	}
	
	req_str = str;
	$('FSCOMP_MSG').innerHTML = str;
	$('FSCOMP_TAB').innerHTML = '';
	$('FSCOMP_TAB').appendChild(load_pic());
	serch_fscomp(keyword, count, start_pos, sort_key, sort_order, '', '', '', cs);
}
function req_fscomp_ssec(count, start_pos, sort_key, sort_order,sector_key)
{
	var str = "";
	var cs = 0;
	
	if (sector_key != '')
	{
		str = '[' + sector_name(sector_key) + ']' + 'で有報をサーチ..';
	}
	req_str = str;
	
	$('FSCOMP_MSG').innerHTML = str;
	$('FSCOMP_TAB').innerHTML = '';
	$('FSCOMP_TAB').appendChild(load_pic());
	serch_fscomp('', count, start_pos, sort_key, sort_order, sector_key, '', '', cs);
}
function req_fscomp_edssec(count, start_pos, sort_key, sort_order, sector_key)
{
	var str = "";
	var cs = 1;
	if (sector_key != '')
	{
		str = '[' + ed3_sector_name(sector_key) + ']' + 'で有報をサーチ..';
	}
	req_str = str;

	$('FSCOMP_MSG').innerHTML = str;
	$('FSCOMP_TAB').innerHTML = '';
	$('FSCOMP_TAB').appendChild(load_pic());
	serch_fscomp('', count, start_pos, sort_key, sort_order, '', '', sector_key, cs);
}
function req_fscomp_edcsec(count, start_pos, sort_key, sort_order, sector_key)
{
	var str = "";
	var cs = 1;
	
	if (sector_key != '')
	{
		str = '[' + ed2_sector_name(sector_key) + ']' + 'で有報をサーチ..';
	}
	req_str = str;
	
	$('FSCOMP_MSG').innerHTML = str;
	$('FSCOMP_TAB').innerHTML = '';
	$('FSCOMP_TAB').appendChild(load_pic());
	serch_fscomp('', count, start_pos, sort_key, sort_order, '', sector_key, '', cs);
}
function serch_fscomp(keyword, count, start_pos, sort_key, sort_order, sector_key, edc_sector_key, eds_sector_key, cs)
{
	var paramHash = {k: keyword,
						c: count,
						s: start_pos,
						o: sort_key,
						d: sort_order,
						ssc: sector_key,
						ess: eds_sector_key,
						esc: edc_sector_key,
						cs: cs };
	var parameter = $H(paramHash).toQueryString();
	req_keyword = keyword;
	req_sector_key = sector_key;
	req_eds_sector_key = eds_sector_key;
	req_edc_sector_key = edc_sector_key;
	req_cs = cs;
	req_count = count;
	var myAjax = new Ajax.Request(
		get_url('api/get_fscomp.cgi'), // 呼び出し先のURL
		{
			method: 'post', // メソッド（getまたはpost）
			postBody: parameter, // ポストされるボディ部
			onSuccess: searchSuccess, // 呼び出しが成功したときに呼び出されるメソッド
			onFailure: AjaxFailed, // 呼び出しが失敗したときに呼び出されるメソッド
			onException: AjaxException // 例外が発生したときに呼び出されるメソッド
		}
		);
}
function searchSuccess(res)
{
	// サーバから取得したJSONデータ（res）がないときは処理しない
	if (res == null)
		return;

	var resObj = eval("(" + res.responseText + ")");

	var codes_count = resObj['COUNT'];
	var codes_from = resObj['FROM'];
	var codes_total = resObj['TOTAL'];
	$('FSCOMP_TAB').innerHTML = '';
	$('FSCOMP_MSG').innerHTML = req_str;

	var table = document.createElement('table');
	table.id = "RESULT_TBL";
	var trH = document.createElement('tr');
	var th1 = document.createElement('th');
	var th2 = document.createElement('th');
	var th3 = document.createElement('th');
	var th4 = document.createElement('th');
	var th5 = document.createElement('th');
	var th6 = document.createElement('th');
	var th7 = document.createElement('th');
	var th8 = document.createElement('th');
	var th9 = document.createElement('th');
	var th10 = document.createElement('th');
	th1.innerHTML = '';
	th2.innerHTML = '会社名';
	th3.innerHTML = '決算期';
	th4.innerHTML = '種類';
	th5.innerHTML = '連単';
	th6.innerHTML = '証券<br>33業種';
	th7.innerHTML = '証券<br>コード';
	th8.innerHTML = 'EDINET<br>コード';
	th9.innerHTML = '売上高<br>(千円)';
	th10.innerHTML = '経常利益<br>(千円)';
	trH.appendChild(th1);
	trH.appendChild(th2);
	trH.appendChild(th3);
	trH.appendChild(th4);
	trH.appendChild(th5);
	trH.appendChild(th6);
	trH.appendChild(th7);
	trH.appendChild(th8);
	trH.appendChild(th9);
	trH.appendChild(th10);
	var thead = document.createElement('thead');
	thead.appendChild(trH);
	table.appendChild(thead);
	var tbody = document.createElement('tbody');

	for (var i = 0; i < resObj['DETAIL'].length; i++)
	{
		var ecd  = resObj['DETAIL'][i]['EDINETCODE'] + "";
		var scd  = resObj['DETAIL'][i]['SECCODE'] + "";
		var sector = resObj['DETAIL'][i]['SECCATEGORYCODE'] + "";
		var name = resObj['DETAIL'][i]['NAME'] + "";
		var reporttype = resObj['DETAIL'][i]['REPORTTYPE'] + "";
		var reporday = resObj['DETAIL'][i]['TERM_TO'] + "";
		var reportid = resObj['DETAIL'][i]['ID'] + "";
		var cons = resObj['DETAIL'][i]['CONSOLIDATE'] + "";
		var sales;
		if (resObj['DETAIL'][i]['SALES'])
			sales  = money_comma_separete(resObj['DETAIL'][i]['SALES'] / 1000);
		else
			sales = "-";

		var prof;
		if (resObj['DETAIL'][i]['ORDINARY_PROFIT'])
			prof  = money_comma_separete(resObj['DETAIL'][i]['ORDINARY_PROFIT'] / 1000);
		else
			prof = "-";

		var tr = document.createElement('tr');
		var td1 = document.createElement('td');
		var td2 = document.createElement('td');
		var td3 = document.createElement('td');
		var td4 = document.createElement('td');
		var td5 = document.createElement('td');
		var td6 = document.createElement('td');
		var td7 = document.createElement('td');
		var td8 = document.createElement('td');
		var td9 = document.createElement('td');
		var td10 = document.createElement('td');

		td2.innerHTML = name;
		td3.innerHTML = wareki_instant_ym(reporday);
		td4.innerHTML = reporttype_short_name(reporttype);
		td5.innerHTML = consolidate_short_name(cons);
		td5.setAttribute("align", "center");
		td6.innerHTML = sector_short_name(sector);
		td7.innerHTML = scd;
		td8.innerHTML = ecd;
		var btn = document.createElement('input');
		btn.setAttribute("type", "button");
		btn.setAttribute("name", "button");
		btn.id = "BUTTON_ADD";

		btn.onclick = new Function(
			"insert_fscomp("+ (i+1) +","+reportid+");"
		);
		td1.appendChild(btn);

		td9.innerHTML = sales;
		td9.setAttribute("align", "right");
		td10.innerHTML = prof;
		td10.setAttribute("align", "right");

		tr.appendChild(td1);
		tr.appendChild(td2);
		tr.appendChild(td3);
		tr.appendChild(td4);
		tr.appendChild(td5);
		tr.appendChild(td6);
		tr.appendChild(td7);
		tr.appendChild(td8);
		tr.appendChild(td9);
		tr.appendChild(td10);
		tbody.appendChild(tr);
	}

	table.appendChild(tbody);
	$('FSCOMP_TAB').appendChild(table);
	if (codes_total > 0)
	{
		$('FSCOMP_MSG').innerHTML +=
			'&nbsp;' + codes_total + '件中、&nbsp;' +
			(codes_from+1) + '-' + (codes_count+codes_from) + '件を表示しています';
	}
	else
	{
		$('FSCOMP_MSG').innerHTML += '&nbsp;対象は見つかりませんでした';
		return;
	}
	$('FSCOMP_PG').innerHTML = '';
	$('FSCOMP_PG2').innerHTML = '';
	if (codes_from>0)
	{
    	var btn = nav_button("NAV_BUTTON_BACK");
   		btn.onclick = new Function(
			"serch_fscomp(\"" + req_keyword + "\",\"" + req_count + "\",\"" + (codes_from-req_count)  +  "\",\"\",\"\",\"" + req_sector_key + "\",\"" + req_edc_sector_key + "\",\"" + req_eds_sector_key + "\",\"" + req_cs + "\");"
		);
		$('FSCOMP_PG').appendChild(btn);
		var btn2 = nav_button("NAV_BUTTON_BACK");
   		btn2.onclick = new Function(
			"serch_fscomp(\"" + req_keyword + "\",\"" + req_count + "\",\"" + (codes_from-req_count)  +  "\",\"\",\"\",\"" + req_sector_key + "\",\"" + req_edc_sector_key + "\",\"" + req_eds_sector_key + "\",\"" + req_cs + "\");"
		);
		$('FSCOMP_PG2').appendChild(btn2);
	}
	if (codes_count+codes_from < codes_total)
	{
    	var btn = nav_button("NAV_BUTTON_NEXT");
   		btn.onclick = new Function(
			"serch_fscomp(\"" + req_keyword + "\",\"" + req_count + "\",\"" + (codes_count+codes_from)  +  "\",\"\",\"\",\"" + req_sector_key + "\",\"" + req_edc_sector_key + "\",\"" + req_eds_sector_key + "\",\"" + req_cs + "\");"
		);
		$('FSCOMP_PG').appendChild(btn);
        var btn2 = nav_button("NAV_BUTTON_NEXT");
        btn2.onclick = new Function(
            "serch_fscomp(\"" + req_keyword + "\",\"" + req_count + "\",\"" + (codes_count+codes_from)  +  "\",\"\",\"\",\"" + req_sector_key + "\",\"" + req_edc_sector_key + "\",\"" + req_eds_sector_key + "\",\"" + req_cs + "\");"
        );
		$('FSCOMP_PG2').appendChild(btn2);
	}
}
function nav_button(value)
{
	var btn = document.createElement('input');
	btn.setAttribute("type", "button");
	btn.setAttribute("name", "button");
	btn.className = "nav";
    btn.id = value;
	return btn;
}

function insert_fscomp(rowid,reportid)
{
	for(var i=1; i < $('SERCHCOMP_TBL').rows.length; i++){
		var c = $('SERCHCOMP_TBL').rows[i].cells[0];
		if(reportid == c.getElementsByTagName('input')[0].value)
		{
			return;
		}
	}
	if ($('SERCHCOMP_TBL').rows.length > 5){
		alert("比較対象最大数は５件です");
		return;
	}
	var objtr = $('SERCHCOMP_TBL').insertRow(-1);
    var objc1 = objtr.insertCell(0);
    var objc2 = objtr.insertCell(1);
    var objc3 = objtr.insertCell(2);
    var objc4 = objtr.insertCell(3);
    var objc5 = objtr.insertCell(4);

	objc2.innerHTML = $('RESULT_TBL').rows[rowid].cells[1].innerHTML;
	objc3.innerHTML = $('RESULT_TBL').rows[rowid].cells[2].innerHTML;
	objc4.innerHTML = $('RESULT_TBL').rows[rowid].cells[3].innerHTML;
	objc5.innerHTML = $('RESULT_TBL').rows[rowid].cells[4].innerHTML;

	var hidrep = document.createElement('input');
	hidrep.setAttribute("type", "hidden");
	hidrep.setAttribute("name", "fsreportid"+ $('SERCHCOMP_TBL').rows.length);
	hidrep.setAttribute("value", reportid);
	objc1.appendChild(hidrep);

	var btn = document.createElement('input');
	btn.setAttribute("type", "button");
	btn.setAttribute("name", "button");
	btn.id = "BUTTON_CANCEL";

	btn.onclick = new Function(
		"delete_fscomp("+reportid+");"
	);
	objc1.appendChild(btn);
}

function delete_fscomp(reportid)
{
	for(var i=1; i < $('SERCHCOMP_TBL').rows.length; i++)
	{
		var c = $('SERCHCOMP_TBL').rows[i].cells[0];
		if(reportid == c.getElementsByTagName('input')[0].value)
		{
			$('SERCHCOMP_TBL').deleteRow(i);
			return;
		}
	}
}

function search_exec()
{
	var rep_count = $('SERCHCOMP_TBL').rows.length - 1;
	if (rep_count < 2 || 5 < rep_count )
	{
		alert('比較する報告書を２～５件選択してください');
		return;
	}
	var param = new Object;
	param["n"] = rep_count;
	for(var i=1; i < $('SERCHCOMP_TBL').rows.length; i++)
	{
		var c = $('SERCHCOMP_TBL').rows[i].cells[0];
		param["r" + i] = c.getElementsByTagName('input')[0].value + "";
	}
	document.location = "fscomplist.cgi?" + $H(param).toQueryString();
}

