
//************************************************************************************************//
//各画面で呼び出すJS 共有JSのみ記述
//************************************************************************************************//
//CSVファイルパス
//var cns_root_path = "http://www.gch.jrao.ne.jp/test/test/html/";
//var cns_root_path = "http://www.gch.jrao.ne.jp/test_Renewal/html/";　//テスト用
var cns_root_path = "http://www.gch.jrao.ne.jp/";		//本番用

var cns_person_list_FileTsv = cns_root_path + "csv/person_list.tsv";		//
var cns_pl_week_FileCsv = cns_root_path + "csv/program.tsv";														//番組一覧
var cns_pl_fine_program_group_FileCsv = cns_root_path + "csv/fine_program_group.tsv";		//番組詳細グループ
var cns_pl_fine_program_FileCsv = cns_root_path + "csv/fine_program.tsv";								//番組詳細
var cns_pl_fine_program_schedule_FileCsv = cns_root_path + "csv/fine_program_schedule.tsv";								//番組詳細
var cns_pl_fine_program_add_information_FileCsv = cns_root_path + "csv/fine_program_add_information.tsv";			//番組詳細追加情報
var cns_pl_fine_program_add_guest_FileCsv = cns_root_path + "csv/guest.tsv";			//番組詳細追加情報
var cns_pl_person_list_FileCsv = cns_root_path + "csv/guest.tsv";			//解説者・キャスター詳細
var cns_pl_fine_program_lineup_FileCsv = cns_root_path + "csv/fine_program_lineup.tsv";	//番組詳細ラインナップ
var cns_pl_jigyo_gaikyo_FileCsv = cns_root_path + "csv/jigyo_gaikyo.tsv";	//事業概要	2011.02.08 ADD
var cns_pl_gyomu_siryo_FileCsv = cns_root_path + "csv/gyomu_siryo.tsv";	//業務用資料	2011.02.08 ADD
var cns_calFileCsv = cns_root_path + "csv/race_schedule.tsv";		//レースカレンダー(各ページ共通)
var cns_program_list_FileCsv = cns_root_path + "csv/nowonair.tsv";		//レースカレンダー(各ページ共通)
var cns_now_on_air_FileCsv = cns_root_path + "csv/nowonair.tsv";		//TOP NOW ON AIR
var cns_glorious_horse_FileCsv = cns_root_path + "csv/glorious_horse.tsv";		//TOP 栄光の名馬たち
var cns_gch_news_FileCsv = cns_root_path + "csv/news.tsv";		//TOP お知らせ
var cns_gch_lucky_number_FileCsv = cns_root_path + "csv/lucky_number.tsv";		//lucky_number

var daynames = ['Su','Mo','Tu','We','Th','Fr','Sa','Su'];
var gl_cal_set;
var gs_srver_date ;			//サーバーの時刻をHTTPレスポンスより取得
//var gs_srver_date = getUTCDateByServer();			//サーバーの時刻をHTTPレスポンスより取得

// jQuery,prototype の共存
	jQuery.noConflict();
	var j$ = jQuery;

