/**
 * 指定Diaryデータ取得スクリプト
 * @author hassy
 * @vaersion 1.0
 * 2006/08/05
 */

var ajax       = false;
var targetUrl  = "http://diary.chikutower-systems.com/getData.php?diaryDate=";
var searchUrl  = "http://diary.chikutower-systems.com/search.php";
var cngDataUrl = "http://diary.chikutower-systems.com/.Admin/cngData.php";


var noForm         = new Array();
		noForm['1']    = 'year';
		noForm['2']    = 'title';
		noForm['3']    = 'cnt';
		noForm['4']    = 'rec';
		noForm['5']    = 'master';
		noForm['6']    = 'edit';
		noForm['7']    = 'dvd';
		noForm['8']    = 'ch';
		noForm['9']    = 'comment';


	function getDiaryData(param, tagid, closeflg) {

		if(window.XMLHttpRequest) {
			ajax = new XMLHttpRequest();
		} else if(window.ActiveXObject) {
				try {
					ajax = new ActiveXObject("Msxml2.XMLHTTP");
				} catch(e) {
					ajax = new ActiveXObject("Microsoft.XMLHTTP");
				}
		}

		ajax.open("GET", targetUrl + param + "&singleflg=" + tagid + "&closeflg=" + closeflg);
			ajax.onreadystatechange = function() {
					if (ajax.readyState == 4 && ajax.status == 200) {
						if(tagid.length == 0) { 
							document.getElementById('diaryBody').innerHTML = "";
							document.getElementById('diaryBody').innerHTML = ajax.responseText;
						} else {
							document.getElementById('diaryParts' + tagid).innerHTML = "";
							document.getElementById('diaryParts' + tagid).innerHTML = ajax.responseText;
						}
					}
			}
			ajax.send("");

	}


/**
 * 検索窓色変えファンクション
 * @author hassy
 * @vaersion 1.0
 * 2006/08/13
 */
	function cngBackClr(param) {
		targetForm = document.getElementById('searchwd');
		if( param == 1 ) {
			targetForm.style.background = "#AEF5E3";
			targetForm.value = "";
		} else {
			targetForm.style.background = "#FFFFFF";
		}
	}


/**
 * 日記検索ファンクション
 * 検索文字数チェックも兼ねている。３文字に満たない場合はエラーを表示して終了
 * @author hassy
 * @vaersion 1.0
 * 2006/08/13
 */
	function gosearch() {
		param = document.getElementById('searchwd').value;
// 検索窓の文字数制限を解除 2008/01/05 Hassy
/*
		if( param.length < 3 ) {
				alert("検索文字数は3文字以上で入力して下さい。");
				return false;
		} else {
*/
			document.getElementById('DDIARY').action = searchUrl;
			document.getElementById('DDIARY').submit();
//		}
	}
	
	
