// HTTP通信用、共通関数
function createXMLHttpRequest(cbFunc)
{
	var XMLhttpObject = null;
	try{
		XMLhttpObject = new XMLHttpRequest();
	}catch(e){
		try{
			XMLhttpObject = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			try{
				XMLhttpObject = new ActiveXObject("Microsoft.XMLHTTP");
			}catch(e){
				return null;
			}
		}
	}
	if (XMLhttpObject) XMLhttpObject.onreadystatechange = cbFunc;
	return XMLhttpObject;
}

//httpリクエストからCSVファイルを取得する場合
function loadDataFile(fName){
	httpObj = createXMLHttpRequest(displayData);
	if (httpObj){
		httpObj.open("GET",fName,true);
		httpObj.send(null);
	}
}

//httpリクエストから2つのCSVファイルを取得する場合
function loadDataFile2(fName1,fName2){
	httpObj = createXMLHttpRequest(displayData1);
	httpObj2 = createXMLHttpRequest(displayData2);
	if (httpObj){
		httpObj.open("GET",fName1,true);
		httpObj.send(null);
	}
	if (httpObj2){
		httpObj2.open("GET",fName2,true);
		httpObj2.send(null);
	}
}

// document.getElementById
function $(tagId){
	return document.getElementById(tagId);
}

// 指定日付から曜日を取得
function getYoubi(yyyy,mm,dd) {
	day = new Date(yyyy,mm-1,dd);	
	var youbi = day.getDay();
	return youbi;
}

//年月日フォーマット
function getNichiji(nichiji){
	var weekdayList = new Array("日", "月", "火", "水", "木", "金", "土");
	var koushin_YY = nichiji.substr(0,4);
	var koushin_MM = nichiji.substr(4,2);
	var koushin_DD = nichiji.substr(6,2);
	var koushin_DA = weekdayList[ getYoubi(koushin_YY,koushin_MM,koushin_DD) ] ;
	var words =  "";//何かある場合は入れる

	//とりあえずフォーマットチェック
	var format = 0;
	if(koushin_DA == null || koushin_DA.length==0){
		format =1;
	}	
	if(format == 0){
		return	zeroSuppress(koushin_MM) + '月' +
			zeroSuppress(koushin_DD) + '日' +
			'(' + koushin_DA + ')' + words;
	}else{
		//曜日取れない場合はそのまま返す
		return nichiji;
	}
}

//時間フォーマット
function getJikan(jikan){
	var koushin_HO = jikan.substr(0,2);
	var koushin_MI = jikan.substr(2,2);
	var words =  "";//何かある場合は入れる

	//とりあえずフォーマットチェック
	var format = 0;
	if(koushin_MI == null || koushin_MI.length==0){
		format =1;
	}	
	if(format == 0){
		return	zeroSuppress(koushin_HO) + '：' + koushin_MI + '' +words;

	}else{
		//曜日取れない場合はそのまま返す
		return jikan;
	}
}

function tikan( str ){
	if( str ){
		text = str;
		text = text.split("\"");
		text = text.join("");
		return text;
	}else{
		//window.alert("エラー：文字が記入されていません");
	}
}

function zeroSuppress(date) {
	// nullの場合、null
	if (date == null) {
		return null;
	}
	// 空白の場合、空白
	if (date == "") {
		return "";
	}
	// 二桁の場合
	if (date.length == 2) {
		if (date.charAt(0) == "0") {
			return date.charAt(1);
		}
	}
	return date;
}

//番組用のクラス
function bangumi_class(){
	var bangumi_id = "";
	var bangumi_title = "";
	var bangumi_category = "";
	var bangumi_gazou = "";
	var housouBi = "";
	var housouJikan = "";
	var syuryouJikan = "";
	var recomend = "";
	var link_flg = "";
	var bangumi_url = "";
	var saiHousouBi = "";
	var saihousouJikan = "";
	var saihousouSyuryoJikan = "";
	var recomend = "";
	var bangumi_gaiyo = "";
	var bangumi_syutuen = "";
	var bangumi_copy = "";
	var bangumi_gazo1 = "";
	var bangumi_gazo2 = "";
}

