////////////////////////////////////////////////////////////
// 更新履歴
// 修正：2012/2/9 アクセスログファイル出力対応
//
////////////////////////////////////////////////////////////

/**********************************************************/
// アクセスログファイル出力対応
var ACCESS_LOG_FILE_EXE = "./acslog_ctl.php";	// アクセスログ実行
var parmLogArry = new Array(2);
var reqParm1 = 0;					// ログ出力コントロール処理用(ファイル番号)
var reqParm2 = '';					// ログ出力コントロール処理用(クリック情報)

var g_start_time = '';	 			// 起動時間
var g_course_time; 					// 経過時間
var g_intervar_td;   				// setIntarvalのID
var DEF_LIMIT_TIME = 3600;			// ログ集計リミット時間(秒):
//var DEF_LIMIT_TIME = 1800;		// ログ集計リミット時間(秒):
var g_res_flg = 0; 					// 非同期チェックフラグ
var g_request_flg = true; 			// 非同期連動有無フラグ(true:実行 false:中止)
//var g_request_flg = false; 		// 非同期連動有無フラグ(true:実行 false:中止)
/**********************************************************/

/* 画像コントロール */
var imgArray = new Array();
 var imgPath;
 var imgFile;
 var cnt;
 var genre;
 

 var idx;
 var tim;
 var num = 0;
 var no;
 
 var arg1;
 var arg2;
 var arg3;

// ジャンルlist
var listNo;
var listgenreId;
var listCategoryCd;

var sec = 600; // 画像表示間隔(ミリ秒)

// スクロール関連
var telop_time = 400;
var start = 0;
var msg_telop_time = 0;
var msg_telop = '';
var msg_telop_1 = '';


// テロップ表示
function telopMsg(msg_telop) {
if(navigator.appName=="Microsoft Internet Explorer") {
x=1;
}else{
x=2;
}
if(typeof document.getElementById("telop").textContent != "undefined") {
document.getElementById("telop").textContent = msg_telop.substring(start+=x,msg_telop.length) + msg_telop.substring(start,x);
}else{
document.getElementById("telop").innerText = msg_telop.substring(start+=x,msg_telop.length) + msg_telop.substring(start,x);
}
//document.getElementById("tlpmsg").innerText = msg_telop.substring(start+=x,msg_telop.length) + msg_telop.substring(start,x);

if (start > msg_telop.length){
    start = 0;
    clearTimeout(msg_telop_time);
}
msg_telop_1 =  msg_telop;
msg_telop_time = setTimeout("telopMsg(msg_telop_1)",telop_time);

}
 
//画像表示
function change(imgPath,imgFile,cnt,genre){
  // 動画設定
     no = 0;
    for(idx=0; idx<cnt; idx++){
        no++;
        imgArray[idx] = imgPath + imgFile + "-" + no + ".jpg";
 	}

  num++;
  if(num >= imgArray.length) {
     num = 0;
   }

   document.images["IMG"+imgFile+genre].src = imgArray[num];

}

//画像タイム表示
function mov(arg1,arg2,arg3,arg4)
 {
 	// 引数設定
 	imgPath = arg1; // ファイルパス名
 	imgFile = arg2; // ファイル名
 	cnt = arg3;     // ファイル件数
 	genre = arg4;      // ジャンルID

	imgArray.length= 0;
    tim = setInterval("change(imgPath,imgFile,cnt,genre)",sec);
  }

//タイムアウト
function out(imgPath,imgFile,genre)
{
	imgArray[0] = imgPath + imgFile + "-1" + ".jpg";
	 document.images["IMG"+imgFile+genre].src = imgArray[0]; 
	clearInterval(tim);
 }


/*****************************************************************************/
/* アクセスログ出力対応(start)                                               */
/*****************************************************************************/

