// デバッグ設定
var debug = false;
// 使用変数
var ary_vars = new Array('name','mail','home','pwd','cookie');
//var ary_vars = new Array('name','mail','home','sbj','msg','pwd','cookie');
// 初期メッセージ
var default_msg = 'コメントを入力して下さい。';

//var def_form_clr_focus = '#ddeeff';
var def_form_clr_focus = '#ffeecc';
var def_form_clr_blur  = '#ffffff';


function $(tagId) {
	return document.getElementById(tagId);
}
function $$(tagId) {
	return document.getElementsByName(tagId);
}
function $tag(tagId) {
	return document.getElementsByTagName(tagId);
}

//**** **** Level1 DOM サポート確認 **** ****
if ( document.getElementById && document.createElement ) {
	// 対応時:JS埋込
	document.lastChild.lastChild.onload = new Function('init()');
} else {
	// 未対応時:処理なし
	//alert('Level1 DOM が未サポートです');
	//return false;
}


/**
 * Init:初期処理の集合体
 */
function init() {
	if ( location.hostname.match(/^(127~|local)/) ) debug = true;
	//if ( window.location.href.substr(0,10) == 'http://127' ) debug = true;
	window.defaultStatus = debug;

	//**** 投稿フォーム：フォーム制御
	func_post();
}

//**** **** **** **** **** **** **** **** //
//**** 投稿フォーム：カラーナビ設定
//**** **** **** **** **** **** **** **** //
/**
 * Init:投稿フォーム：フォーム制御
 */
function func_post() {
	form = document.forms[0];

	// 入力チェック設定
	form.onsubmit = new Function('if(!postChk(this))return false');

	// カラー設定
	for ( var i=0; i<form.length; i++ ) {
		if ( form[i].type.match(/^(text|file|password)$/) ) {
			form[i].onfocus = new Function('this.style.backgroundColor="'+def_form_clr_focus+'"');
			form[i].onblur  = new Function('this.style.backgroundColor="'+def_form_clr_blur+'"');
		} else if ( form[i].type == 'textarea' ) {
			form[i].onfocus = new Function('this.style.backgroundColor="'+def_form_clr_focus+'";if(this.value==default_msg)this.value=""');
			form[i].onblur  = new Function('this.style.backgroundColor="'+def_form_clr_blur+'";if(this.value=="")this.value=default_msg');
			if ( form[i].value == '' ) form[i].value = default_msg;
		}
	}

	// getCookir
	for ( var i=0; i<ary_vars.length; i++ ) {
		if ( form.elements[ary_vars[i]] != undefined ) {
			if ( form.elements[ary_vars[i]].type == 'checkbox' ) {
				form.elements[ary_vars[i]].checked = getCookie('bbs_'+ary_vars[i]);
			} else {
				if (form.elements[ary_vars[i]].value == '') {
					form.elements[ary_vars[i]].value = getCookie('bbs_'+ary_vars[i]);
				}
			}
		}
	}

	// 入力フォーム２
	if (document.forms[1]) {
		document.forms[1].onsubmit = new Function('if(!postChk2(this))return false');
		document.forms[1].elements["edit_cno"].value = getCookie('bbs_edit_cno');
		document.forms[1].elements["edit_pwd"].value = getCookie('bbs_edit_pwd');
	}
}

/**
 * Event:投稿用エラーチェック
 */
function postChk(form) {
	//if ( debug == true ) return true;
	var errItem = "";
	var errInfo = "";

	// クッキー保存する
	if ( form.cookie.checked == true ) {
		rememberMe(form);
	} else {
		forgetMe(form);
	}

	// 初期入力チェック
	// 未入力チェック
	if ( !form.name.value ) errItem += '[名前]';
	if ( !form.msg.value || form.msg.value == default_msg) errItem += '[コメント]';
	if ( errItem ) errInfo += errItem + 'がありません。\n'
	// 不正入力チェック
	errItem = "";
	if ( form.mail.value && !form.mail.value.match(/^[a-zA-X0-9_\.\-]+@[a-zA-X0-9_\.\-]+$/) ) errItem += '[メールアドレス]';
	if ( form.home.value && !form.home.value.match(/^(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)$/) ) errItem += '[ホームページ]'; //'
	if ( errItem ) errInfo += errItem + 'が正しくありません。\n';

	// エラーメッセージ表示
	if ( errInfo ) {
		alert(errInfo);
		return false;
	} else {
		// 正常の場合は処理を通す
		return true;
	}

}

/**
 * Event2:投稿用エラーチェック
 */
function postChk2(form) {
	setCookie('bbs_edit_cno', form.elements["edit_cno"].value, '', '/', '', '');
	setCookie('bbs_edit_pwd', form.elements["edit_pwd"].value, '', '/', '', '');
	return true;
}

// **** **** **** **** **** **** **** **** //
// **** 投稿フォーム：クッキー関連設定
// **** **** **** **** **** **** **** **** //
function setCookie(name, value, expires, path, domain, secure) {
	var curCookie = name + "=" + escape(value)
			+ (expires ? "; expires=" + expires : "")
			+ (path ? "; path=" + path : "")
			+ (domain ? "; domain=" + domain : "") 
			+ (secure ? "secure" : "");
	document.cookie = curCookie;
}
function getCookie(name) {
	var prefix = name + '=';
	var c = document.cookie;
	var nullstring = '';
	var cookieStartIndex = c.indexOf(prefix);
	if (cookieStartIndex == -1) return nullstring;
	var cookieEndIndex = c.indexOf(";", cookieStartIndex + prefix.length);
	if (cookieEndIndex == -1) cookieEndIndex = c.length;
	return unescape(c.substring(cookieStartIndex + prefix.length, cookieEndIndex));
}
function deleteCookie(name, path, domain) {
	if (getCookie(name)) document.cookie = name + "=" + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
}
function fixDate(date) {
	var base = new Date(0);
	var skew = base.getTime();
	if (skew > 0) date.setTime(date.getTime() - skew);
}
function rememberMe(f) {
	var now = new Date();
	fixDate(now);
	now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
	now = now.toGMTString();

	// setCookir
	for ( var i=0; i<ary_vars.length; i++ ) {
		if ( f.elements[ary_vars[i]] != undefined ) {
			if ( f.elements[ary_vars[i]].type == 'checkbox' ) {
				setCookie('bbs_'+ary_vars[i], form.elements[ary_vars[i]].checked, now, '/', '', '');
			} else {
				setCookie('bbs_'+ary_vars[i], form.elements[ary_vars[i]].value, now, '/', '', '');
			}
		}
	}
}
function forgetMe(f) {
	// setCookir
	for ( var i=0; i<ary_vars.length; i++ ) {
		if ( f.elements[ary_vars[i]] != undefined ) deleteCookie('bbs_'+ary_vars[i], '/', '');
	}
}



































