var s_sect = "ALL";
var s_category;
function s_sector(strValue){                  // コンボボックスからリンク先を選択
	s_sect = strValue;
	
	menu_click(1, s_category, s_sect);
}

function req_elem_rank(nameja, elemid, sector)
{
	req_rank(nameja, {"elem": elemid, "n":nameja, "s":sector}, "get_elem_rank.cgi");
}

function req_ind_rank(ind, sector)
{
	req_rank(ind, {"ind": ind, "s":sector}, "get_ind_rank.cgi");
}

function req_rank(ind, paramHash, cgi)
{
	Element.hide($("ELEM_RANK_TABLES"));
	$("IND_RANK_TABLES").innerHTML = '';
	var h2 = document.createElement('h2');
	h2.innerHTML = ind;
	$("IND_RANK_TABLES").appendChild(h2);
	$("IND_RANK_TABLES").appendChild(load_pic());
	Element.show($("IND_RANK_TABLES"));
	//var paramHash = {"ind": ind};
	var parameter = $H(paramHash).toQueryString();
	var myAjax = new Ajax.Request(
		get_url('api/' + cgi), // 呼び出し先のURL
		{
			method: 'post', // メソッド（getまたはpost）
			postBody: parameter, // ポストされるボディ部
			onSuccess: get_ind_rank, // 呼び出しが成功したときに呼び出されるメソッド
			onFailure: AjaxFailed, // 呼び出しが失敗したときに呼び出されるメソッド
			onException: AjaxException // 例外が発生したときに呼び出されるメソッド
		}
		);
}

function get_ind_rank(res)
{
	var json = eval( '(' + res.responseText + ')' );
	$("IND_RANK_TABLES").innerHTML = '';
	var h2 = document.createElement('h2');
	var sector_str = (sector_name(s_sect) || "ALL");
	h2.innerHTML = json["ind"] + "[" + sector_str + "]";;
	$("IND_RANK_TABLES").appendChild(h2);

	for (var i=0; i<json["count"]; i++)
	{
		if (i%30==0){
			var div = document.createElement('div');
			div.id = "rank_table_list";
		}
		
		if (i%10==0){
			var table = document.createElement('table');
			table.id = "rank_table_" + (i/10);
			var thead = document.createElement('thead');
			var trH = document.createElement('tr');
			var th1 = document.createElement('th');
			var a   = document.createElement('a');
//			th1.innerHTML = json["ind"];
			th1.innerHTML = (i + 1) +"～"+(i + 10) + "位";
			th1.appendChild(a);
			th1.setAttribute("colSpan", 3);
			trH.appendChild(th1);
			thead.appendChild(trH);
			table.appendChild(thead);

			var tbody = document.createElement('tbody');
		}

		var tr = document.createElement('tr');
		var td1 = document.createElement('td');
		var td2 = document.createElement('td');
		var td3 = document.createElement('td');
		var a   = document.createElement('a');

		td1.innerHTML = json["rank"][i]["NUM"];
		td1.className = "rank"; 

//		a.innerHTML = json["rank"][i]["COMPANY"] + "(" + json["rank"][i]["TUBAN"] + ")";
		a.innerHTML = json["rank"][i]["COMPANY"];
		a.setAttribute('href', "base.cgi?id=" + json["rank"][i]["REPORTID"]);
		td2.appendChild(a);
		td3.innerHTML = json["rank"][i]["VALUE"];

		tr.appendChild(td1);
		tr.appendChild(td2);
		tr.appendChild(td3);
		tbody.appendChild(tr);
		
		if (i%10==9 || i==(json["count"]-1)){
			table.appendChild(tbody);
			div.appendChild(table);
		}
		
		if (i%30==29 || i==(json["count"]-1))
			$("IND_RANK_TABLES").appendChild(div);
			
	}
}


function req_category_top10(category, sector)
{
	Element.hide($("ELEM_RANK_TABLES"));
	$("IND_RANK_TABLES").innerHTML = '';
	var h2 = document.createElement('h2');
	h2.innerHTML = category + "ランキング";
	$("IND_RANK_TABLES").appendChild(h2);
	$("IND_RANK_TABLES").appendChild(load_pic());
	Element.show($("IND_RANK_TABLES"));

	var paramHash = {"c": category, "s":sector};
	var parameter = $H(paramHash).toQueryString();
	var myAjax = new Ajax.Request(
		get_url('api/get_category_top10.cgi'), // 呼び出し先のURL
		{
			method: 'post', // メソッド（getまたはpost）
			postBody: parameter, // ポストされるボディ部
			onSuccess: get_category_top10, // 呼び出しが成功したときに呼び出されるメソッド
			onFailure: AjaxFailed, // 呼び出しが失敗したときに呼び出されるメソッド
			onException: AjaxException // 例外が発生したときに呼び出されるメソッド
		}
		);
}

function get_category_top10(res)
{
	var json = eval( '(' + res.responseText + ')' );
	$("IND_RANK_TABLES").innerHTML = '';
	var h2 = document.createElement('h2');
	var sector_str = (sector_name(s_sect) || "ALL");
	h2.innerHTML = json["category"] + "ランキングTOP10" + "[" + sector_str + "]";
	$("IND_RANK_TABLES").appendChild(h2);

	var div;
	for(var indIndex=0; indIndex<json["top10"].length; indIndex++)
	{
		var top10 = json["top10"][indIndex];
		if ((indIndex)%3==0){
			div = document.createElement('div');
			div.id = "rank_table_list";
		}
		var table = document.createElement('table');
		table.id = "rank_table_" + indIndex;
		var thead = document.createElement('thead');
		var trH = document.createElement('tr');
		var th1 = document.createElement('th');
		var a   = document.createElement('a');
		th1.innerHTML = top10["ind"];
		a.innerHTML = "TOP500";
		a.className = "more"; 
		a.setAttribute('href', "javascript:req_ind_rank('" + top10["ind"] + "', s_sect)");
		th1.appendChild(a);
		th1.setAttribute("colSpan", 3);
		trH.appendChild(th1);
		thead.appendChild(trH);
		table.appendChild(thead);

		var tbody = document.createElement('tbody');

		for (var i=0; i<top10["count"]; i++)
		{
			var tr = document.createElement('tr');
			var td1 = document.createElement('td');
			var td2 = document.createElement('td');
			var td3 = document.createElement('td');
			var a   = document.createElement('a');

			td1.innerHTML = top10["rank"][i]["NUM"];
			td1.className = "rank"; 
//			a.innerHTML = top10["rank"][i]["COMPANY"] + "(" + top10["rank"][i]["TUBAN"] + ")";
			a.innerHTML = top10["rank"][i]["COMPANY"];
			a.setAttribute('href', "base.cgi?id=" + top10["rank"][i]["REPORTID"]);
			td2.appendChild(a);
			td3.innerHTML = top10["rank"][i]["VALUE"];

			tr.appendChild(td1);
			tr.appendChild(td2);
			tr.appendChild(td3);
			tbody.appendChild(tr);
		}
		table.appendChild(tbody);
		div.appendChild(table);
		if ((indIndex)%3==2)
		{
			$("IND_RANK_TABLES").appendChild(div);
			div = null;
		}
	}
	if (div != null)
		$("IND_RANK_TABLES").appendChild(div);
}
 

