<!--
/****************************************************
 * 新着情報登録スクリプト
 * Copyright (c) 2005
 * このスクリプトは修正禁止
 * このスクリプトはRenewConst.jsが必須であり
 * このスクリプトより先にロードされている必要がある
 * 株式会社I.B.C
 * author N.Kawanabe
 * version 0.8
 * 2005/02/25
 * 2005/08/17 1.1 N.Kawanabe 複数画像登録、ファイルアップロード対応
 *****************************************************/

// アンドゥバッファ
var undoBuf			= new Array(0);
// 画像ファイルHTMLバッファ R1.1
var fileUpBuf		= new Array(5);
var fileUpCount		= 1;
// サンプルイメージタグ
var sampleImgSt		= '<img src="';
var sampleImgMid	= '" align="';
var sampleImgEd		= '" width="'+sampleImageWidth+'" border="0">';
var sampleImageAlt	= "";
var sampleImageAlign= "right";
// ファイルアップロードタグ：セキュリティによる操作禁止対応
// R1.1
var tagFileUp		= new Array(5);
tagFileUp[0]		= '<input type=file size='+fileUpSize+' name="imageFile1" onChange="IBC_imageSet2(1)" onClick="IBC_imageSet2(1)">';
tagFileUp[1]		= '<input type=file size='+fileUpSize+' name="imageFile2" onChange="IBC_imageSet2(2)" onClick="IBC_imageSet2(2)">';
tagFileUp[2]		= '<input type=file size='+fileUpSize+' name="imageFile3" onChange="IBC_imageSet2(3)" onClick="IBC_imageSet2(3)">';
tagFileUp[3]		= '<input type=file size='+fileUpSize+' name="imageFile4" onChange="IBC_imageSet2(4)" onClick="IBC_imageSet2(4)">';
tagFileUp[4]		= '<input type=file size='+fileUpSize+' name="imageFile5" onChange="IBC_imageSet2(5)" onClick="IBC_imageSet2(5)">';
// 添付ファイルセット用 R1.1
tagTenpuFileUp		= '<input type=file size='+tenpuFileUpSize+' name="tenpuFile" onChange="IBC_tenpuSet()" onClick="IBC_tenpuSet()">';
// カラータグ
var tagColorEd		= "</font>";
// アンカータグ
var tagLinkSt		= "<a href=\"";
var tagLinkMd		= "\" target=\"_blank\">";
var tagLinkEd		= "</a>";
// 斜体
var tagItalicSt		= "<em>";
var tagItalicEd		= "</em>";
// 太字
var tagBoldSt		= "<strong>";
var tagBoldEd		= "</strong>";
// ブラウザチェック
var domBrw			= 1;
// 選択テキスト
var selected_text	= "";
// キャレットポジション R1.1
var start_length	= 0;
// データ登録モード（2=新規：3=修正）
var up_mode = 2;
// 画像位置
var imageLRFlg		= "right";
var imageTBFlg		= 0;	// 上=0 下=1
// サーバー上のイメージファイル
var imageSvr		= "";

////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////
// ログインモード時の初期化
function IBC_loginInit(msg) {
	if(msg) {
		alert(msg);
	}
}
// パスワード変更モード時の初期化
function IBC_passInit(msg) {
	if(msg) {
		alert(msg);
	}
}
// 修正・削除リスト表示モード時の初期化
function IBC_editListInit() {
}

// 修正・削除リストで、削除が選択された場合
function IBC_deleteCheck(no,action) {
	var ret = confirm(no+"番のデータを削除します\nよろしいですか？")
	if(ret == true) {
		location.href=action;
	}
}


// ログインデータ確認及びSUBMIT
function IBC_loginAction() {
	if(document.loginForm.loginID.value == "") {
		alert("ログインIDが入力されていません。");
		return false;
	}
	if(document.loginForm.loginPass.value == "") {
		alert("パスワードが入力されていません。");
		return false;
	}
	document.loginForm.submit();
}

// パスワード変更内容確認及びSUBMIT
function IBC_passEditAction() {
	if(document.passForm.loginID.value == "") {
		alert("ログインIDが入力されていません。");
		return false;
	}
	if(document.passForm.oldPass.value == "") {
		alert("パスワードが入力されていません。");
		return false;
	}
	if(document.passForm.newPass.value == "") {
		alert("新しいパスワードが入力されていません。");
		return false;
	}
	var ret = confirm("パスワードを変更してもよろしいですか？")
	if(ret == true) {
		document.passForm.submit();
	}
}

