var bObj=new Object();
var myArea=NaN;
var lnObj=new Array();
lnObj[0]=Array("sapporo","札幌放送局へ","北海道");
lnObj[1]=Array("aomori","青森放送局へ","青森");
lnObj[2]=Array("morioka","盛岡放送局へ","岩手");
lnObj[3]=Array("sendai","仙台放送局へ","宮城");
lnObj[4]=Array("akita","秋田放送局へ","秋田");
lnObj[5]=Array("yamagata","山形放送局へ","山形");
lnObj[6]=Array("fukushima","福島放送局へ","福島");
lnObj[7]=Array("shutoken","首都圏放送センターへ","首都圏");
lnObj[8]=Array("yokohama","横浜放送局へ","神奈川");
lnObj[9]=Array("saitama","さいたま放送局へ","埼玉");
lnObj[10]=Array("chiba","千葉放送局へ","千葉");
lnObj[11]=Array("mito","水戸放送局へ","茨城");
lnObj[12]=Array("utsunomiya","宇都宮放送局へ","栃木");
lnObj[13]=Array("maebashi","前橋放送局へ","群馬");
lnObj[14]=Array("kofu","甲府放送局へ","山梨");
lnObj[15]=Array("niigata","新潟放送局へ","新潟");
lnObj[16]=Array("nagano","長野放送局へ","長野");
lnObj[17]=Array("toyama","富山放送局へ","富山");
lnObj[18]=Array("kanazawa","金沢放送局へ","石川");
lnObj[19]=Array("fukui","福井放送局へ","福井");
lnObj[20]=Array("nagoya","名古屋放送局へ","愛知");
lnObj[21]=Array("gifu","岐阜放送局へ","岐阜");
lnObj[22]=Array("shizuoka","静岡放送局へ","静岡");
lnObj[23]=Array("tsu","津放送局へ","三重");
lnObj[24]=Array("osaka","大阪放送局へ","大阪");
lnObj[25]=Array("kobe","神戸放送局へ","兵庫");
lnObj[26]=Array("kyoto","京都放送局へ","京都");
lnObj[27]=Array("otsu","大津放送局へ","滋賀");
lnObj[28]=Array("nara","奈良放送局へ","奈良");
lnObj[29]=Array("wakayama","和歌山放送局へ","和歌山");
lnObj[30]=Array("tottori","鳥取放送局へ","鳥取");
lnObj[31]=Array("matsue","松江放送局へ","島根");
lnObj[32]=Array("okayama","岡山放送局へ","岡山");
lnObj[33]=Array("hiroshima","広島放送局へ","広島");
lnObj[34]=Array("yamaguchi","山口放送局へ","山口");
lnObj[35]=Array("tokushima","徳島放送局へ","徳島");
lnObj[36]=Array("takamatsu","高松放送局へ","香川");
lnObj[37]=Array("matsuyama","松山放送局へ","愛媛");
lnObj[38]=Array("kochi","高知放送局へ","高知");
lnObj[39]=Array("fukuoka","福岡放送局へ","福岡");
lnObj[40]=Array("kitakyushu","北九州放送局へ","北九州");
lnObj[41]=Array("saga","佐賀放送局へ","佐賀");
lnObj[42]=Array("nagasaki","長崎放送局へ","長崎");
lnObj[43]=Array("kumamoto","熊本放送局へ","熊本");
lnObj[44]=Array("oita","大分放送局へ","大分");
lnObj[45]=Array("miyazaki","宮崎放送局へ","宮崎");
lnObj[46]=Array("kagoshima","鹿児島放送局へ","鹿児島");
lnObj[47]=Array("okinawa","沖縄放送局へ","沖縄");

bObj["lnews"]=new Object();
function setDef(){
var NLS=getCookie("NLS");
if(NLS!=null){myArea=NLS;}
else{myArea=7;}
bObj["lnews"].name   = 'lnews';
bObj["lnews"].xmlurl = '/'+lnObj[myArea][0]+'/lnews/headline2.xml';
bObj["lnews"].itemcount = 3;
bObj["lnews"].hdhtml = '<h3>各地のニュース</h3>'+mkArea()+'<p class="button"><a href="http://www.nhk.or.jp/lnews/?from=tp_n02"><img src="/topmenu/1003_img/bt_lnews.png" alt="各地のニュース" width="74" height="16" class="rollover" /></a></p><ul class="story">';
bObj["lnews"].tmphtml = '<li><a href="##">##</a></li>';
bObj["lnews"].tmparray = Array('link','title##20');//後略する場合は「##」の後に制限文字数を入力。JSTタイムの日付時刻文字列の場合は「%%」の後にフォーマットを記述。
bObj["lnews"].fthtml = '</ul><p class="more"><span><a href="http://www.nhk.or.jp/'+ lnObj[myArea][0] +'/">' + lnObj[myArea][1]+'</a></span></p>';
bObj["lnews"].errorhtml = '<p class="banner"><a href="http://www.nhk.or.jp/lnews/"><img src="/topmenu/1003_img/bn_lnews.png" alt="各地のニュース" width="222" height="96" /></a></p>';
bObj["lnews"].callback=function(xml,nm){
var nodes= xxXML('count',xml,'item');
if(!nodes){error(this);return false;}
var html = this.hdhtml;
var tmp = xxXML('setTemplate',this,nodes);
if(tmp)html += tmp;
html += this.fthtml;
document.getElementById(nm).innerHTML = html;
return true;
}
}
setDef();

//lnews
function readR(){
var rssID=Array("lnews");
for(var i=0;i<rssID.length;i++)readRss(rssID[i]);
}

