
// parseUri 1.2.2
// (c) Steven Levithan <stevenlevithan.com>
// MIT License

function parseUri (str) {
	var	o   = parseUri.options,
		m   = o.parser[o.strictMode ? "strict" : "loose"].exec(str),
		uri = {},
		i   = 14;

	while (i--) uri[o.key[i]] = m[i] || "";

	uri[o.q.name] = {};
	uri[o.key[12]].replace(o.q.parser, function ($0, $1, $2) {
		if ($1) uri[o.q.name][$1] = $2;
	});

	return uri;
};

parseUri.options = {
	strictMode: false,
	key: ["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],
	q:   {
		name:   "queryKey",
		parser: /(?:^|&)([^&=]*)=?([^&]*)/g
	},
	parser: {
		strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
		loose:  /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/
	}
};

function getCurrentPage(cur_name)
{
	var ret = 0;
	if($.cookie('current_page')) {
		var cookie_str = $.cookie('current_page');
		var file_array = cookie_str.split(',');
		for(var f in file_array) {
			var f_array = file_array[f].split("=");
			if(f_array[0] == cur_name) {
				ret = parseInt(f_array[1]);
			}
		}
	}
	return ret;
}

function setCurrentPage(cur_name, cur_page)
{
	var name_array = {};
	if($.cookie('current_page')) {
		var cookie_str = $.cookie('current_page');
		var file_array = cookie_str.split(',');
		for(var f in file_array) {
			var f_array = file_array[f].split("=");
			name_array[f_array[0]] = f_array[1];
		}
	}
	var found = false;
	for(var n in name_array) {
		if(n == cur_name) {
			name_array[n] = cur_page;
			found = true;
			break;
		}
	}
	if(!found) {
		name_array[cur_name] = cur_page;
	}
	var cookie_str = "";
	for(var n in name_array) {
		if(cookie_str != "") { cookie_str += ","; }
		cookie_str += n + "=" + name_array[n];
	}
	$.cookie('current_page', cookie_str, { "expire" : "" });
}

var parsed_url = new parseUri(location.href);
var url_file_array = parsed_url.file.split(".");
var current_filename = url_file_array[0];

var base_url = "http://www.nikke.co.jp";
var img_base_url = "http://nikkecojp.sakura.ne.jp";

$(function(){
	var get = getRequest();
	var params = { "left": "none", "main": "none" };
	var path = "./";
	var act_year = 0;
	if(get['ya'] !== undefined) {
		act_year = get['ya'];
	}
	if(get['id'] !== undefined) {
		params['id'] = get['id'];
	}
	if($("#main").data("divisionid") !== undefined) {
		var cur_page = getCurrentPage(current_filename);
		params['offset'] = cur_page * 20;
		params['main'] = $("#main").data("divisionid");
		params['rows'] = 20;
	}
	else if($("#release").data("divisionid") !== undefined) {
		params['main'] = $("#release").data("divisionid");
		params['rows'] = 10;
	}
	else if($("#ir_news").data("divisionid") !== undefined && $("#ir_news").data("divisionid") == "irtop") {
		params['main'] = 2;
		params['rows'] = 5;
	}
	else if($("#ir_news").data("divisionid") !== undefined && $("#ir_news").data("divisionid") == "period") {
		params['period'] = act_year == 0 ? 9999 : act_year;
	}
	else if($("#csr_news").data("divisionid") !== undefined) {
		params['main'] = $("#csr_news").data("divisionid");
		params['pdfm'] = "no";
	}
	if($("#news_section").data("divisionid") !== undefined) {
		params['left'] = $("#news_section").data("divisionid");
	}
	$.getJSON("http://nikkecojp.sakura.ne.jp/json_topics_scm.php?callback=?", params, function(data, status) {

		// detail
		if(params['id'] !== undefined) {
			$("#news_st").append(
				$("<div>").addClass("day").text(base64.decode(data.date, 1))
			).append(
				$("<div>").addClass("content").text(base64.decode(data.title, 1))
			).append($("<div>").addClass("clear"));
			if(data.image1 != "" || data.image2 != "") {
				$("#news_detail").append($("<div>").addClass("image").attr("id", "image_area"));
				if(data.image1 != "") {
					$("#image_area").append($("<img>").attr("src", img_base_url + "/unv_image_scm.php?wd=220&im=" + base64.decode(data.image1, 1)));
				}
				if(data.image1 != "" && data.image2 != "") {
					$("#image_area").append($("<br>"));
				}
				if(data.image2 != "") {
					$("#image_area").append($("<img>").attr("src", img_base_url + "/unv_image_scm.php?wd=220&im=" + base64.decode(data.image2, 1)));
				}
			}
			$("#news_detail").append($("<p>").addClass("text").attr("id", "comment_area").text(base64.decode(data.comment, 1)));
			var txt = $("#comment_area").html();
			txt = txt.replace(/\r\n/g, "<br />");
			txt = txt.replace(/\n|\r/g, "<br />");
			$("#comment_area").html(txt);
			if(data.link != "") {
				$("#news_detail").append($("<p>").addClass("link").append(
					$("<a>").attr("href", base64.decode(data.link, 1)).text(">>詳しくはこちら"))
				);
			}
			if(data.pdf != "") {
				$("#news_detail").append($("<div>").addClass("pdf_bt").append(
					$("<a>").attr("href", base64.decode(data.pdf, 1)).attr("target", "_blank").append(
						$("<img>").attr("src", "img/news_bt01.jpg").attr("alt", "PDFファイル")
				)));
			}
			$("#news_detail").append($("<div>").addClass("back_bt").append(
				$("<a>").attr("href", base64.decode(data.back, 1)).append(
					$("<img>").attr("src", "img/news_bt02.jpg").attr("alt", "一覧に戻る")
			)));
		}

		// main list
		if($("#main").data("divisionid") !== undefined) {
			if(parseInt(data.topics_list_total) > parseInt(data.topics_list_page_rows)) {
				var cur_page = 0;
				if($.cookie('current_page')) {
					cur_page = getCurrentPage(current_filename);
				}
				$("#main").append($("<div>").addClass("pagination").attr("id", "top_pagination"));
				initPagination("#top_pagination", parseInt(data.topics_list_total), cur_page, parseInt(data.topics_list_page_rows));
			}
			$.each(data.topics_list, function(i, row) {
				$("#main").append($("<div>").addClass("news").attr("id", row.id));
				$.each(row.cols, function(i, col) {
					$("#" + row.id).append(
						$("<div>").addClass(col.class_name).html(base64.decode(col.value, 1))
					);
				});
			});
			if(parseInt(data.topics_list_total) > parseInt(data.topics_list_page_rows)) {
				$("#main").append($("<div>").addClass("pagination").attr("id", "bottom_pagination"));
				$("#top_pagination").clone(true).prependTo("#bottom_pagination");
			}
		}

		// top page list
		if($("#release").data("divisionid") !== undefined) {
			$.each(data.topics_list, function(i, row) {
				$("#release").append($("<div>").addClass("news").attr("id", row.id));
				$.each(row.cols, function(i, col) {
					$("#" + row.id).append(
						$("<div>").addClass(col.class_name).html(base64.decode(col.value, 1))
					);
				});
			});
		}

		// ir top page list
		if($("#ir_news").data("divisionid") !== undefined && $("#ir_news").data("divisionid") == "irtop") {
			$.each(data.topics_list, function(i, row) {
				$("#ir_news").append($("<div>").addClass("news").attr("id", row.id));
				$.each(row.cols, function(i, col) {
					$("#" + row.id).append(
						$("<div>").addClass(col.class_name).html(base64.decode(col.value, 1))
					);
				});
			});
		}

		// csr top page list
		if($("#csr_news").data("divisionid") !== undefined) {
			$.each(data.topics_list, function(i, row) {
				$("#csr_news").append($("<div>").addClass("new_box").attr("id", row.id));
				$.each(row.cols, function(i, col) {
					$("#" + row.id).append(
						$("<div>").addClass(col.class_name).html(base64.decode(col.value, 1))
					);
				});
			});
		}

		// ir release page list
		if($("#ir_news").data("divisionid") !== undefined && $("#ir_news").data("divisionid") == "period") {
			if($("#ir_period_title").size() > 0) {
				$("#ir_period_title").text(base64.decode(data.ir_title, 1));
			}
			$.each(data.topics_list, function(i, row) {
				$("#ir_news").append($("<div>").addClass("news").attr("id", row.id));
				$.each(row.cols, function(i, col) {
					$("#" + row.id).append(
						$("<div>").addClass(col.class_name).html(base64.decode(col.value, 1))
					);
				});
			});
		}

		// left sub list
		if($("#news_section").data("divisionid") !== undefined) {
			$.each(data.left_topics_list, function(i, row) {
				$("#news_section").append($("<div>").addClass("news").attr("id", row.id));
				$.each(row.cols, function(i, col) {
					$("#" + row.id).append(
						$("<div>").addClass(col.class_name).html(base64.decode(col.value, 1))
					);
				});
			});
		}

		// ir year list(insertBefore)
		if($("#ir_year_list").size() > 0) {
			$.each(data.ir_year_list, function(i, row) {
				$("<li>").addClass("subnv").append(
					$("<a>").attr("href", base_url + "/ir/release/index.html?ya=" + row.year).append(
						$("<span>").text(row.year + "年")
					)
				).insertBefore("#ir_year_list");
			});
		}

		// ir year list(parent append)
		if($("#ir_year_bottom_list").size() > 0) {
			var par = $("#ir_year_bottom_list").parent();
			$.each(data.ir_year_list, function(i, row) {
				par.append($("<li>").append(
					$("<a>").attr("href", base_url + "/ir/release/index.html?ya=" + row.year).append(
						$("<span>").text(row.year + "年")
					)
				));
			});
		}

		// ir year list with active(insertBefore)
		if($("#ir_year_list_act").size() > 0) {
			$.each(data.ir_year_list, function(i, row) {
				if(act_year == 0) { act_year = row.year; }
				var cls = (act_year == row.year) ? "subnv_active" : "subnv";
				$("<li>").addClass(cls).append(
					$("<a>").attr("href", base_url + "/ir/release/index.html?ya=" + row.year).append(
						$("<span>").text(row.year + "年")
					)
				).insertBefore("#ir_year_list_act");
			});
		}
	});
})

function getRequest(){
	if(location.search.length > 1) {
		var get = new Object();
		var ret = location.search.substr(1).split("&");
		for(var i = 0; i < ret.length; i++) {
			var r = ret[i].split("=");
			get[r[0]] = r[1];
		}
		return get;
	}
	else {
		return false;
	}
}

function initPagination(id_str, num_entries, cur_page, page_rows) {
		$(id_str).pagination(num_entries, {
		current_page: cur_page,
		num_edge_entries: 2,
		num_display_entries: 5,
		callback: paginationCallback,
		items_per_page: page_rows
	});
}

function paginationCallback(page_index, jq) {
	var params = { "main": "none", "offset": "0" };
	params["offset"] = page_index * this.items_per_page;
	params["rows"] = 20;
	if($("#main").data("divisionid") !== undefined) {
		params['main'] = $("#main").data("divisionid");
	}
	else if($("#release").data("divisionid") !== undefined) {
		params['main'] = $("#release").data("divisionid");
	}
	$.getJSON("http://nikkecojp.sakura.ne.jp/json_topics_scm.php?callback=?", params, function(data, status) {
		if($("#main").data("divisionid") !== undefined) {
			var pager = false;
			$("#main .news").remove();
			if($("#bottom_pagination").size() > 0) {
				$("#bottom_pagination").remove();
				pager = true;
			}
			setCurrentPage(current_filename, page_index);
			$.each(data.topics_list, function(i, row) {
				$("#main").append($("<div>").addClass("news").attr("id", row.id));
				$.each(row.cols, function(i, col) {
					$("#" + row.id).append(
						$("<div>").addClass(col.class_name).html(base64.decode(col.value, 1))
					);
				});
			});
			if(pager) {
				$("#main").append($("<div>").addClass("pagination").attr("id", "bottom_pagination"));
				$("#top_pagination").clone(true).prependTo("#bottom_pagination");
			}
		}
	});
	return false;
}