//番組レコメンド用のクラス
function bangumi_recoment_class(){
	var bangumi_id = "";
	var bangumi_title = "";
	var bangumi_category = "";
	var bangumi_gazou = "";
	var housouBi = "";
	var housouJikan = "";
	var syuryoBi = "";
	var syuryoJikan = "";
	var bangumi_gaiyo = "";
	var bangumi_syutuensya = "";
	var bangumi_url = "";
	var link_flg = "";
	var recomend = "";
}

//サブタイトル用のクラス
function bangumi_subtitle_class(){
	var kiji_id = "";
	var subtitle_title = "";
	var subtitle_episode = "";
	var subtitle_arasuji = "";
	var housouBi = "";
	var syuryoBi = "";
}

//番組オブジェクトの配列を返す関数
function parseBangumiObject(tabText){
	var resultText = "";
	var CR = String.fromCharCode(13); // 改行コード (CR)
	lineData = tabText.split(CR);

	//取得した番組分ループ
	for (var i=0; i<lineData.length-1; i++){
		wCount = lineData[i].split(",");
		//１番組分でループ
		bangumi = new bangumi_class();
		for (j=0; j<wCount.length; j++){
			tData = wCount[j]; // データ
			if(j==0){
				bangumi.bangumi_id = tikan(tData);
			}else if(j==1){
				bangumi.bangumi_title = tikan(tData);
			}else if(j==2){
				bangumi.bangumi_category = tikan(tData);
			}else if(j==10){
				bangumi.bangumi_gaiyo = tikan(tData);
			}else if(j==11){
				bangumi.bangumi_syutuen = tikan(tData);
			}else if(j==13){
				bangumi.bangumi_copy = tikan(tData);
			}else if(j==19){
				bangumi.bangumi_gazo1 = tikan(tData);
			}else if(j==20){
				bangumi.bangumi_gazo2 = tikan(tData);
			}
		}
		bangumi_array[i] = bangumi;
	}
	return bangumi_array;
}

//サブタイトルオブジェクトの配列を返す関数
function parseSubtitleObject(tabText){
	var resultText = "";
	var CR = String.fromCharCode(13); // 改行コード (CR)
	lineData = tabText.split(CR);

	//取得した番組分ループ
	for (var i=0; i<lineData.length-1; i++){
		wCount = lineData[i].split(",");
		//１番組分でループ
		bangumi = new bangumi_subtitle_class();
		for (j=0; j<wCount.length; j++){
			tData = wCount[j]; // データ
			if(j==0){
				bangumi.kiji_id = tikan(tData);
			}else if(j==1){
				bangumi.subtitle_title = tikan(tData);
			}else if(j==5){
				bangumi.subtitle_episode = tikan(tData);
			}else if(j==6){
				bangumi.subtitle_arasuji = tikan(tData);
			}else if(j==3){
				bangumi.housouBi = tikan(tData);
			}else if(j==4){
				bangumi.syuryoBi = tikan(tData);
			}
		}
		bangumi_array[i] = bangumi;
	}
	return bangumi_array;
}


//番組汎用///////////////////////////////////////////////////////////////////
//ページパーツ化用　httpリクエストからCSVファイルを取得する場合
function loadDataFile_subtitle_hanyou(fName){
	httpObj = createXMLHttpRequest(displayData_subtitle_hanyou);
	if (httpObj){
		httpObj.open("GET",fName,true);
		httpObj.send(null);
	}
}
function displayData_subtitle_hanyou(){
	if ((httpObj.readyState == 4) && (httpObj.status == 200)){
		var bangumi_array = parseSubtitleObject_hanyou(httpObj.responseText);

		var resultText = "";
		
		for (var i=0; i<=bangumi_array.length-1; i++){
			bangumi = new bangumi_subtitle_class();
			bangumi = bangumi_array[i];
			//取得した番組データからHTMLを生成
			resultText += "<div id='subtitle_nichiji'>";
			resultText += getNichiji(bangumi.housouBi);
			resultText += "</div>";
			resultText += "<div id='subtitle_title'>";
			resultText += bangumi.subtitle_title;
			resultText += "</div>";
		}
		$("subtitle").innerHTML = resultText;

	}else{
		$("subtitle").innerHTML = "<b>Loading...</b>";
	}
}
function parseSubtitleObject_hanyou(tabText){
	var bangumi_array= new Array();
	var resultText = "";
	var CR = String.fromCharCode(13); // 改行コード (CR)
	lineData = tabText.split(CR);

	//取得した番組分ループ
	for (var i=0; i<lineData.length-1; i++){
		wCount = lineData[i].split(",");
		//１番組分でループ
		bangumi = new bangumi_subtitle_class();
		for (j=0; j<wCount.length; j++){
			tData = wCount[j]; // データ
			if(j==0){
				bangumi.kiji_id = tikan(tData);
			}else if(j==1){
				bangumi.subtitle_title = tikan(tData);
			}else if(j==5){
				bangumi.subtitle_episode = tikan(tData);
			}else if(j==6){
				bangumi.subtitle_arasuji = tikan(tData);
			}else if(j==3){
				bangumi.housouBi = tikan(tData);
			}else if(j==4){
				bangumi.syuryoBi = tikan(tData);
			}
		}
		bangumi_array[i] = bangumi;
	}
	return bangumi_array;
}

