De l'Index ou de la taille est négatif ou plus grand que le montant autorisé (non négative des indices)

Lors de l'utilisation de Firefox, j'obtiens le message d'erreur décrit dans la ligne d'objet de ce bloc de code:

for(var i = 0; i < tables.length; i++)
{
    var j = rows.length - 1;
    while(j--)
    {                   
        if(hideDP && tables[i].innerHTML.indexOf(">D<") != -1)
        {   
            if(!platTag && !soulSilverTag && pearlTag)
            {
                tables[i].deleteRow(j);//ERROR IS ON THIS LINE
            }
        }

    }//end while loop (rows)
}//end for loop (tables)

Je soupçonne que cette erreur est parce que je suis un peu nouveau pour faire inverser les boucles, mais j'ai précisément fait une boucle de retournement dans cet exemple parce qu'il fait de la suppression de lignes d'une table plus facile. Notez aussi que j est quelque chose comme 24 et je est 0, donc ils sont non-négatives. Quelqu'un pourrait-il éclairer sur ce pour moi?

EDIT : Le code complet peuvent être trouvés ici.

Sur la ligne à laquelle l'erreur est-elle déclenchée?
Il est environ 6 lignes à partir de la fin, en fait. Je lui ai dit "ERREUR SUR CETTE LIGNE" pour essayer de le faire ressortir. J'ai inclus le code des autres juste pour le contexte.
Je ne vois pas où i est défini nulle part dans le code que vous avez posté, donc vraisemblablement la valeur de i est où est le problème.
faut-il dire quelle ligne l'erreur se produit sur ? qui pourrait nous donner une meilleure idée
N'importe qui ont des idées? J'ai édité l'OP pour rendre le code plus facile de voir en un coup d'œil.

OriginalL'auteur KongMD | 2011-03-15