var zenkatakana         = "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォャュョッー゛゜";
var zenkatakana_daku    = "ヴガギグゲゴザジズゼゾダヂヅデドバビブベボ";
var hankatakana_daku    = "ｳｶｷｸｹｺｻｼｽｾｿﾀﾁﾂﾃﾄﾊﾋﾌﾍﾎ";
var zenkatakana_handaku = "パピプペポ";
var hankatakana_handaku = "ﾊﾋﾌﾍﾎ";
var hankatakana         = "ｱｲｳｴｵｶｷｸｹｺｻｼｽｾｿﾀﾁﾂﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓﾔﾕﾖﾗﾘﾙﾚﾛﾜｦﾝｧｨｩｪｫｬｭｮｯｰﾞﾟ";
var zenhiragana  = "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをんぁぃぅぇぉゃゅょっー゛゜がぎぐげござじずぜぞだぢづでどばぱびぴぶぷべぺぼぽ";
var zenkatakana2 = "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォャュョッー゛゜ガギグゲゴザジズゼゾダヂヅデドバパビピブプベペボポ";
var hanalphabet = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz _-.@,'";
var zenalphabet = "０１２３４５６７８９ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚ　＿－．＠，’";

function JsAutoConv(Obj, Mode){
    var OutText = "";
    var chgText;
    if (Mode == 1) {            //1：全角→半角
         chgText = JsZA2HA(Obj.value);
         chgText = JsZK2HK(chgText);
         chgText = JsZK2HK2(chgText);
         OutText = JsZK2HK3(chgText);
    }
    else if (Mode == 2) {       //2：半角→全角
        chgText = JsHA2ZA(Obj.value);
        OutText = JsHK2ZK(chgText);
    }
    else if (Mode == 3) {       //3：半角→全角にしてさらにひらがながあればカタカナに
        chgText = JsHA2ZA(Obj.value);
        chgText = JsHK2ZK(chgText);
        OutText = JsZH2ZK(chgText);
    }
    else if (Mode == 4) {       //4：半角カナ→全角カナ
        OutText = JsHK2ZK(Obj.value);
    }
    Obj.value = OutText;
    this.value = Obj.value;
}

function JsZA2HA(strValue){
    var str = "";
    for (i=0; i<strValue.length; i++){
        c = strValue.charAt(i);
        n = zenalphabet.indexOf(c,0);
        if (n >= 0){
            c = hanalphabet.charAt(n);
        }
        str += c;
    }
    return str;
}

function JsHA2ZA(strValue){
    var str = "";
    for (i=0; i<strValue.length; i++){
        c = strValue.charAt(i);
        n = hanalphabet.indexOf(c,0);
        if (n >= 0){
            c = zenalphabet.charAt(n);
        }
        str += c;
    }
    return str;
}

function JsZK2HK(strValue){
    var str = "";
    for (i=0; i<strValue.length; i++){
        c = strValue.charAt(i);
        n = zenkatakana.indexOf(c,0);
        if (n >= 0){
            c = hankatakana.charAt(n);
        }
        str += c;
    }
    return str;
}

function JsZK2HK2(strValue){
    var str = "";
    for (i=0; i<strValue.length; i++){
        var c = strValue.charAt(i);
        var n = zenkatakana_daku.indexOf(c,0);
        if (n >= 0){
            c = hankatakana_daku.charAt(n) + "ﾞ";
        }
        str += c;
    }
    return str;
}

function JsZK2HK3(strValue){
    var str = "";
    for (i=0; i<strValue.length; i++){
        var c = strValue.charAt(i);
        var n = zenkatakana_handaku.indexOf(c,0);
        if (n >= 0){
            c = hankatakana_handaku.charAt(n) + "ﾟ";
        }
        str += c;
    }
    return str;
}

function JsHK2ZK(strValue){
    var str = "";
    for (i=0; i<strValue.length; i++){
        c = strValue.charAt(i);
        n = hankatakana.indexOf(c,0);
        if (n >= 0){
            c = zenkatakana.charAt(n);
        }
        str += c;
    }
    return str;
}

function JsZH2ZK(strValue){
    var str = "";
    for (i=0; i<strValue.length; i++){
        c = strValue.charAt(i);
        n = zenhiragana.indexOf(c,0);
        if (n >= 0){
            c = zenkatakana2.charAt(n);
        }
        str += c;
    }
    return str;
}