//************************************************************************************************//
//番組タイトルの文字を編集する(WEBページ表示用)
function edit_title_name(strTitle){
	if(!strTitle){return strTitle}
	var strEdit =  [];
	strEdit[0] = new Array("中央競馬中継全レース中継/パドック中継","中央競馬中継");
	strEdit[1] = new Array("日曜レース展望KEIBAコンシェルジュ","KEIBAコンシェルジュ");
	strEdit[2] = new Array("明日のレース分析","明日のレース分析");
	strEdit[3] = new Array("トレセンＴＩＭＥ","トレセンＴＩＭＥ");
	strEdit[4] = new Array("明日の勝ち馬検討社","明日の勝ち馬検討社");
	strEdit[5] = new Array("ワールドサラブレッドランキング2010","サラブレッドランキング2010");
	strEdit[6] = new Array("レックススタッド2011シーズン種牡馬紹介","レックススタッド2011");
	strEdit[7] = new Array("2011ドバイワールドカップデー中継","2011ドバイワールドカップ");
	strEdit[8] = new Array("2011　ＪＲＡブリーズアップセール生中継","ＪＲＡブリーズアップセール");
	strEdit[9] = new Array("ABK48～馬券オヤジ達の皐月賞論争～","ABK48");
	strEdit[10] = new Array("2011香港クイーンエリザベスⅡ世C中継","香港クイーンエリザベスⅡ世カップ");
	strEdit[11] = new Array("地方競馬レース中継（春季）　かしわ記念・帝王賞・ジャパンダートダービー","地方競馬レース中継（春季）");
	strEdit[12] = new Array("2011セントジェームズパレスＳ生中継","2011セントジェームズパレスＳ");
	strEdit[13] = new Array("ノーザンファーム上場馬紹介～セレクトセール2011","ノーザンファーム上場馬紹介");
	strEdit[14] = new Array("うまラボ～ランニングフォーム研究所スペシャル","うまラボ");
	strEdit[15] = new Array("海外競馬ジャーナル 「凱旋門賞特集ほか」","海外競馬ジャーナル");
	
	//◆が最初にある場合は全て取り除く。
	//外字がある場合は全て取り除く。（2011/10/15鈴木追記）
	str= strTitle
	str= str.replace(/◆||/g,"");
	str= str.replace(//g,"（再）");
	//タイトルの編集
	for(var i=0 ; i < strEdit.length ; i++ ){
		if( str.indexOf(strEdit[i][0]) != -1 ){
			str = strEdit[i][1];
		}
	}
	return str;
}
//************************************************************************************************//
//番組タイトルの文字を編集する(番組表用)
function edit_title_name_EPG(strTitle){
	if(!strTitle){return strTitle}
	var strEdit =  [];
	strEdit[0] = new Array("中央競馬中継ＥＡＳＴ（東）","中央競馬中継");
	
	//◆が最初にある場合は全て取り除く。
	//外字がある場合は全て取り除く。（2011/10/15鈴木追記）
	str= strTitle
	str= str.replace(/◆||/g,"");
	str= str.replace(//g,"（再）");
	//タイトルの編集
	for(var i=0 ; i < strEdit.length ; i++ ){
		if( str.indexOf(strEdit[i][0]) != -1 ){
			str = strEdit[i][1];
		}
	}
	return str;
}

//************************************************************************************************//
//各画面共通 onloadイベント時呼び出し
function init(){

//	time = getUTCDateByServer();
//	js_head_days();
}

// **********************************************
//初期処理 onloadより前に実行
function pinit(){
//	js_head_days();
}

// **********************************************
var getUTCDateByServer = function ( ) {
	try {
		return new Date();

		var req = createHttpRequest();
		var sa, time, time0, time1;
		req.open( 'HEAD', '#', false );
		req.send( null );
		time = new Date( req.getResponseHeader( 'Date' ) );
		return time;
	}
	catch ( err ) { return false; }
};

// **********************************************
//XMLHttpRequestオブジェクト生成
function createHttpRequest(){
	//Win ie用
	if(window.ActiveXObject){
		try {
			//MSXML2以降用
			return new ActiveXObject("Msxml2.XMLHTTP") //[1]'
		} catch (e) {
			try {
				//旧MSXML用
				return new ActiveXObject("Microsoft.XMLHTTP") //[1]'
			} catch (e2) {
				return null
			}
		}
	} else if(window.XMLHttpRequest){
		//Win ie以外のXMLHttpRequestオブジェクト実装ブラウザ用
		return new XMLHttpRequest() //[1]'
	} else {
		return null
	}
}

// **********************************************
//各画面共通 ヘッダの日付セット
function js_head_days(){
	var get_w = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];
	var get_m = ['January','February','March','April','May','June','July','August','September','October','November','December'];
	var get_dt = new Date();
	gs_srver_date = getUTCDateByServer();			//サーバーの時刻をHTTPレスポンスより取得
	get_dt = gs_srver_date;

	document.getElementById("head_days_d").innerHTML = get_dt.getDate();
	document.getElementById("head_days_w").innerHTML = get_w[get_dt.getDay()];
	document.getElementById("head_days_y").innerHTML = get_dt.getFullYear();
	document.getElementById("head_days_m").innerHTML = get_m[get_dt.getMonth()];
}

// **********************************************
//ヘッダメニュー on mouse
function mh_on(i){
//	var mh2 = document.getElementById(menu_head2_01).src
	for(j=1;j<=7;j++){
		document.getElementById("menu_head0"+j).src =cns_root_path+"img/menuh0"+j+".gif";
	}
	document.getElementById("menu_head0"+i).src =cns_root_path+"img/menuh0"+i+"_f.gif";
//	document.getElementById("menu_head2_00").innerHTML = mh_on_make_sub(i);
}

function mh_off(i){
}

// **********************************************
//ヘッダメニューサブ項目 リンク、名称設定
// 2010/12/25 仕様変更により、未使用
/*
function mh_on_make_sub(i){
	var retStr = "";
	switch(i){
	case 1:		//番組一覧
		retStr = retStr+'<a href="'+cns_root_path+'program/program.html?k=0"><div class="menu_head2_00_sub">';
		retStr = retStr+'<img src="'+cns_root_path+'img/menuh2_00_about_01.gif" /><div class="menu_head2_00_text">競馬関連番組</div>';
		retStr = retStr+'</div></a>';

		retStr = retStr+'<a href="'+cns_root_path+'program/program.html?k=1"><div class="menu_head2_00_sub">';
		retStr = retStr+'<img src="'+cns_root_path+'img/menuh2_00_about_01.gif" /><div class="menu_head2_00_text">その他番組</div>';
		retStr = retStr+'</div></a>';

		retStr = retStr+'<a href="'+cns_root_path+'program/program.html?k=2"><div class="menu_head2_00_sub">';
		retStr = retStr+'<img src="'+cns_root_path+'img/menuh2_00_about_01.gif" /><div class="menu_head2_00_text">特番情報</div>';
		retStr = retStr+'</div></a>';
		break;

	case 2:		//番組表
		retStr = retStr+'<a href="'+cns_root_path+'weekly/weekly.html"><div class="menu_head2_00_sub">';
		retStr = retStr+'<img src="'+cns_root_path+'img/menuh2_00_about_01.gif" /><div class="menu_head2_00_text">週間番組表</div>';
		retStr = retStr+'</div></a>';
		break;

	case 3:		//動画
		retStr = retStr+'<a href="'+cns_root_path+'move/move_list.html"><div class="menu_head2_00_sub">';
		retStr = retStr+'<img src="'+cns_root_path+'img/menuh2_00_about_01.gif" /><div class="menu_head2_00_text">プロモーション動画配信</div>';
		retStr = retStr+'</div></a>';

		retStr = retStr+'<a href="'+cns_root_path+'move/move_list.html#past"><div class="menu_head2_00_sub">';
		retStr = retStr+'<img src="'+cns_root_path+'img/menuh2_00_about_01.gif" /><div class="menu_head2_00_text">過去番組視聴</div>';
		retStr = retStr+'</div></a>';
		break;

	case 4:		//解説者／キャスター
		retStr = retStr+'<a href="'+cns_root_path+'padock/padock.html"><div class="menu_head2_00_sub">';
		retStr = retStr+'<img src="'+cns_root_path+'img/menuh2_00_about_01.gif" /><div class="menu_head2_00_text">パドック解説者</div>';
		retStr = retStr+'</div></a>';
		retStr = retStr+'<a href="'+cns_root_path+'caster_room/caster_room.html"><div class="menu_head2_00_sub">';
		retStr = retStr+'<img src="'+cns_root_path+'img/menuh2_00_about_01.gif" /><div class="menu_head2_00_text">キャスタールーム</div>';
		retStr = retStr+'</div></a>';
		break;

	case 5:		//スタッフブログ

		retStr = retStr+'<a href="'+cns_root_path+'watching/wch_top.html"><div class="menu_head2_00_sub">';
		retStr = retStr+'<img src="'+cns_root_path+'img/menuh2_00_about_01.gif" /><div class="menu_head2_00_text">視聴方法一覧</div>';
		retStr = retStr+'</div></a>';
		retStr = retStr+'<a href="'+cns_root_path+'watching/how_to_watch.html"><div class="menu_head2_00_sub">';
		retStr = retStr+'<img src="'+cns_root_path+'img/menuh2_00_about_01.gif" /><div class="menu_head2_00_text">ＨＯＷ ＴＯ ＷＡＴＣＨ</div>';
		retStr = retStr+'</div></a>';
		break;

	case 6:		//視聴方法
		retStr = retStr+'<a href="'+cns_root_path+'blog/blog.html"><div class="menu_head2_00_sub">';
		retStr = retStr+'<img src="'+cns_root_path+'img/menuh2_00_about_01.gif" /><div class="menu_head2_00_text">スタッフブログ</div>';
		retStr = retStr+'</div></a>';
		break;

	case 7:		//お問い合わせ
		retStr = retStr+'<a href="https://mt2017.secure.jp/~mt2017006/cgi-bin/contact/contact.html"><div class="menu_head2_00_sub">';
		retStr = retStr+'<img src="'+cns_root_path+'img/menuh2_00_about_01.gif" /><div class="menu_head2_00_text">お問い合わせ</div>';
		retStr = retStr+'</div></a>';
		retStr = retStr+'<a href="'+cns_root_path+'faq/faq.html"><div class="menu_head2_00_sub">';
		retStr = retStr+'<img src="'+cns_root_path+'img/menuh2_00_about_01.gif" /><div class="menu_head2_00_text">よくある質問</div>';
		retStr = retStr+'</div></a>';
		break;

	default:
		break;
	}
	return retStr;
}
*/

//************************************************************************************************//
//カレンダー
//************************************************************************************************//

// **********************************************
function Dsp_calendars(){
	var dt = new Date();
	gs_srver_date = getUTCDateByServer();			//サーバーの時刻をHTTPレスポンスより取得
	dt = gs_srver_date;
	
	year = dt.getFullYear();
	mon = (dt.getMonth()+1);
	make_calendars(year,mon);
}

// **********************************************
function make_calendars(year,mon){
	var p = document.getElementById("Race_calendar01");
	mon = mon-1;
	p.innerHTML = '<img class="cal_loading01" src= "'+cns_root_path+'img/loading01.gif" alt="now loading"  />';
	gl_cal_set = js_cal_set_csv(year, mon);
	setTimeout("make_calendars2("+year+","+mon+")", 500);
}

// **********************************************
function make_calendars2(year,mon){
	var p = document.getElementById("Race_calendar01");
	var mcal = make_cal_monthly(year, mon);
	p.innerHTML = '<div class="clears"></div>';
	p.appendChild(mcal);
}

// **********************************************
//  うるう年計算
function leap(year){
  return year % 4 ? 0 : year % 100 ? 1 : year % 400 ? 0 : 1;
}

// **********************************************
// CSVから取得
function js_cal_set_csv(year, mon){
	var result = [];
	var wk_d = -1;
	j$.get(cns_calFileCsv,function(cal_data){
		var csv = j$.csv()(cal_data);
		j$(csv).each(function(){
			if(this[0]){
				if( (this[0].substr(0,4)==year) && (this[0].substr(4,2)==(mon+1)) ){
					d = Number(this[0].substr(6,2));
					if(d == wk_d){
						result[d]['title'] += "　"+this[4];
						if(result[d]['race'] < this[3]){
							result[d]['race'] = this[3];
						}
					}else{
						wk_d=d;
						result[d] = [];
						if(this[2] != "" ){
							result[d]['link'] = cns_root_path+"race_schedule/"+this[2]+"#race"+(mon+1);
						}else{
							result[d]['link'] = "";
						}
						result[d]['title'] = this[4];
						result[d]['race'] = this[3];
					}
				}
			}
		})
	})
	return result;
}

// **********************************************
// 月の日付テーブル作成
function make_cal_array(year, mon){
	var months = [31, 28 + leap(year), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
	var result = [];
	result[mon] = [];
	var dofw1 = (new Date(year, mon, 1, 0, 0, 0)).getDay();
	if(dofw1==0){dofw1=7;}
	for (var d = 1; d <= months[mon]; d++){
		result[mon][d + dofw1 - 1] = [];
		result[mon][d + dofw1 - 1]['day'] = d;
		if(gl_cal_set[d]){
			result[mon][d + dofw1 - 1]['title'] = gl_cal_set[d]['title'];
			result[mon][d + dofw1 - 1]['race']  = gl_cal_set[d]['race'];
			result[mon][d + dofw1 - 1]['link']  = gl_cal_set[d]['link'];
		}
	}
	return result;
}

// **********************************************
// HTMLのTable作成
function make_cal_monthly(year, m){
	var get_m = ['JANUARY','FEBRUARY','MARCH','APRIL','MAY','JUNE','JULY','AUGUST','SEPTEMBER','OCTOBER','NOVEMBER','DECEMBER'];
	var table = document.createElement('table');
	var dt = new Date();
	gs_srver_date = getUTCDateByServer();			//サーバーの時刻をHTTPレスポンスより取得
	dt = gs_srver_date;
	cal = make_cal_array(year, m);

	// header
	var tr = document.createElement('tr');
	for (var d = 1; d <= 7; d++){
		var th = document.createElement('th');
		th.className = "calh calh_"+daynames[d];
		tr.appendChild(th);
	}
	var thead = document.createElement('thead');
	thead.appendChild(tr);
	table.appendChild(thead);
	
	// body;
	var tbody = document.createElement('tbody');
	for (var d = 1, l = cal[m].length; d <= l; d++){
		if (d % 7 == 1){tr = document.createElement('tr')}
		var td = document.createElement('td');
		if (cal[m][d]){
			if(cal[m][d]['link']){
				var aTag = document.createElement('a');
				aTag.href = cal[m][d]['link'];
			}
			var img = document.createElement('img');
			if( ((cal[m][d]['day']) == dt.getDate()) && (m == (dt.getMonth())) && (year == dt.getFullYear()) ){
				img.setAttribute('src',cns_root_path+'img/cal/back_indigo/back_indigo_'+cal[m][d]['day']+'.gif');		//当日
			}else if((cal[m][d]['race'])==0){
				img.setAttribute('src',cns_root_path+'img/cal/back_blue/back_blue_'+cal[m][d]['day']+'.gif');		//通常日
			}else if((cal[m][d]['race'])==1){
				if( ( ((cal[m][d]['day']) < dt.getDate()) && (m == (dt.getMonth())) && (year == dt.getFullYear()) ) || ( (m < (dt.getMonth())) && (year == dt.getFullYear()) ) || ( (year < dt.getFullYear()) ) ){
					//当日以前のイベント
					img.setAttribute('src',cns_root_path+'img/cal/back_orange/back_orange_'+cal[m][d]['day']+'.gif');		//イベント２
				}else{
					//今後のイベント
					img.setAttribute('src',cns_root_path+'img/cal/back_orange/back_orange_'+cal[m][d]['day']+'.gif');		//イベント２
				}
			}else if((cal[m][d]['race'])==2){
				img.setAttribute('src',cns_root_path+'img/cal/back_orange/back_orange_'+cal[m][d]['day']+'.gif');		//オレンジ
			}else if((cal[m][d]['race'])==3){
				img.setAttribute('src',cns_root_path+'img/cal/flame_orange/back_white(flame_orange)_'+cal[m][d]['day']+'.gif');		//薄いオレンジ、フレーム濃いオレンジ
			}else if((cal[m][d]['race'])==4){
				img.setAttribute('src',cns_root_path+'img/cal/flame_orange/back_white(flame_orange)_'+cal[m][d]['day']+'.gif');		//薄いオレンジ、フレーム濃いオレンジ
//				img.setAttribute('src',cns_root_path+'img/cal/back_indigo/back_indigo_'+cal[m][d]['day']+'.gif');		//青
//				img.setAttribute('src',cns_root_path+'img/cal/back_orange/back_orange_'+cal[m][d]['day']+'.gif');		//オレンジ
//				img.setAttribute('src',cns_root_path+'img/cal/flame_blue/back_white(flame_blue)_'+cal[m][d]['day']+'.gif');		//水色、フレーム青
//				img.setAttribute('src',cns_root_path+'img/cal/flame_orange/back_white(flame_orange)_'+cal[m][d]['day']+'.gif');		//薄いオレンジ、フレーム濃いオレンジ
//				img.setAttribute('src',cns_root_path+'img/cal/back_gray/back_gray_'+cal[m][d]['day']+'.gif');		//グレー
			}else if( ( ((cal[m][d]['day']) < dt.getDate()) && (m == (dt.getMonth())) && (year == dt.getFullYear()) ) || ( (m < (dt.getMonth())) && (year == dt.getFullYear()) ) || ( (year < dt.getFullYear()) ) ){
				img.setAttribute('src',cns_root_path+'img/cal/back_gray/back_gray_'+cal[m][d]['day']+'.gif');		//前日
			}else{
				img.setAttribute('src',cns_root_path+'img/cal/back_blue/back_blue_'+cal[m][d]['day']+'.gif');		//通常日
			}
			if(cal[m][d]['link']){
				aTag.appendChild(img);
				td.appendChild(aTag);
			}else{
				td.appendChild(img);
			}
			if(cal[m][d]['title']){
				td.title = cal[m][d]['title'];
			}
			td.className = daynames[d % 7];
		}
		tr.appendChild(td);
		if(d % 7 == 6){ tbody.appendChild(tr);}
	}

	tbody.appendChild(tr);
	table.className = 'mcal';
	var caption = document.createElement('caption');
	var div = document.createElement('div');
	var div2 = document.createElement('div');
	div.className = "mcal_d";
	var dt_ad = new Date(year, m+1, 1);
	var dt_su = new Date(year, m-1, 1);

	wk1 = '<a class="mcalrl_a_right" href="javascript:void(0)" onClick="make_calendars('+dt_ad.getFullYear()+','+(dt_ad.getMonth()+1)+');return false;"><img class="mcalrl_right" src="'+cns_root_path+'img/cal/allow_right.gif" /></a>';
	wk2 = '<a class="mcalrl_a_left" href="javascript:void(0)" onClick="make_calendars('+dt_su.getFullYear()+','+(dt_su.getMonth()+1)+');return false;"><img class="mcalrl_left" src="'+cns_root_path+'img/cal/allow_left.gif" /></a>';
	div.innerHTML = wk2+'<div class="mcal_dc">'+get_m[m]+' '+year+'</div>'+wk1;
	
	caption.appendChild(div);
	table.appendChild(caption);
	table.appendChild(tbody);
	return table;
}

//カレンダー
//************************************************************************************************

//********************************************************************
//日付書式整形(ミリ秒→YYYYMMDDHHMMSS)
function js_fix_date_format(fix_date) {
	var today,mt,dt,hr,mn,ret_s,tstr;
	year = fix_date.getFullYear();
	month = "0"+ (fix_date.getMonth()+1);
	mt = month.substr(month.length - 2, 2);
	xdate  = "0"+ fix_date.getDate();
	dt = xdate.substr(xdate.length - 2, 2);
	hour  = "0"+ fix_date.getHours();
	hr = hour.substr(hour.length - 2, 2);
	minute= "0"+ fix_date.getMinutes();
	mn = minute.substr(minute.length - 2, 2);
	ret_s = year + mt + dt + hr + mn + "00" ;
	return( ret_s ) ;
}

//********************************************************************
// 桁埋め(桁数 数値 埋める文字)
function formatNum(num, keta, ume) {
	var src = new String(num);
	var cnt = keta - src.length;
	if (!ume) ume = " ";
	if (cnt <= 0) return src;
	while (cnt-- > 0) src = ume + src; return src;
}

//********************************************************************
// 桁埋め(桁数 数値 埋める文字)
function formatNum_aft(num, keta, ume) {
	var src = new String(num);
	var cnt = keta - src.length;
	if (!ume) ume = " ";
	if (cnt <= 0) return src;
	while (cnt-- > 0) src = src + ume; return src;
}

//********************************************************************
//日付の加減算関数(戻り：ミリ秒)(月は0～11なので、あらかじめ-1する事)
function js_computeDate(year, month, day, addDays) {
	var dt = new Date(year, month-1, day);
	var baseSec = dt.getTime();
	var addSec = addDays * 86400000;//日数 * 1日のミリ秒数
	var targetSec = baseSec + addSec;
	dt.setTime(targetSec);
	return dt;
}

//********************************************************************
//日付書式整形(YYYYMMDDHHMMSS→ミリ秒)
function js_ed_NNN(fix_date) {
	//var dt = new Date(fix_date.substr(0,4),  (parseInt(fix_date.substr(4,2))-1) , fix_date.substr(6,2) , fix_date.substr(8,2) , fix_date.substr(10,2) , '00');
	var dt = new Date(fix_date.substr(0,4),  (parseInt(fix_date.substr(4,2), 10)-1) , fix_date.substr(6,2) , fix_date.substr(8,2) , fix_date.substr(10,2) , '00');
	ret_s = dt.getTime();
	return( ret_s ) ;
}

//********************************************************************
//YYYYMMDDHHMMSS → HHMM → 分換算
function ed_HHMM_NNN(wk_date){
	return parseInt(wk_date.substr(0,10))*60 + parseInt(wk_date.substr(10,2));
}

//********************************************************************
//次の日の日付を返す(wkdate:YYYYMMDD...  addDay:加日数)
function js_Get_next_day(wkdate,addDay) {
	year = wkdate.substr(0,4);
	month = wkdate.substr(4,2);
	day = wkdate.substr(6,2);
	nextday = js_computeDate(year,month,day,addDay)
	nextday = js_fix_date_format(nextday);
	return nextday.substr(0,8)+wkdate.substr(8,6);
}

//********************************************************************
//指定日付の月曜の日付を取得(set_date:YYYYMMDDHHMMSS )
function js_Get_Week_Mon(set_date) {
var get_Week_monday = new Array( ) ;	//表示用データのみ格納
	myDate = new Date(set_date.substr(0,4),(set_date.substr(4,2)-1),set_date.substr(6,2));
	myDate_getday = myDate.getDay() -1 ;
	if(myDate_getday==-1){myDate_getday=6;}
	get_Week = js_computeDate(myDate.getFullYear() , myDate.getMonth()+1 , myDate.getDate() ,-myDate_getday);
	get_Week_monday[0] = js_fix_date_format(get_Week);
	get_Week_monday[1] = js_fix_date_format(js_computeDate(get_Week.getFullYear() , get_Week.getMonth()+1 , get_Week.getDate() ,7));
	return get_Week_monday;
}

//************************************************************************************************//
// 0A を<br>に変換
function replaceAll(expression, org, dest){
	retstr = expression.replace( /\r/ig ,"<br />");
	retstr = retstr.replace( /\n/ig ,"<br />");
	return retstr;
//	return expression.split(org).join(dest);
/*
	var retstr = "";
	str = expression.split(org);
	for (var i=0; i<str.length; i++){
		retstr = str[i]+"<br>";
	}
	return retstr;
*/
}

// **********************************************
// CSVから取得
function js_gch_ALL_set_csv(fileCsv){
	var result = [];
	var msec = (new Date()).getTime();

	//ＣＳＶ読み込み
	new Ajax.Request(fileCsv, {
		method: "get",
		parameters: "cache="+msec,
		asynchronous:false,
		onComplete:function(httpObj){
			var tabText_work = [];
			var text = httpObj.responseText;
			var CR = String.fromCharCode(13);
			var LF = String.fromCharCode(10);
			var TAB = String.fromCharCode(9);
			var tabText = text.split(CR+LF);
			for (var i=0; i<tabText.length; i++){
				var cText = tabText[i].split(TAB);
				result[i] = [];
				for (var j=0; j<cText.length; j++){
//					result[i][j] = cText[j];
					result[i][j] = replaceAll(cText[j],"","");
				}
			}
		},
		onSuccess:function(httpObj){
		},
			onFailure:function(httpObj){
				result = 0;
//				alert('js_gch_ALL_set_csv onFailure  エラーで読み込めませんでした'); 
		},
			onException: function (httpObj,e) {
				result = 0;
//				alert("js_gch_ALL_set_csv responseText:"+httpObj.responseText+'  読み込み中にエラーが発生しました   '+e.message); 
		}
	});

	return result;
}

//************************************************************************************************//
//************************************************************************************************//


