/**
 * isesaki-auto.jp:TOP/Topics用
 * charset:UTF-8
 *
 * @version 20070824
 * @version 20091008,伊勢崎オートレース向け、文字列切り出し対応。
 * require dateformat.js
 */

var wday = new Array("日","月","火","水","木","金","土");
var basehref="http://isesaki-auto.jp/";




/**
 * TOPお知らせ
 * @param ent 表示件数
 * @param fname XMLファイル名(inf2007.xml)
 * @param dsparea 表示先レイヤ名
 * @param trimpos 文字列カット位置
 */
function showTopTopics(maxln,fname,dsparea,linkflg,trimpos,toppage){

var ran = Math.random();
var uri = fname+'?'+ran;

new Ajax.Request(uri,{'method':'get',
onComplete:function(q){
showTitleHtml(q,maxln,dsparea,linkflg,trimpos,toppage);},
onFailure:function(q){alert('読込に失敗しました。再読込してください。');},
onException:function(q){alert('読込エラーです。再読込してください。');}


}); 
}


//確認用
/*
function showResponse(q){
var xml = XMLParser.parse(q.responseXML.documentElement);
$('listarea').innerHTML = xml.dumpHTML();
}
*/
/**
 * XMLのノードの値を取得
 * @param q request
 * @param maxln 表示件数(0以上/-1で全て)
 * @param dsparea 表示レイヤ名
 * @param trimln トリムする場合の終了位置。通常は-1。
 * @param toppage トップページ判定
 * @version 2009-10-28
 */
function showTitleHtml(q,maxln,dsparea,linkflg,trimpos,toppage){
	

var xml = XMLParser.parse(q.responseXML.documentElement);
//alert(xml.dumpHTML());
var i;
var cnt=0;
var html="";
var tit;
var lin;
var dat;
var y;
var m;
var d;
var aaa;	//曜日名
var expd=3;	//NEW表示(掲載日を含む)
var iconew="";
var blank;

//dateformat
var dtFmt = new DateFormat("yyyy-MM-dd");
var dtPrs = "";	//Parse後

//item(記事)数
cnt = xml.path('rdf:RDF->item').length;
//1件の場合、length取得できない為、1をセット
if(maxln == -1) maxln = cnt+1;


html="<dl>";
for(i=0;i<cnt;i++){

	if(i>=maxln)break;

	blank = false;
	tit = xml.path('rdf:RDF->item->'+i+'->title').value;
	lin = xml.path('rdf:RDF->item->'+i+'->link').value;
	dat = xml.path('rdf:RDF->item->'+i+'->dc:date').value;
	y = dat.substr(0,4);
	m = dat.substr(5,2);
	d = dat.substr(8,2);
	iconew = "";

	//linkflgでリンク可否切り替え
	if(linkflg==0)	lin='';


	//trimlnが-1で無い場合は文字列整形
	if(trimpos != -1){
		var _ln = tit.length;
		if(_ln > trimpos){
			tit = tit.substring(0,trimpos)+"...";
		}
		
	}
	
	
	//isesaki-auto.jp以外はblank
	if(lin.indexOf(basehref + "cgi-bin/rd.cgi",0) != -1){
		blank = true;
	}

	//dateformat("Thu Jun 28 2007 00:00:00 GMT+0900"形式)
	dtPrs = dtFmt.parse(y+"-"+m+"-"+d);
	upd = new Date(dtPrs);	
	del = new Date();
	aaa = wday[upd.getDay()];	//曜日消
	html+="<dt>"+y+"."+m+"."+d + "（" + aaa+ "）</dt><dd>";


	var ni = (del-upd)/(1000*60*60*24);
	if(ni<=expd){
		iconew = " class=\"mark_new\"";
	}

	if(lin==''){
		html+="<span"+iconew+">"+tit+"</span>";
	}else{
		//相対アクセスを可能にする
		var path = "../";
		//if(toppage==true)	path="../pc/";
		lin = lin.replace(basehref,path);
		
		html+="<a href=\""+lin+"\""+iconew;
		if(blank==true){
			html += " target=\"_blank\"";
		}
		html += ">"+tit+"</a>";
	}
	html+="</dd>";

}
html+="</dl>";
$(dsparea).innerHTML = html;

}



/**
 * onLoadのinit処理
 * TOP用
 * TOPはXMLからのリンクを相対アクセス可とするため、TOPページ判定を付与。
 */
function initindex(){
	var i=0;
	var dsp = 5;	//表示件数

	for(i=0;i<tpxlist.length;i++){
		//XMLから出す
		showTopTopics(dsp,tpxlist[0][0],tpxlist[0][2],tpxlist[0][3],-1,true);	//event
	}

}



/**
 * ニュース、イベント過去一覧用
 * @param 0:お知らせ/1:イベント
 */
function inittopix(no){
if(no>=0 && no<tpxlist.length){
	showTopTopics(-1,tpxlist[no][1],tpxlist[no][2],tpxlist[no][3],-1,false);
}else{
	return false;
}
}


/**
 * XMLファイル名格納
 * [0]INDEX用
 * [1]ニュース、イベント一覧用
 * [2]表示エリア名
 */
var tpxlist = new Array();
tpxlist[0]=["./news/news.xml","../news/news.xml","newsXmlArea",1];


//__END__