JANコードチェッカー

JANコードが正しいかをチェックするjavascriptコード
http://www.dsri.jp/jan/check_digit.htmを参考

var Jan = function() {
    this.arrayJan = [];

    this.isJanCode = function(jancode){
        var evenNum = 0;
        var oddNum = 0;
        var chkDigSeed = 0;
        var chkDig = 0;

        //arrayに格納
        this.setArray(jancode);
        //1:偶数位置の数字を加算
        evenNum = this.addEven();
        //2:1の結果を3倍に
        evenNum *= 3;
        //3:すべての奇数位置の数字を加算
        oddNum = this.addOdd();
        //4:2の答えと3の答えを加算(121)
        chkDigSeed = evenNum + oddNum;
        //5:4の答えの下一桁の数字を10から引く
        chkDig = this.makeCheckDigit(chkDigSeed);
        //janコードの末尾と照合
        return this.compDigit(chkDig);
    };

    //チェックデジットしやすいように配列を整形
    this.setArray = function(jancode){
        for(i=0;i<jancode.length;i++){
            this.arrayJan[i] = jancode.substr(i,1);
        }
        this.arrayJan.push("null");
        //配列を反転(チェックデジットの仕様に則る)
        this.arrayJan.reverse();
    };

    //すべての偶数位置の数字を加算
    this.addEven = function(){
        var result = 0;
        for(i=0;i<this.arrayJan.length;i++){
            if(i%2 == 0 && i != 0){
                result += parseInt(this.arrayJan[i]);
            }
        }
        return result;
    };

    //すべての偶数位置の数字を加算
    this.addOdd = function(){
        var result =0;
        for(i=0;i<this.arrayJan.length;i++){
            if(i%2 == 1 && i != 1){
                result += parseInt(this.arrayJan[i]);
            }
        }
        return result;
    };

    //チェックデジットを生成
    this.makeCheckDigit = function(chkDigSeed){
        var result;
        var strChkDigSeed = ""+chkDigSeed;
        var theOne = parseInt(strChkDigSeed.substr(strChkDigSeed.length-1,1));
        result = 10 - theOne;
        return ( theOne ? result : 0 );
    };

    //JANコードとチェックデジットの比較
    this.compDigit = function(chkDig){
        if(this.arrayJan[1] == ""+chkDig){
            return true;
        }else{
            return false;
        }
    };
};
var jan = new Jan();
alert(jan.isJanCode("4569951116179"));