///////////////////////////////////////////
// 起動開始時間設定
// 処理内容：動画再生時の開始時間を取得
/////////////////////////////////////////////
function setStartTimer()
{
    // 起動された時間を設定
   	if(g_start_time == ''){
    	g_start_time = new Date();
    }
    g_intervar_id = setInterval("getCurrentTimer();",1000); // 1秒間隔で処理
}

///////////////////////////////////////////
// 計測時間判定
// 処理内容：動画再生時の計測時間を取得
///////////////////////////////////////////
function getCurrentTimer()
{
    var current_time = new Date();
    var limit_time;

    // 経過時間を取得
     g_course_time = (current_time - g_start_time) / 1000;

    // 整数に変換後、少数点以下を切り捨てる
    limit_time = parseInt(g_course_time);
    limit_time = Math.ceil(limit_time);

    // 経過時間が過ぎた場合、初期化する。
    if( limit_time >= DEF_LIMIT_TIME){
       clearInterval( g_intervar_id );
       g_res_flg = 1;
    }
}

///////////////////////////////////////
// XMLHttpRequestオブジェクト生成
// 処理内容：リクエスト生成
////////////////////////////////////////
function createHttpRequest()
{
	if(window.ActiveXObject){
		 //Win e4,e5,e6用
		try {
		  return new ActiveXObject("Msxml2.XMLHTTP") ;
		} catch (e) {
		  try {
		    return new ActiveXObject("Microsoft.XMLHTTP") ;
		  } catch (e2) {
		    return null;
 		  }
 		}
	} else if(window.XMLHttpRequest){
		 //Win Mac Linux m1,f1,o8 Mac s1 Linux k3用
		return new XMLHttpRequest();
	} else {
		return null;
	}
}

////////////////////////////////////////////
// ログ出力(非同期処理)(時間経過チェックあり)
// 処理内容：PHPのログ出力を行う
////////////////////////////////////////////
function accessLogReq(parmLogArry){

	var url = ACCESS_LOG_FILE_EXE;

	var xhrObj = createHttpRequest();
	if( xhrObj == null ) return null;

	if(g_res_flg == 0){
	   // 時間経過関数をCALLする
	    setStartTimer();
		var xhrObj = createHttpRequest();

		// GET形式の場合
		//xhrObj.open("GET",url,false);
		//xhrObj.setRequestHeader("If-Modified-Since", "01 Jan 2000 00:00:00 GMT"); 
		//xhrObj.send(null);

		// POST形式の場合
		xhrObj.open("POST",url);
		xhrObj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		xhrObj.send("arg1="+parmLogArry); 

	 }
}

////////////////////////////////////////////
// ログ出力(非同期処理)(時間経過チェックなし)
// 処理内容：PHPのログ出力を行う
////////////////////////////////////////////
function accessLogDirectReq(parmLogArry){

	var url = ACCESS_LOG_FILE_EXE;
	var xhrObj = createHttpRequest();

	if( xhrObj == null ) return null;
		var xhrObj = createHttpRequest();

	// POST形式の場合
	xhrObj.open("POST",url);
	xhrObj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xhrObj.send("arg1="+parmLogArry); 

}

////////////////////////////////////////////
// ログ出力コントロール処理
// 処理内容：ログ出力を行う
// @reqParm1:ファイル番号及表示データ情報
// @reqParm2:クリック情報
// 
////////////////////////////////////////////
function accLogCtl(reqParm1,reqParm2){

	if(g_request_flg == true){
		parmLogArry[0] = encodeURIComponent(document.referrer) + '|';  // リクエスト情報を取得
		// 引数により、パラメータを設定する
		parmLogArry[1] = encodeURIComponent(reqParm1) + '|'; 		// ファイル番号及び表示データ
		parmLogArry[2] = reqParm2;  								// クリック情報
		
		// ログ出力処理判定
		if(reqParm2 == "movie_page"){
			accessLogReq(parmLogArry);
		}else{
			accessLogDirectReq(parmLogArry);
		}
	}
}
/*****************************************************************************/



