function TextCheck(FN,MSG,FORM) {
	F = document.forms[FORM].elements[FN];
	if (F.value == "") {
		window.alert(MSG);
		F.focus();
		return false;
	}
}
function EqCheck(FN,FN2,MSG,FORM) {
	F = document.forms[FORM].elements[FN];
	F2 = document.forms[FORM].elements[FN2];
	if (F.value != F2.value) {
		window.alert(MSG);
		F.focus();
		return false;
	}
}
function EmailCheck(FN,MSG,FORM) {
	F = document.forms[FORM].elements[FN];
	check = F.value.match(/^\S+@\S+\.\S+$/);
	if (!check) {
		window.alert(MSG);
		F.focus();
		return false
	}
	check = F.value.match(/^[\w._-]+@[\w._-]+\.[-\w]+$/);
	if (!check) {
		window.alert(MSG);
		F.focus();
		return false
	}
	check = F.value.match(/^\./);
	if (check) {
		window.alert(MSG);
		F.focus();
		return false
	}
	check = F.value.match(/\.$/);
	if (check) {
		window.alert(MSG);
		F.focus();
		return false
	}
}
function UrlCheck(FN,MSG,FORM) {
	F = document.forms[FORM].elements[FN];
	check = F.value.match(/^(http|https)\:\/\/\S+\.\S+$/);
	if (!check) {
		window.alert(MSG);
		F.focus();
		return false
	}
}
function LengthCheck(FN,MSG,FORM,LENG1,LENG2) {
	F = document.forms[FORM].elements[FN];
	if (F.value.length < LENG1 || F.value.length > LENG2) {
		window.alert(MSG);
		F.focus();return false;
	}
}
function NumericCheck(FN,MSG,FORM) {
	F = document.forms[FORM].elements[FN];
	if (F.value.match(/[^0-9]/g)) {
		window.alert(MSG);
		F.focus();return false;
	}
}
function AlphamericCheck(FN,MSG,FORM) {
	F = document.forms[FORM].elements[FN];
	if (F.value.match(/[^0-9a-zA-Z]/g)) {
		window.alert(MSG);
		F.focus();return false;
	}
}
function UseridCheck(FN,MSG,FORM) {
	F = document.forms[FORM].elements[FN];
	if (F.value.match(/[^0-9a-zA-Z@._-]/g)) {
		window.alert(MSG);
		F.focus();return false;
	}
}
function PhonePostalCheck(FN,MSG,FORM) {
	F = document.forms[FORM].elements[FN];
	if (F.value.match(/[^0-9()-]/g)) {
		window.alert(MSG);
		F.focus();return false;
	}
}
function SelectCheck(FN,MSG,FORM) {
	F = document.forms[FORM].elements[FN];
	if (F.selectedIndex < 0) {
		window.alert(MSG);
		F.focus();return false;
	}
	if (F.options[F.selectedIndex].value == "") {
		window.alert(MSG);
		F.focus();return false;
	}
}
function CheckBoxCheck(FN,MSG,FORM) {
	F = document.forms[FORM].elements[FN];
	if (F.checked == false) {
		window.alert(MSG);
		F.focus();return false;
	}
}
function RadioCheck(FN,MSG,FORM) {
	F = document.forms[FORM].elements[FN];
	var Valid = false;
	for (var i=0; i<F.length; i++) {
		if (F[i].checked) {
			Valid = true;
		}
	}
	if (Valid == false) {
		window.alert(MSG);
		F[0].focus();
		return false;
	}
}


function ZenkakuCheck(FN,MSG,FORM) {
	F = document.forms[FORM].elements[FN];
	for (var i = 0; i < F.value.length; ++i) {
		c = F.value.charCodeAt(i);
		if (c < 256 || (c >= 0xff61 && c <= 0xff9f)) {
			window.alert(MSG);
			F.focus();
			return false;
		}
	}
}

/**********************************************************************
 *  全角英数字・記号を半角に置換
 *  Copyright (c) 2003 AOK <soft@aokura.com>
 **********************************************************************/
function z2h_ascii(src) {
    var str = new String;
    var len = src.length;
    for (var i = 0; i < len; i++) {
        var c = src.charCodeAt(i);
        if (c >= 65281 && c <= 65374 && c != 65340) {
            str += String.fromCharCode(c - 65248);
        } else if (c == 8217) {
            str += String.fromCharCode(39);
        } else if (c == 8221) {
            str += String.fromCharCode(34);
        } else if (c == 12288) {
            str += String.fromCharCode(32);
        } else if (c == 65507) {
            str += String.fromCharCode(126);
        } else if (c == 65509) {
            str += String.fromCharCode(92);
        } else {
            str += src.charAt(i);
        } 
    }
    return str;
}

/**********************************************************************
 *  半角カナと全角ひらがなを全角カタカナに統一
 *  Copyright (c) 2003 AOK <soft@aokura.com>
 **********************************************************************/
var zen_table = new Array(
    "。", "「", "」", "、", "・", "ヲ", "ァ", "ィ", "ゥ", "ェ",
    "ォ", "ャ", "ュ", "ョ", "ッ", "ー", "ア", "イ", "ウ", "エ",
    "オ", "カ", "キ", "ク", "ケ", "コ", "サ", "シ", "ス", "セ",
    "ソ", "タ", "チ", "ツ", "テ", "ト", "ナ", "ニ", "ヌ", "ネ",
    "ノ", "ハ", "ヒ", "フ", "ヘ", "ホ", "マ", "ミ", "ム", "メ",
    "モ", "ヤ", "ユ", "ヨ", "ラ", "リ", "ル", "レ", "ロ", "ワ",
    "ン", "゛", "゜"
);
function iskana(c)   { return (c >= 65377 && c <= 65439); }
function is_ka_to(c) { return (c >= 65398 && c <= 65412); }
function is_ha_ho(c) { return (c >= 65418 && c <= 65422); }
function is_hira(c)  { return ((c >= 12353 && c <= 12435) || c == 12445 || c == 12446); }

function toZenKata(src) {
    var i, code, next;
    var str = new String;
    var len = src.length;
    for (i = 0; i < len; i++) {
        var c = src.charCodeAt(i);
        if (iskana(c)) {
            code = zen_table[c - 65377];
            if (i < len - 1) {
                next = src.charCodeAt(i+1);
                if (next == 65438 && c == 65395) {
                    code = "ヴ";
                    i++;
                } else if (next == 65438 && (is_ka_to(c) || is_ha_ho(c))) {
                    code = String.fromCharCode(code.charCodeAt(0)+1);
                    i++;
                } else if (next == 65439 && is_ha_ho(c)) {
                    code = String.fromCharCode(code.charCodeAt(0)+2);
                    i++;
                }
            }
            str += code;
        } else if (is_hira(c)) { 
            str += String.fromCharCode(c + 96);
        } else {
            str += src.charAt(i);
        }
   }
   return str;
}

/**********************************************************
 *  全角英数字（+ ＿）⇔ 半角英数字（+ _）
 *  Copyright (c) 2005 AOK <soft@aokura.com>
 **********************************************************/

/* 全角英数字を半角英数字に置換する */
function z2h_word(src) {
  return src.replace(/([Ａ-Ｚａ-ｚ０-９＿])/g,
    function ($0) {
      return String.fromCharCode($0.charCodeAt(0) - 65248);
    });
}

/* 半角英数字を全角英数字に置換する */
function h2z_word(src) {
  return src.replace(/(\w)/g,
    function ($0) {
      return String.fromCharCode($0.charCodeAt(0) + 65248);
    });
}