/**
 * フォーム表示ファンクション(管理画面用)
 * 表示形式をベタ書きからフォームに変更する
 * @author hassy
 * @vaersion 1.0
 * 2006/09/23
 */
	function cngForm(param) {
		var Tag            = new Array();
		var selectFlg      = new Array();
		var selectChFlg    = new Array();
		var selectStateFlg = new Array();
		var selectDvdFlg   = new Array();
		var projectData    = new Array();
		var ymd            = new Date();
		var startYear      = 1996;
		var thisYear       = ymd.getYear();
				thisYear       = ( thisYear < 2000 ) ? thisYear + 1900 : thisYear;
		var dvdState       = new Array();
				dvdState[0]    = 'rec';
				dvdState[1]    = 'master';
				dvdState[2]    = 'edit';
		var dataNum        = 4;

		if( stateFlg[param] == 0 )
		{

			if( prevId == 0 ) {
				prevId = param;
			} else {
				// 表示形態を元のデータに戻す
				preData = document.getElementById('hid' + prevId).value.split("#");
				// コメントがない場合は半角SPに変換
				preData[9] = ( preData[9].length > 0 ) ? preData[9] : "&nbsp;";
				// DVD状態をコードから名称に変更
				preData[7] = ( preData[7] == 1 ) ? '<font color="#FF0000">' + jsDvd[preData[7]] + '</font>' : jsDvd[preData[7]];
				// chをコードから名称に変換
				preData[8] = jsCh[preData[8]];
				for(k=1; k<preData.length; k++) {
					document.getElementById(noForm[k] + prevId).innerHTML = preData[k];
				}
				// hiddenエリアは空白に戻す
				document.getElementById('hidArea' + prevId).innerHTML   = '';
				// 状態フラグを所期状態に戻す
				stateFlg[prevId] = 0;
				// 新しく選択されたIDを代入
				prevId = param;
			}
			
			if(window.XMLHttpRequest) {
				ajax = new XMLHttpRequest();
			} else if(window.ActiveXObject) {
					try {
						ajax = new ActiveXObject("Msxml2.XMLHTTP");
					} catch(e) {
						ajax = new ActiveXObject("Microsoft.XMLHTTP");
					}
			}
	
			ajax.open("GET", cngDataUrl + "?dataId=" + param);
				ajax.onreadystatechange = function() {
						if (ajax.readyState == 4 && ajax.status == 200) {
							// hidden用にデータを格納
							hidData = ajax.responseText;
							// 取得データを#で分割
							projectData = ajax.responseText.split("#");
	
							// タグを置換えて中身を取得データに設定する
							
							//-text関連-----------------------------------------//
							document.getElementById('title' + param).innerHTML    = '<input type="text" id="newttitle' + param + '" size="30" value="' + projectData[2] + '">';
							document.getElementById('cnt' + param).innerHTML      = '<input type="text" id="newallcnt' + param + '" size="4" value="' + projectData[3] + '">';
							document.getElementById('comment' + param).innerHTML  = '<input type="text" id="newcomment' + param + '" size="20" value="' + projectData[9] + '">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="javascript:sendData(' + param + ');">変更</a>';

							//-select関連(この繰り返し何とかならんもんですかなぁ…)---------------------------------------//
							// 放送年
							for(y=startYear; y<=thisYear; y++) {
								// データの該当年を選択状態に変更
								selectFlg[projectData[1]] = "selected";
								Tag['year'] += '<option value="' + y + '" ' + selectFlg[y] + '>' + y + '</option>';
							}
							document.getElementById('year' + param).innerHTML = '<select id="newiyear' + param + '">' + Tag['year'] + '</select>';
	
							// チャンネル
							for(ch=0; ch<jsCh.length; ch++) {
								selectChFlg[projectData[8]] = "selected";
								Tag['ch'] += '<option value="' + ch + '" ' + selectChFlg[ch] + '>' + jsCh[ch] + '</option>';
							}
							document.getElementById('ch' + param).innerHTML = '<select id="newch' + param + '">' + Tag['ch'] + '</select>';
							
							// dvd変換状態
							for(dvdflg=0; dvdflg<jsDvd.length; dvdflg++) {
								selectDvdFlg[projectData[7]] = "selected";
								Tag['dvdflg'] += '<option value="' + dvdflg + '" ' + selectDvdFlg[dvdflg] + '>' + jsDvd[dvdflg] + '</option>';
							}
							document.getElementById('dvd' + param).innerHTML = '<select id="newdvd' + param + '">' + Tag['dvdflg'] + '</select>';
							
							// rec〜edit
							for(j=0; j<dvdState.length;j++) {
								Tag['cnt'] = "";
								// 配列の宣言をするのが面倒なので無理クリ仕様…。
								selectStateFlg[dvdState[j] + '_' + projectData[j + dataNum]] = "selected";
								for(i=0; i<=projectData[3]; i++) {
									Tag['cnt'] += '<option value="' + i + '" ' + selectStateFlg[dvdState[j] + '_' + i] + '>' + i + '</option>';
								}
								document.getElementById(dvdState[j] + param).innerHTML = '<select id="new' + dvdState[j] + param + '">' + Tag['cnt'] + '</select>';
							}
							
							
							// hiddenエリアを生成
							document.getElementById('hidArea' + param).innerHTML = '<input type="hidden" id="hid' + param + '" value="' + hidData + '">';
							// フラグの値を変更
							stateFlg[param] = 1;
						}
				}
				ajax.send("");
		}
		// 二度押し防止
		else
		{
			return false;
		}
	
	}


