﻿/**************************************************************
 * [datawrap3.js] XML format data converters and DOM renderers
 *                           for KDDI Research Institute Inc.
 *           initial at 2008.05.12 by Blow Line Inc. rev.1.00
 *          modified at 2008.05.17 by Blow Line Inc. rev.1.10
 *          modified at 2008.05.21 by Blow Line Inc. rev.1.20
 *          modified at 2008.05.28 by Blow Line Inc. rev.1.30
 *          modified at 2008.06.01 by Blow Line Inc. rev.1.40
 *          modified at 2008.06.02 by Blow Line Inc. rev.1.50
 *          modified at 2008.06.12 by Blow Line Inc. rev.1.60
 *          modified at 2008.07.01 by Blow Line Inc. rev.1.70
 *          modified at 2008.07.08 by Blow Line Inc. rev.1.80
 *          modified at 2008.07.23 by Blow Line Inc. rev.1.90
 *          modified at 2008.07.28 by Blow Line Inc. rev.1.91
 *          modified at 2008.07.29 by Blow Line Inc. rev.1.92
 *          modified at 2008.07.29 by Blow Line Inc. rev.1.93
 *          modified at 2009.04.26 by Blow Line Inc. rev.2.00a
 *          modified at 2009.06.11 by Blow Line Inc. rev.2.00b
 *          modified at 2009.09.11 by Blow Line Inc. rev.2.00c
 *          modified at 2010.02.09 by Littel Corp.   rev.2.00d
 *          modified at 2010.04.26 by Littel Corp.   rev.2.00e
 *          modified at 2010.08.21 by Littel Corp.   rev.2.00f
 *          modified at 2010.11.15 by Littel Corp.   rev.2.00g
 * @author : hiroyu-n@blowline.co.jp
 * @maintainer : hiroyu-n@littel.co.jp
**************************************************************/
// window.onload event listening.
if(window.attachEvent){
	window.attachEvent("onload", initDatum);
}else if(window.addEventListener){
	window.addEventListener("load", initDatum, false);
}

// Initial data load trigger.
function initDatum(){
	window.scrollTo(0, 0);
	setConstants();
	prepareVars();
	parseParameters();
	prepareRightBoxes();
	//[begin] Prepare callLater.
	document.ctrlAjax = {};
	document.ctrlAjax.queue = [];
	document.ctrlAjax.queue.push({fnc:initFactDatum, msec:0});
	document.ctrlAjax.queue.push({fnc:initSpecialDatum, msec:200});
	document.ctrlAjax.queue.push({fnc:render_special_rightbox, msec:300});
	//[end] Prepare callLater.
	/*
	initFactDatum();
	initSpecialDatum();
	render_special_rightbox();
	*/
	if(location.pathname=="/books/index.html"){
		//renderBookInformation();
		document.ctrlAjax.queue.push({fnc:renderBookInformation, msec:300});
	}
	chainCaller();
}

function chainCaller(){
	if(document.ctrlAjax.queue.length>0){
		var tmpQueue = document.ctrlAjax.queue.shift();
		setTimeout("chainCaller()", tmpQueue.msec);
		tmpQueue['fnc']();
	}
}

// Preparation strap of ajaxObject and/or XML storage.
function prepareVars(){
	document['ajax_currReportQuery'] = {};//レポートに関する最新のクエリ結果を格納するエントリ
	document['ajax_area'] = {};//地域に関するクエリ結果を格納するエントリ
	document['ajax_writer'] = {};//著者に関するクエリ結果を格納するエントリ
	document['ajax_researchArea'] = {};//研究分野に関するクエリ結果を格納するエントリ
	document['ajax_newArticle'] = {};//新着記事に関するクエリ結果を格納するエントリ
	document['ajax_month'] = {};//レポートの存在する年月のクエリ結果を格納するエントリ
	document['ajax_sp_pref'] = {};//スペシャル コンテンツ設定のクエリ結果を格納するエントリ
	document['ajax_sp_book'] = {};//研究員書籍のクエリ結果を格納するエントリ
	document['ajax_sp_column'] = {};//研究員コラムのクエリ結果を格納するエントリ
	document['ajax_sp_link'] = {};//サイト外リンクのクエリ結果を格納するエントリ
}

function renderBookInformation(){
	var headerEl = document.getElementById("reportIndexHeaderSpan");
	if(headerEl){
		var headerTextEl = document.createTextNode("書籍情報");
		headerEl.appendChild(headerTextEl);
	}
	var targetEl = document.getElementById("bookInfo");
	var bookObj;
	if(targetEl){//[begin] Repair undefined object reference @20100426.
		if(document.params['id']){
			if(document.ajax_sp_book['parsedObj']){
				for(var i=0;i<document.ajax_sp_book.parsedObj.itemsArr.length;i++){
					if(document.ajax_sp_book.parsedObj.itemsArr[i].id==document.params.id){
						bookObj = document.ajax_sp_book.parsedObj.itemsArr[i];
						break;
					}
				}
			}else{
				setTimeout("renderBookInformation()", 300);
				return;
			}
		}//[end] Repair undefined object reference @20100426.
		if(bookObj){
			targetEl.style.width = "430px";
			targetEl.style.marginLeft = "10px";
			var capEl = document.createElement("div");
			capEl.style.width = "100%";
			capEl.style.fontWeight = "bold";
			capEl.style.fontSize = "12px";
			capEl.style.textAlign = "left";
			targetEl.appendChild(capEl);
			var capTextEl = document.createTextNode(bookObj.caption);
			capEl.appendChild(capTextEl);
			var titleEl = document.createElement("div");
			titleEl.style.width = "100%";
			titleEl.style.marginTop = "1em";
			titleEl.style.marginBottom = "0.5em";
			titleEl.style.fontWeight = "bold";
			titleEl.style.fontSize = "18px";
			titleEl.style.textAlign = "center";
			targetEl.appendChild(titleEl);
			var titleTextEl = document.createTextNode(bookObj.title);
			titleEl.appendChild(titleTextEl);
			var imgParentEl = document.createElement("div");
			imgParentEl.style.width = "100%";
			imgParentEl.style.textAlign = "center";
			targetEl.appendChild(imgParentEl);
			var imgEl = document.createElement("img");
			imgEl.src = bookObj.imageHref;
			imgEl.style.cursor = "pointer";
			if(imgEl.attachEvent){
				imgEl.attachEvent("onclick", function(){
					window.open(bookObj.href, "_blank");
				});
			}else if(imgEl.addEventListener){
				imgEl.addEventListener("click", function(){
					window.open(bookObj.href, "_blank");
				}, false);
			}
			imgParentEl.appendChild(imgEl);
			if(bookObj.spec1key!="" || bookObj.spec2key!="" || bookObj.spec3key!="" || bookObj.spec4key!="" || bookObj.spec5key!=""){
				var specTableEl = document.createElement("table");
				specTableEl.style.borderCollapse = "collapse";
				specTableEl.style.border = "none";
				specTableEl.style.margin = "1em";
				specTableEl.style.textAlign = "left";
				targetEl.appendChild(specTableEl);
				var tbodyEl = document.createElement("tbody");
				specTableEl.appendChild(tbodyEl);
				if(bookObj.spec1key!="" && bookObj.spec1key && bookObj.spec1key!="undefined"){
					var tr1El = document.createElement("tr");
					tbodyEl.appendChild(tr1El);
					var td11El = document.createElement("td");
					td11El.style.fontWeight = "bold";
					tr1El.appendChild(td11El);
					var td11TextEl = document.createTextNode(bookObj.spec1key + " : ");
					td11El.appendChild(td11TextEl);
					var td12El = document.createElement("td");
					td12El.style.textIndent = "1em";
					tr1El.appendChild(td12El);
					var td12TextEl = document.createTextNode(bookObj.spec1val);
					td12El.appendChild(td12TextEl);
				}
				if(bookObj.spec2key!="" && bookObj.spec2key!="undefined"){
					var tr2El = document.createElement("tr");
					tbodyEl.appendChild(tr2El);
					var td21El = document.createElement("td");
					td21El.style.fontWeight = "bold";
					tr2El.appendChild(td21El);
					var td21TextEl = document.createTextNode(bookObj.spec2key + " : ");
					td21El.appendChild(td21TextEl);
					var td22El = document.createElement("td");
					td22El.style.textIndent = "1em";
					tr2El.appendChild(td22El);
					var td22TextEl = document.createTextNode(bookObj.spec2val);
					td22El.appendChild(td22TextEl);
				}
				if(bookObj.spec3key!="" && bookObj.spec3key!="undefined"){
					var tr3El = document.createElement("tr");
					tbodyEl.appendChild(tr3El);
					var td31El = document.createElement("td");
					td31El.style.fontWeight = "bold";
					tr3El.appendChild(td31El);
					var td31TextEl = document.createTextNode(bookObj.spec3key + " : ");
					td31El.appendChild(td31TextEl);
					var td32El = document.createElement("td");
					td32El.style.textIndent = "1em";
					tr3El.appendChild(td32El);
					var td32TextEl = document.createTextNode(bookObj.spec3val);
					td32El.appendChild(td32TextEl);
				}
				if(bookObj.spec4key!="" && bookObj.spec4key!="undefined"){
					var tr4El = document.createElement("tr");
					tbodyEl.appendChild(tr4El);
					var td41El = document.createElement("td");
					td41El.style.fontWeight = "bold";
					tr4El.appendChild(td41El);
					var td41TextEl = document.createTextNode(bookObj.spec4key + " : ");
					td41El.appendChild(td41TextEl);
					var td42El = document.createElement("td");
					td42El.style.textIndent = "1em";
					tr4El.appendChild(td42El);
					var td42TextEl = document.createTextNode(bookObj.spec4val);
					td42El.appendChild(td42TextEl);
				}
				if(bookObj.spec5key!="" && bookObj.spec5key!="undefined"){
					var tr5El = document.createElement("tr");
					tbodyEl.appendChild(tr5El);
					var td51El = document.createElement("td");
					td51El.style.fontWeight = "bold";
					tr5El.appendChild(td51El);
					var td51TextEl = document.createTextNode(bookObj.spec5key + " : ");
					td51El.appendChild(td51TextEl);
					var td52El = document.createElement("td");
					td52El.style.textIndent = "1em";
					tr5El.appendChild(td52El);
					var td52TextEl = document.createTextNode(bookObj.spec5val);
					td52El.appendChild(td52TextEl);
				}
			}
			var infoEl = document.createElement("div");
			infoEl.style.width = "100%";
			infoEl.style.border = "solid 1px #cccccc";
			infoEl.style.backgroundColor = "#ebebeb";
			targetEl.appendChild(infoEl);
			var leadTitleEl = document.createElement("div");
			leadTitleEl.style.width = "95%";
			leadTitleEl.style.marginTop = "1em";
			leadTitleEl.style.fontWeight = "bold";
			leadTitleEl.style.fontSize = "13px";
			leadTitleEl.style.textAlign = "center";
			leadTitleEl.style.lineHeight = "1.5em";
			leadTitleEl.style.textDecoration = "underline";
			infoEl.appendChild(leadTitleEl);
			for(var i=0;i<bookObj.leadTitle.split("\n").length;i++){
				var textEl = document.createTextNode(bookObj.leadTitle.split("\n")[i]);
				leadTitleEl.appendChild(textEl);
				if((i+1)!=bookObj.leadTitle.split("\n").length){
					var brEl = document.createElement("br");
					leadTitleEl.appendChild(brEl);
				}
			}
			var leadTextEl = document.createElement("div");
			leadTextEl.style.width = "95%";
			leadTextEl.style.marginTop = "1em";
			leadTextEl.style.marginLeft = "2%";
			leadTextEl.style.lineHeight = "1.5em";
			infoEl.appendChild(leadTextEl);
			//[begin] special book content feature. @2010.02.09
			if(bookObj.leadText.indexOf("<")>-1){
				leadTextEl.innerHTML = bookObj.leadText;
			}else{
				for(var i=0;i<bookObj.leadText.split("\n").length;i++){
					var textEl = document.createTextNode(bookObj.leadText.split("\n")[i]);
					leadTextEl.appendChild(textEl);
					if((i+1)!=bookObj.leadText.split("\n").length){
						var brEl = document.createElement("br");
						leadTextEl.appendChild(brEl);
					}
				}
			}
			//[end] special book content feature. @2010.02.09.
		}
	}
}

function prepareRightBoxes(){
	var reportsEl = document.getElementById("reports");
	// Prepare h2 node.
	var h2El = document.createElement("h2");
	h2El.id = "RightBoxesH2";
	var h2TextEl = document.createTextNode("REPORTS");
	h2El.appendChild(h2TextEl);
	reportsEl.appendChild(h2El);
	// Prepare byCategory Box.
	var box1El = document.createElement("div");
	box1El.id = "byCategory";
	box1El.className = "section";
	reportsEl.appendChild(box1El);
	// Prepare byArea Box.
	var box2El = document.createElement("div");
	box2El.id = "byArea";
	box2El.className = "section";
	reportsEl.appendChild(box2El);
	// Prepare byKeyword Box.
	var box3El = document.createElement("div");
	box3El.id = "byKeyword";
	box3El.className = "section";
	reportsEl.appendChild(box3El);
	render_keywords_rightbox();
	// Prepare byMonth Box.
	var box4El = document.createElement("div");
	box4El.id = "byMonth";
	box4El.className = "section";
	reportsEl.appendChild(box4El);
	// Prepare byPerson Box.
	var box5El = document.createElement("div");
	box5El.id = "byPerson";
	box5El.className = "section";
	reportsEl.appendChild(box5El);
	// Prepare newArticles Box.
	var newsEl = document.getElementById("newsUpdates");
	var h2El = document.createElement("h2");
	var h2TextEl = document.createTextNode("NEWS UPDATE");
	h2El.appendChild(h2TextEl);
	newsEl.appendChild(h2El);
}

function initSpecialDatum(){
	// スペシャル コンテンツのデータを準備する関数。
	var postParam = {category:"special"};
	var store = "tmp";
	if(document['config_specialContents']){
		if(document.config_specialContents['sp_book_enabled']){
			if(document.config_specialContents.sp_book_enabled=="true"){
				postParam['target'] = "book";
				store = "ajax_sp_book";
			}
		}
		if(document.config_specialContents['sp_column_enabled']){
			if(document.config_specialContents.sp_column_enabled=="true"){
				postParam['target'] = "column";
				store = "ajax_sp_column";
			}
		}
		if(document.config_specialContents['sp_link_enabled']){
			if(document.config_specialContents.sp_link_enabled=="true"){
				postParam['target'] = "link";
				store = "ajax_sp_link";
			}
		}
	}
	if(!document.ajax_sp_pref['ajaxText']){
		postParam['target'] = "pref";
		store = "ajax_sp_pref";
	}
	if(store!="tmp"){
		var paramStr = spt_getPostString(postParam);
		getContent("/api/get.api", "POST", paramStr, store, hdlSpecialDatumLoaded);
	}
}

function hdlSpecialDatumLoaded(storeObj){
	var parsedObj = hdlAjax_rev001(storeObj);
	if(parsedObj['query']){
		if(parsedObj.query['category']=="special"){
			switch(parsedObj.query['target']){
				case "pref":
					document.ajax_sp_pref['parsedObj'] = parsedObj;
					document.config_specialContents = {};
					for(var i=0;i<document.ajax_sp_pref.parsedObj.itemsArr.length;i++){
						document.config_specialContents[document.ajax_sp_pref.parsedObj.itemsArr[i]['key']] = document.ajax_sp_pref.parsedObj.itemsArr[i]['value'];
					}
					initSpecialDatum();
					break;
				case "book":
					document.ajax_sp_book['parsedObj'] = parsedObj;
					document.config_specialContents['sp_book_enabled'] = "loaded";
					initSpecialDatum();
					break;
				case "column":
					document.ajax_sp_column['parsedObj'] = parsedObj;
					document.config_specialContents['sp_column_enabled'] = "loaded";
					initSpecialDatum();
					break;
				case "link":
					document.ajax_sp_link['parsedObj'] = parsedObj;
					document.config_specialContents['sp_link_enabled'] = "loaded";
					initSpecialDatum();
					break;
				default:
					break;
			}
		}
	}
}

