


// --- 設定項目



// --- XMLファイルの場所

// Grand Prix
var GP_url = "/bemani/gfdm/gfdmv5/com_data/xml/gp.xml";

// Extra LV
var LV_url = "/bemani/gfdm/gfdmv5/com_data/xml/extralv.xml";

// Now Event
var NE_url = "/bemani/gfdm/gfdmv5/com_data/xml/nowevent.xml";


// Ranking GF
var HRGF_url = "/bemani/gfdm/gfdmv5/ranking/script/gf/gf_ranking.xml";

// Ranking DM
var HRDM_url = "/bemani/gfdm/gfdmv5/ranking/script/dm/dm_ranking.xml";


// Ranking GF
//var HRGF_url = "/bemani/gfdm/gfdmv5/com_data/xml/ranking_gf.xml";

// Ranking DM
//var HRDM_url = "/bemani/gfdm/gfdmv5/com_data/xml/ranking_dm.xml";



// 画像出力タグ
var LV_img = new Array(
	"<p class=\"lv01\">EXTRA LEVEL 1</p>",
	"<p class=\"lv02\">EXTRA LEVEL 2</p>",
	"<p class=\"lv03\">EXTRA LEVEL 3</p>",
	"<p class=\"lv04\">EXTRA LEVEL 4</p>",
	"<p class=\"lv05\">EXTRA LEVEL 5</p>",
	"<p class=\"lv06\">EXTRA LEVEL 6</p>",
	"<p class=\"lv07\">EXTRA LEVEL 7</p>",
	"<p class=\"lv08\">EXTRA LEVEL 8</p>",
	"<p class=\"lv09\">EXTRA LEVEL 9</p>",
	"<p class=\"lv10\">EXTRA LEVEL 10</p>",
	"<p class=\"lv11\">EXTRA LEVEL 11</p>",
	"<p class=\"lv12\">EXTRA LEVEL 12</p>",
	"<p class=\"lv13\">EXTRA LEVEL 13</p>",
	"<p class=\"lv14\">EXTRA LEVEL 14</p>",
	"<p class=\"lv15\">EXTRA LEVEL 15</p>",
	"<p class=\"lv16\">EXTRA LEVEL 16</p>",
	"<p class=\"lv17\">EXTRA LEVEL 17</p>",
	"<p class=\"lv18\">EXTRA LEVEL 18</p>",
	"<p class=\"lv19\">EXTRA LEVEL 19</p>",
	"<p class=\"lv20\">EXTRA LEVEL 20</p>"
);



// Now Event 設定
// 設定項目
var NE_view_time = 5000; // 表示時間（ミリ秒）
var NE_scroll_time = 10; // アニメーション時間（ミリ秒/文字）











// --- 設定項目部分終わり



// Now Event用 グローバル変数宣言
var NE_num = 0;
var NE_id = 0;
var NE_text = 0;
var timer = 0;
var scroll_i = 0;



// --- 初期処理（ブラウザ判定など）
function Init()
{
	// ブラウザーの判定
	this.browser = getBrowserName();
	
	// Unknownブラウザは表示しない
	if (this.browser == "UK"){
		return false;
	}
	
	return true;
}



// --- Grand Prixの表示
function ShowGrandPrix()
{
	// 変数宣言
	var datas;
	var data;
	var len;
	var i;
	var list;
	
	// 初期処理
	if ( ! Init() ) { return; }
	
	// XMLデータの取得
	try{
	    var http = new JKL.ParseXML( GP_url );
		datas = http.parse();
		len = datas.titles.title.length; // データ数
		if ( len == undefined ) {
			// 1レコードだった場合の処理
			datas.titles.title[0] = datas.titles.title;
			len = 1;
		}
	} catch(e) {	// XMLエラーの場合
		alert("XMLエラーです。");
		return;		// XMLエラーメッセージ出力
	}
	
	// HTML出力
	list = datas.titles;
	html = "";
	
	document.open();
	
	for( i = 0; i < len ; i++ )
	{
		data = list.title[i];
		
		document.write( "<!---->\n" );
		document.write( "<div class=\"openGPbox clearFix\">\n" );
		document.write( "<div class=\"txtBox\"><h3>" + data.gp_title + "</h3>\n" );
		document.write( "<p>" + data.gp_date + "</p></div>\n" );
		document.write( "<div class=\"btnBox\"><ul>\n" );
		document.write( "<li class=\"gf\">" );
			if ( data.gp_gf != undefined ) {
				document.write( "<a href=\"" + data.gp_gf + "\" target=\"_blank\">GF</a>" );
			} else {
				document.write( "<span>GF</span>" );
			}
			document.write( "</li>\n" );
		document.write( "<li class=\"dm\">" );
			if ( data.gp_dm != undefined ) {
				document.write( "<a href=\"" + data.gp_dm + "\" target=\"_blank\">DM</a>" );
			} else {
				document.write( "<span>DM</span>" );
			}
			document.write( "</li>\n" );
		document.write( "</ul></div></div>\n\n" );
	}
	
	document.close();
}



