(function($){
	var ANNOUNCEMENT_URL = 'http://v4.eir-parts.net/V4Public/EIR/8706/ja/announcement/announcement_1.js';
	var TANSHIN_URL      = 'http://v4.eir-parts.net/V4Public/EIR/8706/ja/press/press_2.js';
	var MATERIAL_URL     = 'http://v4.eir-parts.net/V4Public/EIR/8706/ja/ir_material/ir_material_4.js';
	var YUHO_URL         = 'http://v4.eir-parts.net/V4Public/EIR/8706/ja/yuho/yuho_3.js';

	$.RetrievePronexusYearlyAnnouncement = function(callback){
		eolparts_announcement_1 = function(data){
			var all_items = data.item;

			var year_list = [];
			var yearly_items = {};

			for (var i = 0; i < all_items.length; i++) {
				var item = all_items[i];
				var year = item.date.substring(0, 4);

				if (!yearly_items[year]) {
					yearly_items[year] = [];
					year_list.push(year);
				}
				yearly_items[year].push(item);
			}

			callback(year_list, yearly_items);
		};
		document.write('<script type="text/javascript" src="' + ANNOUNCEMENT_URL +  '" charset="UTF-8"><\/script>');
	};

	$.RetrievePronexusAnnouncement = function(callback){
		eolparts_announcement_1 = function(data){
			callback(data.item);
		};
		document.write('<script type="text/javascript" src="' + ANNOUNCEMENT_URL +  '" charset="UTF-8"><\/script>');
	};

	$.RetrievePronexusYearlyTanshin = function(callback){
		eolparts_press_2 = function(data){
			var all_items = data.item;

			var year_list = [];
			var yearly_items = {};

			for (var i = 0; i < all_items.length; i++) {
				var item = all_items[i];
				var year = item.tanshin_year;

				if (!yearly_items[year]) {
					yearly_items[year] = [];
					year_list.push(year);
				}
				yearly_items[year].push(item);
			}

			callback(year_list, yearly_items);
		};
		document.write('<script type="text/javascript" src="' + TANSHIN_URL +  '" charset="UTF-8"><\/script>');
	};

	$.RetrievePronexusTanshin = function(callback){
		eolparts_press_2 = function(data){
			callback(data.item);
		};
		document.write('<script type="text/javascript" src="' + TANSHIN_URL +  '" charset="UTF-8"><\/script>');
	};

	$.RetrievePronexusYearlyMaterial = function(callback){
		eolparts_ir_material_4 = function(data){
			var all_groups = data.group;

			var year_list = [];
			var yearly_items = {};

			for (var i = 0; i < all_groups.length; i++) {
				var items = all_groups[i].item;
				for (var j = 0; j <items.length; j++) {
					var item = items[j];
					var list = item.date.split("/");
					var year = parseInt(list[0]);
					var mon  = parseInt(list[1]);

					if (1 <= mon && mon <= 3) {          // 第3四半期
						year = year;
						index = 1;
					} else if (4 <= mon && mon <= 6) {   // 通期
						year = year;
						index = 0;
					} else if (7 <= mon && mon <= 9) {   // 第1四半期
						year = year + 1;
						index = 3;
					} else if (10 <= mon && mon <= 12) { // 第2四半期
						year = year + 1;
						index = 2;
					}

					var key = year.toString() + "03";

					if (!yearly_items[key]) {
						yearly_items[key] = [];
						year_list.push(key);
					}
					yearly_items[key][index] = item;
				}
			}

			callback(year_list, yearly_items);
		};
		document.write('<script type="text/javascript" src="' + MATERIAL_URL +  '" charset="UTF-8"><\/script>');
	};

	$.RetrievePronexusMaterial = function(callback){
		eolparts_ir_material_4 = function(data){
			callback(data.item);
		};
		document.write('<script type="text/javascript" src="' + MATERIAL_URL +  '" charset="UTF-8"><\/script>');
	};

	$.RetrievePronexusYuho = function(callback){
		eolparts_yuho_3 = function(data){
			callback(data.group);
		};
		document.write('<script type="text/javascript" src="' + YUHO_URL +  '" charset="UTF-8"><\/script>');
	};

	// ------------------------------------------------------------------------

	function makeLink(elem, url, title, is_pdf, file_size, is_new_window){
		var $a = $(elem)
		if (url == undefined) {
			$a.text(title);
		} else if (is_pdf) {
			$a.attr("href", url).attr('target', '_blank').text(title)
			$a.append('<span class="bass-filesize-A01"><img src="/asset/img/icon_pdf_01.png" width="13" height="13" class="bass-icon-A02" alt="">[PDF:' + file_size + 'KB]</span>');
		} else {
			$a.attr("href", url).text(title);
			if (is_new_window != undefined) {
				$a.addClass('bass-target-link-A01').attr('target', '_blank').append('<img src="/asset/img/icon_window_01.png" width="15" height="12" class="bass-icon-A01" alt="" />');
			}
		}
	};


	$.KyokutoHomeIRNews = function(max_count){
		$.RetrievePronexusAnnouncement(function(items){
			var items = items.slice(0,max_count);

			$(document).ready(function(){
				var $block = $("#newsrelease");
				var $tbody = $block.find("tbody");

				var $tr_tmpl = $('<tr><td class="date"></td><td class="type"><span class="bass-timeline-type-A01"></span></td><td class="content"><a href=""></a></td></tr>');

				for (var i = 0; i < items.length; i++) {
					var item = items[i];
					var $tr = $tr_tmpl.clone();

					$tr.find(".date").text(item.format_date);
					$tr.find(".type span").text('IR情報');

					var url = (item.type != " ") ? item.link : undefined;
					var is_pdf = (item.type == "pdf");
					var is_new_window = (item.new_target == "_blank");

					makeLink($tr.find(".content a"), url, item.title, is_pdf, item.file_size, is_new_window);

					$tbody.append($tr);
				}

				function zeroPadding(str){
					str = "00" + str
					return str.substr(str.length-2,2);
				}

				var map = $.map($tbody.find("tr"), function(tr){
					var items = $(tr).find('.date').text().split(/[^0-9]/);
					var date = "" + items[0] + zeroPadding(items[1]) + zeroPadding(items[2]);
					return { key: date, value: tr };
				});
				map = map.sort(function(a,b){ return b.key.localeCompare(a.key); });
				map = map.slice(0,max_count);

				$tbody.children().remove();
				$.each(map, function(i, item){
					$tbody.append(item.value);
				});
			});
		});
	};

	$.KyokutoIRNewsTop = function(){
		$.RetrievePronexusAnnouncement(function(items){
			var max_count = 5;
			var items = items.slice(0,max_count);

			$(document).ready(function(){
				var $block = $(".news-category").clone();
				var $tr_tmpl = $block.find('tbody tr:first').clone();
				$block.find('.bass-index-feed-A01').remove();
				$block.find('tbody').children().remove();

				$block.find('h2 a').attr('href', '/ir/material/');
				$block.find('h2 a span').text('IR情報');
				$block.find('.bass-index-detail-A01 a').attr('href', '/ir/material/');
				$block.find('.bass-index-detail-A01 a').text('他のIR情報を表示する');

				var $tbody = $block.find('tbody');

				for (var i = 0; i < items.length; i++) {
					var item = items[i];
					var $tr = $tr_tmpl.clone();

					$tr.find(".date").text(item.format_date);

					var url = (item.type != " ") ? item.link : undefined;
					var is_pdf = (item.type == "pdf");
					var is_new_window = (item.new_target == "_blank");

					makeLink($tr.find(".content a"), url, item.title, is_pdf, item.file_size, is_new_window);

					$tbody.append($tr);
				}

				$('.news-category:last').after($block);
			});
		});
	};

	$.KyokutoIRNewsPage = function(){
		var $pdf_table_tmpl = $(
			'<div class="bass-timeline-A01">' +
			'<table>' +
			'<thead>' +
			'<tr>' +
			'<th class="date">日付</th>' +
			'<th class="content">内容</th>' +
			'</tr>' +
			'</thead>' +
			'<tbody>' +
			'</tbody>' +
			'</table>' +
			'<!-- /bass-timeline-A01 --></div>');

		var $pdf_tr_tmpl = $(
			'<tr>' +
			'<td class="date"></td>' +
			'<td class="content"><a href=""></a></td>' +
			'</tr>');

		$.RetrievePronexusYearlyAnnouncement(function(year_list, yearly_items){
			var cur_year = location.search.substring(1);

			year_list = year_list.slice(0,4);
			var items = (cur_year) ? yearly_items[cur_year] : yearly_items[year_list[0]];

			$(document).ready(function(){
				var $block = $('<div>');
				$('noscript').after($block);
				$('noscript').remove();


				if (cur_year) {
					var title = cur_year + "年 | ";

					var $local_nav = $('#bass-local-nav');
					var $stay_link = $('.bass-local-nav-stay a');
					var $local_nav_list = $local_nav.find('ul');

					document.title = title + document.title;
					$('#bass-content-title h1').text(title + $('#bass-content-title h1').text());

					$('.bass-topicpath-A01 li:last').remove();
					$('<li>').append($stay_link).append('<span>&gt;</span>').appendTo('.bass-topicpath-A01');
					$('<li><em></em></li>').find('em').text(cur_year + '年').end().appendTo('.bass-topicpath-A01');

					$local_nav.find('#bass-local-nav-hgroup a').attr('href', $stay_link.attr('href')).text($stay_link.text());
					$local_nav_list.children().remove();

					for (var j = 0; j < year_list.length; j++) {
						var year = year_list[j];
						if (year == cur_year) {
							var $item = $('<li class="bass-local-nav-stay"><em><a></a></em></li>').find('a').attr('href', '?'+year).text(year + '年').end().appendTo($local_nav_list);
						} else {
							var $item = $('<li><a></a></li>').find('a').attr('href', '?'+year).text(year + '年').end().appendTo($local_nav_list);
						}
					}
				} else {
					var $child_nav = $('<ul></ul>').appendTo('.bass-local-nav-stay');
					for (var j = 0; j < year_list.length; j++) {
						var year = year_list[j];
						$('<li><a></a></li>').find('a').attr('href', '?'+year).text(year + '年').end().appendTo($child_nav);
					}
				}

				var $tbody = $pdf_table_tmpl.clone().appendTo($block).find("tbody");
				var $tr_tmpl = $tbody.find("tr").remove();

				for (var i = 0; i < items.length; i++) {
					var item = items[i];
					var $tr = $pdf_tr_tmpl.clone();

					$tr.find(".date").text(item.format_date);

					var url = (item.type != " ") ? item.link : undefined;
					var is_pdf = (item.type == "pdf");
					var is_new_window = (item.new_target == "_blank");

					makeLink($tr.find(".content a"), url, item.title, is_pdf, item.file_size, is_new_window);

					$tbody.append($tr);
				}
			});
		});
	};



	$.KyokutoTanshinPage = function(){
		var $heading_tmpl = $(
			'<div class="bass-heading-A02">' +
			'<h3></h3>' +
			'<!-- /bass-heading-A02 --></div>');

		var $pdf_table_tmpl = $(
			'<div class="bass-table-A01">' +
			'<table>' +
			'<col width="33%" />' +
			'<col width="33%" />' +
			'<col width="33%" />' +
			'<tbody>' +
			'</tbody>' +
			'</table>' +
			'<!-- /bass-table-A01 --></div>');

		var $pdf_tr_tmpl = $(
			'<tr>' +
			'<th></th>' +
			'<td><a href=""></a></td>' +
			'<td><a href=""></a></td>' +
			'</tr>');

		var th_list = [
			'通期',
			'第3四半期',
			'第2四半期',
			'第1四半期'
		];

		var tanshin;
		var material;

		$.RetrievePronexusYearlyTanshin(function(year_list, yearly_items){
			tanshin = { year_list: year_list, yearly_items: yearly_items };
			proc();
		});
		$.RetrievePronexusYearlyMaterial(function(year_list, yearly_items){
			material = { year_list: year_list, yearly_items: yearly_items };
			proc();
		});

		function proc(){
			if (tanshin == undefined || material == undefined) return;

			$(document).ready(function(){
				var $block = $('<div>');
				$('noscript').after($block);
				$('noscript').remove();

				var year_list = tanshin.year_list;
				var yearly_items = tanshin.yearly_items;

				var count = (year_list.length > 4) ? 4 : year_list.length;
				for (var i = 0; i < count; i++) {
					var year = year_list[i];
					var items = yearly_items[year];
					var material_items = material.yearly_items[year];

					var era_year = new Number(year.substring(0,4)) - 1988;
					var mon = new Number(year.substring(4,6));

					var $heading = $heading_tmpl.clone();
					$heading.find('h3').text("平成" + era_year + "年" + mon + "月期");

					var $table = $pdf_table_tmpl.clone();
					var $tbody = $table.find("tbody");

					for (var j = 0; j < items.length; j++) {
						var item = items[j];
						var $tr = $pdf_tr_tmpl.clone();

						$tr.find("th").text(th_list[4-items.length + j]);
						makeLink($tr.find("td:eq(0) a"), item.link_tanshin, "決算短信", true, item.tanshin_size, true);

						if (material_items != undefined) {
							var material_item = material_items[4-items.length + j];
							if (material_item != undefined) {
								makeLink($tr.find("td:eq(1) a"), material_item.link, material_item.title, true, material_item.file_size, true);
							} else {
								$tr.find("td:eq(1) a").remove();
							}
						}

						$tbody.append($tr);
					}

					$block.append($heading);
					$block.append($table);
				}
			});
		}
	};

	$.KyokutoYuhoPage = function(){
		var $heading_tmpl = $(
			'<div class="bass-heading-A02">' +
			'<h3></h3>' +
			'<!-- /bass-heading-A02 --></div>');

		var $pdf_table_tmpl = $(
			'<div class="bass-table-A01">' +
			'<table>' +
			'<col width="33%" />' +
			'<col width="33%" />' +
			'<col width="33%" />' +
			'<tbody>' +
			'</tbody>' +
			'</table>' +
			'<!-- /bass-table-A01 --></div>');

		var $pdf_tr_tmpl = $(
			'<tr>' +
			'<th></th>' +
			'<td><a href=""></a></td>' +
			'<td><a href="" target="_blank"></a></td>' +
			'</tr>');

		$.RetrievePronexusYuho(function(groups){
			$(document).ready(function(){
				var $block = $('<div>');
				$('noscript').after($block);
				$('noscript').remove();

				var count = (groups.length > 4) ? 4 : groups.length;
				for (var i = 0; i < count; i++) {
					var year = groups[i].year;
					var items = groups[i].item;

					var era_year = parseInt(year.substring(0,4)) - 1988;
					var mon = parseInt(year.substring(4,6));

					var $heading = $heading_tmpl.clone();
					$heading.find('h3').text("平成" + era_year + "年" + mon + "月期");

					var $table = $pdf_table_tmpl.clone();
					var $tbody = $table.find("tbody");

					var html_link_list = [
						groups[i].html_url,
						groups[i].shihanki_3q_html_url,
						groups[i].shihanki_2q_html_url,
						groups[i].shihanki_1q_html_url
					];

					for (var j = 0; j < items.length; j++) {
						var item = items[j];
						var $tr = $pdf_tr_tmpl.clone();

						$tr.find("th").text(item.title_yuho_pdf);
						makeLink($tr.find("td:eq(0) a"), item.link_yuho_pdf, "PDF形式", true, item.file_size, true);

						var html_link = html_link_list[4-items.length + j];
						if (html_link != "") {
							$tr.find("td:eq(1) a").attr('href', html_link).text('HTML形式').append('<img src="/asset/img/icon_window_01.png" width="15" height="12" class="bass-icon-A01" alt="">');
						} else {
							$tr.find("td:eq(1) a").remove();
						}

						$tbody.append($tr);
					}

					$block.append($heading);
					$block.append($table);
				}
			});
		});
	};

})(jQuery);