function render_special_rightbox(){
	if(!document.ajax_sp_pref['parsedObj']){
		setTimeout("render_special_rightbox()", 500);
		return false;
	}
	var magicNumber_feedItem = 5;
	// Prepare SpecialContents boxes.
	var reportsEl = document.getElementById("reports");
	var spEl = document.getElementById("specialContents");
	if(!spEl){
		spEl = document.createElement("div");
		spEl.id = "specialContents";
		spEl.className = "block";
		spEl.style.display = "none";
		var h2El = document.createElement("h2");
		h2El.title = document.ajax_sp_pref.parsedObj.result.timestamp;
		h2El.style.backgroundImage = 'url(../images/hd_spc.jpg)';
		spEl.appendChild(h2El);
		var h2TextEl = document.createTextNode("SPECIAL CONTENTS");
		h2El.appendChild(h2TextEl);
		if(reportsEl){
			reportsEl.parentNode.insertBefore(spEl, reportsEl);
		}
	}
	//[begin] Prepare SpecialContents child boxes.
	if(document['config_specialContents']){
		if(document.config_specialContents['sp_column_enabled']=="true" || document.config_specialContents['sp_column_enabled']=="loaded"){
			var tmpEl = document.getElementById("sp_column");
			if(!tmpEl){
				var columnEl = document.createElement("div");
				columnEl.id = "sp_column";
				columnEl.className = "section";
				columnEl.style.paddingBottom = "10px";
				var columnH3El = document.createElement("h3");
				columnEl.appendChild(columnH3El);
				var columnH3TextEl = document.createTextNode("特別研究員ブログ");
				columnH3El.appendChild(columnH3TextEl);
				spEl.appendChild(columnEl);
			}
		}
		
	}else{
		setTimeout("render_special_rightbox()", 500);
	}
	//[end] Prepare SpecialContents child boxes.
	//研究員ブログRSS
/*	if(document.config_specialContents['sp_column_enabled']=="loaded"){
		var columnEl = document.createElement("div");
		columnEl.id = "sp_column";
		columnEl.className = "section";
		columnEl.style.paddingBottom = "10px";
		var columnH3El = document.createElement("h3");
		columnEl.appendChild(columnH3El);
		var columnH3TextEl = document.createTextNode("特別研究員ブログ");
		columnH3El.appendChild(columnH3TextEl);
		// sort and clean-up source objects.
*/
	var tgt_columnEl = document.getElementById("sp_column");
	if(tgt_columnEl && !document.ajax_sp_column['parsedObj']){
		setTimeout("render_special_rightbox()", 500);
		return false;
	}else if(tgt_columnEl && document.ajax_sp_column['parsedObj']){
		var columnObj = {};
		for(var i=0;i<document.ajax_sp_column.parsedObj.itemsArr.length;i++){
			var currColumnItem = document.ajax_sp_column.parsedObj.itemsArr[i];
			if(!columnObj[currColumnItem.feedPriority]){
				columnObj[currColumnItem.feedPriority] = {title:currColumnItem.feedTitle, author:currColumnItem.feedAuthor, items:[]};
				columnObj[currColumnItem.feedPriority].items.push({title:currColumnItem.itemTitle, href:currColumnItem.itemLink, date:currColumnItem.itemDate});
			}else{
				columnObj[currColumnItem.feedPriority].items.push({title:currColumnItem.itemTitle, href:currColumnItem.itemLink, date:currColumnItem.itemDate});
			}
		}
		// Generate.
		var columnRenderedFlg = false;
		for(var a=0;a<tgt_columnEl.childNodes.length;a++){
			if(tgt_columnEl.childNodes[a].className=="sectionItem"){
				columnRenderedFlg = true;
				break;
			}
		}
		if(!columnRenderedFlg){
			var columnParentEl = document.createElement("div");
			columnParentEl.className = "sectionItem";
			tgt_columnEl.appendChild(columnParentEl);
			var feedParentUlEl = document.createElement("ul");
			columnParentEl.appendChild(feedParentUlEl);
			//for(var i=1;columnObj[String(i)]!=undefined;i++){
			for(var i in columnObj){
				//var currFeed = columnObj[String(i)];
				var currFeed = columnObj[i];
				var liEl = document.createElement("li");
				liEl.style.height = "auto";
				feedParentUlEl.appendChild(liEl);
				var dlEl = document.createElement("dl");
				liEl.appendChild(dlEl);
				var dtEl = document.createElement("dt");
				dtEl.className = "normal";
				dtEl.style.letterSpacing = "1px";
				var dtTextEl = document.createTextNode("『" + currFeed['title'] + "』（" + currFeed['author'] + "）");
				dtEl.appendChild(dtTextEl);
				dlEl.appendChild(dtEl);
				if(dtEl.attachEvent){
					dtEl.attachEvent("onclick", function(){
						var srcEl = window.event.srcElement;
						var childEls = srcEl.parentNode.getElementsByTagName("dd");
						if(srcEl.className=="normal"){
							for(var i=0;i<childEls.length;i++){
								childEls[i].style.display = "block";
							}
							srcEl.className = "opened";
						}else if(srcEl.className=="opened"){
							for(var i=0;i<childEls.length;i++){
								childEls[i].style.display = "none";
							}
							srcEl.className = "normal";
						}
					});
				}else if(dtEl.addEventListener){
					dtEl.addEventListener("click", function(evt){
						var srcEl = evt.currentTarget;
						var childEls = srcEl.parentNode.getElementsByTagName("dd");
						if(srcEl.className=="normal"){
							for(var i=0;i<childEls.length;i++){
								childEls[i].style.display = "block";
							}
							srcEl.className = "opened";
						}else if(srcEl.className=="opened"){
							for(var i=0;i<childEls.length;i++){
								childEls[i].style.display = "none";
							}
							srcEl.className = "normal";
						}
					}, false);
				}
				for(var j=0;j<currFeed['items'].length && j<magicNumber_feedItem;j++){
					var ddEl = document.createElement("dd");
					ddEl.id = "sp_column_linkTo_" + currFeed['items'][j]['href'];
					ddEl.title = currFeed['items'][j]['date'];
					ddEl.style.letterSpacing = "1px";
					ddEl.style.display = "none";
					ddEl.style.height = "auto";
					if(ddEl.attachEvent){
						ddEl.attachEvent("onclick", function(){
							var srcEl = window.event.srcElement;
							var tmp = srcEl.id.split("_");
							var hrefArr = [];
							for(var k=3;k<tmp.length;k++){
								hrefArr.push(tmp[k]);
							}
							window.open(hrefArr.join("_"), "_blank");
						});
					}else if(ddEl.addEventListener){
						ddEl.addEventListener("click", function(evt){
							var srcEl = evt.currentTarget;
							var tmp = srcEl.id.split("_");
							var hrefArr = [];
							for(var k=3;k<tmp.length;k++){
								hrefArr.push(tmp[k]);
							}
							window.open(hrefArr.join("_"), "_blank");
						}, false);
					}
					dlEl.appendChild(ddEl);
					var ddTextEl = document.createTextNode(currFeed['items'][j]['title']);
					ddEl.appendChild(ddTextEl);
				}
			}
			//spEl.appendChild(columnEl);
		}
	}
	if(document.config_specialContents.sp_keyword_enabled=="true" || document.config_specialContents.sp_toranomaki_enabled=="true"){
		if(!document.getElementById("sp_tools")){
			var toolsEl = document.createElement("div");
			toolsEl.id = "sp_tools";
			toolsEl.className = "section";
			toolsEl.style.paddingBottom = "10px";
			var toolsH3El = document.createElement("h3");
			toolsEl.appendChild(toolsH3El);
			var toolsH3TextEl = document.createTextNode("情報通信ツール");
			toolsH3El.appendChild(toolsH3TextEl);
			var toolsUlEl = document.createElement("ul");
			toolsEl.appendChild(toolsUlEl);
			if(document.config_specialContents.sp_keyword_enabled=="true"){
				var kwLiEl = document.createElement("li");
				kwLiEl.id = "sp_tools_linkTo_" + document.config_specialContents.sp_keyword_href;
				if(document.config_specialContents.sp_keyword_href!=""){
					kwLiEl.style.cursor = "pointer";
					if(kwLiEl.attachEvent){
						kwLiEl.attachEvent("onclick", function(){
							debugPrint("Enter event listener.");
							var srcEl = window.event.srcElement;
							while(srcEl.tagName!="LI"){
								srcEl = srcEl.parentNode;
							}
							debugPrint("srcEl.nodeName is '" + srcEl.nodeName + "'.");
							var tmp = srcEl.id.split("_");
							var hrefArr = [];
							for(var k=3;k<tmp.length;k++){
								hrefArr.push(tmp[k]);
							}
							window.open(hrefArr.join("_"), "_blank");
						});
					}else if(kwLiEl.addEventListener){
						kwLiEl.addEventListener("click", function(evt){
							var srcEl = evt.currentTarget;
							var tmp = srcEl.id.split("_");
							var hrefArr = [];
							for(var k=3;k<tmp.length;k++){
								hrefArr.push(tmp[k]);
							}
							window.open(hrefArr.join("_"), "_blank");
						}, false);
					}
				}else{
					kwLiEl.style.cursor = "auto";
				}
				var kwIconEl = document.createElement("img");
				kwIconEl.src = "/images/" + document.config_specialContents.sp_keyword_icon;
				kwLiEl.appendChild(kwIconEl);
				var kwDlEl = document.createElement("dl");
				if(document.config_specialContents.sp_keyword_href==""){
					kwIconEl.style.cursor = "auto";
					kwDlEl.style.cursor = "auto";
				}
				kwDlEl.className = "sectionItem";
				kwLiEl.appendChild(kwDlEl);
				var kwDtEl = document.createElement("dt");
				kwDlEl.appendChild(kwDtEl);
				var kwDtTextEl = document.createTextNode("情報通信キーワード");
				kwDtEl.appendChild(kwDtTextEl);
				var kwDdEl = document.createElement("dd");
				kwDlEl.appendChild(kwDdEl);
				var kwDdTextEl = document.createTextNode(document.config_specialContents.sp_keyword_description);
				kwDdEl.appendChild(kwDdTextEl);
				toolsUlEl.appendChild(kwLiEl);
			}
			if(document.config_specialContents.sp_toranomaki_enabled=="true"){
				var ttLiEl = document.createElement("li");
				ttLiEl.id = "sp_tools_linkTo_" + document.config_specialContents.sp_toranomaki_href;
				if(document.config_specialContents.sp_toranomaki_href!=""){
					ttLiEl.style.cursor = "pointer";
					if(ttLiEl.attachEvent){
						ttLiEl.attachEvent("onclick", function(){
							debugPrint("Enter event listener.");
							var srcEl = window.event.srcElement;
							while(srcEl.tagName!="LI"){
								srcEl = srcEl.parentNode;
							}
							debugPrint("srcEl.nodeName is '" + srcEl.nodeName + "'.");
							var tmp = srcEl.id.split("_");
							var hrefArr = [];
							for(var k=3;k<tmp.length;k++){
								hrefArr.push(tmp[k]);
							}
							window.open(hrefArr.join("_"), "_blank");
						});
					}else if(ttLiEl.addEventListener){
						ttLiEl.addEventListener("click", function(evt){
							var srcEl = evt.currentTarget;
							var tmp = srcEl.id.split("_");
							var hrefArr = [];
							for(var k=3;k<tmp.length;k++){
								hrefArr.push(tmp[k]);
							}
							window.open(hrefArr.join("_"), "_blank");
						}, false);
					}
				}else{
					ttLiEl.style.cursor = "auto";
				}
				var ttIconEl = document.createElement("img");
				ttIconEl.src = "/images/" + document.config_specialContents.sp_toranomaki_icon;
				ttLiEl.appendChild(ttIconEl);
				var ttDlEl = document.createElement("dl");
				if(document.config_specialContents.sp_toranomaki_href==""){
					ttIconEl.style.cursor = "auto";
					ttDlEl.style.cursor = "auto";
				}
				ttDlEl.className = "sectionItem";
				ttLiEl.appendChild(ttDlEl);
				var ttDtEl = document.createElement("dt");
				ttDlEl.appendChild(ttDtEl);
				var ttDtTextEl = document.createTextNode("テレコミュニケーション虎の巻");
				ttDtEl.appendChild(ttDtTextEl);
				var ttDdEl = document.createElement("dd");
				ttDlEl.appendChild(ttDdEl);
				var ttDdTextEl = document.createTextNode(document.config_specialContents.sp_toranomaki_description);
				ttDdEl.appendChild(ttDdTextEl);
				toolsUlEl.appendChild(ttLiEl);
			}
			spEl.appendChild(toolsEl);
		}
	}
	// render book section.
	if(document.config_specialContents['sp_book_enabled']=="true" || document.config_specialContents['sp_book_enabled']=="loaded"){
		var tmpEl = document.getElementById("sp_book");
		if(!tmpEl){
			var bookEl = document.createElement("div");
			bookEl.id = "sp_book";
			bookEl.className = "section";
			bookEl.style.paddingBottom = "10px";
			var bookH3El = document.createElement("h3");
			bookEl.appendChild(bookH3El);
			var bookH3TextEl = document.createTextNode("研究員の成果");
			bookH3El.appendChild(bookH3TextEl);
			//h2El.appendChild(bookEl);
			spEl.appendChild(bookEl);
		}
	}
	if(document.config_specialContents['sp_book_enabled']=="true"){
		setTimeout("render_special_rightbox()", 500);
	}else if(document.config_specialContents['sp_book_enabled']=="loaded"){
		var bookEl = document.getElementById("sp_book");
		var ulEl = document.createElement("ul");
		bookEl.appendChild(ulEl);
		for(var i=0;i<document.ajax_sp_book.parsedObj.itemsArr.length;i++){
			var currBookObj = document.ajax_sp_book.parsedObj.itemsArr[i];
			var liEl = document.createElement("li");
			liEl.title = currBookObj.caption;
			liEl.id = "sp_book_" + currBookObj.id;
			liEl.style.height = "auto";
			liEl.style.paddingLeft = "10px";
			liEl.style.backgroundImage = 'url(../images/ulstyle1.gif)';
			liEl.style.backgroundRepeat = "no-repeat";
			liEl.style.cursor = "pointer";
			liEl.style.fontSize = "12px";
			if(liEl.attachEvent){
				liEl.attachEvent("onclick", function(){
					var srcEl = window.event.srcElement;
					if(srcEl['id']){
						var tmp = srcEl.id.split("_");
						if(tmp.length==3){
							location.href = "http://" + location.host + "/books/index.html?id=" + tmp[2];
						}
					}
				});
			}else if(liEl.addEventListener){
				liEl.addEventListener("click", function(evt){
					var srcEl = evt.currentTarget;
					if(srcEl['id']){
						var tmp = srcEl.id.split("_");
						if(tmp.length==3){
							location.href = "http://" + location.host  +"/books/index.html?id=" + tmp[2];
						}
					}
				}, false);
			}
			var liTextEl = document.createTextNode(currBookObj.title + " (" + currBookObj.author + ")");
			liEl.appendChild(liTextEl);
			ulEl.appendChild(liEl);
		}
		spEl.appendChild(bookEl);
	}
	//サイト外リンク
	if(document.config_specialContents['sp_link_enabled']=="loaded"){
		if(!document.getElementById("sp_link")){
			var linkEl = document.createElement("div");
			linkEl.id = "sp_link";
			linkEl.className = "section";
			linkEl.style.paddingBottom = "10px";
			var linkH3El = document.createElement("h3");
			linkEl.appendChild(linkH3El);
			var linkH3TextEl = document.createTextNode("リンク");
			linkH3El.appendChild(linkH3TextEl);
			// sort and clean-up source objects.
			var linkObj = {};
			for(var i=0;i<document.ajax_sp_link.parsedObj.itemsArr.length;i++){
				var currLinkItem = document.ajax_sp_link.parsedObj.itemsArr[i];
				if(!linkObj[currLinkItem.categoryPriority]){
					linkObj[currLinkItem.categoryPriority] = {title:currLinkItem.categoryText, items:[]};
					linkObj[currLinkItem.categoryPriority].items.push({title:currLinkItem.title, href:currLinkItem.href});
				}else{
					linkObj[currLinkItem.categoryPriority].items.push({title:currLinkItem.title, href:currLinkItem.href});
				}
			}
			// Generate.
			var linkParentEl = document.createElement("div");
			linkParentEl.className = "sectionItem";
			linkEl.appendChild(linkParentEl);
			var linkParentUlEl = document.createElement("ul");
			linkParentEl.appendChild(linkParentUlEl);
			for(var i=1;linkObj[String(i)]!=undefined;i++){
				var currLink = linkObj[String(i)];
				var liEl = document.createElement("li");
				liEl.style.height = "auto";
				linkParentUlEl.appendChild(liEl);
				var dlEl = document.createElement("dl");
				liEl.appendChild(dlEl);
				var dtEl = document.createElement("dt");
				dtEl.className = "normal";
				dtEl.style.letterSpacing = "1px";
				var dtTextEl = document.createTextNode(currLink['title']);
				dtEl.appendChild(dtTextEl);
				dlEl.appendChild(dtEl);
				if(dtEl.attachEvent){
					dtEl.attachEvent("onclick", function(){
						var srcEl = window.event.srcElement;
						var childEls = srcEl.parentNode.getElementsByTagName("dd");
						if(srcEl.className=="normal"){
							for(var i=0;i<childEls.length;i++){
								childEls[i].style.display = "block";
							}
							srcEl.className = "opened";
						}else if(srcEl.className=="opened"){
							for(var i=0;i<childEls.length;i++){
								childEls[i].style.display = "none";
							}
							srcEl.className = "normal";
						}
					});
				}else if(dtEl.addEventListener){
					dtEl.addEventListener("click", function(evt){
						var srcEl = evt.currentTarget;
						var childEls = srcEl.parentNode.getElementsByTagName("dd");
						if(srcEl.className=="normal"){
							for(var i=0;i<childEls.length;i++){
								childEls[i].style.display = "block";
							}
							srcEl.className = "opened";
						}else if(srcEl.className=="opened"){
							for(var i=0;i<childEls.length;i++){
								childEls[i].style.display = "none";
							}
							srcEl.className = "normal";
						}
					}, false);
				}
				for(var j=0;j<currLink['items'].length;j++){
					var ddEl = document.createElement("dd");
					ddEl.id = "sp_link_linkTo_" + currLink['items'][j]['href'];
					ddEl.style.letterSpacing = "1px";
					ddEl.style.display = "none";
					ddEl.style.height = "auto";
					if(ddEl.attachEvent){
						ddEl.attachEvent("onclick", function(){
							var srcEl = window.event.srcElement;
							var tmp = srcEl.id.split("_");
							var hrefArr = [];
							for(var k=3;k<tmp.length;k++){
								hrefArr.push(tmp[k]);
							}
							window.open(hrefArr.join("_"), "_blank");
						});
					}else if(ddEl.addEventListener){
						ddEl.addEventListener("click", function(evt){
							var srcEl = evt.currentTarget;
							var tmp = srcEl.id.split("_");
							var hrefArr = [];
							for(var k=3;k<tmp.length;k++){
								hrefArr.push(tmp[k]);
							}
							window.open(hrefArr.join("_"), "_blank");
						}, false);
					}
					dlEl.appendChild(ddEl);
					var ddTextEl = document.createTextNode(currLink['items'][j]['title']);
					ddEl.appendChild(ddTextEl);
				}
			}
			spEl.appendChild(linkEl);
		}
	}
	spEl.style.display = "block";
	// Call Nextcom initializer. (Addition for Nextcom @20100225)
	var ncCmnEl = document.getElementById("ncNewsCmn");
	initNcRightPane();
	// Call Nextcom initializer. (Addition for Nextcom @20100225)
}

function initFactDatum(){
	// 地域、研究分野、著者の一覧ファクト データを準備する関数。
	// Prepare POST datum of area.
	var postParam = {};
	var store = "tmp";
	if(!document.ajax_area['ajaxText']){
		postParam['category'] = "area";
		store = "ajax_area";
	}else if(!document.ajax_researchArea['ajaxText']){
		postParam['category'] = "researchArea";
		store = "ajax_researchArea";
	}else if(!document.ajax_writer['ajaxText']){
		postParam['category'] = "writer";
		store = "ajax_writer";
	}else if(!document.ajax_newArticle['ajaxText']){
		postParam['category'] = "newArticle";
		store = "ajax_newArticle";
	}else if(!document.ajax_month['ajaxText']){
		postParam['category'] = "month";
		store = "ajax_month";
	}
	if(store!="tmp"){
		var paramStr = spt_getPostString(postParam);
		getContent("/api/get.api", "POST", paramStr, store, hdlFactDatumLoaded);
	}
}

function hdlFactDatumLoaded(storeObj){
	var parsedObj = hdlAjax_rev001(storeObj);
	if(parsedObj['query']){
		if(parsedObj.query['category']){
			switch(parsedObj.query.category){
				case "area":
					document.ajax_area['parsedObj'] = parsedObj;
					render_area_rightbox();
					initFactDatum();
					break;
				case "researchArea":
					document.ajax_researchArea['parsedObj'] = parsedObj;
					render_category_rightbox();
					initFactDatum();
					break;
				case "writer":
					document.ajax_writer['parsedObj'] = parsedObj;
					//printDebug("call render_writer_rightbox().");
					render_writer_rightbox();
					initFactDatum();
					break;
				case "newArticle":
					document.ajax_newArticle['parsedObj'] = parsedObj;
					render_newArticle_rightbox();
					initFactDatum();
					break;
				case "month":
					document.ajax_month['parsedObj'] = parsedObj;
					render_months_rightbox();
					initFactDatum();
					break;
				case "special":
					document.ajax_special['parsedObj'] = parsedObj;
					render_special_rightbox();
					initFactDatum();
					break;
				default:
					break;
			}
			if(document.ajax_area.parsedObj && document.ajax_researchArea.parsedObj && document.ajax_writer.parsedObj && document.ajax_month.parsedObj && !document.ajax_currReportQuery.parsedObj && (location.pathname=="/RA/rplist.html" || location.pathname=="/" || location.pathname=="/test/rplist.html" || location.pathname.indexOf("/aboutus/")>-1)){
				// Get datum of reports with params.
				var postParams = spt_genReportQuery();
				getContent("/api/get.api", "POST", spt_getPostString(postParams), "ajax_currReportQuery", hdlReportLoadComplete);
			}
		}
	}
}

function hdlReportLoadComplete(storeObj){
	var parsedObj = hdlAjax_rev001(storeObj);
	if(parsedObj['query']){
		if(parsedObj.query['category']){
			if(parsedObj.query.category=="report"){
				document.ajax_currReportQuery['parsedObj'] = parsedObj;
				if(parsedObj.query['place']){
					if(parsedObj.query.place=="home"){
						render_reports_home();
					}
				}else{
					render_reports();
				}
			}
		}
	}
}

function spt_genReportQuery(){
	var postParamsObj = {};
	postParamsObj['category'] = "report";
	if(location.pathname=="/"){
		postParamsObj['place'] = "home";
	}else if(document.params['raId']){
		postParamsObj['researchArea_id'] = document.params.raId;
	}else if(document.params['areaId']){
		postParamsObj['area_id'] = document.params.areaId;
	}else if(document.params['mod']){
		postParamsObj['modified'] = document.params.mod;
	}else if(document.params['writerId']){
		postParamsObj['writerId'] = document.params.writerId;
	}else if(document.params['kwStr']){
		postParamsObj['kwStr'] = document.params.kwStr;
	}else if(document.params['id']){
		postParamsObj['id'] = document.params.id;
	}
	return postParamsObj;
}

function render_reports_home(){
	var masterEl = document.getElementById("latestReports");
	var h2El = document.createElement("h2");
	h2El.title = "Last retrive at " + document.ajax_currReportQuery.parsedObj.result.timestamp;
	masterEl.appendChild(h2El);
	var h2TextEl = document.createTextNode("LATEST REPORTS");
	h2El.appendChild(h2TextEl);
	// Prepare reports order for displaying.
	var tmpReportObj = [];
	for(var i=0;i<document.ajax_currReportQuery.parsedObj.itemsArr.length;i++){
		var currRpt = document.ajax_currReportQuery.parsedObj.itemsArr[i];
		switch(currRpt.researchAreaId){
			case "2"://制度研究
				currRpt['sortOrder'] = 1;
				currRpt['headerText'] = "制度研究";
				break;
			case "1"://市場分析
				currRpt['sortOrder'] = 2;
				currRpt['headerText'] = "市場分析";
				break;
			case "5"://コンテンツメディア分野
				currRpt['sortOrder'] = 3;
				currRpt['headerText'] = "コンテンツメディア分野";
				break;
			case "4"://市場環境分野
				currRpt['sortOrder'] = 4;
				currRpt['headerText'] = "市場環境分野";
				break;
			case "3"://その他
				currRpt['sortOrder'] = 5;
				currRpt['headerText'] = "その他";
				break;
			default:
				break;
		}
		tmpReportObj.push(currRpt);
	}
	tmpReportObj.sort(
		function(x, y){
			if(x.sortOrder!=undefined && y.sortOrder!=undefined){
				if(x.sortOrder < y.sortOrder){
					return -1;
				}else if(x.sortOrder==y.sortOrder){
					return 0;
				}
			}
			return 1;
		});
	// Render the top report of each researchArea.
	for(var j=0;j<tmpReportObj.length;j++){
		var currTmpRpt = tmpReportObj[j];
		var sectionEl = document.createElement("div");
		sectionEl.className = "section";
		var h3El = document.createElement("h3");
		var h3TextEl = document.createTextNode(currTmpRpt.headerText);
		h3El.appendChild(h3TextEl);
		sectionEl.appendChild(h3El);
		var sectionItemEl = spt_renderHeadFeaturedReport(currTmpRpt);
		sectionEl.appendChild(sectionItemEl);
		masterEl.appendChild(sectionEl);
	}
}