//http://itpro.nikkeibp.co.jp/article/COLUMN/20060607/240192/
	function sendData(param) {
		var newVal      = new Array();
				newVal['1'] = 'newiyear';
				newVal['2'] = 'newttitle';
				newVal['3'] = 'newallcnt';
				newVal['4'] = 'newrec';
				newVal['5'] = 'newmaster';
				newVal['6'] = 'newedit';
				newVal['7'] = 'newdvd';
				newVal['8'] = 'newch';
				newVal['9'] = 'newcomment';
		var sendVal     = "";

		if(window.XMLHttpRequest) {
			ajax = new XMLHttpRequest();
		} else if(window.ActiveXObject) {
				try {
					ajax = new ActiveXObject("Msxml2.XMLHTTP");
				} catch(e) {
					ajax = new ActiveXObject("Microsoft.XMLHTTP");
				}
		}

		ajax.open("POST", cngDataUrl, true);
		ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=UTF-8");

				ajax.onreadystatechange = function() {
						if (ajax.readyState == 4 && ajax.status == 200) {
							if( ajax.responseText.match(/^\d+\#/) ) {
								// 表示形態を元のデータに戻す
								dispData = ajax.responseText.split("#");
								// コメントがない場合は半角SPに変換
								dispData[9] = ( dispData[9].length > 0 ) ? dispData[9] : "&nbsp;";
								// DVD状態をコードから名称に変更
								dispData[7] = ( dispData[7] == 1 ) ? '<font color="#FF0000">' + jsDvd[dispData[7]] + '</font>' : jsDvd[dispData[7]];
								// chをコードから名称に変換
								dispData[8] = jsCh[dispData[8]];
								for(k=1; k<dispData.length; k++) {
									document.getElementById(noForm[k] + dispData[0]).innerHTML = dispData[k];
								}
								// hiddenエリアは空白に戻す
								document.getElementById('hidArea' + dispData[0]).innerHTML   = '';
								// 状態フラグを所期状態に戻す
								stateFlg[dispData[0]] = 0;
								prevId = 0;
							} else {
								alert(ajax.responseText);
							}
						}
				}

		// 送信種別判断の為パラメタにフラグをセット
		sendVal  = "chkFlg=update&";
		// 該当タイトルのIDをパラメタにセット
		sendVal += "id=" + param + "&";
		// phpに送信するデータの生成
		for(i=1; i<newVal.length; i++) {
			sendVal += newVal[i] + "=" + encodeURI(document.getElementById(newVal[i] + param).value) + "&";
		}
		
		// データを送信(エラーチェック等はphp側で行う)
		ajax.send(sendVal);
	}

	/**
	 * 録画管理セル背景色変更
	 * 2006/11/05 hassy
	 */
	function cngBack(mark, flg) {
		if( flg == 0 ) {
			document.getElementById(mark).style.backgroundColor = "#FF0084";
		} else if( flg == 1 ) {
			bgclr = ( !(mark % 2) ) ? "#C3D9FF" : "#6BBA70";
			document.getElementById(mark).style.backgroundColor = bgclr;
		}
	}
	
	
	/**
	 * 日記データ編集削除用別窓表示
	 * 2006/11/12 hassy
	 */
	function edit_delDiary(processType, id) {
		// 編集処理
		if( processType == 0 )
		{
			alert(id);
		}
		// 削除処理
		else if( processType == 1 )
		{
			alert(id);
		}
	}

