﻿


// --- 設定項目



// --- XMLファイルの場所

// Grand Prix
var GP_url = "http://www.konami.jp/bemani/gfdm/gfdmv4/ranking/cgi/gp.php";

// Extra LV
var LV_url = "/bemani/gfdm/gfdmv4/ranking/gf/extra_lv.xml";

// Now Event
var NE_url = "/bemani/gfdm/gfdmv4/ranking/gf/nowevent.xml";

// Ranking GF
var HRGF_url = "/bemani/gfdm/gfdmv4/ranking/gf/gf_ranking.xml";

// Ranking DM
var HRDM_url = "/bemani/gfdm/gfdmv4/ranking/dm/dm_ranking.xml";



// 画像出力タグ
var LV_img = new Array(
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv00.gif\" alt=\"EXTRA LV：0\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv01.gif\" alt=\"EXTRA LV：1\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv02.gif\" alt=\"EXTRA LV：2\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv03.gif\" alt=\"EXTRA LV：3\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv04.gif\" alt=\"EXTRA LV：4\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv05.gif\" alt=\"EXTRA LV：5\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv06.gif\" alt=\"EXTRA LV：6\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv07.gif\" alt=\"EXTRA LV：7\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv08.gif\" alt=\"EXTRA LV：8\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv09.gif\" alt=\"EXTRA LV：9\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv10.gif\" alt=\"EXTRA LV：10\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv11.gif\" alt=\"EXTRA LV：11\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv12.gif\" alt=\"EXTRA LV：12\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv13.gif\" alt=\"EXTRA LV：13\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv14.gif\" alt=\"EXTRA LV：14\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv15.gif\" alt=\"EXTRA LV：15\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv16.gif\" alt=\"EXTRA LV：16\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv17.gif\" alt=\"EXTRA LV：17\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv18.gif\" alt=\"EXTRA LV：18\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv19.gif\" alt=\"EXTRA LV：19\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv20.gif\" alt=\"EXTRA LV：20\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv21.gif\" alt=\"EXTRA LV：21\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv22.gif\" alt=\"EXTRA LV：22\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv23.gif\" alt=\"EXTRA LV：23\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv24.gif\" alt=\"EXTRA LV：24\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv25.gif\" alt=\"EXTRA LV：25\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv26.gif\" alt=\"EXTRA LV：26\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv27.gif\" alt=\"EXTRA LV：27\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv28.gif\" alt=\"EXTRA LV：28\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv29.gif\" alt=\"EXTRA LV：29\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv30.gif\" alt=\"EXTRA LV：30\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv31.gif\" alt=\"EXTRA LV：31\" width=\"200\" height=\"40\" />",
	"<img src=\"/bemani/gfdm/gfdmv4/common/images/exlv/extralv32.gif\" alt=\"EXTRA LV：32\" width=\"200\" height=\"40\" />"
);



// 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=\"convention\">\n" );
		document.write( "<h3>" + data.gp_title + "</h3>\n" );
		document.write( "<p>" + data.gp_date + "</p>\n" );
		document.write( "<div class=\"clearFix\"><ul>\n" );
		document.write( "<li class=\"gf\">" );
			if ( data.gp_gf != undefined ) {
				document.write( "<a href=\"" + data.gp_gf + "\" target=\"_blank\"><span>GuitarFreaks</span></a>" );
			} else {
				document.write( "<span>GuitarFreaks</span>" );
			}
			document.write( "</li>\n" );
		document.write( "<li class=\"dm\">" );
			if ( data.gp_dm != undefined ) {
				document.write( "<a href=\"" + data.gp_dm + "\" target=\"_blank\"><span>DrumMania</span></a>" );
			} else {
				document.write( "<span>DrumMania</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=\"0\">\n" );
		if ( data.hr_link != undefined ) {
			document.write( "<tr><th colspan=\"2\"><a href=\"" + data.hr_link + "\" target=\"_blank\">" + data.hr_title + "</a></th></tr>\n" );
		} else {
			document.write( "<tr><th colspan=\"2\">" + data.hr_title + "</th></tr>\n" );
		}
		document.write( "<tr><td class=\"rankingNum\">1.</td><td>" + data.hr_1 + "</td></tr>\n" );
		document.write( "<tr><td class=\"rankingNum\">2.</td><td>" + data.hr_2 + "</td></tr>\n" );
		document.write( "<tr><td class=\"rankingNum\">3.</td><td>" + data.hr_3 + "</td></tr>\n" );
		document.write( "<tr><td class=\"rankingNum\">4.</td><td>" + data.hr_4 + "</td></tr>\n" );
		document.write( "<tr><td class=\"rankingNum\">5.</td><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=\"0\">\n" );
		if ( data.hr_link != undefined ) {
			document.write( "<tr><th colspan=\"2\"><a href=\"" + data.hr_link + "\" target=\"_blank\">" + data.hr_title + "</a></th></tr>\n" );
		} else {
			document.write( "<tr><th colspan=\"2\">" + data.hr_title + "</th></tr>\n" );
		}
		document.write( "<tr><td class=\"rankingNum\">1.</td><td>" + data.hr_1 + "</td></tr>\n" );
		document.write( "<tr><td class=\"rankingNum\">2.</td><td>" + data.hr_2 + "</td></tr>\n" );
		document.write( "<tr><td class=\"rankingNum\">3.</td><td>" + data.hr_3 + "</td></tr>\n" );
		document.write( "<tr><td class=\"rankingNum\">4.</td><td>" + data.hr_4 + "</td></tr>\n" );
		document.write( "<tr><td class=\"rankingNum\">5.</td><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
	}

}