function render_reports(sortOrder){
	if(document.params['place']){
		if(document.params.place=="home"){
			render_reports_home();
			return true;
		}
	}
	if(!sortOrder){
		sortOrder = "default";
	}
	var magicNumber_headFeature = 5;
	var magicNumber_reportsPerPage = 10;
	var masterEl = document.getElementById("reportIndex");
	if(masterEl){
		// Prepare static header elements.
		var reportIndexHeaderEl = document.getElementById("reportIndexHeader");
		if(reportIndexHeaderEl){
			reportIndexHeaderEl.title = "Last retrive at " + document.ajax_currReportQuery.parsedObj.result.timestamp;
		}
		var reportIndexHeaderSpanEl = document.getElementById("reportIndexHeaderSpan");
		if(reportIndexHeaderSpanEl && reportIndexHeaderSpanEl.innerHTML==""){
			var hitCount = String(document.ajax_currReportQuery.parsedObj.itemsArr.length);
			if(document.params['raId']){
				var condText = "";
				for(var i=0;i<document.ajax_researchArea.parsedObj.itemsArr.length;i++){
					if(document.ajax_researchArea.parsedObj.itemsArr[i].id==document.params.raId){
						condText = document.ajax_researchArea.parsedObj.itemsArr[i].ja;
					}
				}
				var spanTextEl = document.createTextNode("レポート一覧 （分野検索：" + condText + "）：" + hitCount + "件");
			}else if(document.params['areaId']){
				var condText = "";
				for(var i=0;i<document.ajax_area.parsedObj.itemsArr.length;i++){
					if(document.ajax_area.parsedObj.itemsArr[i].id==document.params.areaId){
						condText = document.ajax_area.parsedObj.itemsArr[i].ja;
					}
				}
				var spanTextEl = document.createTextNode("レポート一覧 （地域検索：" + condText + "）：" + hitCount + "件");
			}else if(document.params['mod']){
				var spanTextEl = document.createTextNode("レポート一覧 （発行年月検索：" + document.params.mod.substr(0,4) + "年" + document.params.mod.substr(4,2) + "月）：" + hitCount + "件");
			}else if(document.params['writerId']){
				var condText = ""
				for(var i=0;i<document.ajax_writer.parsedObj.itemsArr.length;i++){
					var currWriter = document.ajax_writer.parsedObj.itemsArr[i];
					if(currWriter.anchorKey==document.params.writerId){
						condText = currWriter.surName + " " + currWriter.middleName + " " + currWriter.personalName;
					}
				}
				var spanTextEl = document.createTextNode("レポート一覧 （執筆者検索：" + condText + "）：" + hitCount + "件");
			}else if(document.params['kwStr']){
				var spanTextEl = document.createTextNode("レポート一覧 （キーワード検索：" + decodeURIComponent(document.params.kwStr)+ "）：" + hitCount + "件");
			}else if(document.params['id']){
				var spanTextEl = document.createTextNode("レポート一覧 （レポート1件全文表示）");
			}else{
				var spanTextEl = document.createTextNode("レポート一覧");//分岐予定
			}
			reportIndexHeaderSpanEl.appendChild(spanTextEl);
		}
		// No element caution.
		var reportPageCanvasEl = document.getElementById("reportPageCanvas");
		if(document.ajax_currReportQuery.parsedObj.itemsArr.length==0){
			var cautionEl = document.createElement("div");
			cautionEl.className = "caution";
			//masterEl.appendChild(cautionEl);
			reportPageCanvasEl.appendChild(cautionEl);
			var cautionPEl = document.createElement("p");
			var cautionPTextEl = document.createTextNode("検索したところ、該当レポートはございませんでした。再度検索してください。");
			cautionPEl.appendChild(cautionPTextEl);
			cautionEl.appendChild(cautionPEl);
			return true;
		}
		// Sort reports by released date on default.
		if(!document['report_sortBtn']){
			document.report_sortBtn = {area:false, researchArea:false, author:false, renderFlag:true};
		}
		switch(sortOrder){
			case "area"://by area word unicode and release date.
				document.ajax_currReportQuery.parsedObj.itemsArr.sort(_spt_sortReport_byArea);
				break;
			case "researchArea"://by researchArea code and release date.
				document.ajax_currReportQuery.parsedObj.itemsArr.sort(_spt_sortReport_byResearchArea);
				break;
			case "author"://by author indexText unicode and release date.
				document.ajax_currReportQuery.parsedObj.itemsArr.sort(_spt_sortReport_byAuthor);
				break;
			case "default"://only by release date.
				document.ajax_currReportQuery.parsedObj.itemsArr.sort(_spt_sortReport_byReleaseDate);
				break;
			default:
				break;
		}
		// Clean up indexPage?? elements.
		if(reportPageCanvasEl){
			reportPageCanvasEl.innerHTML = "";
		}
		// Not implement pageCounterHeader element.
		if(document.ajax_currReportQuery.parsedObj.itemsArr.length>1){
			/*var pEl = document.createElement("p");
			pEl.className = "reportOrderDisp";
			//masterEl.appendChild(pEl);
			reportPageCanvasEl.appendChild(pEl);
			var pTextEl = document.createTextNode("（一覧は最新のものから指定条件と日付でソートされています）");
			pEl.appendChild(pTextEl);*/
			var sortOptions = _spt_renderSortOpts();
			var canvasEl = document.getElementById("reportPageCanvas");
			if(canvasEl && sortOptions){
				var selectParentEl = document.createElement("div");
				selectParentEl.style.textAlign = "right";
				canvasEl.appendChild(selectParentEl);
				var btnParentEl = document.createElement("select");
				btnParentEl.id = "sortOptionSelect";
				selectParentEl.appendChild(btnParentEl);
				for(var i=0;i<sortOptions.length;i++){
					btnParentEl.appendChild(sortOptions[i]);
				}
				if(document.report_sortBtn.area===true){
					document.getElementById("sortSelectOpt_area").selected = "selected";
				}else if(document.report_sortBtn.researchArea===true){
					document.getElementById("sortSelectOpt_researchArea").selected = "selected";
				}else if(document.report_sortBtn.author===true){
					document.getElementById("sortSelectOpt_author").selected = "selected";
				}else{//default
					//document.getElementById("sortSelectOpt_default").selected = "selected";
					document.getElementById("sortOptionSelect").selectedIndex = 0;
				}
				var text1El = document.createTextNode("で");
				selectParentEl.appendChild(text1El);
				var runBtnEl = document.createElement("input");
				runBtnEl.type = "button";
				runBtnEl.value = "並び替える";
				if(runBtnEl.attachEvent){
					runBtnEl.attachEvent("onclick", function(){
						var selectEl = document.getElementById("sortOptionSelect");
						switch(selectEl.options[selectEl.selectedIndex].value){
							case "default":
								hdlClick_sortAddition_byReleaseDate();
								break;
							case "area":
								hdlClick_sortAddition_byArea();
								break;
							case "researchArea":
								hdlClick_sortAddition_byResearchArea();
								break;
							case "author":
								hdlClick_sortAddition_byAuthor();
								break;
							case "":
								hdlClick_sortAddition_byReleaseDate();
								break;
							default:
								break;
						}
					});
				}else if(runBtnEl.addEventListener){
					runBtnEl.addEventListener("click", function(){
						var selectEl = document.getElementById("sortOptionSelect");
						switch(selectEl.options[selectEl.selectedIndex].value){
							case "default":
								hdlClick_sortAddition_byReleaseDate();
								break;
							case "area":
								hdlClick_sortAddition_byArea();
								break;
							case "researchArea":
								hdlClick_sortAddition_byResearchArea();
								break;
							case "author":
								hdlClick_sortAddition_byAuthor();
								break;
							case "":
								_spt_sortReport_byReleaseDate();
							default:
								break;
						}
					}, false);
				}
				selectParentEl.appendChild(runBtnEl);
			}
		}
		// Generate indexPage.
		var indexPageToll = document.ajax_currReportQuery.parsedObj.itemsArr.length / magicNumber_reportsPerPage;
		for(var i=0;i<indexPageToll;i++){
			var targetItemsArr = document.ajax_currReportQuery.parsedObj.itemsArr.slice(Math.floor(i)*magicNumber_reportsPerPage, (Math.floor(i)+1)*magicNumber_reportsPerPage);
			var indexPageEl = document.createElement("div");
			indexPageEl.id = "indexPage" + String(i+1);
			indexPageEl.className = "page";
			if(i==0){
				indexPageEl.style.display = "block";
				indexPageEl.style.visibility = "visible";
			}else{
				indexPageEl.style.display = "none";
			}
			masterEl.appendChild(indexPageEl);
			var sectionEl = document.createElement("div");
			sectionEl.className = "section";
			indexPageEl.appendChild(sectionEl);
			// Generate item.
			var blockEl = document.createElement("div");
			blockEl.className = "block";
			var ulEl = document.createElement("ul");
			for(var j=0;j<targetItemsArr.length;j++){
				if(i==0 && j<magicNumber_headFeature){
					var currItem = targetItemsArr[j];
					var currEl = spt_renderHeadFeaturedReport(currItem);
					if(currEl){
						sectionEl.appendChild(currEl);
					}
				}else{
					var currItem = targetItemsArr[j];
					var currEl = spt_renderNormalReport(currItem);
					if(currEl){
						ulEl.appendChild(currEl);
					}
				}
			}
			if(sectionEl.childNodes.length!=0){
				indexPageEl.appendChild(sectionEl);
			}
			if(ulEl.childNodes.length!=0){
				blockEl.appendChild(ulEl);
				indexPageEl.appendChild(blockEl);
			}
			//masterEl.appendChild(indexPageEl);
			reportPageCanvasEl.appendChild(indexPageEl);
			if(i==0){
				indexPageEl.style.display = "block";
			}
		}
	}
	if(indexPageToll > 1){
		document.getElementById("indexPage1").style.display = "block";
		document.getElementById("indexPage1").style.visibility = "visible";
		var reportIndexNaviEl = document.getElementById("reportIndexNavi");
		if(reportIndexNaviEl){
			reportIndexNaviEl.style.display = "block";
			reportIndexNaviEl.style.visibility = "visible";
			document.currNavigatedPage = 1;
		}
	}
}

function _spt_renderSortOpts(){
	var optElArr = [];
	if(document['report_sortBtn']){//document.report_sortBtn = {area:false, researchArea:false, author:false, renderFlag:true}
		if(document.report_sortBtn['renderFlag']){
			//デフォルト オプション
			var tmpBtn0El = document.createElement("option");
			tmpBtn0El.id = "sortSelectOpt_default";
			tmpBtn0El.value = "default";
			var tmpBtn0TextEl = document.createTextNode("発行日");
			tmpBtn0El.appendChild(tmpBtn0TextEl);
			optElArr.push(tmpBtn0El);
			//地域オプション
			if(!document.params['areaId']){
				var tmpBtn1El = document.createElement("option");
				tmpBtn1El.id = "sortSelectOpt_area";
				tmpBtn1El.value = "area";
				var tmpBtn1TextEl = document.createTextNode("地域");
				tmpBtn1El.appendChild(tmpBtn1TextEl);
				optElArr.push(tmpBtn1El);
			}
			//研究領域オプション
			if(!document.params['raId']){
				var tmpBtn2El = document.createElement("option");
				tmpBtn2El.id = "sortSelectOpt_researchArea";
				tmpBtn2El.value = "researchArea";
				var tmpBtn2TextEl = document.createTextNode("研究領域");
				tmpBtn2El.appendChild(tmpBtn2TextEl);
				optElArr.push(tmpBtn2El);
			}
			//筆者名オプション
			if(!document.params['writerId']){
				var tmpBtn3El = document.createElement("option");
				tmpBtn3El.id = "sortSelectOpt_author";
				tmpBtn3El.value = "author";
				var tmpBtn3TextEl = document.createTextNode("執筆者");
				tmpBtn3El.appendChild(tmpBtn3TextEl);
				optElArr.push(tmpBtn3El);
			}
		}
	}
	return optElArr;
}

function hdlClick_sortAddition_byArea(evt){
	var srcEl = document.getElementById("sortBtn_area");
	if(document.report_sortBtn.area==true){
		document.report_sortBtn.area = false;
	}else if(document.report_sortBtn.area==false){
		document.report_sortBtn.area = true;
	}
	debugPrint(String(document.report_sortBtn.area));
	if(document.report_sortBtn.area==true){
		document.report_sortBtn = {area:true, author:false, researchArea:false, renderFlag:true};
		render_reports("area");
	}else{
		document.report_sortBtn = {area:false, author:false, researchArea:false, renderFlag:true};
		render_reports("default");
	}
}

function hdlClick_sortAddition_byResearchArea(evt){
	//var srcEl = document.getElementById("sortBtn_researchArea");
	if(!document.ajax_researchArea.parsedObj.itemsArr[0]['priority']){
		for(var i=0;i<document.ajax_researchArea.parsedObj.itemsArr.length;i++){
			switch(document.ajax_researchArea.parsedObj.itemsArr[i].ja){
				case "制度研究":
					document.ajax_researchArea.parsedObj.itemsArr[i]['priority'] = "1";
					break;
				case "市場分析":
					document.ajax_researchArea.parsedObj.itemsArr[i]['priority'] = "2";
					break;
				case "コンテンツメディア分野":
					document.ajax_researchArea.parsedObj.itemsArr[i]['priority'] = "3";
					break;
				case "市場環境分野":
					document.ajax_researchArea.parsedObj.itemsArr[i]['priority'] = "4";
					break;
				case "その他":
					document.ajax_researchArea.parsedObj.itemsArr[i]['priority'] = "5";
					break;
				default:
					break;
			}
		}
	}
	if(document.report_sortBtn.researchArea==true){
		document.report_sortBtn.researchArea = false;
	}else if(document.report_sortBtn.researchArea==false){
		document.report_sortBtn.researchArea = true;
	}
	if(document.report_sortBtn.researchArea==true){
		document.report_sortBtn = {area:false, author:false, researchArea:true, renderFlag:true};
		render_reports("researchArea");
	}else{
		document.report_sortBtn = {area:false, author:false, researchArea:false, renderFlag:true};
		render_reports("default");
	}
}

function hdlClick_sortAddition_byAuthor(evt){
	var srcEl = document.getElementById("sortBtn_author");
	if(document.report_sortBtn.author==true){
		document.report_sortBtn.author = false;
	}else if(document.report_sortBtn.author==false){
		document.report_sortBtn.author = true;
	}
	debugPrint(String(document.report_sortBtn.author));
	if(document.report_sortBtn.author==true){
		document.report_sortBtn = {area:false, author:true, researchArea:false, renderFlag:true};
		render_reports("author");
	}else{
		document.report_sortBtn = {area:false, author:false, researchArea:false, renderFlag:true};
		render_reports("default");
	}
}

function hdlClick_sortAddition_byReleaseDate(evt){
	debugPrint(String(document.report_sortBtn.renderFlag));
	if(document.report_sortBtn.renderFlag==true){
		document.report_sortBtn = {area:false, author:false, researchArea:false, renderFlag:true};
		render_reports("default");
	}
}

function _spt_sortReport_byReleaseDate(x, y){
	if(Number(x.released)<Number(y.released)){
		return 1;
	}else{
		return -1;
	}
	return -1;
}

function _spt_sortReport_byArea(x, y){
	// Prepare sort variables.
	var x_areaIds = x.areas.split(";");
	var x_tmpAreaUnicode = "";
	var y_areaIds = y.areas.split(";");
	var y_tmpAreaUnicode = "";
	for(var i=0;i<document.ajax_area.parsedObj.itemsArr.length;i++){
		for(var j=0;j<x_areaIds.length;j++){
			if(document.ajax_area.parsedObj.itemsArr[i].id==x_areaIds[j] && (x_tmpAreaUnicode=="" || x_tmpAreaUnicode>x_areaIds[j].ja)){
				x_tmpAreaUnicode = document.ajax_area.parsedObj.itemsArr[i].ja;
			}
		}
		for(var k=0;k<y_areaIds.length;k++){
			if(document.ajax_area.parsedObj.itemsArr[i].id==y_areaIds[k] && (y_tmpAreaUnicode=="" || y_tmpAreaUnicode>y_areaIds[k].ja)){
				y_tmpAreaUnicode = document.ajax_area.parsedObj.itemsArr[i].ja;
			}
		}
	}
	// Sort.
	if(x_tmpAreaUnicode!="" && y_tmpAreaUnicode!="" && x_tmpAreaUnicode<y_tmpAreaUnicode){
		return -1;
	}else if(x_tmpAreaUnicode=="" && y_tmpAreaUnicode!=""){
		return -1;
	}else if(x_tmpAreaUnicode==y_tmpAreaUnicode){
		if(Number(x.released)<Number(y.released)){
			return 1;
		}else{
			return -1;
		}
	}else{
		return 1;
	}
}

function _spt_sortReport_byResearchArea(x, y){
	// Prepare sort variables.
	var x_raId = x.researchAreaId;
	var x_pri = 0;
	var y_raId = y.researchAreaId;
	var y_pri = 0;
	for(var i=0;i<document.ajax_researchArea.parsedObj.itemsArr.length;i++){
		if(document.ajax_researchArea.parsedObj.itemsArr[i].id==x_raId){
			x_pri = document.ajax_researchArea.parsedObj.itemsArr[i].priority;
		}
		if(document.ajax_researchArea.parsedObj.itemsArr[i].id==y_raId){
			y_pri = document.ajax_researchArea.parsedObj.itemsArr[i].priority;
		}
	}
	// Sort.
	if(x_pri<y_pri){
		return -1;
	}else if(x_pri==y_pri){
		if(Number(x.released)<Number(y.released)){
			return 1;
		}else{
			return -1;
		}
	}else{
		return 1;
	}
}

function _spt_sortReport_byAuthor(x, y){
	// Prepare sort variables.
	var x_authorId = x.writerAnchor;
	var x_Unicode = 0;
	var y_authorId = y.writerAnchor;
	var y_Unicode = 0;
	for(var i=0;i<document.ajax_writer.parsedObj.itemsArr.length;i++){
		var currWriter = document.ajax_writer.parsedObj.itemsArr[i];
		if(currWriter.anchorKey==x_authorId){
			x_Unicode = currWriter.indexText;
		}
		if(currWriter.anchorKey==y_authorId){
			y_Unicode = currWriter.indexText;
		}
	}
	// Sort.
	if(x_Unicode<y_Unicode){
		return -1;
	}else if(x_Unicode==y_Unicode){
		if(Number(x.released)<Number(y.released)){
			return 1;
		}else{
			return -1;
		}
	}else{
		return 1;
	}
}

function EI_getMaxPage(){
	var pages = 0;
	if(document.ajax_currReportQuery.parsedObj.itemsArr){
		pages = Math.ceil(document.ajax_currReportQuery.parsedObj.itemsArr.length / 10);
	}
	return pages;
}

function EI_getCurrPage(){
	if(document['currNavigatedPage']){
		return document.currNavigatedPage;
	}else{
		return 1;
	}
}

function EI_activatePage(index){
	document.currNavigatedPage = index;
	// Prepare temporaly variables.
	var indexStr = String(index);
	var pageElArr = [];
	var tmpDivEls = document.getElementsByTagName("div");
	for(var i=0;i<tmpDivEls.length;i++){
		if(tmpDivEls[i].id.indexOf("indexPage")>-1){
			pageElArr.push(tmpDivEls[i]);
		}
	}
	// Activation.
	var targetPageEl = document.getElementById("indexPage" + indexStr);
	for(var j=0;j<pageElArr.length;j++){
		pageElArr[j].style.visibility = "hidden";
		pageElArr[j].style.display = "none";
	}
	if(targetPageEl){
		targetPageEl.style.display = "block";
		targetPageEl.style.visibility = "visible";
	}
	var reportIndexHeaderEl = document.getElementById("reportIndexHeader");
	if(reportIndexHeaderEl){
		var reportIndexHeaderHeight = 20;
		if(reportIndexHeaderEl['clientHeight']){
			reportIndexHeaderHeight += reportIndexHeaderEl.clientHeight;
		}else{
			reportIndexHeaderHeight += 30;
		}
		scrollTo(0, 290 - reportIndexHeaderHeight);
	}
}

function spt_renderSwfFootCounter(parentObj){
	var divEl = document.createElement("div");
	divEl.id = "pageCountFooter";
	divEl.style.width = "450px";
	divEl.style.height = "30px";
	divEl.style.visibility = "visible";
	parentObj.appendChild(divEl);
	//var swfHtml = embedSwf_Str("EiNavi", "450", "30", "/swf/reportNavigate2.swf", "" );
	//alert(swfHtml);
	embedSwf_DOM("EiNavi", "450", "30", "/swf/reportNavigate2.swf", "", divEl);
}

function hdlActivateIndexPage(clickSrc){
	// Prepare indexPages and clickPoint.
	var tmpDivEls = document.getElementsByTagName("div");
	var indexPageEls = [];
	var currentIndex;
	for(var i=0;i<tmpDivEls.length;i++){
		if(tmpDivEls[i].id){
			if(tmpDivEls[i].id.indexOf("indexPage")>-1){
				indexPageEls.push(tmpDivEls[i]);
				if(tmpDivEls[i].style.display=="block"){
					currentIndex = Number(tmpDivEls[i].id.replace("indexPage", ""));
				}
			}
		}
	}
	var tmpUlEl = document.getElementById("pageCountFooter");
	var liEls = [];
	for(var j=0;j<tmpUlEl.childNodes.length;j++){
		if(tmpUlEl.childNodes[j].nodeName=="LI" || tmpUlEl.childNodes[j].nodeName=="li"){
			liEls.push(tmpUlEl.childNodes[j]);
		}
	}
	// Process by clickSrc.
	switch(clickSrc){
		case "rewind":
			if(currentIndex>1){
				var targetEl = document.getElementById("indexPage" + String(currentIndex-1));
				var currEl = document.getElementById("indexPage" + String(currentIndex));
				var targetLiEl = liEls[currentIndex-1];
				var currLiEl = liEls[currentIndex];
				if(targetEl && currEl){
					currEl.style.display = "none";
					currEl.style.visibility = "hidden";
					targetEl.style.display = "block";
					targetEl.style.visibility = "visible";
					currLiEl.className = "";
					targetLiEl.className = "current";
				}
			}
			break;
		case "forward":
			if(currentIndex<indexPageEls.length){
				var targetEl = document.getElementById("indexPage" + String(currentIndex+1));
				var currEl = document.getElementById("indexPage" + String(currentIndex));
				var targetLiEl = liEls[currentIndex+1];
				var currLiEl = liEls[currentIndex];
				if(targetEl && currEl){
					currEl.style.display = "none";
					currEl.style.visibility = "hidden";
					targetEl.style.display = "block";
					targetEl.style.visibility = "visible";
					currLiEl.className = "";
					targetLiEl.className = "current";
				}
			}
			break;
		default:
			var targetIndexCounter = Number(clickSrc);
			var targetEl = document.getElementById("indexPage" + String(targetIndexCounter));
			var currEl = document.getElementById("indexPage" + String(currentIndex));
			var targetLiEl = liEls[targetIndexCounter];
			var currLiEl = liEls[currentIndex];
			if(targetEl && currEl){
				currEl.style.display = "none";
				currEl.style.visibility = "hidden";
				targetEl.style.display = "block";
				targetEl.style.visibility = "visible";
				currLiEl.className = "";
				targetLiEl.className = "current";
			}
			break;
	}
}

function spt_renderHeadFeaturedReport(itemObj){
	var magicNumber_leadLength = 256;
	var sectionItemEl = document.createElement("div");
	sectionItemEl.className = "sectionItem";
	// Prepare writerObj.
	var writerObj = {};
	for(var i=0;i<document.ajax_writer.parsedObj.itemsArr.length;i++){
		var currWriterObj = document.ajax_writer.parsedObj.itemsArr[i];
		if(currWriterObj.anchorKey==itemObj.writerAnchor){
			writerObj = currWriterObj;
		}
	}
	// Generate photoBox child elements.
	var photoBoxEl = document.createElement("div");
	photoBoxEl.className = "photoBox";
	sectionItemEl.appendChild(photoBoxEl);
	var imgAEl = document.createElement("a");
	imgAEl.href = writerObj.anchorUri;
	imgAEl.style.textDecoration = "none";
	imgAEl.style.borderWidth = "0px";
	if(writerObj.anchorUri.replace(location.protocol + "//" + location.hostname, "").length!=writerObj.anchorUri){
		imgAEl.target = "_blank";
	}else{
		imgAEl.target = "_self";
	}
	photoBoxEl.appendChild(imgAEl);
	var imgEl = document.createElement("img");
	//imgEl.id = "linkTo" + itemObj.writerAnchor;
	imgEl.src = "/staff_photo/70X60/" + writerObj.faceImage;// Initial implementation. This must be writer.faceImage attribute.
	var altText = "";
	altText = [writerObj.surName, writerObj.middleName, writerObj.personalName].join(" ");
	if(altText){
		imgEl.alt = altText;
	}
	imgEl.style.width = "70px";
	imgEl.style.height = "60px";
	imgEl.style.borderWidth = "0px";
	imgAEl.appendChild(imgEl);
	var spanPhEl = document.createElement("span");
	var spanPhTextEl = document.createTextNode(altText);
	spanPhEl.appendChild(spanPhTextEl);
	photoBoxEl.appendChild(spanPhEl);
	// Generate textBox child elements.
	var textBoxEl = document.createElement("div");
	textBoxEl.className = "textBox";
	sectionItemEl.appendChild(textBoxEl);
	var dlEl = document.createElement("dl");
	textBoxEl.appendChild(dlEl);
	var dtEl = document.createElement("dt");
	dtEl.style.color = "black";
	if(!document.params['id'] || location.pathname=="/"){
		var dtAEl = document.createElement("a");
		dtAEl.style.textDecoration = "none";
		dtAEl.href = "/RA/rplist.html?category=report&id=" + itemObj.id;
		dtEl.appendChild(dtAEl);
		var dtATextEl = document.createTextNode(itemObj.title);
		dtAEl.appendChild(dtATextEl);
		var dtTextEl = document.createTextNode(String(" (" + itemObj.released.substr(0,4) + "/" + itemObj.released.substr(4,2) + "/" + itemObj.released.substr(6,2) + " " + writerObj.surName + " " + writerObj.middleName + " " + writerObj.personalName + ")").replace(/\s?undefined\s?/g, ""));
		dtEl.appendChild(dtTextEl);
		dtEl.title = "サマリーの全文を読む";
	}else{
		var dtSpanEl = document.createElement("span");
		dtSpanEl.style.color = "#0066cc";
		dtEl.appendChild(dtSpanEl);
		var dtSpanTextEl = document.createTextNode(itemObj.title);
		dtSpanEl.appendChild(dtSpanTextEl);
		var dtTextEl = document.createTextNode(String(" (" + itemObj.released.substr(0,4) + "/" + itemObj.released.substr(4,2) + "/" + itemObj.released.substr(6,2) + " " + writerObj.surName + " " + writerObj.middleName + " " + writerObj.personalName + ")").replace(/\s?undefined\s?/g, ""));
		dtEl.appendChild(dtTextEl);
	}
	dlEl.appendChild(dtEl);
	var dd1El = document.createElement("dd");
	if(document.ajax_currReportQuery.parsedObj.itemsArr.length<6 && location.pathname!="/"){
		var leadLinesArr = itemObj.lead.split("\n");
	}else{
		var leadLinesArr = String(itemObj.lead.substr(0, magicNumber_leadLength) + " . . .").split("\n");
	}
	for(var j=0;j<leadLinesArr.length;j++){
		var tmpTextEl = document.createTextNode(leadLinesArr[j]);
		dd1El.appendChild(tmpTextEl);
		if((j+1)!=leadLinesArr.length){
			var brEl = document.createElement("br");
			dd1El.appendChild(brEl);
		}
	}
	dlEl.appendChild(dd1El);
	var dd2El = document.createElement("dd");
	dd2El.className = "readall";
	dlEl.appendChild(dd2El);
	var dd2PEl = document.createElement("p");
	var aEl = document.createElement("a");
	aEl.href = itemObj.href;
	aEl.target = "_blank";
	var aTextEl = document.createTextNode("レポートを読む >>");
	aEl.appendChild(aTextEl);
	dd2PEl.appendChild(aEl);
	dd2El.appendChild(dd2PEl);
	return sectionItemEl;
}
function spt_renderNormalReport(itemObj){
	var magicNumber_leadLength = 256;
	var liEl = document.createElement("li");
	liEl.className = "section";
	// Prepare writerObj.
	var writerObj = {};
	for(var i=0;i<document.ajax_writer.parsedObj.itemsArr.length;i++){
		var currWriterObj = document.ajax_writer.parsedObj.itemsArr[i];
		if(currWriterObj.anchorKey==itemObj.writerAnchor){
			writerObj = currWriterObj;
		}
	}
	var dlEl = document.createElement("dl");
	dlEl.className = "text";
	dlEl.style.cursor = "auto";
	//dlEl.setAttribute("onclick", "window.open('" + itemObj.href + "', '_blank');");
	liEl.appendChild(dlEl);
	var dtEl = document.createElement("dt");
	//dtEl.style.cursor = "pointer";
	dtEl.title = "サマリー全文を読む";
	var dateString = itemObj.released.substr(0,4) + "/" + itemObj.released.substr(4,2) + "/" + itemObj.released.substr(6,2);
	var authorString = "";
	for(var k=0;k<document.ajax_writer.parsedObj.itemsArr.length;k++){
		var currWriter = document.ajax_writer.parsedObj.itemsArr[k];
		if(itemObj.writerAnchor==currWriter.anchorKey){
			authorString = String(currWriter.surName + " " + currWriter.middleName + " " + currWriter.personalName).replace(/\s?undefined\s?/g, "");
		}
	}
	var dtAEl = document.createElement("a");
	dtAEl.style.textDecoration = "none";
	//dtAEl.style.color = "black";
	dtAEl.href = "/RA/rplist.html?category=report&id=" + itemObj.id;
	var dtATextEl = document.createTextNode(itemObj.title);
	dtAEl.appendChild(dtATextEl);
	dtEl.appendChild(dtAEl);
	var dtTextEl = document.createTextNode(" (" + dateString + " " + authorString + ")");
	dtEl.appendChild(dtTextEl);
	dlEl.appendChild(dtEl);
	var ddEl = document.createElement("dd");
	dlEl.appendChild(ddEl);
	var p1El = document.createElement("p");
	var leadLinesArr = (itemObj.lead.substr(0, magicNumber_leadLength) + ". . .").split("\n");
	for(var j=0;j<leadLinesArr.length;j++){
		var tmpTextEl = document.createTextNode(leadLinesArr[j]);
		p1El.appendChild(tmpTextEl);
		if((j+1)!=leadLinesArr.length){
			var brEl = document.createElement("br");
			p1El.appendChild(brEl);
		}
	}
	ddEl.appendChild(p1El);
	var dd2El = document.createElement("dd");
	dd2El.className = "readall";
	dd2El.style.textAlign = "right";
	dlEl.appendChild(dd2El);
	var p2El = document.createElement("p");
	dd2El.appendChild(p2El);
	var aEl = document.createElement("a");
	aEl.href = itemObj.href;
	aEl.target = "_blank";
	var aTextEl = document.createTextNode("レポートを読む>>");
	aEl.appendChild(aTextEl);
	p2El.appendChild(aEl);
	return liEl;
}