// データ登録時の内容確認及びSUBMIT
function IBC_writeAction() {
	var year = document.makeText.yy.value;
	var mon = document.makeText.mm.value;
	var wday = document.makeText.dd.value;
	var date = new Date(year + "/" + mon + "/" + wday); 
	// 日付の整合性確認
	if(year != date.getFullYear() || mon != date.getMonth() + 1 || wday != date.getDate()){ 
		alert("日付の入力が正しくありません、内容をご確認ください。"); 
		return false;
	} 
	// トップタイトルの確認は不要
	// トップタイトル確認
	//if(document.makeText.topTitle.value == "") {
	//	alert(top_title_not_input);
	//	return false;
	//}
	// タイトル確認
	if(document.makeText.title.value == "") {
		alert(title_not_input);
		return false;
	}
	// 記事確認
	if(document.makeText.inputText.value == "") {
		alert("記事が入力されていません。");
		return false;
	}
	var ret = confirm("データを登録してもよろしいですか？")
	if(ret == true) {
		// R1.1
		var i;
		for(i = 1;i<6;i++) {
			if(eval("document.makeText.imageFile"+i+";")) {
				eval("document.makeText.imageFile"+i+".disabled = false;");
			}
		}
		document.makeText.tenpuFile.disabled = false;
		document.makeText.write.disabled = true;
		document.makeText.imageLRFlg.value = imageLRFlg;
		document.makeText.imageTBFlg.value = imageTBFlg;
		document.makeText.submit();
	}
}

// データ登録・修正時のスクリプト及びHTMLの初期化
// up_mode 2= 新規登録 3=修正
function IBC_scriptInit(mode,msg,img) {
	
	//ブラウザのバージョンチェック R1.1
	if (document.getElementById("inputText").setSelectionRange) {
		domBrw = 1;
	} else if(document.selection.createRange) {
		domBrw = 2;
	}
	
	IBC_imageClear();
	// モードはイメージクリア後ここで設定
	up_mode = mode;
	
	if(up_mode == 2) {
		nowDate = new Date();
		document.makeText.yy.value = nowDate.getFullYear();
		document.makeText.mm.value = nowDate.getMonth()+1;
		document.makeText.dd.value = nowDate.getDate();
	} else {
		imageLRFlg = document.makeText.imageLRFlg.value;
		imageTBFlg = document.makeText.imageTBFlg.value;
		if(imageTBFlg == 0) {
			sampleImageAlign = "top";
		} else {
			sampleImageAlign = "bottom";
		}
		imageSvr = img;
		IBC_setTitleText();
		IBC_setTitleText();
		IBC_setNewText();
	}
	document.makeText.topTitle.onkeyup = IBC_setTitleText;
	document.makeText.title.onkeyup = IBC_setTitleText;
	document.makeText.inputText.onkeyup = IBC_setNewText;
	//IBC_makeCategory();
	// 起動時メッセージ表示 R1.1 ファイルクリア後表示に変更
	if(msg) {
		alert(msg);
	}
}

// 修正・削除時のカテゴリー変更
function IBC_categoryEditChaenge() {
	var adr = document.editListForm.cginame.value;
	adr += ("?mode=8&st=0&cid="+document.editListForm.category.value);
	location.href = adr;
}
// カテゴリー変更
function IBC_categoryChaenge() {

}

// カテゴリーオプションの作成
function IBC_makeCategory() {
	if (document.createElement) {
		var i, opt, str, cnt;
		cnt = document.makeText.category.options.length
		for(i = 0;i<cnt;i++) {
			opt = document.makeText.category.options[0];
			document.makeText.category.removeChild(opt);
		}
		for(i = 0;i<categoryName.length;i++) {
			opt = document.createElement("option");
			opt.value = i;
			str = document.createTextNode(categoryName[i]);
			opt.appendChild(str);
			document.makeText.category.insertBefore(opt, document.makeText.category.options[i]);
		}
	}
}


// レイヤーへの書き込み
function IBC_writeLayer(lName,val){
	if(document.all){
		document.all(lName).innerHTML = val;
	}else if(document.getElementById){
		document.getElementById(lName).innerHTML = val;
	}
}

// マウスボタンＵＰによるセレクト文字列取得 R1.1 無選択に対応
function IBC_textSelect(){
	if (document.getSelection) // NS
	{
		var element = document.getElementById("inputText");
		var start = element.selectionStart;
		var end   = element.selectionEnd;
		selected_text = element.value.substr(start,end-start);
	} 
	else if (document.selection && document.selection.createRange) // IE 
	{ 
		var range = document.selection.createRange();
		var range2 = document.makeText.inputText.createTextRange();
		selected_text = range.text;
		var sellen = range.text.length;
		var alllen = range2.text.length;
		range2.moveToPoint(range.offsetLeft,range.offsetTop);
		range2.moveEnd("textedit");
		var endlen = range2.text.length;
		start_length = alllen - endlen;
	}
}