// --- Extra LVの表示
function ShowExtraLV()
{
	// 変数宣言
	var datas;
	var data;
	
	// 初期処理
	if ( ! Init() ) { return; }
	
	// XMLデータの取得
	try{
	    var http = new JKL.ParseXML( LV_url );
		datas = http.parse();
	} catch(e) {	// XMLエラーの場合
		alert("XMLエラーです。");
		return;		// XMLエラーメッセージ出力
	}
	
	// HTML出力
	data = datas.titles.title;
	document.open();
	document.write( this.LV_img[data.extra_lv] );
	document.close();
}



// --- Now Eventの表示
function InitNowEvent()
{
	// 変数宣言
	var datas;
	var data;
	var len;
	var i;
	var list;
	
	// 初期処理
	if ( ! Init() ) { return; }
	
	// XMLデータの取得
	try{
	    var http = new JKL.ParseXML( NE_url );
		datas = http.parse();
		len = datas.titles.title.length; // データ数
		if ( len == undefined ) {
			// 1レコードだった場合の処理
			datas.titles.title[0] = datas.titles.title;
			len = 1;
		}
	} catch(e) {	// XMLエラーの場合
		alert("XMLエラーです。");
		return;		// XMLエラーメッセージ出力
	}
	
	// HTML出力
	list = datas.titles;
	html = "";
	
	
	// イベント個数
	NE_num = len;
	
	// イベントデータ格納用用配列
	NE_text = new Array(NE_num);
	for( i = 0; i < NE_num ; i++ )
	{
		data = list.title[i];
		NE_text[i] = new Array( data.ev_title, data.ev_link );
	}
	
	// 初期表示項目をランダムで決定
	NE_id = Math.floor( Math.random() * NE_num ) % NE_num;
	
	// 初期表示
	NE_Change( '<A HREF="' + NE_text[NE_id][1] + '">' + NE_text[NE_id][0] + '</A>' );
	
	// 2個以上の場合のみアニメーション処理
	if ( NE_num >= 2 ) {
		scroll_i = NE_text[NE_id][0].length;
		timer = setInterval("NE_ScrollOut()",NE_view_time);
	}
}

// --- Now Event 関連関数

// スクロールアウト
function NE_ScrollOut()
{
  clearInterval( timer );
  
  scroll_i--;
  NE_Change( '<A HREF="' + NE_text[NE_id][1] + '">' + NE_text[NE_id][0].substr(NE_text[NE_id][0].length - scroll_i, scroll_i) + '</A>' );

  if ( scroll_i > 1 ) {
    timer = setInterval("NE_ScrollOut()",NE_scroll_time);
  } else {
    NE_id++;
    if ( NE_id >= NE_num ) NE_id = 0;
    timer = setInterval("NE_ScrollIn()",NE_scroll_time);
  }
}

// スクロールイン
function NE_ScrollIn()
{
  clearInterval( timer );
  
  scroll_i++;
  NE_Change( '<A HREF="' + NE_text[NE_id][1] + '">' + NE_text[NE_id][0].substr(NE_text[NE_id][0].length - scroll_i, scroll_i) + '</A>' );
  
  if ( scroll_i < NE_text[NE_id][0].length ) {
    timer = setInterval("NE_ScrollIn()",NE_scroll_time);
  } else {
    timer = setInterval("NE_ScrollOut()",NE_view_time);
  }
}