function mkArea(){
var html='';
html+='<div class="area"><h4 id="areaName" onmouseover="initAS();"><span>'+lnObj[myArea][2]+'</span></h4>';
html+='<ul id="areaSelect" style="visibility:visible;display:none;">';
for(var i=0;i<lnObj.length;i++){
html+='<li id="'+lnObj[i][0]+'"><a href="#" onclick="chgDef('+i+');return false;">'+lnObj[i][2]+'</a></li>';
}
html+='</ul></div>';
return html;
}
function initAS(){
	var tgt=$("#areaSelect");
	$('#areaName').unbind('mouseover')
	.bind('mouseenter',function(){
		tgt.show().removeClass('hideok');
	})
	.bind('mouseleave',function(){
		hideAS();
	});
	tgt.css({
		 overflow:'auto'
		,overflowX:'hidden'
		,overflowY:'scroll'
	})
	.show()
	.removeClass('hideok')
	.bind('mouseenter', function(){
		tgt.show().removeClass('hideok');
	})
	.bind('mouseleave',function(){
		hideAS();
	});
}
function hideAS(){
	if($("#areaSelect").hasClass('hideok'))return;
	$("#areaSelect").addClass('hideok');
	setTimeout('confirmhideAS();',100);
}
function confirmhideAS(){
	if($("#areaSelect").hasClass('hideok')){
		$("#areaSelect").hide();
	}
}
function chgDef(n){
myArea=n;
setCookie('NLS',n,365);
setDef();
readRss("lnews");
}

function error(obj){
document.getElementById(obj.name).innerHTML=obj.errorhtml;
}
function xxXML(msg,p1,p2){

if(msg=='count'){
var xml=p1;
var items = xml.getElementsByTagName(p2);
if(!items || !items.length || items.length == 0){return false;}
var nodes = new Array();
for(var i = 0; i < items.length; i++){
var item = items.item(i);
if(!item.hasChildNodes()) continue;
var itemData = new Array();
for(var j = 0; j < item.childNodes.length; j++){
var child = item.childNodes.item(j);
itemData[child.nodeName] = (child.firstChild) ? child.firstChild.nodeValue : '';
}
nodes.push(itemData);
}
if(nodes.length == 0) {return false;}
return nodes;

}else if(msg=='setTemplate'){
var obj=p1;
var nodes=p2;
var cnt = (obj.itemcount < nodes.length) ? obj.itemcount : nodes.length;
var tmplate = obj.tmphtml.split("##");
var xword = obj.tmparray;
var html='';
for(var i = 0; i < cnt; i++){
for(var j=0;j<tmplate.length;j++){
html+=tmplate[j].replace(/@@/g,i+1);
if(xword[j]){
if(xword[j].match("%%")){
var pd = xword[j].split("%%");
if(nodes[i][pd[0]]){
var pupdateUTC = new Date(nodes[i][pd[0]]);
html += pupdateUTC.toJSTJString(pd[1]);
}
}else if(xword[j].match(/##/)){
var maxlen=xword[j].split("##")[1];
var ndname=xword[j].split("##")[0];
html+=getDspText(nodes[i][ndname],maxlen);
}else{
html+=nodes[i][xword[j]];
}
}
}
}
return html;

}else if(msg=='dateHTML'){
var xml=p1;
var fmt=p2;
var pubdate = xml.getElementsByTagName('lastBuildDate').item(0).firstChild.nodeValue;
var pupdateUTC = new Date(pubdate);
var datehtml=('<p class="date">'+pupdateUTC.toJSTJString(fmt)+'</p>');
return datehtml;
}
}

function readRss(setN){
var request = createXMLHttpRequest();
var obj=bObj[setN];
if(!request || (!window.opera && navigator.appName == "Microsoft Internet Explorer" ? (window.createPopup ? 6 : 5) : 0)==5 || navigator.userAgent.indexOf("Netscape",0)!=-1){error(obj);return false;}
request.open('GET', "http://"+location.hostname+obj.xmlurl+"?cache="+(new Date()).getTime(), true);
request.setRequestHeader('Content-Type', 'text/xml');
request.setRequestHeader('Cache-Control','no-cache');
request.setRequestHeader('Pragma','no-cache');
request.setRequestHeader('Expires','-1');
request.onreadystatechange = function(){
if(request.readyState==4 && request.status==200){
if(!request.responseXML){error(obj);return false;}
var xml = request.responseXML;
obj.callback(xml,setN);
}
};
request.send(null);
return true;
}

function getCookie(d){
d = "@" + d + "=";
var v = null;
var str = document.cookie + ";" ;
var of = str.indexOf(d);
if (of != -1){
var st = of + d.length;
var en = str.indexOf(";" , st);
v = unescape(str.substring(st,en));
}
return v;
}
function setCookie(d,v,l){
var ex = new Date();
ex.setTime(ex.getTime()+(l*24*60*60*1000));
var i = "@" + d + "=" + escape(v) + ";";
var xp = "expires="+ex.toGMTString();
document.cookie = i + xp;
}

function getDspText(str,maxlen){
if(!str) str = '';
return str.substring(0, maxlen) + (str.length > maxlen ? '...' : '');
}

function createXMLHttpRequest(){
if(window.XMLHttpRequest){// Mozilla, Firefox, Safari, IE7
return new XMLHttpRequest();
}else if(window.ActiveXObject){// IE5, IE6
try{
return new ActiveXObject("Msxml2.XMLHTTP");// MSXML3
}catch(e){
try {
return new ActiveXObject("Microsoft.XMLHTTP");// MSXML2まで
}catch(e2){
return null;
}
}
}else{
return null;
}
}