// HTMLタグチェック
function IBC_htmlTagCheck(val) {
	if(val.match("<")) {
		alert("HTMLタグ文字が含まれている為設定できません。");
		return true;
	}
	if(val.match(">")) {
		alert("HTMLタグ文字が含まれている為設定できません。");
		return true;
	}
	return false;
}

// 文字合成 R1.1 無選択に対応
function IBC_textMerge(stTag,edTag) {
	//if(selected_text == "") return ;

	if(IBC_htmlTagCheck(selected_text)) {
		return false;
	}

	var buf = document.makeText.inputText.value;
	undoBuf.push(buf);

	if (document.getSelection) // NS
	{
		var newText = stTag + selected_text + edTag;
		var len = document.makeText.inputText.textLength;
		var stx = document.makeText.inputText.selectionStart;
		var enx = document.makeText.inputText.selectionEnd;
		document.makeText.inputText.value = buf.substring(0, stx) + newText + buf.substr(enx,len);
	} 
	else if (document.selection && document.selection.createRange) // IE 
	{ 
		document.makeText.inputText.focus();
		var range = document.makeText.inputText.createTextRange();
		var newText = stTag + selected_text + edTag;
		var len = range.text.length;
		var stx = start_length;
		var enx = start_length + selected_text.length;
		document.makeText.inputText.value = buf.substring(0, stx) + newText + buf.substr(enx,len);
	}

	IBC_writeLayer("NewTextLayer",IBC_getWriteText());
	selected_text = "";
}

// テキストエリアからの転送
function IBC_setNewText() {
	IBC_writeLayer("NewTextLayer",IBC_getWriteText());
}

// タイトルの転送
function IBC_setTitleText() {
	IBC_writeLayer("NewTopTitleLayer",document.makeText.topTitle.value);
	IBC_writeLayer("NewTitleLayer",document.makeText.title.value);
}

// 取り消しUndo
function IBC_undoSelect() {
	if(undoBuf.length == 0) return;
	var buf = undoBuf.pop();
	document.makeText.inputText.value = buf;
	IBC_writeLayer("NewTextLayer",IBC_getWriteText());
}
// 全て取り消し
function IBC_cancelSelect() {
	var str = document.makeText.inputText.value;
	undoBuf.push(str);
	str = str.replace(/<[^>]*>/igm,'');
	document.makeText.inputText.value = str;
	IBC_writeLayer("NewTextLayer",IBC_getWriteText());
}

// カラー選択
function IBC_colorSelect(no) {
	if((tagColorSt.length - 1) < no) return false;
	IBC_textMerge(tagColorSt[no],tagColorEd);
}

// ボールド選択
function IBC_boldSelect() {
	IBC_textMerge(tagBoldSt,tagBoldEd);
}

// イタリック選択
function IBC_italicSelect() {
	IBC_textMerge(tagItalicSt,tagItalicEd);
}

// リンク選択
function IBC_linkSelect(msg) {
	var results, res_bin, npos;

	if(IBC_htmlTagCheck(selected_text)) {
		return false;
	}

	results = prompt(msg,"http://");
	if(results == null) return;
	if(document.all){ // IEバグ対策
		res_bin = escape(results);
		npos = res_bin.indexOf("%00");
		if(npos != -1){
			res_bin = res_bin.substr(0,npos);
		}
		results = unescape(res_bin);
	}
	if(results == "http://" || results == "") {
		alert("URLが入力されていません。");
		return;
	}
	IBC_textMerge(tagLinkSt+results+tagLinkMd,tagLinkEd);
}

// 表示用テキストを取得する
function IBC_getWriteText() {
	var buf;

	buf = document.makeText.inputText.value;
	buf = buf.replace(/\r?\n/ig, "<br>");
	
	return buf;
}

// サンプル画像ファイルセット(IE=onChange NS=onClick)
function IBC_imageSet() {
	var buf = document.makeText.imageFile.value;
	if(buf == "" && imageSvr == "") return false;
	if(buf != "") {
		if(IBC_imageFileCheck(buf)) {
			IBC_imageClear();
			return false;
		}
	}
	IBC_writeLayer("NewTextLayer",IBC_getWriteText());
}

