var ERRMSG = "";

function nullValidate(value, param) {
    if (trim(value) == "") {
        if (param == "") {
            param = "項目";
        }
        ERRMSG += param + "が未入力です\n";
        return false;
    }
    return true;
}

function numberValidate(value, param) {
    if (isNaN(value)) {
        ERRMSG += param + "は半角数字を入力して下さい\n";
        return false;
    }
    return true;
}

function mailValidate(mail, param) {
    if (!mail.match(/^[0-9a-zA-Z]+[\w\.-]+@[\w\.-]+\.\w{2,}$/)) {
        ERRMSG += param + "が不正です\n";
        return false;
    }
    return true;
}

function lengthValidate(string, min, max, param) {
    if (!nullValidate(string, param)) {
        return false;
    }
    len = string.length;
    if (min == max) {
        if (len < min || len > max) {
            ERRMSG += param + "は" + min + "文字にして下さい\n";
            return false;
        }
    }
    if (len < min) {
        ERRMSG += param + "は" + min + "文字以上入力して下さい\n";
        return false;
    } else if (len > max) {
        ERRMSG += param + "は" + max + "文字以下にして下さい\n";
        return false;
    }
    return true;
}

function rangeValidate(value, min, max, param) {
    if (value < min) {
        ERRMSG += param + "は" + min + "以上にして下さい\n";
        return false;
    }
    if (value > max) {
        ERRMSG += param + "は" + max + "以下にして下さい\n";
        return false;
    }
    return true;
}

function greaterValidate(value, comp, errmsg) {
    if (value > comp) {
        ERRMSG += errmsg + "\n";
        return false;
    }
    return true;
}

function lessValidate(value, comp, errmsg) {
    if (value < comp) {
        ERRMSG += errmsg + "\n";
        return false;
    }
    return true;
}

function regexValidate(string, regexp, errmsg) {
    if (!string.match(regexp)) {
        ERRMSG += errmsg + "\n";
        return false;
    }
    return true;
}

function _confirm(msg) {
    if (!confirm(msg)) {
        return false;
    }
    return true;
}

// 全角数字を半角数字に変換
function zen2han_number(zenNum) {
    han = "0123456789.,-+";
    zen = "０１２３４５６７８９．，－＋";
    str = "";
    for (i = 0; i < zenNum.length; i++) {
        c = zenNum.charAt(i);
        n = zen.indexOf(c, 0);
        if (n >= 0) {
            c = han.charAt(n);
            str += c;
        } else {
            str += c;
        }
    }
    if (str == "") {
        return zenNum;
    } else {
        return str;
    }
}

// 全角英語を半角英語に変換
function zen2han(zenVal) {
    han = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.,-+@_";
    zen = "０１２３４５６７８９ａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺ．，－＋＠＿";
    str = "";
    for (i = 0; i < zenVal.length; i++) {
        c = zenVal.charAt(i);
        n = zen.indexOf(c, 0);
        if (n >= 0) {
            c = han.charAt(n);
            str += c;
        } else {
            str += c;
        }
    }
    if (str == "") {
        return zenVal;
    } else {
        return str;
    }
}

function han2zen(text){
    //検索文字列を変換するための変換文字列配列
    var Kana1 = new Array("ｶﾞ","ｷﾞ","ｸﾞ","ｹﾞ","ｺﾞ","ｻﾞ","ｼﾞ","ｽﾞ","ｾﾞ","ｿﾞ","ﾀﾞ","ﾁﾞ",
                          "ﾂﾞ","ﾃﾞ","ﾄﾞ","ﾊﾞ","ﾋﾞ","ﾌﾞ","ﾍﾞ","ﾎﾞ","ﾊﾟ","ﾋﾟ","ﾌﾟ","ﾍﾟ","ﾎﾟ","ｦ","ｧ",
                          "ｨ","ｩ","ｪ","ｫ","ｬ","ｭ","ｮ","ｯ","ｰ","ｱ","ｲ","ｳ","ｴ","ｵ","ｶ","ｷ","ｸ","ｹ",
                          "ｺ","ｻ","ｼ","ｽ","ｾ","ｿ","ﾀ","ﾁ","ﾂ","ﾃ","ﾄ","ﾅ","ﾆ","ﾇ","ﾈ","ﾉ","ﾊ","ﾋ",
                          "ﾌ","ﾍ","ﾎ","ﾏ","ﾐ","ﾑ","ﾒ","ﾓ","ﾔ","ﾕ","ﾖ","ﾗ","ﾘ","ﾙ","ﾚ","ﾛ","ﾜ","ﾝ");
    var Kana2 = new Array("ガ","ギ","グ","ゲ","ゴ","ザ","ジ","ズ","ゼ","ゾ","ダ","ヂ",
                          "ヅ","デ","ド","バ","ビ","ブ","ベ","ボ","パ","ピ","プ","ペ","ポ","ヲ","ァ",
                          "ィ","ゥ","ェ","ォ","ャ","ュ","ョ","ッ","ー","ア","イ","ウ","エ","オ","カ",
                          "キ","ク","ケ","コ","サ","シ","ス","セ","ソ","タ","チ","ツ","テ","ト","ナ",
                          "ニ","ヌ","ネ","ノ","ハ","ヒ","フ","ヘ","ホ","マ","ミ","ム","メ","モ","ヤ",
                          "ユ","ヨ","ラ","リ","ル","レ","ロ","ワ","ン");
    while(text.match(/[ｦ-ﾝ]/)){ //半角カタカナがある場合
        for(var i = 0; i < Kana1.length; i++){
            text = text.replace(Kana1[i], Kana2[i]); //文字列置換
        }
    }
    return text;
}

function hira2kana(text) {
    //検索文字列を変換するための変換文字列配列
    var Hira = new Array("が","ぎ","ぐ","げ","ご","ざ","じ","ず","ぜ","ぞ","だ","ぢ",
                          "づ","で","ど","ば","び","ぶ","べ","ぼ","ぱ","ぴ","ぷ","ぺ","ぽ","を","ぁ",
                          "ぃ","ぅ","ぇ","ぉ","ゃ","ゅ","ょ","っ","ー","あ","い","う","え","お","か",
                          "き","く","け","こ","さ","し","す","せ","そ","た","ち","つ","て","と","な",
                          "に","ぬ","ね","の","は","ひ","ふ","へ","ほ","ま","み","む","め","も","や",
                          "ゆ","よ","ら","り","る","れ","ろ","わ","ん");
    var Kana = new Array("ガ","ギ","グ","ゲ","ゴ","ザ","ジ","ズ","ゼ","ゾ","ダ","ヂ",
                          "ヅ","デ","ド","バ","ビ","ブ","ベ","ボ","パ","ピ","プ","ペ","ポ","ヲ","ァ",
                          "ィ","ゥ","ェ","ォ","ャ","ュ","ョ","ッ","ー","ア","イ","ウ","エ","オ","カ",
                          "キ","ク","ケ","コ","サ","シ","ス","セ","ソ","タ","チ","ツ","テ","ト","ナ",
                          "ニ","ヌ","ネ","ノ","ハ","ヒ","フ","ヘ","ホ","マ","ミ","ム","メ","モ","ヤ",
                          "ユ","ヨ","ラ","リ","ル","レ","ロ","ワ","ン");
    while(text.match(/[あ-ん]/)){ //半角カタカナがある場合
        for(var i = 0; i < Hira.length; i++){
            text = text.replace(Hira[i], Kana[i]); //文字列置換
        }
    }
    return text;
}
