//==============================================//
//   ログイン　入力文字チェック                 //
//==============================================//
function login_check() {
	var email = document.login_form.email.value;
	var passwd = document.login_form.passwd.value;
	var xhrObj = getXhrObj();
	var user_exist = "";

	if(email.length == 0) {
		alert('メールアドレスを入力して下さい。');
		return false;
	}
	if(passwd.length == 0) {
		alert('パスワードを入力して下さい。');
		return false;
	}

	// 同期処理
	// ログインできるかチェック
	xhrObj.open("post", "sql_login_check.php", false);
	xhrObj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xhrObj.send("email="+email+"&passwd="+passwd);

	// 戻り値
	user_exist = xhrObj.responseText;

	if(user_exist == "login_ng"){
		document.getElementById('alert_login').innerHTML = "<small><div class='err'>メールアドレスもしくはパスワードをお確かめ下さい。</div></small>";
		return false;
	}
}

//==============================================//
//   パスワード再発行　入力文字チェック         //
//==============================================//
function email_check() {
	var email = document.passwd_form.email.value;
	var xhrObj = getXhrObj();
	var user_exist = "";

	if(email.length == 0) {
		alert('メールアドレスを入力して下さい。');
		return false;
	}

	// 同期処理
	// メールアドレスが存在するかチェック
	xhrObj.open("post", "sql_passwd_check.php", false);
	xhrObj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xhrObj.send("email="+email);

	// 戻り値
	user_exist = xhrObj.responseText;

	if(user_exist == "email_ng"){
		document.getElementById('alert_email').innerHTML = "<small><div class='err'>入力したメールアドレスは登録されていません。</div></small>";
		return false;
	}
}


//==============================================//
//   数字チェック(0-9)                          //
//==============================================//
function checkIsNumber(value){
	return (value.match(/[0-9]+/g) == value);
}


//==============================================//
//   フリーワード検索　入力文字チェック         //
//==============================================//
function header_search_check() {
	var search = document.header_form.word.value;

	if(search.length == 0) {
		alert('検索条件を入力して下さい。');
		return false;
	}
}

//==============================================//
//   ユーザ名チェック                           //
//==============================================//
function username_check(key) {
	var err_msg = "";

	if(key.length == 0) {
		err_msg = "の入力をお願いします。";
	}
	if(getByteCount(key) > 20) {
		err_msg = "が "+getByteCount(key)+"byteです。恐れ入りますが、20byte以下でお願いします。";
	}
	if(key.indexOf(",") != -1){
		err_msg = "にはカンマ（ , ）は利用できません。";
	}
	if(key.indexOf("<") != -1){
		err_msg = "には不等号 ＜ は利用できません。";
	}
	if(key.indexOf(">") != -1){
		err_msg = "には不等号 ＞  は利用できません。";
	}
	if(key.indexOf("管理者") != -1){
		err_msg = "には 「管理者」 は利用できません。";
	}
	if(key.indexOf("ゲスト") != -1){
		err_msg = "には 「ゲスト」 は利用できません。";
	}
	if(key.toUpperCase().indexOf("WEBMASTER") != -1){
		err_msg = "には 「webmaster」 は利用できません。";
	}
	if(key.indexOf("縄手") != -1){
		err_msg = "には 「縄手」 は利用できません。";
	}
	if(key.indexOf("なわて") != -1){
		err_msg = "には 「なわて」 は利用できません。";
	}
	if(key.indexOf("ナワテ") != -1){
		err_msg = " には「ナワテ」 は利用できません。";
	}
	if(key.indexOf("ﾅﾜﾃ") != -1){
		err_msg = " には「ナワテ」 は利用できません。";
	}
	if(key.toUpperCase().indexOf("NAWATE") != -1){
		err_msg = "には 「nawate」 は利用できません。";
	}

	return err_msg;
}

//==============================================//
//   入力不可文字チェック                       //
//==============================================//
function ngword_check(key) {
	var err_msg = "";

	if(key.length == 0) {
		err_msg = "の入力をお願いします。";
	}
	if(key.indexOf('"') != -1){
		err_msg = "には 「”」 は利用できません。";
	}

	return err_msg;
}


//==============================================//
//   前後の全角半角を削除                       //
//==============================================//
// http://sei.qee.jp/docs/program/hta/string/trim.html

String.prototype.trim = function() {
	return unescape(escape(this).replace(/^(%u3000|%20|%09)+|(%u3000|%20|%09)+$/g, ""));
}


//==============================================//
//   バイト数カウント                           //
//==============================================//
function getByteCount(value) {
	var count = 0;
	for ( var i = 0; i < value.length; ++i ) {
		var sub = value.substring(i, i + 1);
		//全角の場合２バイト追加。
		if( checkIsZenkaku(sub) ){
			count += 2;
		} else {
			count += 1;
		}
	}
	return count;
}

//==============================================//
//   バイト数カウント                           //
//  全角であるかをチェックします                //
//  @return ture : 全角 / flase : 全角以外      //
//==============================================//
function checkIsZenkaku(value) {
	for (var i = 0; i < value.length; ++i) {
		var c = value.charCodeAt(i);
		//  半角カタカナは不許可
		if (c < 256 || (c >= 0xff61 && c <= 0xff9f)) {
			return false;
		}
	}
	return true;
}