function render_keywords_rightbox(){
	var targetEl = document.getElementById("byKeyword");
	var h3El = document.createElement("h3");
	var h3TextEl = document.createTextNode("キーワード検索");
	h3El.appendChild(h3TextEl);
	targetEl.appendChild(h3El);
	var sectionItemEl = document.createElement("div");
	sectionItemEl.className = "sectionItem";
	targetEl.appendChild(sectionItemEl);
	var input1El = document.createElement("input");
	input1El.id = "keywordSearchInput";
	input1El.type = "text";
	sectionItemEl.appendChild(input1El);
	var aEl = document.createElement("a");
	//input2El.id = "keywordSearchButton";
	aEl.href = "javascript:if(document.getElementById(\"keywordSearchInput\").value!=\"\"){location.href='/RA/rplist.html?category=report&kwStr=' + encodeURIComponent(document.getElementById(\"keywordSearchInput\").value);}";
	aEl.target = "_self";
	aEl.style.paddingLeft = "0.2em";
	aEl.style.paddingRight = "0.2em";
	aEl.style.textDecoration = "none";
	aEl.style.fontWeight = "bold";
	var aTextEl = document.createTextNode("検索");
	aEl.appendChild(aTextEl);
	sectionItemEl.appendChild(aEl);
}

function render_months_rightbox(){
	// Prepare default selected values.
	var selectedYYYY = "";
	var selectedMM = "";
	if(document.params['mod']){
		selectedYYYY = document.params.mod.substr(0,4);
		selectedMM = document.params.mod.substr(4,2);
	}
	var targetEl = document.getElementById("byMonth");
	var h3El = document.createElement("h3");
	var h3TextEl = document.createTextNode("発行年月");
	h3El.appendChild(h3TextEl);
	targetEl.appendChild(h3El);
	var sectionItemEl = document.createElement("div");
	sectionItemEl.className = "sectionItem";
	targetEl.appendChild(sectionItemEl);
	var select1El = document.createElement("select");
	select1El.id = "searchReports_select_year";
	sectionItemEl.appendChild(select1El);
	for(var i=0;i<document.ajax_month.parsedObj.itemsArr.length;i++){
		var currObj = document.ajax_month.parsedObj.itemsArr[i];
		var optionEl = document.createElement("option");
		optionEl.value = currObj.YYYY;
		var optionTextEl = document.createTextNode(currObj.YYYY);
		optionEl.appendChild(optionTextEl);
		if(selectedYYYY==optionEl.value){
			optionEl.selected = "selected";
		}
		select1El.appendChild(optionEl);
	}
	var text1El = document.createTextNode("年");
	sectionItemEl.appendChild(text1El);
	var select2El = document.createElement("select");
	select2El.id = "searchReports_select_month";
	sectionItemEl.appendChild(select2El);
	for(var i=1;i<13;i++){
		var optionEl = document.createElement("option");
		tmpString = "0" + i;
		if(tmpString.length==3){
			tmpString = tmpString.substr(1);
		}
		optionEl.value = tmpString;
		var optionTextEl = document.createTextNode(tmpString);
		if(selectedMM==optionEl.value){
			optionEl.selected = "selected";
		}
		optionEl.appendChild(optionTextEl);
		select2El.appendChild(optionEl);
	}
	var text2El = document.createTextNode("月の記事を");
	sectionItemEl.appendChild(text2El);
	var aEl = document.createElement("a");
	aEl.href = "javascript:location.href='/RA/rplist.html?category=report&mod=' + document.getElementById(\"searchReports_select_year\").options[document.getElementById(\"searchReports_select_year\").selectedIndex].value + document.getElementById(\"searchReports_select_month\").options[document.getElementById(\"searchReports_select_month\").selectedIndex].value;";
	aEl.target = "_self";
	aEl.style.fontWeight = "bold";
	aEl.style.paddingLeft = "0.2em";
	aEl.style.paddingRight = "0.2em";
	aEl.style.textDecoration = "none";
	sectionItemEl.appendChild(aEl);
	var text3El = document.createTextNode("検索");
	aEl.appendChild(text3El);
	var text4El = document.createTextNode("する");
	sectionItemEl.appendChild(text4El);
	/*var buttonEl = document.createElement("input");
	buttonEl.type = "button";
	buttonEl.setAttribute("onclick", "location.href='/RA/rplist.html?category=report&mod=' + document.getElementById(\"searchReports_select_year\").options[document.getElementById(\"searchReports_select_year\").selectedIndex].value + document.getElementById(\"searchReports_select_month\").options[document.getElementById(\"searchReports_select_month\").selectedIndex].value;");
	buttonEl.value = "検索";
	//buttonEl.appendChild(buttonTextEl);
	sectionItemEl.appendChild(buttonEl);*/
}

function render_newArticle_rightbox(){
	var targetEl = document.getElementById("newsUpdates");
	var h2Els = targetEl.getElementsByTagName("h2");
	if(h2Els){
		h2Els[0].title = document.ajax_newArticle.parsedObj.result.timestamp;
	}
	var ulEl = document.createElement("ul");
	targetEl.appendChild(ulEl);
	var magicNumber_limit = 5;// modified@20101115
	for(var i=0;(i<document.ajax_newArticle.parsedObj.itemsArr.length && i<magicNumber_limit);i++){
		var currObj = document.ajax_newArticle.parsedObj.itemsArr[i];
		var liEl = document.createElement("li");
		liEl.style.marginTop = "2px";
		liEl.style.marginBottom = "2px";
		//liEl.style.fontSize = "11px";
		liEl.style.letterSpacing = "1px";
		var aEl = document.createElement("a");
		aEl.style.textDecoration = "none";
		aEl.style.color = "black";
		aEl.href = "http://" + location.host + "/RA/rplist.html?category=report&id=" + currObj.id;
		var aTextEl = document.createTextNode(currObj.title + " (" + currObj.released + ")");
		aEl.appendChild(aTextEl);
		liEl.appendChild(aEl);
		ulEl.appendChild(liEl);
	}
}

function render_category_rightbox(){
	document.raObjDict = {};
	for(var i=0;i<document.ajax_researchArea.parsedObj.itemsArr.length;i++){
		var currObj = document.ajax_researchArea.parsedObj.itemsArr[i];
		document.raObjDict[currObj.ja] = currObj;
	}
	var targetEl = document.getElementById("byCategory");
	var h3El = document.createElement("h3");
	var h3TextEl = document.createTextNode("領域別");
	h3El.appendChild(h3TextEl);
	targetEl.appendChild(h3El);
	var ulEl = document.createElement("ul");
	targetEl.appendChild(ulEl);
	// 制度研究
	var li1El = document.createElement("li");
	li1El.onclick = function(){
		location.href = "http://" + location.host + "/RA/rplist.html?category=report&raId=" + document.raObjDict['制度研究'].id;
	};
	ulEl.appendChild(li1El);
	var img1El = document.createElement("img");
	img1El.src = "/images/top2_1_r2_c4.jpg";
	li1El.appendChild(img1El);
	var dl1El = document.createElement("dl");
	dl1El.className = "sectionItem";
	li1El.appendChild(dl1El);
	var dt1El = document.createElement("dt");
	var dt1TextEl = document.createTextNode("制度研究");
	dt1El.appendChild(dt1TextEl);
	dl1El.appendChild(dt1El);
	var dd1El = document.createElement("dd");
	var dd1TextEl = document.createTextNode("諸外国の情報通信政策に関する情報収集・分析諸外国の通信事業者、サービスの動向調査");
	dd1El.appendChild(dd1TextEl);
	dl1El.appendChild(dd1El);
	// 市場分析
	var li2El = document.createElement("li");
	li2El.onclick = function(){
		location.href = "http://" + location.host + "/RA/rplist.html?category=report&raId=" + document.raObjDict['市場分析'].id;
	};
	ulEl.appendChild(li2El);
	var img2El = document.createElement("img");
	img2El.src = "/images/top2_1_r4_c4.jpg";
	li2El.appendChild(img2El);
	var dl2El = document.createElement("dl");
	dl2El.className = "sectionItem";
	li2El.appendChild(dl2El);
	var dt2El = document.createElement("dt");
	var dt2TextEl = document.createTextNode("市場分析");
	dt2El.appendChild(dt2TextEl);
	dl2El.appendChild(dt2El);
	var dd2El = document.createElement("dd");
	var dd2TextEl = document.createTextNode("国内外の情報通信市場動向の定量的・定性的な調査分析");
	dd2El.appendChild(dd2TextEl);
	dl2El.appendChild(dd2El);
	// コンテンツメディア分野
	var li3El = document.createElement("li");
	li3El.onclick = function(){
		location.href = "http://" + location.host + "/RA/rplist.html?category=report&raId=" + document.raObjDict['コンテンツメディア分野'].id;
	};
	ulEl.appendChild(li3El);
	var img3El = document.createElement("img");
	img3El.src = "/images/top2_1_r6_c4.jpg";
	li3El.appendChild(img3El);
	var dl3El = document.createElement("dl");
	dl3El.className = "sectionItem";
	li3El.appendChild(dl3El);
	var dt3El = document.createElement("dt");
	var dt3TextEl = document.createTextNode("コンテンツメディア分野");
	dt3El.appendChild(dt3TextEl);
	dl3El.appendChild(dt3El);
	var dd3El = document.createElement("dd");
	var dd3TextEl = document.createTextNode("国内外のコンテンツ、新メディアについての調査分析");
	dd3El.appendChild(dd3TextEl);
	dl3El.appendChild(dd3El);
	// 市場環境分野
	var li4El = document.createElement("li");
	li4El.onclick = function(){
		location.href = "http://" + location.host + "/RA/rplist.html?category=report&raId=" + document.raObjDict['市場環境分野'].id;
	};
	ulEl.appendChild(li4El);
	var img4El = document.createElement("img");
	img4El.src = "/images/top2_1_r8_c4.jpg";
	li4El.appendChild(img4El);
	var dl4El = document.createElement("dl");
	dl4El.className = "sectionItem";
	li4El.appendChild(dl4El);
	var dt4El = document.createElement("dt");
	var dt4TextEl = document.createTextNode("市場環境分野");
	dt4El.appendChild(dt4TextEl);
	dl4El.appendChild(dt4El);
	var dd4El = document.createElement("dd");
	var dd4TextEl = document.createTextNode("国内外の情報通信分野における日々の動向の情報収集および分析");
	dd4El.appendChild(dd4TextEl);
	dl4El.appendChild(dd4El);
	// その他
	var li5El = document.createElement("li");
	li5El.onclick = function(){
		location.href = "http://" + location.host + "/RA/rplist.html?category=report&raId=" + document.raObjDict['その他'].id;
	};
	ulEl.appendChild(li5El);
	var img5El = document.createElement("img");
	img5El.src = "/images/top2_1_r10_c4.jpg";
	li5El.appendChild(img5El);
	var dl5El = document.createElement("dl");
	dl5El.className = "sectionItem";
	li5El.appendChild(dl5El);
	var dt5El = document.createElement("dt");
	var dt5TextEl = document.createTextNode("その他");
	dt5El.appendChild(dt5TextEl);
	dl5El.appendChild(dt5El);
	var dd5El = document.createElement("dd");
	var dd5TextEl = document.createTextNode("");
	dd5El.appendChild(dd5TextEl);
	dl5El.appendChild(dd5El);
}

function render_area_rightbox(){
	var targetEl = document.getElementById("byArea");
	var h3El = document.createElement("h3");
	var h3TextEl = document.createTextNode("地域別");
	h3El.appendChild(h3TextEl);
	targetEl.appendChild(h3El);
	var sectionItemEl = document.createElement("div");
	sectionItemEl.className = "sectionItem";
	targetEl.appendChild(sectionItemEl);
	var wordsEl = document.createElement("div");
	wordsEl.className = "words";
	sectionItemEl.appendChild(wordsEl);
	if(targetEl){
		for(var i=0;i<document.ajax_area.parsedObj.itemsArr.length;i++){
			var currObj = document.ajax_area.parsedObj.itemsArr[i];
			var currSpanEl = document.createElement("span");
			currSpanEl.id = "search_areaId_" + String(currObj.id);
			if(currSpanEl.attachEvent){// click handle.
				currSpanEl.attachEvent("onclick",
					function(){
						var srcEl = window.event.srcElement;
						var areaId = srcEl.id.split("_")[2];
						location.href = "http://" + location.host + "/RA/rplist.html?category=report&areaId=" + areaId;
					}
				);
			}else if(currSpanEl.addEventListener){
				currSpanEl.addEventListener("click",
					function(evt){
						var srcEl = evt.currentTarget;
						var areaId = srcEl.id.split("_")[2];
						location.href = "http://" + location.host + "/RA/rplist.html?category=report&areaId=" + areaId;
					}
				,false);
			}
			var currSpanTextEl = document.createTextNode(currObj.ja);
			currSpanEl.appendChild(currSpanTextEl);
			wordsEl.appendChild(currSpanEl);
		}
	}
}

function render_writer_rightbox(){
	// inBox preparation.
	var targetEl = document.getElementById("byPerson");
	var h3El = document.createElement("h3");
	var h3TextEl = document.createTextNode("執筆者検索");
	h3El.appendChild(h3TextEl);
	targetEl.appendChild(h3El);
	var sectionItemEl = document.createElement("div");
	sectionItemEl.className = "sectionItem";
	targetEl.appendChild(sectionItemEl);
	// datum indexing preparation.
	document.ajax_writer.parsedObj.itemsArr.sort(
		function(x, y){
			if(x.indexText.substr(0,3)>y.indexText.substr(0,3)){
				return 1;
			}else{
				return -1;
			}
		});
	var pronounceIndexedObj = {ア:[], カ:[], サ:[], タ:[], ナ:[], ハ:[], マ:[], ヤ:[], ラ:[], ワ:[]};
	for(var i=0;i<document.ajax_writer.parsedObj.itemsArr.length;i++){
		var currObj = document.ajax_writer.parsedObj.itemsArr[i];
		var firstChr = String(currObj.indexText).substr(0, 1);
		if(firstChr=="ア" || firstChr=="イ" || firstChr=="ウ" || firstChr=="エ" || firstChr=="オ"){
			pronounceIndexedObj['ア'].push(currObj);
		}else if(firstChr=="カ" || firstChr=="キ" || firstChr=="ク" || firstChr=="ケ" || firstChr=="コ" || firstChr=="ガ" || firstChr=="ギ" || firstChr=="グ" || firstChr=="ゲ" || firstChr=="ゴ"){
			pronounceIndexedObj['カ'].push(currObj);
		}else if(firstChr=="サ" || firstChr=="シ" || firstChr=="ス" || firstChr=="セ" || firstChr=="ソ" || firstChr=="ザ" || firstChr=="ジ" || firstChr=="ズ" || firstChr=="ゼ" || firstChr=="ゾ"){
			pronounceIndexedObj['サ'].push(currObj);
		}else if(firstChr=="タ" || firstChr=="チ" || firstChr=="ツ" || firstChr=="テ" || firstChr=="ト" || firstChr=="ダ" || firstChr=="ヂ" || firstChr=="ヅ" || firstChr=="デ" || firstChr=="ド"){
			pronounceIndexedObj['タ'].push(currObj);
		}else if(firstChr=="ナ" || firstChr=="ニ" || firstChr=="ヌ" || firstChr=="ネ" || firstChr=="ノ"){
			pronounceIndexedObj['ナ'].push(currObj);
		}else if(firstChr=="ハ" || firstChr=="ヒ" || firstChr=="フ" || firstChr=="ヘ" || firstChr=="ホ" || firstChr=="バ" || firstChr=="ビ" || firstChr=="ブ" || firstChr=="ベ" || firstChr=="ボ" || firstChr=="パ" || firstChr=="ピ" || firstChr=="プ" || firstChr=="ペ" || firstChr=="ポ"){
			pronounceIndexedObj['ハ'].push(currObj);
		}else if(firstChr=="マ" || firstChr=="ミ" || firstChr=="ム" || firstChr=="メ" || firstChr=="モ"){
			pronounceIndexedObj['マ'].push(currObj);
		}else if(firstChr=="ヤ" || firstChr=="ユ" || firstChr=="ヨ"){
			pronounceIndexedObj['ヤ'].push(currObj);
		}else if(firstChr=="ラ" || firstChr=="リ" || firstChr=="ル" || firstChr=="レ" || firstChr=="ロ"){
			pronounceIndexedObj['ラ'].push(currObj);
		}else if(firstChr=="ワ" || firstChr=="ヲ" || firstChr=="ン"){
			pronounceIndexedObj['ワ'].push(currObj);
		}
	}
	// render classified elements.
	var ulEl = document.createElement("ul");
	sectionItemEl.appendChild(ulEl);
	for (var i in pronounceIndexedObj){
		var currIndexObj = pronounceIndexedObj[i];
		if(currIndexObj.length!=0){
			var liEl = document.createElement("li");
			var dlEl = document.createElement("dl");
			liEl.appendChild(dlEl);
			var dtEl = document.createElement("dt");
			dtEl.className = "normal";
			if(dtEl.attachEvent){// click handle.
				dtEl.attachEvent("onclick",
					function(){
						var childEls = window.event.srcElement.parentNode.getElementsByTagName("dd");
						if(window.event.srcElement.className=="normal"){
							for(var i=0;i<childEls.length;i++){
								childEls[i].style.display = "block";
							}
							window.event.srcElement.className = "opened";
						}else if(window.event.srcElement.className=="opened"){
							for(var i=0;i<childEls.length;i++){
								childEls[i].style.display = "none";
							}
							window.event.srcElement.className = "normal";
						}
					}
				);
			}else if(dlEl.addEventListener){
				dtEl.addEventListener("click",
					function(){
						var childEls = this.parentNode.getElementsByTagName("dd");
						if(this.className=="normal"){
							for(var i=0;i<childEls.length;i++){
								childEls[i].style.display = "block";
							}
							this.className = "opened";
						}else if(this.className=="opened"){
							for(var i=0;i<childEls.length;i++){
								childEls[i].style.display = "none";
							}
							this.className = "normal";
						}
					}
				,false);
			}
			var dtTextEl = document.createTextNode(i + "行");
			dtEl.appendChild(dtTextEl);
			dlEl.appendChild(dtEl);
			for(var j=0;j<currIndexObj.length;j++){
				var ddEl = document.createElement("dd");
				ddEl.id = "clickKey_person_" + currIndexObj[j].anchorKey;
				ddEl.style.display = "none";
				var ddTextEl = document.createTextNode(currIndexObj[j].surName + " " + currIndexObj[j].middleName + " " + currIndexObj[j].personalName);
				ddEl.appendChild(ddTextEl);
				if(ddEl.attachEvent){// click handle.
					ddEl.attachEvent("onclick",
						function(){
							var srcEl = window.event.srcElement;
							var writerId = srcEl.id.split("_")[2];
							location.href = "http://" + location.host + "/RA/rplist.html?category=report&writerId=" + writerId;
						}
					);
				}else if(ddEl.addEventListener){
					ddEl.addEventListener("click",
						function(evt){
							var srcEl = evt.currentTarget;
							var writerId = srcEl.id.split("_")[2];
							location.href = "http://" + location.host + "/RA/rplist.html?category=report&writerId=" + writerId;
						}
					,false);
				}
				dlEl.appendChild(ddEl);
			}
			ulEl.appendChild(liEl);
		}
	}
}