// 画像ファイル名チェック
function IBC_imageFileCheck(val) {
	var ret;
	ret = val.match(/(\.jpg$)|(\.jpeg$)|(\.gif$)/i);

	if(ret == null) {
		alert("gifまたはjpg画像ではありません。");
		return true;
	}
	return false;
}

// 添付ファイル名チェック
// R1.1 一太郎のファイル拡張子は追加が必要かもしれない
function IBC_tenpuFileCheck(val) {
	var ret;
	ret = val.match(/(\.xls$)|(\.doc$)|(\.ppt$)|(\.lzh$)|(\.zip$)|(\.pdf$)|(\.jsw$)|(\.jaw$)|(\.jtw$)|(\.jbw$)|(\.juw$)|(\.jfw$)|(\.jvw$)|(\.jtd$)|(\.jtt$)/i);

	if(ret == null) {
		alert("このファイルはアップロードできません。");
		return true;
	}
	return false;
}
// 添付ファイルアイコン番号決定 R1.1
function IBC_tenpuFileCheck2(val) {
	var ret;
	ret = val.match(/(\.xls$)/i);
	if(ret != null) return 0;
	ret = val.match(/(\.doc$)/i);
	if(ret != null) return 1;
	ret = val.match(/(\.ppt$)/i);
	if(ret != null) return 2;
	ret = val.match(/(\.lzh$)/i);
	if(ret != null) return 3;
	ret = val.match(/(\.zip$)/i);
	if(ret != null) return 4;
	// PDFの場合
	return 5;
}

