<!--


//
// ニコニコ愛されキャラ選手権ランキング自動更新用関数
//
// ※IEのみの対応
//


//###############################################################################################
//###############################################################################################
//#
//#  定数
//#


var reload_flag = 0;						// 自動更新フラグ
var reload_date = -1;						// 次回更新時刻
var reload_tmid = -1;						// タイマーID

var AUTORELOAD_DISABLE    = 0;				// 自動更新無効化
var AUTORELOAD_ENABLE     = 1;				// 自動更新有効化
var AUTORELOAD_KEEP       = 2;				// 自動更新保持
var AUTORELOAD_INVERSE    = 3;				// 自動更新反転
var AUTORELOAD_READ       = 4;				// 自動更新設定読込



//###############################################################################################
//###############################################################################################
//#
//#  関数
//#

function AutoReloadInverse(){	AutoReloadStart(AUTORELOAD_INVERSE);	}
function AutoReloadRead(){		AutoReloadStart(AUTORELOAD_READ);		}


/****************************************************************************
 * Name			:AutoReloadProc												*
 * Description	:自動更新カウントダウン用関数								*
 * Return value	:															*
 * Argument:																*
 *   trg		:動画を開くウィンドウ名										*
 ****************************************************************************/
function AutoReloadProc()
{
	var str = "";
	var remain = 0;

	if(reload_date > 0){
		remain = reload_date - Math.floor((new Date())/1000); 
		
		if(remain > 0)
			if(remain < 50)
				str = "＠" + Math.floor(remain/10+1) + "0秒";
			else
				str = "＠" + Math.floor(remain/60+1) + "分";
		else
			location.reload(true);
	}
	else
		str = "期間外は更新されません";

//	str += " (" + remain + ")";
	SetText("reload_str", str);

	reload_tmid = setTimeout("AutoReloadProc()", 5000);
}


/****************************************************************************
 * Name			:AutoReloadStart											*
 * Description	:自動更新カウントダウン開始関数								*
 * Return value	:															*
 * Argument:																*
 *   trg		:動画を開くウィンドウ名										*
 ****************************************************************************/
function AutoReloadStart(mode)
{
//	rdate = edate + 1;	// デバッグ用

	//+++++ 設定変更 +++++//
	switch(mode){
	case 0:		reload_flag = 0;						break;
	case 1:		reload_flag = 1;						break;
	case 2:												break;
	case 3:		reload_flag = 1 - reload_flag;			break;
	default:
		reload_flag = Number(GetCookie("AiSARE_AUTORELOAD"));
		break;
	}
	SetCookie("AiSARE_AUTORELOAD", reload_flag);

	//+++++ タイマーが動いていれば停止 +++++//
	if(reload_tmid >= 0)
		clearTimeout(reload_tmid);

		document.reload_frm.reload_btn.value = (reload_flag ? "更新停止" : "自動更新");

	//+++++ 自動更新する +++++//
	if(reload_flag){
		var now = Math.floor((new Date()) / 1000);
		reload_date = -1;

		if(rdate < sdate){
			// 開始前 -> 開始時間＋αに更新
			reload_date = sdate + 30 + Math.floor(Math.random()*30);
		}
		else if(rdate > edate){
			// 終了後 -> 更新の必要なし
			reload_date = -1;
		}
		else{
			// 前回更新時刻＋更新間隔＋αに更新
			reload_date = rdate + itime + 30 + Math.floor(Math.random()*30);

			// 現在時刻よりも過去のときは現在時刻＋αに更新
			if(reload_date < now)
				reload_date = now + 70;
		}

		//----- タイマー開始 -----//
		AutoReloadProc();
	}
	else{
		SetText("reload_str", "");
	}
}