// document constants. Variables below are set for initializing or loading outer resources.
function setConstants(){
	document['versions'] = {};
		document.versions['datawrap'] = "2.00a";
		document.versions['loadxml'] = "1.00";
		document.versions['embedcss'] = "1.10";
		document.versions['embedswf'] = "2.00";
		document.versions['loadxml'] = "2.00";
		document.versions['geranium'] = "1.00A9";
		document.versions['mouseaction'] = "1.00";
		document.versions['parser'] = "1.50";
	document['constants'] = {};
		// code tissue below is for parsing location.search.
		document.constants['categories'] = {};
			document.constants.categories['paramName'] = "cat";
			document.constants.categories['制度研究'] = "01";
			document.constants.categories['市場分析'] = "02";
			document.constants.categories['コンテンツメディア分野'] = "03";
			document.constants.categories['市場環境分野'] = "04";
			document.constants.categories['その他'] = "etc";
		// code tissue below is for loading reportallindex XML file.
		document.constants['reportallindex'] = {};
			document.constants.reportallindex['uri'] = "/RA/rplist.html";
		// code tissue below is for loading reportallindex XML file.
		/*
		document.constants['reportSrc'] = {};
			document.constants.reportSrc['制度研究'] = "reportallindex01.xml";
			document.constants.reportSrc['市場分析'] = "reportallindex02.xml";
			document.constants.reportSrc['コンテンツメディア分野'] = "reportallindex03.xml";
			document.constants.reportSrc['市場環境分野'] = "reportallindex04.xml";
			document.constants.reportSrc['その他'] = "reportallindexetc.xml";
		*/
		// code tissue below is for parse location.search.
		document.constants['keywordSearch'] = {};
			document.constants.keywordSearch['paramName'] = "kw";
}
function parseParameters(){
	var params = {};
	var paramSrcArr = location.search.replace("?","").split("&");
	for(var i=0;i<paramSrcArr.length;i++){
		params[paramSrcArr[i].split("=")[0]] = decodeURIComponent(paramSrcArr[i].split("=")[1]);
	}
	document['params'] = params;
}

/*function initDataWrap(){
	setConstants();
	parseParameters();
	var xmlBase = "/xml/";
	var latestReportUri = "latestreport.xml";
	var baseUri = location.href.split("/").slice(0,-1).join("/");
	if(baseUri.indexOf("RA")>-1){
		var store = "reportallindex";
		if(document.params['cat']){
			var xmlName = "reportallindex.xml";
			var xmlUri = baseUri.replace("/RA",xmlBase) + xmlName;
			document.params.cat = decodeURIComponent(document.params.cat);
		}else if(document.params['region']){
			var xmlName = "reportallindex.xml";
			var xmlUri = baseUri.replace("/RA",xmlBase) + xmlName;
			document.params.region = decodeURIComponent(document.params.region);
		}else if(document.params['kw']){
			var xmlName = "reportallindex.xml";
			var xmlUri = baseUri.replace("/RA",xmlBase) + xmlName;
			document.params.kw = decodeURIComponent(document.params.kw);
		}else if(document.params['select']){
			var xmlName = "reportallindex.xml";
			var xmlUri = baseUri.replace("/RA",xmlBase) + xmlName;
			document.params.select = decodeURIComponent(document.params.select);
		}else if(document.params['date']){
			var xmlName = "reportallindex.xml";
			var xmlUri = baseUri.replace("/RA",xmlBase) + xmlName;
			document.params.date = decodeURIComponent(document.params.date);
		}else if(document.params['writer']){
			var xmlName = "reportallindex.xml";
			var xmlUri = baseUri.replace("/RA",xmlBase) + xmlName;
			document.params.writer = decodeURIComponent(document.params.writer);
		}else if(document.params['direct']){ // addition @2008.07.23
			var xmlName = "reportallindex.xml";
			var xmlUri = baseUri.replace("/RA",xmlBase) + xmlName;
			document.params.direct = decodeURIComponent(document.params.direct);
		}else{
			var xmlName = "reportallindex.xml";
			var xmlUri = baseUri.replace("/RA",xmlBase) + xmlName;
		}
	}else{
		var store = "latestreport";
		var xmlUri = baseUri + "/xml/" + "latestreport.xml";
	}
	if(location.pathname=="/" || location.pathname=="/index.html" || location.pathname.indexOf("/RA/")>-1){
		loadLatestReport(xmlUri,store);// XML loader for div#latestReports.
	}
	if(location.pathname=="/" || location.pathname=="/index.html"){
		loadColumnbox();// XML loader for div#newColumns.
		loadBlogbox();// XML loader for div#newBlogs.
	}
	loadWhatsNew();// XML loader for div#newsUpdates.
	loadReportindex();// XML loader for div#reports.
	if(location['hash']){
		if(document.getElementById(location.hash.replace("#",""))){
			document.getElementById(location.hash.replace("#","")).focus();
		}
	}else{
		scrollTo(0,0);
	}
}
*/