// テキストの書き換え
function NE_Change( text )
{
  var NE = document.getElementById("NE");
  NE.innerHTML = text;
}



// --- Hot Ranking GFの表示
function ShowHotRankingGF()
{
	// 変数宣言
	var datas;
	var data;
	var len;
	var i;
	var list;
	
	// 初期処理
	if ( ! Init() ) { return; }
	
	// XMLデータの取得
	try{
	    var http = new JKL.ParseXML( HRGF_url );
		datas = http.parse();
		len = datas.titles.title.length; // データ数
		if ( len == undefined ) {
			// 1レコードだった場合の処理
			datas.titles.title[0] = datas.titles.title;
			len = 1;
		}
	} catch(e) {	// XMLエラーの場合
		alert("XMLエラーです。");
		return;		// XMLエラーメッセージ出力
	}
	
	// HTML出力
	list = datas.titles;
	html = "";
	
	document.open();
	
	for( i = 0; i < len ; i++ )
	{
		data = list.title[i];
		
		document.write( "<table border=\"0\" cellpadding=\"0\" cellspacing=\"2\">\n" );
		document.write( "<tr><th>1</th><td>" + data.hr_1 + "</td></tr>\n" );
		document.write( "<tr><th>2</th><td>" + data.hr_2 + "</td></tr>\n" );
		document.write( "<tr><th>3</th><td>" + data.hr_3 + "</td></tr>\n" );
		document.write( "<tr><th>4</th><td>" + data.hr_4 + "</td></tr>\n" );
		document.write( "<tr><th>5</th><td>" + data.hr_5 + "</td></tr>\n" );
		document.write( "</table>\n\n" );
	}
	
	document.close();
}



// --- Hot Ranking DMの表示
function ShowHotRankingDM()
{
	// 変数宣言
	var datas;
	var data;
	var len;
	var i;
	var list;
	
	// 初期処理
	if ( ! Init() ) { return; }
	
	// XMLデータの取得
	try{
	    var http = new JKL.ParseXML( HRDM_url );
		datas = http.parse();
		len = datas.titles.title.length; // データ数
		if ( len == undefined ) {
			// 1レコードだった場合の処理
			datas.titles.title[0] = datas.titles.title;
			len = 1;
		}
	} catch(e) {	// XMLエラーの場合
		alert("XMLエラーです。");
		return;		// XMLエラーメッセージ出力
	}
	
	// HTML出力
	list = datas.titles;
	html = "";
	
	document.open();
	
	for( i = 0; i < len ; i++ )
	{
		data = list.title[i];
		
		document.write( "<table border=\"0\" cellpadding=\"0\" cellspacing=\"2\">\n" );
		document.write( "<tr><th>1</th><td>" + data.hr_1 + "</td></tr>\n" );
		document.write( "<tr><th>2</th><td>" + data.hr_2 + "</td></tr>\n" );
		document.write( "<tr><th>3</th><td>" + data.hr_3 + "</td></tr>\n" );
		document.write( "<tr><th>4</th><td>" + data.hr_4 + "</td></tr>\n" );
		document.write( "<tr><th>5</th><td>" + data.hr_5 + "</td></tr>\n" );
		document.write( "</table>\n\n" );
	}
	
	document.close();
}



/**********************
 ブラウザの判定
**********************/
function getBrowserName(){

	var BrowserName = navigator.userAgent;
	if (BrowserName.indexOf("Safari") > -1) {
		return "SF"; //Safari
	} else if (BrowserName.indexOf("Opera") > -1) {
		return "OP"; //Opera
	} else if (BrowserName.indexOf("Firefox") > -1) {
		return "FF"; //Firefox
	} else if (BrowserName.indexOf("Gecko") > -1) {
		return "NM"; //Netscape / Mozilla
	} else if (BrowserName.indexOf("MSIE") > -1) {
		return "IE"; //Internet Explorer
	} else if (BrowserName.indexOf("Mozilla") > -1) {
		return "NN"; //Netscape
	} else {
		return "UK"; //unknown
	}

}