// 画像設定部分再生設定
// R1.1
function IBC_imageClear() {
	
	document.getElementById("FileUpload1").innerHTML = tagFileUp[0];
	document.getElementById("FileUpload2").innerHTML = tagFileUp[1];
	document.getElementById("FileUpload3").innerHTML = tagFileUp[2];
	document.getElementById("FileUpload4").innerHTML = tagFileUp[3];
	document.getElementById("FileUpload5").innerHTML = tagFileUp[4];
	
	fileUpBuf[0] = document.getElementById("LABEL_FILE_SELECT1").innerHTML;
	fileUpBuf[1] = document.getElementById("LABEL_FILE_SELECT2").innerHTML;
	fileUpBuf[2] = document.getElementById("LABEL_FILE_SELECT3").innerHTML;
	fileUpBuf[3] = document.getElementById("LABEL_FILE_SELECT4").innerHTML;
	fileUpBuf[4] = document.getElementById("LABEL_FILE_SELECT5").innerHTML;

	document.getElementById("LABEL_FILE_SELECT1").innerHTML = "";
	document.getElementById("LABEL_FILE_SELECT2").innerHTML = "";
	document.getElementById("LABEL_FILE_SELECT3").innerHTML = "";
	document.getElementById("LABEL_FILE_SELECT4").innerHTML = "";
	document.getElementById("LABEL_FILE_SELECT5").innerHTML = "";

	document.getElementById("LABEL_FILE_SELECT1").innerHTML = fileUpBuf[0];
	
	// イメージファイルチェック
	var buf,str,buf2,i
	str = document.makeText.inputText.value;
	for(i = 1;i<6;i++) {
		val = "<a.*ID="+i+">";
		buf = str.match(val);
		if(buf) {
			document.getElementById("LABEL_FILE_SELECT"+i).innerHTML = fileUpBuf[i-1];
			eval("document.makeText.imageFile"+i+".disabled = true;");
			if(i != 1) fileUpCount++;
			buf2 = ''+buf;
			val = 'ALT=.*"';
			buf = buf2.match(val);
			if(buf) {
				buf = ''+buf;
				buf = buf.replace(/ALT=/,'');
				buf = buf.replace(/"/igm,'');
				eval("document.makeText.imageAlt" + i + ".value='"+buf+"';");
			}
		}
	}
	
	// 添付ファイルチェック
	document.getElementById("TenpuFileUpload").innerHTML = tagTenpuFileUp;
	buf = str.match('ID=TENPU');
	if(buf) {
		document.makeText.tenpuFile.disabled = true;
	}

}

// 画像を移動
function IBC_moveAlignImage(align) {
	sampleImageAlign = align;
	IBC_imageSet();
}

// 画像コメント設定
function IBC_setComment() {
	IBC_imageSet();
}

// 複数画像登録対応 以降R1.1対応
function IBC_imageClear2(no) {
	if(eval("document.makeText.imageFile"+no+".disabled") == true) {
		var ret = confirm("登録されている画像を削除してもよろしいですか？")
		if(ret != true) return;
	}
	var str = document.makeText.inputText.value;
	undoBuf.push(str);
	var buf = "str.replace(/<a.*ID="+no+"><\\/a>/igm,'');";
	//document.makeText.topTitle.value = buf;
	str = eval(buf);
	document.makeText.inputText.value = str;
	document.getElementById("FileUpload"+no).innerHTML = tagFileUp[no-1];
	eval("document.makeText.imageFile"+no+".disabled = false;");
	
	IBC_writeLayer("NewTextLayer",IBC_getWriteText());
}

// 画像の説明セット R1.1
function IBC_imageALTSet(no) {
	var str = document.makeText.inputText.value;
	var val,buf;
	undoBuf.push(str);
	val = eval("document.makeText.imageAlt" + no + ".value;");
	buf = "str.replace(/ALT.*ID="+no+"/igm,'ALT=\""+val+"\" ID="+no+"');";
	str = eval(buf);
	// document.getElementById("FileUpload"+no).innerHTML = tagFileUp[no-1];
	document.makeText.inputText.value = str;
	IBC_writeLayer("NewTextLayer",IBC_getWriteText());
}

// 画像の左右移動 R1.1
function IBC_imageAlignSet(no,align) {
	var str = document.makeText.inputText.value;
	var val,buf;
	undoBuf.push(str);
	
	switch(align) {
	case 1:// left
		val = "align=\"right\" ALT.*ID="+no;
		buf = '' + str.match(val);
		if(buf) {
			buf = buf.replace(/right/igm,'left');
			buf = "str.replace(/"+val+"/igm,'"+buf+"');";
			str = eval(buf);
		}
		break;
	case 2:// right
		val = "align=\"left\" ALT.*ID="+no;
		buf = '' + str.match(val);
		if(buf) {
			buf = buf.replace(/left/igm,'right');
			buf = "str.replace(/"+val+"/igm,'"+buf+"');";
			str = eval(buf);
		}
		break;
	}
	document.makeText.inputText.value = str;
	IBC_writeLayer("NewTextLayer",IBC_getWriteText());
}

// サンプル画像ファイルセット(IE=onChange NS=onClick)
// R1.1
function IBC_imageSet2(no) {
	var buf = eval("document.makeText.imageFile" + no + ".value;");
	if(buf == "") return false;
	if(IBC_imageFileCheck(buf)) {
		document.getElementById("FileUpload"+no).innerHTML = tagFileUp[no-1];
		return false;
	}
	buf = '<a href="'+sampleImage[no-1]+'" target="_blank"><img src="'+sampleImage[no-1]+'" width="'+sampleImageWidth+'" border=0 align="right" ALT="" ID='+no+'></a>';
	IBC_textMerge(buf,"");
	// 参照ボタンをディセーブル
	eval("document.makeText.imageFile"+no+".disabled = true;");
}

// 画像登録の追加
// R1.1
function IBC_imageAdd() {
	if(fileUpCount >= 5) return false;
	fileUpCount++;
	document.getElementById("LABEL_FILE_SELECT"+fileUpCount).innerHTML = fileUpBuf[fileUpCount-1];
}

// 添付画像画像ファイルセット(IE=onChange NS=onClick)
// R1.1
function IBC_tenpuSet() {
	var buf = document.makeText.tenpuFile.value;
	if(buf == "") return false;
	if(IBC_tenpuFileCheck(buf)) {
		document.getElementById("TenpuFileUpload").innerHTML = tagTenpuFileUp;
		return false;
	}
	var ret = IBC_tenpuFileCheck2(buf);
	buf = '<a href="TENPU" target="_blank"><img src="'+tenpuImage[ret]+'" align="center" border=0 ID=TENPU></a>';
	IBC_textMerge(buf,"");
	// 参照ボタンをディセーブル
	document.makeText.tenpuFile.disabled = true;
}
// 添付ファイルキャンセル
// R1.1
function IBC_tenpuClear() {
	if(document.makeText.tenpuFile.disabled == true) {
		var ret = confirm("登録されているファイルを削除してもよろしいですか？")
		if(ret != true) return;
	}
	var str = document.makeText.inputText.value;
	undoBuf.push(str);
	var buf = "str.replace(/<a.*ID=TENPU><\\/a>/igm,'');";
	str = eval(buf);
	document.makeText.inputText.value = str;
	document.getElementById("TenpuFileUpload").innerHTML = tagTenpuFileUp;
	document.makeText.tenpuFile.disabled = false;
	
	IBC_writeLayer("NewTextLayer",IBC_getWriteText());
}

// -->