// load latest report.
function loadLatestReport(uri,store){
	getContent(uri,"GET",{},store,hdlLatestreport);
}
// parser of latestreport.xml
function hdlLatestreport(src){
	var rawXml = src['ajaxXml'];
	var latestreportObj = {};
	var rootNode = {};
	// clean-up the retrieved XML nodes.
	for(var i=0;i<rawXml.childNodes.length;i++){
		if(rawXml.childNodes[i].nodeName=="latestreport"){
			rootNode = rawXml.childNodes[i];
		}else if(rawXml.childNodes[i].nodeName=="reportallindex"){
			rootNode = rawXml.childNodes[i];
		}
	}
	var itemNodes = [];
	for(var j=0;j<rootNode.childNodes.length;j++){
		if(rootNode.childNodes[j].nodeName=="item"){
			itemNodes.push(rootNode.childNodes[j]);
		}
	}
	// parse latestreport.@*.
	for(var i=0;i<rootNode.attributes.length;i++){
		latestreportObj[rootNode.attributes[i].nodeName] = rootNode.attributes[i].nodeValue;
	}
	var itemsObj = [];
	// parse <item> nodes'content
	for(var k=0;k<itemNodes.length;k++){
		var currItemNode = itemNodes[k];
		var currItemObj = {};
		// parse item.@href
		for(var m=0;m<currItemNode.attributes.length && currItemNode.attributes[m];m++){
			if(currItemNode.attributes[m].nodeName!=""){
				currItemObj[currItemNode.attributes[m].nodeName] = currItemNode.attributes[m].nodeValue;
			}
		}
		// parse item.*
		for(var n=0;n<currItemNode.childNodes.length;n++){
			var currItemChildNode = currItemNode.childNodes[n];
			switch(currItemChildNode.nodeName){
				case "headline":
					var currNodeObj = {};
					for(var p=0;p<currItemChildNode.attributes.length;p++){
						currNodeObj[currItemChildNode.attributes[p].nodeName] = currItemChildNode.attributes[p].nodeValue;
					}
					currItemObj['headline'] = currNodeObj;
					break;
				case "faceImage":
					var currNodeObj = {};
					for(var p=0;p<currItemChildNode.attributes.length;p++){
						currNodeObj[currItemChildNode.attributes[p].nodeName] = currItemChildNode.attributes[p].nodeValue;
					}
					currItemObj['faceImage'] = currNodeObj;
					break;
				case "faceCaption":
					var currNodeObj = {};
					for(var p=0;p<currItemChildNode.attributes.length;p++){// parse attributes.
						currNodeObj[currItemChildNode.attributes[p].nodeName] = currItemChildNode.attributes[p].nodeValue;
					}
					for(var q=0;q<currItemChildNode.childNodes.length;q++){// parse child #cdata-section.
						if(currItemChildNode.childNodes[q].nodeType==4){
							currNodeObj['htmlText'] = currItemChildNode.childNodes[q].nodeValue;
						}
					}
					currItemObj['faceCaption'] = currNodeObj;
					break;
				case "titleCopy":
					var currNodeObj = {};
					for(var p=0;p<currItemChildNode.childNodes.length;p++){// parse child #cdata-section.
						if(currItemChildNode.childNodes[p].nodeType==4){
							currNodeObj['htmlText'] = currItemChildNode.childNodes[p].nodeValue;
						}
					}
					currItemObj['titleCopy'] = currNodeObj;
					break;
				case "lead":
					var currNodeObj = {};
					for(var p=0;p<currItemChildNode.childNodes.length;p++){// parse child #cdata-section.
						if(currItemChildNode.childNodes[p].nodeType==4){
							currNodeObj['htmlText'] = currItemChildNode.childNodes[p].nodeValue;
						}
					}
					currItemObj['lead'] = currNodeObj;
					break;
				default:
					break;
			}
		}
		itemsObj.push(currItemObj);
	}
	latestreportObj['items'] = itemsObj;
	if(!document['ajaxObj']){
		document['ajaxObj'] = {};
	}
	if(rootNode.nodeName=="latestreport"){
		document.ajaxObj['latestReport'] = latestreportObj;
		renderLatestreport();
	}else if(rootNode.nodeName=="reportallindex"){
		document.ajaxObj['reportallindex'] = latestreportObj;
		// addition@2008.05.22
		// location.search parameter influences master variable.
		if(document.params['cat']){
			var master = {};
			master['headline'] = "分野検索：" + document.params.cat;
			master['lastModified'] = document.ajaxObj.reportallindex.lastModified;
			var childItemsArr = [];
			for(var i=0;i<latestreportObj.items.length;i++){
				var currItem = latestreportObj.items[i];
				if(currItem.headline.displayTitle==document.params.cat && currItem.category=="report"){
					childItemsArr.push(currItem);
				}
			}
			master['items'] = childItemsArr;
			renderReportallindex(master);
		}else if(document.params['region']){
			var master = {};
			master['headline'] = "地域検索：" + document.params.region;
			master['lastModified'] = document.ajaxObj.reportallindex.lastModified;
			var childItemsArr = [];
			for(var i=0;i<latestreportObj.items.length;i++){
				var currItem = latestreportObj.items[i];
				var areaArr = currItem.area.split(" ");
				for(var j=0;j<areaArr.length;j++){
					if(areaArr[j]==document.params.region && currItem.category=="report"){
						childItemsArr.push(currItem);
						break;
					}
				}
			}
			master['items'] = childItemsArr;
			renderReportallindex(master);
		}else if(document.params['kw']){
			var master = {};
			master['headline'] = "キーワード検索：" + document.params.kw;
			master['lastModified'] = document.ajaxObj.reportallindex.lastModified;
			var childItemsArr = [];
			for(var i=0;i<latestreportObj.items.length;i++){
				var currItem = latestreportObj.items[i];
				var currSearchWords = [];
				for(var j=0;j<currItem.keyWords.split(currItem.keyWordsSeparator).length;j++){
					currSearchWords.push(String(currItem.keyWords.split(currItem.keyWordsSeparator)[j]).toUpperCase());
				}
				for(var j=0;j<currItem.specialWord.split(currItem.specialWordSeparator).length;j++){
					currSearchWords.push(String(currItem.specialWord.split(currItem.specialWordSeparator)[j]).toUpperCase());
				}
				var matchFlg = false;
				for(var j=0;j<currSearchWords.length;j++){
					if(String(currSearchWords[j]).toUpperCase().indexOf(String(document.params.kw).toUpperCase())>-1){
						matchFlg = true;
					}
				}
				if(matchFlg && currItem.category=="report"){
					childItemsArr.push(currItem);
				}else{
					matchFlg = false;
				}
			}
			master['items'] = childItemsArr;
			renderReportallindex(master);
		}else if(document.params['select']){
			// addition@2008.07.01
			if(document.params.select=="none"){
				renderNotAvailable();
				return false;
			}
			// addition@2008.06.12
			var master = {};
			switch(location.pathname){
				case "/RA/rplist.html": // レポート一覧（全件） category="report"
					master['headline'] = "レポート一覧";
					master['lastModified'] = document.ajaxObj.reportallindex.lastModified;
					var childItemsArr = [];
					for(var i=0;i<latestreportObj.items.length;i++){
						var currItem = latestreportObj.items[i];
						if(currItem.category=="report"){
							childItemsArr.push(currItem);
						}
					}
					master['items'] = childItemsArr;
					break;
				case "/RA/spcolumnlist.html": // 特別研究員コラム（全件） category="spcolumn"
					master['headline'] = "スペシャルコンテンツ：" + "特別研究員コラム";
					master['lastModified'] = document.ajaxObj.reportallindex.lastModified;
					var childItemsArr = [];
					for(var i=0;i<latestreportObj.items.length;i++){
						var currItem = latestreportObj.items[i];
						if(currItem.category=="spcolumn"){
							childItemsArr.push(currItem);
						}
					}
					master['items'] = childItemsArr;
					break;
				case "/RA/itkeywordlist.html": // 情報通信キーワード（全件） category="itkeyword"
					master['headline'] = "スペシャルコンテンツ：" + "情報通信キーワード";
					master['lastModified'] = document.ajaxObj.reportallindex.lastModified;
					var childItemsArr = [];
					for(var i=0;i<latestreportObj.items.length;i++){
						var currItem = latestreportObj.items[i];
						if(currItem.category=="itkeyword"){
							childItemsArr.push(currItem);
						}
					}
					master['items'] = childItemsArr;
					break;
				case "/RA/teretoralist.html": // テレ虎（全件） category="teretora"
					master['headline'] = "スペシャルコンテンツ：" + "テレ虎";
					master['lastModified'] = document.ajaxObj.reportallindex.lastModified;
					var childItemsArr = [];
					for(var i=0;i<latestreportObj.items.length;i++){
						var currItem = latestreportObj.items[i];
						if(currItem.category=="teretora"){
							childItemsArr.push(currItem);
						}
					}
					master['items'] = childItemsArr;
					break;
				default:
					master['items'] = [];
					break;
			}
			renderReportallindex(master);
		}else if(document.params['date']){
			var master = {};
			master['headline'] = "発行年月日検索：" + document.params.date.substring(0,4) + "年" + document.params.date.substring(4,6).replace(/^0/,"") + "月";
			master['lastModified'] = document.ajaxObj.reportallindex.lastModified;
			var childItemsArr = [];
			for(var i=0;i<latestreportObj.items.length;i++){
				var currItem = latestreportObj.items[i];
				// [begin] Pending レポート内から検索するという条件設定を有効化するには、XLS->XMLの段階で、reportindex.xmlの生成時にレポートのみを抽出してから発行年月日を抽出する必要がある。
				if(currItem.category=="report"){
					if(currItem.releaseDate.substring(0,6)==document.params.date || currItem.lastModified.substring(0,6)==document.params.date){
						childItemsArr.push(currItem);
					}
				}
				// [end] Pending
			}
			master['items'] = childItemsArr;
			renderReportallindex(master);
		}else if(document.params['writer']){
			var master = {};
			master['headline'] = "執筆者検索：" + document.params.writer;
			master['lastModified'] = document.ajaxObj.reportallindex.lastModified;
			var childItemsArr = [];
			for(var i=0;i<latestreportObj.items.length;i++){
				var currItem = latestreportObj.items[i];
				// [begin] Pending レポート内から検索するという条件設定を有効化するには、XLS->XMLの段階で、reportindex.xmlの生成時にレポートのみを抽出してから執筆者を抽出する必要がある。
				if(currItem.category=="report"){
					if(currItem.faceCaption.faceName==document.params.writer){
						childItemsArr.push(currItem);
					}
				}
				// [end] Pending
			}
			master['items'] = childItemsArr;
			renderReportallindex(master);
		}else if(document.params['direct']){ // addition @2008.07.23
			var master = {};
			master['headline'] = "TOPIX：";
			master['lastModified'] = document.ajaxObj.reportallindex.lastModified;
			var childItemsArr = [];
			for(var i=0;i<latestreportObj.items.length;i++){
				var currItem = latestreportObj.items[i];
				if(currItem.category=="report"){
					if(currItem.href==document.params.direct){
						childItemsArr.push(currItem);
					}
				}
			}
			master['items'] = childItemsArr;
			renderReportallindex(master);
		}else{
			var master = document.ajaxObj.latestReport;
			master['headline'] = "レポート一覧";
			master['lastModified'] = document.ajaxObj.reportallindex.lastModified;
			var childItemsArr = [];
			for(var i=0;i<latestreportObj.items.length;i++){
				var currItem = latestreportObj.items[i];
				if(currItem.category=="report"){
					childItemsArr.push(currItem);
				}
			}
			master['items'] = childItemsArr;
			renderReportallindex(master);
		}
	}
}
// renderer of "Not Available" option.
function renderNotAvailable(){
	var targetEl = document.getElementById("reportIndex");
	var cautionEl = document.createElement("div");
	cautionEl.className = "caution";
	var pEl = document.createElement("p");
	pEl.innerHTML = "申し訳ありませんが、ただいまコンテンツを準備中です。";
	cautionEl.appendChild(pEl);
	targetEl.appendChild(cautionEl);
}
// renderer of latestreport.xml ONLY for the top page.
function renderLatestreport(){
	var LeadLengthMagicNumber = Number(250);
	var parentEl = document.getElementById("latestReports");
	var master = document.ajaxObj.latestReport;
	var h2El = document.createElement("h2");	// generate div.block#latestReport/h2
	h2El.title = "Last Update at " + master.lastModified;
	h2El.innerHTML = "LATEST REPORTS";
	parentEl.appendChild(h2El);
	/* render items */
	for(var i=0;i<master.items.length;i++){
		var currItem = master.items[i];
		var sectionEl = document.createElement("div")// generate div.section
		sectionEl.className = "section";
		var h3El = document.createElement("h3");// generate div.section/h3
		h3El.innerHTML = currItem.headline.displayTitle;
		h3El.title = currItem.headline.altText;
		if(h3El.attachEvent){// click handle.
			h3El.attachEvent("onclick",function(){location.href = currItem.headline.href;});
		}else if(h3El.addEventListener){
			h3El.addEventListener("click",function(){location.href = currItem.headline.href;},false);
		}
		sectionEl.appendChild(h3El);
		var sectionItemEl = document.createElement("div");// generate div.section/div.sectionItem
		sectionItemEl.className = "sectionItem";
		var photoBoxEl = document.createElement("div");// generate div.section/div.sectionItem/div.photoBox
		photoBoxEl.className = "photoBox";
		var imgEl = document.createElement("img");// generate div.section/div.sectionItem/div.photoBox/img
		//addition@2008.07.08
		if(currItem.faceCaption['htmlText']){
			imgEl.id = "searchByCategoryPh" + currItem.faceCaption.htmlText;
		}else{
			imgEl.id = "searchByCategoryPh";
		}
		imgEl.src = location.protocol + "//" + location.hostname + "/staff_photo/70X60/" + currItem.faceImage.href;//modified@2008.07.08
		imgEl.alt = currItem.faceImage.altText;
		if(imgEl.attachEvent){// click handle.
			imgEl.attachEvent("onclick",
				function(){
					var target = window.event.srcElement;
					var paramStr = target.id.replace("searchByCategoryPh","");
					if(paramStr!="" && paramStr!="undefined" && paramStr!="nodata"){
						location.href = "http://" + location.hostname + "/investigator/index.html#" + paramStr;
					}
				});
		}else if(imgEl.addEventListener){
			imgEl.addEventListener("click",
				function(evt){
					var target = evt.currentTarget;
					var paramStr = target.id.replace("searchByCategoryPh","");
					if(paramStr!="" && paramStr!="undefined" && paramStr!="nodata"){
						location.href = "http://" + location.hostname + "/investigator/index.html#" + paramStr;
					}
				},false);
		}
		photoBoxEl.appendChild(imgEl);
		var spanEl = document.createElement("span");// generate div.section/div.sectionItem/div.photoBox/span
		//spanEl.innerHTML = currItem.faceCaption.faceTitle + "<br />" + currItem.faceCaption.faceName;// reduction@2008.07.28
		spanEl.innerHTML = currItem.faceCaption.faceName;
		photoBoxEl.appendChild(spanEl);
		sectionItemEl.appendChild(photoBoxEl);
		var textBoxEl = document.createElement("div");// generate div.section/div.sectionItem/div.textBox
		textBoxEl.className = "textBox";
		var dlEl = document.createElement("dl");// generate div.section/div.sectionItem/div.textBox/dl
		var dtEl = document.createElement("dt");// generate div.section/div.sectionItem/div.textBox/dl/dt
		dtEl.innerHTML = currItem.titleCopy.htmlText;
		dlEl.appendChild(dtEl);
		var ddEl = document.createElement("dd");// generate div.section/div.sectionItem/div.textBox/dl/dd[0]
		if(String(currItem.lead.htmlText).length>LeadLengthMagicNumber){
			ddEl.innerHTML = String(currItem.lead.htmlText).substring(0,LeadLengthMagicNumber)+"&nbsp;.&nbsp;.&nbsp;.";
		}else{
			ddEl.innerHTML = currItem.lead.htmlText;
		}
		dlEl.appendChild(ddEl);
		var readallEl = document.createElement("dd");// generate div.section/div.sectionItem/div.textBox/dl/dd[1].readall
		readallEl.className = "readall";
		var pEl = document.createElement("p");// generate div.section/div.sectionItem/div.textBox/dl/dd[1].readall/p
		var aEl = document.createElement("a");// generate div.section/div.sectionItem/div.textBox/dl/dd[1].readall/p/a
		aEl.innerHTML = "全て読む&nbsp;&gt;&gt;";
		aEl.href = currItem.href;
		aEl.target = "_blank";// addition@20080.06.02
		pEl.appendChild(aEl);
		readallEl.appendChild(pEl);
		dlEl.appendChild(readallEl);
		textBoxEl.appendChild(dlEl);
		sectionItemEl.appendChild(textBoxEl);
		sectionEl.appendChild(sectionItemEl);
		parentEl.appendChild(sectionEl);
	}
}
// renderer of reportallindex.xml
function renderReportallindex(srcObj){
	if(srcObj){
		var master = srcObj;
	}else{
		var master = document.ajaxObj.reportallindex;
	}
	var LeadLengthMagicNumber = Number(250);
	document.ajaxObj.currReportindex = master;
	var recommendMagicNumber = Number(3);
	var itemsPerPageMagicNumber = Number(10);
	var parentEl = document.getElementById("reportIndex");
	var items = master.items;
	var itemCount=0;
	var itemPages = Math.ceil(master.items.length / 10);
	var h2El = document.createElement("h2");// generate div.block#reportIndex/h2
	h2El.title = "Last Update at " + master.lastModified;
	var h2spanEl = document.createElement("span");// generate div.block#reportIndex/h2/span
	// modified@2008.05.22
	if(master['headline']){
		h2spanEl.innerHTML = master.headline;
	}else{
		h2spanEl.innerHTML = "レポート一覧";
	}
	h2El.appendChild(h2spanEl);
	if(master.items.length==0){
		parentEl.appendChild(h2El);
		var cautionEl = document.createElement("div");
		cautionEl.className = "caution";
		cautionEl.innerHTML = "<p>検索したところ、該当レポートはございませんでした。再度検索してください。</p>";
		parentEl.appendChild(cautionEl);
		return false;
	}
	var h2ulEl = document.createElement("ul");// generate div.block#reportIndex/h2/ul
	h2ulEl.id = "pageCountHeader";
	var h2liRewindEl = document.createElement("li");// generate div.block#reportIndex/h2/ul/li.rewind
	h2liRewindEl.className = "rewind";
	h2liRewindEl.innerHTML = "&lt;&lt;";
	if(h2liRewindEl.attachEvent){// click handle.
		h2liRewindEl.attachEvent("onclick",
			function(){
				var targetEl = window.event.srcElement;
				var parentEl = targetEl.parentNode;
				var pageCounterArr = parentEl.getElementsByTagName("li");
				var pageCounter2Arr = document.getElementById("pageCountFooter").getElementsByTagName("li");
				for(var i=1;i<pageCounterArr.length-1;i++){
					if(pageCounterArr[i].className=="current" && pageCounterArr[i-1].innerHTML!="&lt;&lt;"){
						pageCounterArr[i].className="";
						pageCounter2Arr[i].className="";
						pageCounterArr[i-1].className="current";
						pageCounter2Arr[i-1].className="current";
						pageCounterArr[i-1].fireEvent("onclick");
					}
				}
			}
		);
	}else if(h2liRewindEl.addEventListener){
		h2liRewindEl.addEventListener("click",
			function(evt){
				var targetEl = evt.currentTarget;
				var parentEl = targetEl.parentNode;
				var pageCounterArr = parentEl.getElementsByTagName("li");
				var pageCounter2Arr = document.getElementById("pageCountFooter").getElementsByTagName("li");
				for(var i=1;i<pageCounterArr.length-1;i++){
					if(pageCounterArr[i].className=="current" && pageCounterArr[i-1].innerHTML!="&lt;&lt;"){
						pageCounterArr[i].className="";
						pageCounter2Arr[i].className="";
						pageCounterArr[i-1].className="current";
						pageCounter2Arr[i-1].className="current";
						var clickEvt = document.createEvent("MouseEvents");
						clickEvt.initMouseEvent(
							"click",
							true,
							true,
							document.defaultView,
							1,
							0,
							0,
							0,
							0,
							false,
							false,
							false,
							false,
							0,
							null
						);
						pageCounterArr[i-1].dispatchEvent(clickEvt);
					}
				}
			}
		,false);
	}
	h2ulEl.appendChild(h2liRewindEl);
	for(var pages=1;pages<=itemPages;pages++){
		var h2liEl = document.createElement("li");// generate div.block#reportIndex/h2/ul/li
		if(pages==1){
			h2liEl.className = "current";
		}
		h2liEl.innerHTML = String(pages);
		if(h2liEl.attachEvent){
			h2liEl.attachEvent("onclick",
				function(){
					var thisEl = window.event.srcElement;
					var targetPage = document.getElementById("indexPage"+thisEl.innerHTML);
					for(var i=1;i<itemPages;i++){
						var tmpTarget = document.getElementById("indexPage"+String(i));
						if(tmpTarget){
							tmpTarget.style.visibility = "hidden";
							tmpTarget.style.display = "none";
						}
					}
					var liEls = thisEl.parentNode.getElementsByTagName("li");
					var liEls2 = document.getElementById("pageCountFooter").getElementsByTagName("li");
					for(var i=0;i<liEls.length;i++){
						liEls[i].className = "";
						liEls2[i].className = "";
						if(liEls[i]==thisEl){
							liEls[i].className = "current";
							liEls2[i].className = "current";
						}
					}
					if(targetPage){
						targetPage.style.visibility = "visible";
						targetPage.style.display = "block";
					}
				});
		}else if(h2liEl.addEventListener){
			h2liEl.addEventListener("click",
				function(evt){
					var thisEl = evt.currentTarget;
					var targetPage = document.getElementById("indexPage"+thisEl.innerHTML);
					for(var i=1;i<itemPages;i++){
						var tmpTarget = document.getElementById("indexPage"+String(i));
						if(tmpTarget){
							tmpTarget.style.visibility = "hidden";
							tmpTarget.style.display = "none";
						}
					}
					var liEls = thisEl.parentNode.getElementsByTagName("li");
					var liEls2 = document.getElementById("pageCountFooter").getElementsByTagName("li");
					for(var i=0;i<liEls.length;i++){
						liEls[i].className = "";
						liEls2[i].className = "";
						if(liEls[i]==thisEl){
							liEls[i].className = "current";
							liEls2[i].className = "current";
						}
					}
					if(targetPage){
						targetPage.style.visibility = "visible";
						targetPage.style.display = "block";
					}
				},false);
		}
		h2ulEl.appendChild(h2liEl);
	}
	var h2liFowardEl = document.createElement("li");// generate div.block#reportIndex/h2/ul/li.foward
	h2liFowardEl.className = "foward";
	h2liFowardEl.innerHTML = "&gt;&gt;";
	if(h2liFowardEl.attachEvent){// click handle.
		h2liFowardEl.attachEvent("onclick",
			function(){
				var targetEl = window.event.srcElement;
				var parentEl = targetEl.parentNode;
				var pageCounterArr = parentEl.getElementsByTagName("li");
				var pageCounterArr2 = document.getElementById("pageCountFooter").getElementsByTagName("li");
				for(var i=pageCounterArr.length-1;i>0;i--){
					if(pageCounterArr[i].className=="current" && pageCounterArr[i+1].innerHTML!="&gt;&gt;"){
						pageCounterArr[i].className="";
						pageCounterArr2[i].className="";
						pageCounterArr[i+1].className="current";
						pageCounterArr2[i+1].className="current";
						pageCounterArr[i+1].fireEvent("onclick");
					}
				}
			}
		);
	}else if(h2liFowardEl.addEventListener){
		h2liFowardEl.addEventListener("click",
			function(evt){
				var targetEl = evt.currentTarget;
				var parentEl = targetEl.parentNode;
				var pageCounterArr = parentEl.getElementsByTagName("li");
				var pageCounterArr2 = document.getElementById("pageCountFooter").getElementsByTagName("li");
				for(var i=pageCounterArr.length-1;i>0;i--){
					if(pageCounterArr[i].className=="current" && pageCounterArr[i+1].innerHTML!="&gt;&gt;"){
						pageCounterArr[i].className="";
						pageCounterArr2[i].className="";
						pageCounterArr[i+1].className="current";
						pageCounterArr2[i+1].className="current";
						var clickEvt = document.createEvent("MouseEvents");
						clickEvt.initMouseEvent(
							"click",
							true,
							true,
							document.defaultView,
							1,
							0,
							0,
							0,
							0,
							false,
							false,
							false,
							false,
							0,
							null
						);
						pageCounterArr[i+1].dispatchEvent(clickEvt);
					}
				}
			}
		,false);
	}
	h2ulEl.appendChild(h2liFowardEl);
	h2El.appendChild(h2ulEl);
	parentEl.appendChild(h2El);
	// display sort order. addition@20080724
	var orderByEl = document.createElement("p");
	orderByEl.className = "reportOrderDisp";
	orderByEl.innerHTML = "（一覧は最新のものから日付順にソートされています）";
	parentEl.appendChild(orderByEl);
	// render pages.
	for(var pageCount=1,itemCount=0;pageCount<=itemPages;pageCount++){
		var pageEl = document.createElement("div");// generate div.block#reportIndex/div.page
		pageEl.className = "page";
		pageEl.id = "indexPage" + String(pageCount);
		pageEl.style.display = "none";
		if(pageCount==1){
			var sectionEl = document.createElement("div");// generate div.block#reportIndex/div.section
			sectionEl.className = "section";
			// render div.section elements which have div.photoBox. Maximum count is recommentMagicNumber.
			for(;itemCount<recommendMagicNumber && itemCount<items.length && items[itemCount];itemCount++){// render render div.leftcolumn/div.block[0]
				var currItem = items[itemCount];
				var sectionItemEl = document.createElement("div");// generate div.section/div.sectionItem
				sectionItemEl.className = "sectionItem";
				var photoBoxEl = document.createElement("div");// generate div.section/div.sectionItem/div.photoBox
				photoBoxEl.className = "photoBox";
				var imgEl = document.createElement("img");// generate div.section/div.sectionItem/div.photoBox/img
				//addition@2008.07.08
				if(currItem.faceCaption['htmlText']){
					imgEl.id = "linkTo" + currItem.faceCaption.htmlText;
				}else{
					imgEl.id = "linkTo";
				}
				imgEl.src = location.protocol + "//" + location.hostname + "/staff_photo/70X60/" + currItem.faceImage.href;//modified@2008.07.08
				imgEl.alt = currItem.faceImage.altText;
				if(imgEl.attachEvent){// click handle.
					imgEl.attachEvent("onclick",
						function(){
							var target = window.event.srcElement;
							var paramStr = target.id.replace("linkTo","");
							if(paramStr!="" && paramStr!="undefined" && paramStr!="nodata"){
								location.href = "http://" + location.hostname + "/investigator/index.html#" + paramStr;
							}
						});
				}else if(imgEl.addEventListener){
					imgEl.addEventListener("click",
						function(evt){
							var target = evt.currentTarget;
							var paramStr = target.id.replace("linkTo","");
							if(paramStr!="" && paramStr!="undefined" && paramStr!="nodata"){
								location.href = "http://" + location.hostname + "/investigator/index.html#" + paramStr;
							}
						},false);
				}
				photoBoxEl.appendChild(imgEl);
				var spanEl = document.createElement("span");// generate div.section/div.sectionItem/div.photoBox/span
				//spanEl.innerHTML = currItem.faceCaption.faceTitle + "<br />" + currItem.faceCaption.faceName;// reduction@2008.07.28
				spanEl.innerHTML = currItem.faceCaption.faceName;
				photoBoxEl.appendChild(spanEl);
				sectionItemEl.appendChild(photoBoxEl);
				var textBoxEl = document.createElement("div");// generate div.section/div.sectionItem/div.textBox
				textBoxEl.className = "textBox";
				var dlEl = document.createElement("dl");// generate div.section/div.sectionItem/div.textBox/dl
				var dtEl = document.createElement("dt");// generate div.section/div.sectionItem/div.textBox/dl/dt
				dtEl.innerHTML = currItem.titleCopy.htmlText;
				dlEl.appendChild(dtEl);
				var ddEl = document.createElement("dd");// generate div.section/div.sectionItem/div.textBox/dl/dd[0]
				if(String(currItem.lead.htmlText).length>LeadLengthMagicNumber){
					ddEl.innerHTML = String(currItem.lead.htmlText).substring(0,LeadLengthMagicNumber)+"&nbsp;.&nbsp;.&nbsp;.";
				}else{
					ddEl.innerHTML = String(currItem.lead.htmlText);
				}
				dlEl.appendChild(ddEl);
				var readallEl = document.createElement("dd");// generate div.section/div.sectionItem/div.textBox/dl/dd[1].readall
				readallEl.className = "readall";
				var pEl = document.createElement("p");// generate div.section/div.sectionItem/div.textBox/dl/dd[1].readall/p
				var aEl = document.createElement("a");// generate div.section/div.sectionItem/div.textBox/dl/dd[1].readall/p/a
				aEl.innerHTML = "全て読む&nbsp;&gt;&gt;";
				aEl.href = currItem.href;
				aEl.target = "_blank";// addition@2008.06.02
				pEl.appendChild(aEl);
				readallEl.appendChild(pEl);
				dlEl.appendChild(readallEl);
				textBoxEl.appendChild(dlEl);
				sectionItemEl.appendChild(textBoxEl);
				sectionEl.appendChild(sectionItemEl);
				pageEl.style.display = "block";
				pageEl.appendChild(sectionEl);
			}
			// render div.leftcolumn/div.page/div.block[1]
			var blockEl = document.createElement("div");// generate div.page/div.block
			blockEl.className = "block";
			var ulEl = document.createElement("ul");// generate div.page/div.block/ul
			for(;itemCount<itemsPerPageMagicNumber && itemCount <items.length && items[(pageCount-1)*itemsPerPageMagicNumber+itemCount];itemCount++){
				var currItem = items[(pageCount-1)*itemsPerPageMagicNumber+itemCount];
				var liEl = document.createElement("li");// generate div.page/div.block/ul/li.section
				liEl.className = "section";
				var textDlEl = document.createElement("dl");// generate div.page/div.block/ul/li.section/dl.text
				textDlEl.className = "text";
				textDlEl.id = "linkTo" + currItem.href;
				if(textDlEl.attachEvent){// click handle.
					textDlEl.attachEvent("onclick",
						function(){
							var target = window.event.srcElement;
							for(;target.nodeName!="DL";){
								target = target.parentNode;
							}
							var paramStr = target.id.replace("linkTo","");
							//location.href = paramStr;
							window.open(paramStr,"Document");// addition@2008.06.02
						});
				}else if(textDlEl.addEventListener){
					textDlEl.addEventListener("click",
						function(evt){
							var target = evt.currentTarget;
							var paramStr = target.id.replace("linkTo","");
							//location.href = paramStr;
							window.open(paramStr,"Document");// addition@2008.06.02
						},false);
				}
				var dtEl = document.createElement("dt");// generate div.page/div.block/ul/li.section/dl.text/dt
				dtEl.innerHTML = currItem.titleCopy.htmlText;
				textDlEl.appendChild(dtEl);
				var ddEl = document.createElement("dd");// generate div.page/div.block/ul/li.section/dl.text/dd
				var pEl = document.createElement("p");// generate div.page/div.block/ul/li.section/dl.text/dd/p
				if(String(currItem.lead.htmlText).length>LeadLengthMagicNumber){
					pEl.innerHTML = String(currItem.lead.htmlText).substring(0,LeadLengthMagicNumber)+"&nbsp;.&nbsp;.&nbsp;.";
				}else{
					pEl.innerHTML = String(currItem.lead.htmlText);
				}
				ddEl.appendChild(pEl);
				textDlEl.appendChild(ddEl);
				liEl.appendChild(textDlEl);
				ulEl.appendChild(liEl);
			}
			blockEl.appendChild(ulEl);
			pageEl.appendChild(blockEl);
			pageEl.style.visibility = "visible";
		}else{// pageCount!=1
			var blockEl = document.createElement("div");// generate div.page/div.block
			blockEl.className = "block";
			var ulEl = document.createElement("ul");// generate div.page/div.block/ul
			for(var i=0;i<itemsPerPageMagicNumber && items[(pageCount-1)*itemsPerPageMagicNumber+i];i++){
				var currItem = items[(pageCount-1)*itemsPerPageMagicNumber+i];
				var liEl = document.createElement("li");// generate div.page/div.block/ul/li.section
				liEl.className = "section";
				var textDlEl = document.createElement("dl");// generate div.page/div.block/ul/li.section/dl.text
				textDlEl.className = "text";
				/* [begin] addition@2008.06.02 */
				textDlEl.id = "linkTo" + currItem.href;
				if(textDlEl.attachEvent){// click handle.
					textDlEl.attachEvent("onclick",
						function(){
							var target = window.event.srcElement;
							for(;target.tagName!="DL";){
								target = target.parentNode;
							}
							var paramStr = target.id.replace("linkTo","");
							//location.href = paramStr;
							window.open(paramStr,"Document");// addition@2008.06.02
						});
				}else if(textDlEl.addEventListener){
					textDlEl.addEventListener("click",
						function(evt){
							var target = evt.currentTarget;
							var paramStr = target.id.replace("linkTo","");
							//location.href = paramStr;
							window.open(paramStr,"Document");// addition@2008.06.02
						},false);
				}
				/* [end] addition@2008.06.02 */
				var dtEl = document.createElement("dt");// generate div.page/div.block/ul/li.section/dl.text/dt
				dtEl.innerHTML = currItem.titleCopy.htmlText;
				textDlEl.appendChild(dtEl);
				var ddEl = document.createElement("dd");// generate div.page/div.block/ul/li.section/dl.text/dd
				var pEl = document.createElement("p");// generate div.page/div.block/ul/li.section/dl.text/dd/p
				if(String(currItem.lead.htmlText).length>LeadLengthMagicNumber){
					pEl.innerHTML = String(currItem.lead.htmlText).substring(0,LeadLengthMagicNumber)+"&nbsp;.&nbsp;.&nbsp;.";
				}else{
					pEl.innerHTML = String(currItem.lead.htmlText);
				}
				ddEl.appendChild(pEl);
				textDlEl.appendChild(ddEl);
				
				liEl.appendChild(textDlEl);
				ulEl.appendChild(liEl);
			}
			blockEl.appendChild(ulEl);
			pageEl.appendChild(blockEl);
		}
		parentEl.appendChild(pageEl);
	}
	// [begin] addition@2008.05.24
	var h2El = document.createElement("h2");
	var h2footerEl = h2ulEl.cloneNode(false);
	h2footerEl.id = "pageCountFooter";
	h2footerEl.className = "footerNavigation";
	var h2liRewindEl = document.createElement("li");// generate div.block#reportIndex/h2/ul/li.rewind
	h2liRewindEl.className = "rewind";
	h2liRewindEl.innerHTML = "&lt;&lt;";
	if(h2liRewindEl.attachEvent){// click handle.
		h2liRewindEl.attachEvent("onclick",
			function(){
				var targetEl = window.event.srcElement;
				var parentEl = targetEl.parentNode;
				var pageCounterArr = parentEl.getElementsByTagName("li");
				var pageCounterArr2 = document.getElementById("pageCountHeader").getElementsByTagName("li");
				for(var i=1;i<pageCounterArr.length-1;i++){
					if(pageCounterArr[i].className=="current" && pageCounterArr[i-1].innerHTML!="&lt;&lt;"){
						pageCounterArr[i].className="";
						pageCounterArr2[i].className="";
						pageCounterArr[i-1].className="current";
						pageCounterArr2[i-1].className="current";
						pageCounterArr[i-1].fireEvent("onclick");
					}
				}
			}
		);
	}else if(h2liRewindEl.addEventListener){
		h2liRewindEl.addEventListener("click",
			function(evt){
				var targetEl = evt.currentTarget;
				var parentEl = targetEl.parentNode;
				var pageCounterArr = parentEl.getElementsByTagName("li");
				var pageCounterArr2 = document.getElementById("pageCountHeader").getElementsByTagName("li");
				for(var i=1;i<pageCounterArr.length-1;i++){
					if(pageCounterArr[i].className=="current" && pageCounterArr[i-1].innerHTML!="&lt;&lt;"){
						pageCounterArr[i].className="";
						pageCounterArr2[i].className="";
						pageCounterArr[i-1].className="current";
						pageCounterArr2[i-1].className="current";
						var clickEvt = document.createEvent("MouseEvents");
						clickEvt.initMouseEvent(
							"click",
							true,
							true,
							document.defaultView,
							1,
							0,
							0,
							0,
							0,
							false,
							false,
							false,
							false,
							0,
							null
						);
						pageCounterArr[i-1].dispatchEvent(clickEvt);
					}
				}
			}
		,false);
	}
	h2footerEl.appendChild(h2liRewindEl);
	for(var pages=1;pages<=itemPages;pages++){
		var h2liEl = document.createElement("li");// generate div.block#reportIndex/h2/ul/li
		if(pages==1){
			h2liEl.className = "current";
		}
		h2liEl.innerHTML = String(pages);
		if(h2liEl.attachEvent){
			h2liEl.attachEvent("onclick",
				function(){
					var thisEl = window.event.srcElement;
					var targetPage = document.getElementById("indexPage"+thisEl.innerHTML);
					for(var i=1;i<itemPages;i++){
						var tmpTarget = document.getElementById("indexPage"+String(i));
						if(tmpTarget){
							tmpTarget.style.visibility = "hidden";
							tmpTarget.style.display = "none";
						}
					}
					var liEls = thisEl.parentNode.getElementsByTagName("li");
					var liEls2 = document.getElementById("pageCountHeader").getElementsByTagName("li");
					for(var i=0;i<liEls.length;i++){
						liEls[i].className = "";
						liEls2[i].className = "";
						if(thisEl==liEls[i]){
							liEls[i].className = "current";
							liEls2[i].className = "current";
						}
					}
					if(targetPage){
						targetPage.style.visibility = "visible";
						targetPage.style.display = "block";
					}
				});
		}else if(h2liEl.addEventListener){
			h2liEl.addEventListener("click",
				function(evt){
					var thisEl = evt.currentTarget;
					var targetPage = document.getElementById("indexPage"+thisEl.innerHTML);
					for(var i=1;i<itemPages;i++){
						var tmpTarget = document.getElementById("indexPage"+String(i));
						if(tmpTarget){
							tmpTarget.style.visibility = "hidden";
							tmpTarget.style.display = "none";
						}
					}
					var liEls = thisEl.parentNode.getElementsByTagName("li");
					var liEls2 = document.getElementById("pageCountHeader").getElementsByTagName("li");
					for(var i=0;i<liEls.length;i++){
						liEls[i].className = "";
						liEls2[i].className = "";
						if(thisEl==liEls[i]){
							liEls[i].className = "current";
							liEls2[i].className = "current";
						}
					}
					if(targetPage){
						targetPage.style.visibility = "visible";
						targetPage.style.display = "block";
					}
				},false);
		}
		h2footerEl.appendChild(h2liEl);
	}
	var h2liFowardEl = document.createElement("li");// generate div.block#reportIndex/h2/ul/li.foward
	h2liFowardEl.className = "foward";
	h2liFowardEl.innerHTML = "&gt;&gt;";
	if(h2liFowardEl.attachEvent){// click handle.
		h2liFowardEl.attachEvent("onclick",
			function(){
				var targetEl = window.event.srcElement;
				var parentEl = targetEl.parentNode;
				var pageCounterArr = parentEl.getElementsByTagName("li");
				var pageCounterArr2 = document.getElementById("pageCountHeader").getElementsByTagName("li");
				for(var i=pageCounterArr.length-1;i>0;i--){
					if(pageCounterArr[i].className=="current" && pageCounterArr[i+1].innerHTML!="&gt;&gt;"){
						pageCounterArr[i].className="";
						pageCounterArr2[i].className="";
						pageCounterArr[i+1].className="current";
						pageCounterArr2[i+1].className="current";
						pageCounterArr[i+1].fireEvent("onclick");
					}
				}
			}
		);
	}else if(h2liFowardEl.addEventListener){
		h2liFowardEl.addEventListener("click",
			function(evt){
				var targetEl = evt.currentTarget;
				var parentEl = targetEl.parentNode;
				var pageCounterArr = parentEl.getElementsByTagName("li");
				var pageCounterArr2 = document.getElementById("pageCountHeader").getElementsByTagName("li");
				for(var i=pageCounterArr.length-1;i>0;i--){
					if(pageCounterArr[i].className=="current" && pageCounterArr[i+1].innerHTML!="&gt;&gt;"){
						pageCounterArr[i].className="";
						pageCounterArr2[i].classNamme="";
						pageCounterArr[i+1].className="current";
						pageCounterArr2[i+1].className="current";
						var clickEvt = document.createEvent("MouseEvents");
						clickEvt.initMouseEvent(
							"click",
							true,
							true,
							document.defaultView,
							1,
							0,
							0,
							0,
							0,
							false,
							false,
							false,
							false,
							0,
							null
						);
						pageCounterArr[i+1].dispatchEvent(clickEvt);
					}
				}
			}
		,false);
	}
	h2footerEl.appendChild(h2liFowardEl);
	h2El.appendChild(h2footerEl);
	parentEl.appendChild(h2El);// addition@2008.05.24
	// [end] addition@2008.05.24
}

