hi,
in meiner nochmal extra bescheidenen MHO und ohne spezielle javascriptkenntnisse, sieht das für mich so aus, als ob du in jeder if-verzweigung die variable neu deklarierst, eventuell äussere damit überschreibst und nirgends wo was zurück gibst.
jepp, eine in einer funktion mit dem schlüsselwort var deklarierte variable ist eine lokale.
ich würde sagen, entweder muss anzahl über this verfügbar sein und auch so angesprochen werden, oder sie muss mit an die funktion übergeben werden und dann auch mittels return wieder zurück.
auch wenn globale variablen als unfein gelten, würde ich sie hier doch für angebrachter halten, als ein ständiges übergeben an die funtkion und zurückgeben.
also, unterschied zw. lokalen und globalen variablen unter http://selfhtml.teamone.de/javascript/sprache/variablen.htm#definieren nachlesen gehen.
gruss,
wahsaga