function loadDataFile_bangumi_hanyou(fName){
	httpObj = createXMLHttpRequest(displayData_bangumi_hanyou);
	if (httpObj){
		httpObj.open("GET",fName,true);
		httpObj.send(null);
	}
}
function displayData_bangumi_hanyou(){
	if ((httpObj.readyState == 4) && (httpObj.status == 200)){
		var resultText = "";
		var bangumi_array = parseBangumiObject_hanyou(httpObj.responseText);
		for (var i=0; i<=bangumi_array.length-1; i++){
			bangumi = new bangumi_subtitle_class();
			bangumi = bangumi_array[i];
			break;
		}

		//取得した番組データからHTMLを生成
		var resultText = "";
		resultText += "【あらすじ】<br>";
		resultText += bangumi.bangumi_gaiyo + "<br>";
		resultText += "【スタッフ】<br>";
		resultText += bangumi.bangumi_syutuen + "<br>";
		$("program_area").innerHTML = resultText;

	}else{
		$("program_area").innerHTML = "<b>Loading...</b>";
	}
}
function parseBangumiObject_hanyou(tabText){
	var bangumi_array= new Array();
	var resultText = "";
	var CR = String.fromCharCode(13); // 改行コード (CR)
	lineData = tabText.split(CR);

	//取得した番組分ループ
	for (var i=0; i<lineData.length-1; i++){
		wCount = lineData[i].split(",");
		//１番組分でループ
		bangumi = new bangumi_class();
		for (j=0; j<wCount.length; j++){
			tData = wCount[j]; // データ
			if(j==0){
				bangumi.bangumi_id = tikan(tData);
			}else if(j==1){
				bangumi.bangumi_title = tikan(tData);
			}else if(j==2){
				bangumi.bangumi_category = tikan(tData);
			}else if(j==10){
				bangumi.bangumi_gaiyo = tikan(tData);
			}else if(j==11){
				bangumi.bangumi_syutuen = tikan(tData);
			}else if(j==13){
				bangumi.bangumi_copy = tikan(tData);
			}else if(j==19){
				bangumi.bangumi_gazo1 = tikan(tData);
			}else if(j==20){
				bangumi.bangumi_gazo2 = tikan(tData);
			}
		}
		bangumi_array[i] = bangumi;
	}
	return bangumi_array;
}



/*
function parseTabText(tabText){
	var resultText = "";
	var CR = String.fromCharCode(13); // 改行コード (CR)
	lineData = tabText.split(CR);

	//取得した番組分ループ
	for (var i=0; i<lineData.length-1; i++){
		wCount = lineData[i].split(",");
		//１番組分でループ
		bangumi = new bangumi_class();
		for (j=0; j<wCount.length; j++){
			tData = wCount[j]; // データ
			if(j==0){
				bangumi.bangumi_id = tikan(tData);
			}else if(j==1){
				bangumi.bangumi_title = tikan(tData);
			}else if(j==2){
				bangumi.bangumi_category = tikan(tData);
			}else if(j==10){
				bangumi.bangumi_gaiyo = tikan(tData);
			}else if(j==11){
				bangumi.bangumi_syutuen = tikan(tData);
			}
		}
		//取得した番組データからHTMLを生成
		resultText += "【あらすじ】<br>";
		resultText += bangumi.bangumi_gaiyo + "<br>";
		resultText += "【スタッフ】<br>";
		resultText += bangumi.bangumi_syutuen + "<br>";
	}
	return resultText;
}
*/