// load column new article.
function loadColumnbox(){
	if(document.getElementsByTagName("body")[0].className=="sub"){
		getContent("../xml/newcolumn.xml","GET",{},"newcolumn",hdlColumnbox);
	}else{
		getContent("./xml/newcolumn.xml","GET",{},"newcolumn",hdlColumnbox);
	}
}
// parser of newcolumn.xml
function hdlColumnbox(src){
	var rawXml = src['ajaxXml'];
	var newcolumnObj = {};
	var rootNode = {};
	// clean-up the retrieved XML nodes.
	for(var i=0;i<rawXml.childNodes.length;i++){
		if(rawXml.childNodes[i].nodeName=="newcolumn"){
			rootNode = rawXml.childNodes[i];
		}
	}
	var itemNodes = [];
	for(var j=0;j<rootNode.childNodes.length;j++){
		if(rootNode.childNodes[j].nodeName=="item"){
			itemNodes.push(rootNode.childNodes[j]);
		}
	}
	// parse newcolumn.@*.
	for(var i=0;i<rootNode.attributes.length;i++){
		if(rootNode.attributes[i].nodeName=="lastModified"){
			newcolumnObj['lastModified'] = rootNode.attributes[i].nodeValue;
		}else if(rootNode.attributes[i].nodeName=="headlineImage"){
			newcolumnObj['headlineImage'] = rootNode.attributes[i].nodeValue;
		}else if(rootNode.attributes[i].nodeName=="headlineAlt"){
			newcolumnObj['headlineAlt'] = rootNode.attributes[i].nodeValue;
		}else if(rootNode.attributes[i].nodeName=="more"){
			newcolumnObj['more'] = rootNode.attributes[i].nodeValue;
		}
	}
	var itemsObj = [];
	// parse <item> nodes'content
	for(var i=0;i<itemNodes.length;i++){
		var currItemNode = itemNodes[i];
		var currItemObj = {};
		// parse item.@link
		for(var j=0;j<currItemNode.attributes.length;j++){
			if(currItemNode.attributes[j].nodeName=="link"){
				currItemObj['link'] = currItemNode.attributes[j].nodeValue;
			}
		}
		// parse item.*.#cdata-section
		for(var k=0;k<currItemNode.childNodes.length;k++){
			var currChildNode = currItemNode.childNodes[k];
			switch(currChildNode.nodeName){
				case "title":
					for(var m=0;m<currChildNode.childNodes.length;m++){
						if(currChildNode.childNodes[m].nodeType==4){
							currItemObj['title'] = currChildNode.childNodes[m].nodeValue;
						}
					}
					break;
				case "description":
					for(var m=0;m<currChildNode.childNodes.length;m++){
						if(currChildNode.childNodes[m].nodeType==4){
							currItemObj['description'] = currChildNode.childNodes[m].nodeValue;
						}
					}
					break;
				default:
					break;
			}
		}
		itemsObj.push(currItemObj);
	}
	newcolumnObj['items'] = itemsObj;
	if(!document['ajaxObj']){
		document['ajaxObj'] = {};
	}
	document.ajaxObj['newcolumn'] = newcolumnObj;
	//renderColumnbox(); // masked@2008.07.29
}
function renderColumnbox(){
	var parentEl = document.getElementById("newColumns");
	if(!parentEl){
		return false;
	}
	var renderCountMagicNumber = Number(2);
	var master = document.ajaxObj.newcolumn;
	var h2El = document.createElement("h2");// generate div.block#newColumns/h2
	h2El.title = "Last Update at " + master.lastModified;
	h2El.innerHTML = "LATEST ARTICLES";
	parentEl.appendChild(h2El);
	/* NO ITEM   addition@2008.07.08 */
	if(master.items.length==0){
		var sorryEl = document.createElement("p");
		sorryEl.className = "noItemSorry";
		sorryEl.innerHTML = "記事がございません。次回更新をお待ちください。";
		parentEl.appendChild(sorryEl);
	}
	/* render items */
	var ulEl = document.createElement("ul");// generate div.block#newColumns/ul
	for(var i=0;i<master.items.length && i<renderCountMagicNumber;i++){
		var currItem = master.items[i];
		var sectionEl = document.createElement("li");// generate div.block#newColumns/ul/li.section
		sectionEl.className = "section";
		var dlEl = document.createElement("dl");// generate div.block#newColumns/ul/li.section/dl.text
		dlEl.className = "text";
		dlEl.id = "linkTo" + currItem.link;
		if(dlEl.attachEvent){// click handle.
			dlEl.attachEvent("onclick",
				function(){
					var srcEl = window.event.srcElement;
					for(;srcEl.tagName!="DL";){
						srcEl = srcEl.parentNode;
					}
					var linkHref = srcEl.id.replace("linkTo","");
					//location.href = currItem.link;
					window.open(linkHref,"Document");
				}
			);
		}else if(dlEl.addEventListener){
			dlEl.addEventListener("click",
				function(evt){
					var srcEl = evt.currentTarget;
					var linkHref = srcEl.id.replace("linkTo","");
					//location.href = currItem.link;
					window.open(linkHref,"Document");
				}
			,false);
		}
		var dtEl = document.createElement("dt");// generate div.block#newColumns/ul/li.section/dl.text/dt
		dtEl.innerHTML = currItem.title;
		dlEl.appendChild(dtEl);
		var ddEl = document.createElement("dd");// generate div.block#newColumns/ul/li.section/dl.text/dd
		var pEl = document.createElement("p");// generate div.block#newColumns/ul/li.section/dl.text/dd/p
		pEl.innerHTML = currItem.description;
		ddEl.appendChild(pEl);
		dlEl.appendChild(ddEl);
		sectionEl.appendChild(dlEl);
		ulEl.appendChild(sectionEl);
	}
	parentEl.appendChild(ulEl);
	var navigateEl = document.createElement("div");// generate div.block#newColumns/div.navigateToIndex
	navigateEl.className = "navigateToIndex";
	var aEl = document.createElement("a");// generate div.block#newColumns/div.navigateToIndex/a
	aEl.href = master.more;
	aEl.innerHTML = "全コラムの一覧&nbsp;&gt;&gt;";
	navigateEl.appendChild(aEl);
	parentEl.appendChild(navigateEl);
}

// load blog new article.
function loadBlogbox(){
	if(document.getElementsByTagName("body")[0].className=="sub"){
		getContent("../xml/newblog.xml","GET",{},"newblog",hdlBlogbox);
	}else{
		getContent("./xml/newblog.xml","GET",{},"newblog",hdlBlogbox);
	}
}
// parser of newblog.xml
function hdlBlogbox(src){
	var rawXml = src['ajaxXml'];
	var newblogObj = {};
	var rootNode = {};
	// clean-up the retrieved XML nodes.
	for(var i=0;i<rawXml.childNodes.length;i++){
		if(rawXml.childNodes[i].nodeName=="newblog"){
			rootNode = rawXml.childNodes[i];
		}
	}
	var itemNodes = [];
	for(var j=0;j<rootNode.childNodes.length;j++){
		if(rootNode.childNodes[j].nodeName=="item"){
			itemNodes.push(rootNode.childNodes[j]);
		}
	}
	// parse newblog.@*.
	for(var i=0;i<rootNode.attributes.length;i++){
		if(rootNode.attributes[i].nodeName=="lastModified"){
			newblogObj['lastModified'] = rootNode.attributes[i].nodeValue;
		}else if(rootNode.attributes[i].nodeName=="headlineImage"){
			newblogObj['headlineImage'] = rootNode.attributes[i].nodeValue;
		}else if(rootNode.attributes[i].nodeName=="headlineAlt"){
			newblogObj['headlineAlt'] = rootNode.attributes[i].nodeValue;
		}else if(rootNode.attributes[i].nodeName=="more"){
			newblogObj['more'] = rootNode.attributes[i].nodeValue;
		}
	}
	var itemsObj = [];
	// parse <item> nodes'content
	for(var i=0;i<itemNodes.length;i++){
		var currItemNode = itemNodes[i];
		var currItemObj = {};
		// parse item.@link
		for(var j=0;j<currItemNode.attributes.length;j++){
			if(currItemNode.attributes[j].nodeName=="link"){
				currItemObj['link'] = currItemNode.attributes[j].nodeValue;
			}
		}
		// parse item.*.#cdata-section
		for(var k=0;k<currItemNode.childNodes.length;k++){
			var currChildNode = currItemNode.childNodes[k];
			switch(currChildNode.nodeName){
				case "title":
					for(var m=0;m<currChildNode.childNodes.length;m++){
						if(currChildNode.childNodes[m].nodeType==4){
							currItemObj['title'] = currChildNode.childNodes[m].nodeValue;
						}
					}
					break;
				case "description":
					for(var m=0;m<currChildNode.childNodes.length;m++){
						if(currChildNode.childNodes[m].nodeType==4){
							currItemObj['description'] = currChildNode.childNodes[m].nodeValue;
						}
					}
					break;
				default:
					break;
			}
		}
		itemsObj.push(currItemObj);
	}
	newblogObj['items'] = itemsObj;
	if(!document['ajaxObj']){
		document['ajaxObj'] = {};
	}
	document.ajaxObj['newblog'] = newblogObj;
	//renderBlogbox(); // masked@2008.07.29
}
function renderBlogbox(){
	var parentEl = document.getElementById("newBlogs");
	if(!parentEl){
		return false;
	}
	var renderCountMagicNumber = Number(3);
	var master = document.ajaxObj.newblog;
	var h2El = document.createElement("h2");// generate div.block#newBlogs/h2
	h2El.title = "Last Update at " + master.lastModified;
	h2El.innerHTML = "LATEST ARTICLES";
	parentEl.appendChild(h2El);
	/* NO ITEM   addition@2008.07.08 */
	if(master.items.length==0){
		var sorryEl = document.createElement("p");
		sorryEl.className = "noItemSorry";
		sorryEl.innerHTML = "記事がございません。次回更新をお待ちください。";
		parentEl.appendChild(sorryEl);
	}
	/* render items */
	var ulEl = document.createElement("ul");// generate div.block#newBlogs/ul
	for(var i=0;i<master.items.length && i<renderCountMagicNumber;i++){
		var currItem = master.items[i];
		var sectionEl = document.createElement("li");// generate div.block#newBlogs/ul/li.section
		sectionEl.className = "section";
		var dlEl = document.createElement("dl");// generate div.block#newBlogs/ul/li.section/dl.text
		dlEl.className = "text";
		dlEl.id = "linkTo" + currItem.link;
		if(dlEl.attachEvent){// click handle.
			dlEl.attachEvent("onclick",
				function(){
					var srcEl = window.event.srcElement;
					for(;srcEl.tagName!="DL";){
						srcEl = srcEl.parentNode;
					}
					var linkHref = srcEl.id.replace("linkTo","");
					//location.href = currItem.link;
					window.open(linkHref,"Document");
				}
			);
		}else if(dlEl.addEventListener){
			dlEl.addEventListener("click",
				function(evt){
					var srcEl = evt.currentTarget;
					var linkHref = srcEl.id.replace("linkTo","");
					//location.href = currItem.link;
					window.open(linkHref,"Document");
				}
			,false);
		}
		var dtEl = document.createElement("dt");// generate div.block#newBlogs/ul/li.section/dl.text/dt
		dtEl.innerHTML = currItem.title;
		dlEl.appendChild(dtEl);
		var ddEl = document.createElement("dd");// generate div.block#newBlogs/ul/li.section/dl.text/dd
		var pEl = document.createElement("p");// generate div.block#newBlogs/ul/li.section/dl.text/dd/p
		pEl.innerHTML = currItem.description;
		ddEl.appendChild(pEl);
		dlEl.appendChild(ddEl);
		sectionEl.appendChild(dlEl);
		ulEl.appendChild(sectionEl);
	}
	parentEl.appendChild(ulEl);
	var navigateEl = document.createElement("div");// generate div.block#newBlogs/div.navigateToIndex
	navigateEl.className = "navigateToIndex";
	var aEl = document.createElement("a");// generate div.block#newBlogs/div.navigateToIndex/a
	aEl.href = master.more;
	aEl.innerHTML = "全ブログの一覧&nbsp;&gt;&gt;";
	navigateEl.appendChild(aEl);
	parentEl.appendChild(navigateEl);
}
// load whatsnew.
function loadWhatsNew(){
	if(document.getElementsByTagName("body")[0].className=="sub"){
		getContent("../xml/whatsnew.xml","GET",{},"whatsnew",hdlWhatsnew);
	}else{
		getContent("./xml/whatsnew.xml","GET",{},"whatsnew",hdlWhatsnew);
	}
}
// parser of whatsnew.xml
function hdlWhatsnew(src){
	var rawXml = src['ajaxXml'];
	var whatsnewObj = {};
	// clean-up the retrieved XML nodes.
	for(var h=0;h<rawXml.childNodes.length;h++){
		if(rawXml.childNodes[h].nodeName=="whatsnew"){
			var rootNode = rawXml.childNodes[h];
		}
	}
	var contentNodes = [];
	for(var i=0;i<rootNode.childNodes.length;i++){
		var targetContentNode = rootNode.childNodes[i];
		if(targetContentNode.nodeName=="content"){
			contentNodes.push(targetContentNode);
		}
	}
	// parse root node.
	for(var i=0;i<rootNode.attributes.length;i++){
		if(rootNode.attributes[i].nodeName=="headlineImage"){
			whatsnewObj['headlineImage'] = rootNode.attributes[i].nodeValue;
		}else if(rootNode.attributes[i].nodeName=="headlineAlt"){
			whatsnewObj['headlineAlt'] = rootNode.attributes[i].nodeValue;
		}else if(rootNode.attributes[i].nodeName=="lastModified"){
			whatsnewObj['lastModified'] = rootNode.attributes[i].nodeValue;
		}
	}
	// parse <content> nodes.
	for(var j=0;j<contentNodes.length;j++){
		var targetContentNode = contentNodes[j];
		var currContent = {};
		// parse attributes of <content> node.
		for(var k=0;k<targetContentNode.attributes.length;k++){
			currContent[targetContentNode.attributes[k].nodeName] = targetContentNode.attributes[k].nodeValue;
		}
		// parse child nodes of <content> node.
		for(var m=0;m<targetContentNode.childNodes.length;m++){
			var targetChildNode = targetContentNode.childNodes[m];
			if(targetChildNode.nodeType==1){
				var childObj = {};
				// parse attributes of <item> node.
				for(var n=0;n<targetChildNode.attributes.length;n++){
					childObj[targetChildNode.attributes[n].nodeName] = targetChildNode.attributes[n].nodeValue;
				}
				// parse child nodes' #cdata-section <title>/<summary>/<specialWord>/<writer>.
				if(targetChildNode.nodeName=="title" ||
					targetChildNode.nodeName=="summary" ||
					targetChildNode.nodeName=="specialWord" ||
					targetChildNode.nodeName=="writer"){
					for(var p=0;p<targetChildNode.childNodes.length;p++){
						if(targetChildNode.childNodes[p].nodeType==4){
							childObj['text'] = targetChildNode.childNodes[p].nodeValue;
						}
					}
				}
				currContent[targetChildNode.nodeName] = childObj;
			}
			whatsnewObj[currContent.key] = currContent;
		}
	}
	if(!document['ajaxObj']){
		document['ajaxObj'] = {};
	}
	document.ajaxObj['whatsnew'] = whatsnewObj;
	renderWhatsnew();
}
// renderer of whatsnew.xml
function renderWhatsnew(){
	var renderCounterMagicNumber = Number(4);
	var parentEl = document.getElementById("newsUpdates");
	var master = document.ajaxObj.whatsnew;
	var h2El = document.createElement("h2");// generate div.block#newsUpdates/h2
	h2El.title = "Last Update at " + master.lastModified;
	h2El.innerHTML = "NEWS UPDATES";
	parentEl.appendChild(h2El);
	/* select items */
	var items = [];
	for(var i in master){
		if(i!="headlineAlt" && i!="headlineImage" && i!="lastModified"){
			items.push(master[i]);
		}
	}
	/* NO ITEMS addition@2008.07.08 */
	if(items.length==0){
		var sorryEl = document.createElement("p");
		sorryEl.className = "noItemSorry";
		sorryEl.innerHTML = "新着情報はございません。";
		parentEl.appendChild(sorryEl);
	}
	/* render items */
	var ulEl = document.createElement("ul");// generate div.block#newsUpdates/ul
	for(var i=0;i<items.length && i<renderCounterMagicNumber;i++){
		var currItem = items[i];
		var liEl = document.createElement("li");// generate div.block#newsUpdates/ul/li
		liEl.id = "linkTo" + currItem.href;
		/* modified@2008.06.02
		liEl.innerHTML = currItem.summary.text;
		*/
		liEl.innerHTML = currItem.title.text;
		liEl.title = currItem.title.text;
		if(liEl.attachEvent){// click handle.
			liEl.attachEvent("onclick",
				function(){// hyperlink action modified@2008.06.02
					var linkHref = window.event.srcElement.id.replace("linkTo","");
					window.open("http://" + location.host + linkHref,"Document");
				}
			);
		}else if(liEl.addEventListener){
			liEl.addEventListener("click",
				function(evt){// hyperlink action modified@2008.06.02
					var linkHref = evt.currentTarget.id.replace("linkTo","");
						window.open("http://" + location.host + linkHref,"Document");
				}
			,false);
		}
		ulEl.appendChild(liEl);
	}
	parentEl.appendChild(ulEl);
}

