バーコードの文字列をISBNに変換するjavascript

あまり詳しくしらべてないが、だいたいこれでいけるきがする。
10個くらいやってうまくいったから、大丈夫かなぁ?
Xと0も大体いけたきがする。
prototype.jsを使うと、toArray使えてべんりだなぁ〜

// strでうけとったISBNを含むと思われる文字列からISBNを作る
function string2isbn(str){
  var products = 0; // 計算のテンポラリとしてしかつかわない。。。

  if( str.length == 12 ){
    // UPCかな?
    return '';
  }else if(str.length!=13){
    // その他
    return '';
  }

  var isbn=str.substring(3,str.length-1);
  var isbnary = [];
  for( var i = 0 ; i < isbn.length ;i++){
    isbnary.push(isbn.substring(i,i+1));
  }

  for( var i = 0 ; i < 9 ; i++){
    products = products + (10-i)*isbnary[i];
  }

  var chkstr = "X" // チェックディジット
  for( i = 0 ; i < 10 ; i++ ){
    if( (products+i)%11 == 0 ){
      chkstr = i;
      break;
    }

  }
  
  return isbn+chkstr;
}