// load report indexes.
function loadReportindex(){
	if(document.getElementsByTagName("body")[0].className=="sub"){
		getContent("../xml/reportindex.xml","GET",{},"reportindex",hdlReportindex);
	}else{
		getContent("./xml/reportindex.xml","GET",{},"reportindex",hdlReportindex);
	}
}
// parser of reportindex.xml
function hdlReportindex(src){
	var rawXml = src['ajaxXml'];
	var reportindexObj = {};
	var rootNode = {};
	// clean-up the retrieved XML nodes.
	for(var i=0;i<rawXml.childNodes.length;i++){
		if(rawXml.childNodes[i].nodeName=="reportindex"){
			rootNode = rawXml.childNodes[i];
		}
	}
	// parse root node attributes.
	for(var j=0;j<rootNode.attributes.length;j++){
		if(rootNode.attributes[j].nodeName=="lastModified"){
			reportindexObj['lastModified'] = rootNode.attributes[j].nodeValue;
		}else if(rootNode.attributes[j].nodeName=="headlineImage"){
			reportindexObj['headlineImage'] = rootNode.attributes[j].nodeValue;
		}else if(rootNode.attributes[j].nodeName=="headlineAlt"){
			reportindexObj['headlineAlt'] = rootNode.attributes[j].nodeValue;
		}
	}
	// separate root child nodes.
	for(var k=0;k<rootNode.childNodes.length;k++){
		if(rootNode.childNodes[k].nodeType==1){
			reportindexObj[rootNode.childNodes[k].nodeName] = window['co_parse_' + rootNode.childNodes[k].nodeName](rootNode.childNodes[k]);
		}
	}
	if(!document['ajaxObj']){
		document['ajaxObj'] = {};
	}
	document.ajaxObj['reportindex'] = reportindexObj;
	renderReportindex();
}
// co parsers for reportindex.xml
function co_parse_categories(srcXml){
	var resultObj = {};
	// parse root node's attributes.
	for(var i=0;i<srcXml.attributes.length;i++){
		resultObj[srcXml.attributes[i].nodeName] = srcXml.attributes[i].nodeValue;
	}
	// parse child nodes.
	var itemsObj = [];
	for(var j=0;j<srcXml.childNodes.length;j++){
		if(srcXml.childNodes[j].nodeName=="category"){
			var currItem = {};
			var currNode = srcXml.childNodes[j];
			// parse child node's attributes.
			for(var k=0;k<currNode.attributes.length;k++){
				currItem[currNode.attributes[k].nodeName] = currNode.attributes[k].nodeValue;
			}
			itemsObj.push(currItem);
		}
	}
	resultObj['items'] = itemsObj;
	return resultObj;
}
// addition@2008.05.22 for <specialcontents> node.
function co_parse_specialcontents(srcXml){
	var resultObj = {};
	// parse root node's attributes.
	for(var i=0;i<srcXml.attributes.length;i++){
		resultObj[srcXml.attributes[i].nodeName] = srcXml.attributes[i].nodeValue;
	}
	// parse child nodes.
	var itemsObj = [];
	for(var j=0;j<srcXml.childNodes.length;j++){
		if(srcXml.childNodes[j].nodeName=="content"){
			var currItem = {};
			var currNode = srcXml.childNodes[j];
			// parse child node's attributes.
			for(var k=0;k<currNode.attributes.length;k++){
				currItem[currNode.attributes[k].nodeName] = currNode.attributes[k].nodeValue;
			}
			itemsObj.push(currItem);
		}
	}
	resultObj['items'] = itemsObj;
	return resultObj;
}
function co_parse_areas(srcXml){
	var resultObj = {};
	// parse root node's attributes.
	for(var i=0;i<srcXml.attributes.length;i++){
		resultObj[srcXml.attributes[i].nodeName] = srcXml.attributes[i].nodeValue;
	}
	// parse child nodes.
	var itemsObj = [];
	for(var j=0;j<srcXml.childNodes.length;j++){
		if(srcXml.childNodes[j].nodeName=="area"){
			var currItem = {};
			var currNode = srcXml.childNodes[j];
			// parse child node's attributes.
			for(var k=0;k<currNode.attributes.length;k++){
				currItem[currNode.attributes[k].nodeName] = currNode.attributes[k].nodeValue;
			}
			itemsObj.push(currItem);
		}
	}
	resultObj['items'] = itemsObj;
	return resultObj;
}
function co_parse_keywords(srcXml){
	var resultObj = {};
	// parse root node's attributes.
	for(var i=0;i<srcXml.attributes.length;i++){
		resultObj[srcXml.attributes[i].nodeName] = srcXml.attributes[i].nodeValue;
	}
	// parse child nodes.
	var itemsObj = [];
	for(var j=0;j<srcXml.childNodes.length;j++){
		if(srcXml.childNodes[j].nodeName=="keyword"){
			var currItem = {};
			var currNode = srcXml.childNodes[j];
			// parse child node's attributes.
			for(var k=0;k<currNode.attributes.length;k++){
				currItem[currNode.attributes[k].nodeName] = currNode.attributes[k].nodeValue;
			}
			itemsObj.push(currItem);
		}
	}
	resultObj['items'] = itemsObj;
	return resultObj;
}
function co_parse_dates(srcXml){
	var resultObj = {};
	// parse root node's attributes.
	for(var i=0;i<srcXml.attributes.length;i++){
		resultObj[srcXml.attributes[i].nodeName] = srcXml.attributes[i].nodeValue;
	}
	// parse <month> nodes.
	var months = [];
	for(var j=0;j<srcXml.childNodes.length;j++){
		var currMonthNode = srcXml.childNodes[j];
		var currMonth = {};
		if(currMonthNode.nodeName=="month"){
			var articles = [];
			// parse month.@*
			for(var k=0;k<currMonthNode.attributes.length;k++){
				currMonth[currMonthNode.attributes[k].nodeName] = currMonthNode.attributes[k].nodeValue;
			}
			// parse month.article[]
			for(var m=0;m<currMonthNode.childNodes.length;m++){
				if(currMonthNode.childNodes[m].nodeName=="article"){
					var currArticle = {};
					var currArticleNode = currMonthNode.childNodes[m];
					// parse month.article.@*
					for(var n=0;n<currArticleNode.attributes.length;n++){
						currArticle[currArticleNode.attributes[n].nodeName] = currArticleNode.attributes[n].nodeValue;
					}
					articles.push(currArticle);
				}
			}
			currMonth['articles'] = articles;
			months.push(currMonth);
		}
	}
	resultObj['months'] = months;
	return resultObj;
}
function co_parse_writers(srcXml){// sorting algorithm addition@2007.07.28
	var resultObj = {};
	// parse root node's attributes.
	for(var i=0;i<srcXml.attributes.length;i++){
		resultObj[srcXml.attributes[i].nodeName] = srcXml.attributes[i].nodeValue;
	}
	// parse <belong> nodes.
	var belongs = [];
	for(var j=0;j<srcXml.childNodes.length;j++){
		var currBelongNode = srcXml.childNodes[j];
		var currBelong = {};
		if(currBelongNode.nodeName=="belong"){
			var persons = [];
			// parse belong.@*
			for(var k=0;k<currBelongNode.attributes.length;k++){
				currBelong[currBelongNode.attributes[k].nodeName] = currBelongNode.attributes[k].nodeValue;
			}
			// parse belong.person[]
			for(var m=0;m<currBelongNode.childNodes.length;m++){
				if(currBelongNode.childNodes[m].nodeName=="person"){
					var currPerson = {};
					var currPersonNode = currBelongNode.childNodes[m];
					// parse belong.person.@*
					for(var n=0;n<currPersonNode.attributes.length;n++){
						currPerson[currPersonNode.attributes[n].nodeName] = currPersonNode.attributes[n].nodeValue;
					}
					persons.push(currPerson);
				}
			}
			currBelong['persons'] = persons;
			belongs.push(currBelong);
		}
	}
	belongs.sort(support_sortByJa);
	resultObj['belongs'] = belongs;
	return resultObj;
}
function support_sortByJa(objA,objB){
	var codeA = objA.ja.charCodeAt(0);
	var codeB = objB.ja.charCodeAt(0);
	return codeA - codeB;
}
// renderer of reportindex.xml
function renderReportindex(){
	var parentEl = document.getElementById("reports");
	var master = document.ajaxObj.reportindex;
	var currMaster = {};
	var h2El = document.createElement("h2");// generate div.block#reports/h2
	h2El.title = "Last Update at " + master.lastModified;
	h2El.innerHTML = "REPORTS";
	parentEl.appendChild(h2El);
	// category : 領域別
	var currParentEl = document.createElement("div");
	currParentEl.id = "byCategory";
	currParentEl.className = "section";
	currMaster = master.categories;
	var h3El = document.createElement("h3");// generate div.block#reports/div.section/h3
	h3El.innerHTML = currMaster.titleJa;
	currParentEl.appendChild(h3El);
	var ulEl = document.createElement("ul");// generate div.block#reports/div.section/ul
	for(var i=0;i<currMaster.items.length;i++){
		var currItem = currMaster.items[i];
		var liEl = document.createElement("li");// generate div.block#reports/div.section/ul/li
		liEl.id = "searchByCategoryPh" + currItem.titleJa;
		if(liEl.attachEvent){// click handle.
			liEl.attachEvent("onclick",
				function(){
					var target = window.event.srcElement;
					for(;target.tagName!="LI";){
						target = target.parentNode;
					}
					var paramStr = target.id.replace("searchByCategoryPh","");
					var hrefUri = document.constants.reportallindex.uri + "?" + document.constants.categories.paramName + "=" + encodeURIComponent(paramStr);
					location.href = hrefUri;
				});
		}else if(liEl.addEventListener){
			liEl.addEventListener("click",
				function(evt){
					var target = evt.currentTarget;
					var paramStr = target.id.replace("searchByCategoryPh","");
					var hrefUri = document.constants.reportallindex.uri + "?" + document.constants.categories.paramName + "=" + encodeURIComponent(paramStr);
					location.href = hrefUri;
				},false);
		}
		var imgEl = document.createElement("img")// generate div.block#reports/div.section/ul/li/img
		imgEl.src = currItem.icon;
		//imgEl.alt = currItem.iconAlt;// masked@2008.07.29
		liEl.appendChild(imgEl);
		var sectionItemEl = document.createElement("dl");// generate div.block#reports/div.section/ul/li/dl.sectionItem
		sectionItemEl.className = "sectionItem";
		var dtEl = document.createElement("dt");// generate div.block#reports/div.section/ul/li/dl.sectionItem/dt
		dtEl.innerHTML = currItem.titleJa;
		sectionItemEl.appendChild(dtEl);
		var ddEl = document.createElement("dd");// generate div.block#reports/div.section/ul/li/dl.sectionItem/dd
		ddEl.innerHTML = currItem.descriptionJa;
		sectionItemEl.appendChild(ddEl);
		liEl.appendChild(sectionItemEl);
		ulEl.appendChild(liEl);
	}
	currParentEl.appendChild(ulEl);
	parentEl.appendChild(currParentEl);
	// addition@2008.05.22
	// modified@2008.06.12
	// specialcontents：スペシャルコンテンツ
	var currParentEl = document.createElement("div");
	currParentEl.id = "byContents";
	currParentEl.className = "section";
	currMaster = master.specialcontents;
	var h3El = document.createElement("h3");// generate div.block#reports/div.section/h3
	h3El.innerHTML = currMaster.titleJa;
	currParentEl.appendChild(h3El);
	var ulEl = document.createElement("ul");// generate div.block#reports/div.section/ul
	for(var i=0;i<currMaster.items.length;i++){
		var currItem = currMaster.items[i];
		var liEl = document.createElement("li");// generate div.block#reports/div.section/ul/li
		// [Todo]
		liEl.id = "linkTo" + currItem.link;
		if(liEl.attachEvent){// click handle.
			liEl.attachEvent("onclick",
				function(){
					var target = window.event.srcElement;
					for(;target.tagName!="LI";){
						target = target.parentNode;
					}
					var hrefUri = target.id.replace("linkTo","");
					location.href = hrefUri;
				});
		}else if(liEl.addEventListener){
			liEl.addEventListener("click",
				function(evt){
					var target = evt.currentTarget;
					var hrefUri = target.id.replace("linkTo","");
					location.href = hrefUri;
				},false);
		}
		var imgEl = document.createElement("img")// generate div.block#reports/div.section/ul/li/img
		imgEl.src = currItem.icon;
		//imgEl.alt = currItem.iconAlt; // masked@2008.07.29
		liEl.appendChild(imgEl);
		var sectionItemEl = document.createElement("dl");// generate div.block#reports/div.section/ul/li/dl.sectionItem
		sectionItemEl.className = "sectionItem";
		var dtEl = document.createElement("dt");// generate div.block#reports/div.section/ul/li/dl.sectionItem/dt
		dtEl.innerHTML = currItem.titleJa;
		sectionItemEl.appendChild(dtEl);
		var ddEl = document.createElement("dd");// generate div.block#reports/div.section/ul/li/dl.sectionItem/dd
		ddEl.innerHTML = currItem.descriptionJa;
		sectionItemEl.appendChild(ddEl);
		liEl.appendChild(sectionItemEl);
		ulEl.appendChild(liEl);
	}
	currParentEl.appendChild(ulEl);
	parentEl.appendChild(currParentEl);
	// area : 地域別
	var currParentEl = document.createElement("div");
	currParentEl.id = "byArea";
	currParentEl.className = "section";
	currMaster = master.areas;
	var h3El = document.createElement("h3");// generate div.block#reports/div.section/h3
	h3El.innerHTML = currMaster.titleJa;
	currParentEl.appendChild(h3El);
	var sectionItemEl = document.createElement("div");// generate div.block#reports/div.section/div.sectionItem
	sectionItemEl.className = "sectionItem";
	var wordsEl = document.createElement("div");// generate div.block#reports/div.section/div.sectionItem/div.words
	wordsEl.className = "words";
	for(var i=0;i<currMaster.items.length;i++){
		var currItem = currMaster.items[i];
		var spanEl = document.createElement("span");// generate div.block#reports/div.section/div.sectionItem/div.words/span
		spanEl.className = "priority" + currItem.priority;
		spanEl.innerHTML = currItem.ja;
		if(spanEl.attachEvent){// click handle.
			spanEl.attachEvent("onclick",
				function(){
					var srcEl = window.event.srcElement;
					location.href = "/RA/rplist.html?region=" + encodeURIComponent(srcEl.innerHTML);
				});
		}else if(spanEl.addEventListener){
			spanEl.addEventListener("click",
				function(evt){
					var srcEl = evt.currentTarget;
					location.href = "/RA/rplist.html?region=" + encodeURIComponent(srcEl.innerHTML);
				},false);
		}
		wordsEl.appendChild(spanEl);
	}
	sectionItemEl.appendChild(wordsEl);
	currParentEl.appendChild(sectionItemEl);
	parentEl.appendChild(currParentEl);
	// keyword : キーワード検索
	var currParentEl = document.createElement("div");
	currParentEl.id = "byKeyword";
	currParentEl.className = "section";
	var h3El = document.createElement("h3");// generate div.block#reports/div.section/h3
	h3El.innerHTML = "キーワード検索";
	currParentEl.appendChild(h3El);
	var sectionItemEl = document.createElement("div");// generate div.block#reports/div.section/div.sectionItem
	sectionItemEl.className = "sectionItem";
	var inputTextEl = document.createElement("input");
	inputTextEl.id = "keywordSearchInput";
	inputTextEl.type = "text";
	if(inputTextEl.attachEvent){
		inputTextEl.attachEvent("onkeypress",
			function(){
				if(window.event.keyCode==13){
					location.href = "/RA/rplist.html?kw=" + encodeURIComponent(document.getElementById("keywordSearchInput").value);
				}
			});
	}else if(inputTextEl.addEventListener){
		inputTextEl.addEventListener("keypress",
			function(evt){
				if(evt.keyCode==13){
					location.href = "/RA/rplist.html?kw=" + encodeURIComponent(document.getElementById("keywordSearchInput").value);
				}
			},false);
	}
	sectionItemEl.appendChild(inputTextEl);
	var inputBtnEl = document.createElement("input");
	inputBtnEl.id = "keywordSearchButton";
	inputBtnEl.type = "button";
	inputBtnEl.value = "検索";
	if(inputBtnEl.attachEvent){
		inputBtnEl.attachEvent("onclick",
			function(){
				location.href = "/RA/rplist.html?kw=" + encodeURIComponent(document.getElementById("keywordSearchInput").value);
			});
	}else if(inputBtnEl.addEventListener){
		inputBtnEl.addEventListener("click",
			function(){
				location.href = "/RA/rplist.html?kw=" + encodeURIComponent(document.getElementById("keywordSearchInput").value);
			},false);
	}
	sectionItemEl.appendChild(inputBtnEl);
	currParentEl.appendChild(sectionItemEl);
	parentEl.appendChild(currParentEl);
	// dates : 発行年月日
	var currParentEl = document.createElement("div");
	currParentEl.id = "byMonth";
	currParentEl.className = "section";
	currMaster = master.dates;
	var h3El = document.createElement("h3");// generate div.block#reports/div.section/h3
	h3El.innerHTML = currMaster.titleJa;
	currParentEl.appendChild(h3El);
	var sectionItemEl = document.createElement("div");// generate div.block#reports/div.section/div.sectionItem
	sectionItemEl.className = "sectionItem";
	var ulEl = document.createElement("ul");// generate div.block#reports/div.section/div.sectionItem/ul
	for(var i=0;i<currMaster.months.length;i++){
		var currMonth = currMaster.months[i];
		var liEl = document.createElement("li");// generate div.block#reports/div.section/div.sectionItem/ul/li
		var dlEl = document.createElement("dl");// generate div.block#reports/div.section/div.sectionItem/ul/li/dl
		var dtEl = document.createElement("dt");// generate div.block#reports/div.section/div.sectionItem/ul/li/dl/dt
		dtEl.id = "LinkTo" + currMonth.raw;
		dtEl.className = "normal";
		dtEl.innerHTML = currMonth.ja;
		/* masked@2008.05.28
		if(dtEl.attachEvent){// click  handle.
			dtEl.attachEvent("onclick",
				function(){
					var childEls = window.event.srcElement.parentNode.getElementsByTagName("dd");
					if(window.event.srcElement.className=="normal"){
						for(var i=0;i<childEls.length;i++){
							childEls[i].style.display = "block";
						}
						window.event.srcElement.className = "opened";
					}else if(window.event.srcElement.className=="opened"){
						for(var i=0;i<childEls.length;i++){
							childEls[i].style.display = "none";
						}
						window.event.srcElement.className = "normal";
					}
				}
			);
		}else if(dlEl.addEventListener){
			dtEl.addEventListener("click",
				function(){
					var childEls = this.parentNode.getElementsByTagName("dd");
					if(this.className=="normal"){
						for(var i=0;i<childEls.length;i++){
							childEls[i].style.display = "block";
						}
						this.className = "opened";
					}else if(this.className=="opened"){
						for(var i=0;i<childEls.length;i++){
							childEls[i].style.display = "none";
						}
						this.className = "normal";
					}
				}
			,false);
		}
		*/
		if(dtEl.attachEvent){
			dtEl.attachEvent("onclick",
				function(){
					var srcEl = window.event.srcElement;
					var href = srcEl.id.replace("LinkTo","");
					location.href = "/RA/rplist.html?date=" + encodeURIComponent(href);
				}
			);
		}else if(dtEl.addEventListener){
			dtEl.addEventListener("click",
				function(evt){
					var srcEl = evt.currentTarget;
					var href = srcEl.id.replace("LinkTo","");
					location.href = "/RA/rplist.html?date=" + encodeURIComponent(href);
				}
			,false);
		}
		dlEl.appendChild(dtEl);
		/* masked@2008.05.28
		for(var j=0;j<currMonth.articles.length;j++){
			var currArticle = currMonth.articles[j];
			var ddEl = document.createElement("dd");// generate div.block#reports/div.section/div.sectionItem/ul/li/dl/dd
			ddEl.id = "linkTo" + currArticle.link;// 要確認項目：記事への直接リンク or 年月による記事検索
			ddEl.innerHTML = currArticle.ja;
			ddEl.style.display = "none";
			if(ddEl.attachEvent){// click handle.
				ddEl.attachEvent("onclick",
					function(){
						location.href = window.event.srcElement.id.replace("linkTo","");
					}
				);
			}else if(ddEl.addEventListener){
				ddEl.addEventListener("click",
					function(evt){
						location.href = evt.currentTarget.id.replace("linkTo","");
					}
				,false);
			}
			dlEl.appendChild(ddEl);
		}
		*/
		liEl.appendChild(dlEl);
		ulEl.appendChild(liEl);
	}
	sectionItemEl.appendChild(ulEl);
	currParentEl.appendChild(sectionItemEl);
	parentEl.appendChild(currParentEl);
	// writers : 執筆者検索
	var currParentEl = document.createElement("div");
	currParentEl.id = "byPerson";
	currParentEl.className = "section";
	currMaster = master.writers;
	var h3El = document.createElement("h3");// generate div.block#reports/div.section/h3
	h3El.innerHTML = currMaster.titleJa;
	currParentEl.appendChild(h3El);
	var sectionItemEl = document.createElement("div");// generate div.block#reports/div.section/div.sectionItem
	sectionItemEl.className = "sectionItem";
	var ulEl = document.createElement("ul");// generate div.block#reports/div.section/div.sectionItem/ul
	for(var i=0;i<currMaster.belongs.length;i++){
		var currBelong = currMaster.belongs[i];
		var liEl = document.createElement("li");// generate div.block#reports/div.section/div.sectionItem/ul/li
		var dlEl = document.createElement("dl");// generate div.block#reports/div.section/div.sectionItem/ul/li/dl
		var dtEl = document.createElement("dt");// generate div.block#reports/div.section/div.sectionItem/ul/li/dl/dt
		dtEl.className = "normal";
		dtEl.innerHTML = currBelong.ja;
		if(dtEl.attachEvent){// click handle.
			dtEl.attachEvent("onclick",
				function(){
					var childEls = window.event.srcElement.parentNode.getElementsByTagName("dd");
					if(window.event.srcElement.className=="normal"){
						for(var i=0;i<childEls.length;i++){
							childEls[i].style.display = "block";
						}
						window.event.srcElement.className = "opened";
					}else if(window.event.srcElement.className=="opened"){
						for(var i=0;i<childEls.length;i++){
							childEls[i].style.display = "none";
						}
						window.event.srcElement.className = "normal";
					}
				}
			);
		}else if(dlEl.addEventListener){
			dtEl.addEventListener("click",
				function(){
					var childEls = this.parentNode.getElementsByTagName("dd");
					if(this.className=="normal"){
						for(var i=0;i<childEls.length;i++){
							childEls[i].style.display = "block";
						}
						this.className = "opened";
					}else if(this.className=="opened"){
						for(var i=0;i<childEls.length;i++){
							childEls[i].style.display = "none";
						}
						this.className = "normal";
					}
				}
			,false);
		}
		dlEl.appendChild(dtEl);
		for(var j=0;j<currBelong.persons.length;j++){
			var currPerson = currBelong.persons[j];
			var ddEl = document.createElement("dd");// generate div.block#reports/div.section/div.sectionItem/ul/li/dl/dd
			ddEl.innerHTML = currPerson.ja;
			ddEl.style.display = "none";
			if(ddEl.attachEvent){// click handle.
				ddEl.attachEvent("onclick",
					function(){
						var href = window.event.srcElement.innerHTML;
						location.href = "/RA/rplist.html?writer=" + encodeURIComponent(href);
					}
				);
			}else if(ddEl.addEventListener){
				ddEl.addEventListener("click",
					function(evt){
						var href = evt.currentTarget.innerHTML;
						location.href = "/RA/rplist.html?writer=" + encodeURIComponent(href);
					}
				,false);
			}
			dlEl.appendChild(ddEl);
		}
		liEl.appendChild(dlEl);
		ulEl.appendChild(liEl);
	}
	sectionItemEl.appendChild(ulEl);
	currParentEl.appendChild(sectionItemEl);
	parentEl.appendChild(currParentEl);
}

//[begin] Nextcom Right-Pane functionalities.
function initNcRightPane(){
	if(location.pathname.indexOf("/nextcom/")==-1){
		if(!document['ajax_nextcom_newsList_common']){
			document.ajax_nextcom_newsList_common = {};
		}
		var postParam = {};
		var paramStr = "";
		postParam['realm'] = "nextcom";
		postParam['category'] = "GetCommonNcPane";
		paramStr = spt_getPostString(postParam);
		if(!document.ajax_nextcom_newsList_common['parsedObj']){
			getContent("/api/nextcom.api", "POST", paramStr, "ajax_nextcom_newsList_common", hdlNcNewsListCmn);
		}
	}
}

function hdlNcNewsListCmn(storeObj){
	document.ajax_nextcom_newsList_common['parsedObj'] = hdlAjax_rev002(storeObj);
	renderNcNewsListCmn();
}

function renderNcNewsListCmn(){
	if(document.getElementById("ncNewsCmnCoverImg")){
		return;
	}
	if(document.ajax_nextcom_newsList_common['parsedObj']){
		if(document.ajax_nextcom_newsList_common.parsedObj['itemsArr']){
			var config;
			var volInfo;
			var newsList = [];
			for(var i=0;i<document.ajax_nextcom_newsList_common.parsedObj.itemsArr.length;i++){
				var tmpItem = document.ajax_nextcom_newsList_common.parsedObj.itemsArr[i];
				switch(tmpItem['type']){
					case "config":
						if(tmpItem['key']=="common_news_summry_count"){
							config = {newsCount:Number(tmpItem['value'])};
						}
						break;
					case "volInfo":
						volInfo = {};
						volInfo['volumeNumber'] = tmpItem.volumeNumber;
						volInfo['pubDate'] = tmpItem.pubDate.substring(0,4) + "/" + tmpItem.pubDate.substring(4,6) +"/" + tmpItem.pubDate.substring(6,8);
						volInfo['pubYYYYMM'] = tmpItem.pubYYYYMM.substring(0,4) + "年";
						switch(tmpItem.pubYYYYMM.substring(4,6)){
							case "01":
								volInfo.pubYYYYMM += " Spring";
								break;
							case "02":
								volInfo.pubYYYYMM += " Summer";
								break;
							case "03":
								volInfo.pubYYYYMM += " Autumn";
								break;
							case "04":
								volInfo.pubYYYYMM += " Winter";
								break;
							default:
								break;
						}
						volInfo['coverUri'] = "/nextcom/images/" + tmpItem.coverUri;

						break;
					case "newsItem":
						var tmpObj = {};
						tmpObj['titleText'] = tmpItem.titleText;
						tmpObj['titleType'] = tmpItem.titleType;
						tmpObj['pubDate'] = tmpItem.pubDate.substring(0,4) + "/" + tmpItem.pubDate.substring(4,6) + "/" + tmpItem.pubDate.substring(6,8);
						newsList.push(tmpObj);
						break;
					default:
						break;
				}
			}
			//[begin] Render items in the target pane.
			var parentEl = document.getElementById("ncNewsCmn");
			if(parentEl){
				parentEl.id = "ncNewsCmn";
				parentEl.className = "block";
				parentEl.style.display = "block";
				parentEl.style.overflow = "hidden";
				var h2El = document.createElement("h2");
				var h2TextEl = document.createTextNode("Nextcom");
				h2El.appendChild(h2TextEl);
				parentEl.appendChild(h2El);
				var div1El = document.createElement("div");
				div1El.style.width = "120px";
				div1El.style.height = "auto";
				div1El.style.marginLeft = "5px";
				div1El.style.textAlign = "center";
				div1El.style['cssFloat'] = "left";
				div1El.style['styleFloat'] = "left";
				parentEl.appendChild(div1El);
				var imgEl = document.createElement("img");
				imgEl.id = "ncNewsCmnCoverImg";
				imgEl.style.width = "118px";
				imgEl.style.height = "157px";
				imgEl.style.marginBottom = "3px";
				imgEl.style.border = "solid 1px #cccccc";
				imgEl.style.cursor = "pointer";
				imgEl.src = "http://" + location.host + volInfo.coverUri;
				imgEl.title = "Vol." + volInfo.volumeNumber + "  " + volInfo.pubYYYYMM + " の目次へ";
				imgEl.alt = "Vol." + volInfo.volumeNumber + "  " + volInfo.pubYYYYMM;
				imgEl.onclick = function(){
					location.href = "http://" + location.host + "/nextcom/index.html";
				};
				div1El.appendChild(imgEl);
				var div2El = document.createElement("div");
				var div2TextEl = document.createTextNode("Vol." + volInfo.volumeNumber + "  " + volInfo.pubYYYYMM);
				div2El.style.fontWeight = "bold";
				div2El.appendChild(div2TextEl);
				div1El.appendChild(div2El);
				var ulEl = document.createElement("ul");
				ulEl.style.width = "130px";
				ulEl.style.height = "auto";
				//ulEl.style.position = "absolute";
				//ulEl.style.top = "30px";
				//ulEl.style.left = "130px";
				ulEl.style.listStyleType = "none";
				ulEl.style['cssFloat'] = "right";
				ulEl.style['styleFloat'] = "right";
				ulEl.onclick = function(){
					location.href = "http://" + location.host + "/nextcom/news.html";
				};
				parentEl.appendChild(ulEl);
				for(var k=0;k<newsList.length && k<config.newsCount;k++){
					var liEl = document.createElement("li");
					liEl.style.width = "120px";
					liEl.style.height = "auto";
					liEl.style.borderLeft = "solid 3px #666666";
					liEl.style.paddingLeft = "5px";
					liEl.style.marginBottom = "0.5em";
					liEl.style.lineHeight = "1.3em";
					//liEl.style.textDecoration = "underline";
					liEl.style.cursor = "pointer";
					liEl.title = newsList[k].pubDate;
					var liTextEl =document.createTextNode(newsList[k].titleText);
					liEl.appendChild(liTextEl);
					ulEl.appendChild(liEl);
				}
			}
			//[end] Render items in the target pane.
		}
	}
}
//[end] Nextcom Right-Pane functionalities.
