var sp=document.getElementsByName("toggler");
Bist du sicher, dass du diese Funktion verwenden willst? Das würde bedeutet, dass du nur auf Formularelemente und Bilder zugreifen möchtest, da die anderen Elemente kein name Attribut kennen und dementsprechend so nicht ansprechbar sind.
Ansonten enthält dein Code mehrere andere Probleme, die Mathias [link:http://aktuell.de.selfhtml.org/artikel/javascript/organisation/@title=hier] beschrieben hat. Das Problem ist nicht das array oder die Variabel, sondern die Gültigkeit der Variabeln in closures.
Daneben ist deine Deklaration des Arrays innerhalb der Schleife falsch, damit löscht du das Array jedesmal wieder. Im Prinzip musst du das ganze komplett anders organisieren, da JS keine Blockvariabeln kennt, sondern nur innerhalb von Funktionen diese lokal definiert, d.h. du musst hier einen Funktionsaufruf verwenden.
In etwa sähe das so aus:
[code lang=javascript]
var sp=document.getElementsByName("toggler");
for(var i=0;i<sp.length;i++) {
//-vertical Slide
var myVerticalSlide = new Fx.Slide('toggle'+i).hide();
addHandler(i, myVerticalSlide);
....
function addHandler(i, slide) {
$('v_slidein'+i).addEvent('click', function(e){
e.stop();
myVerticalSlide.slideIn();
}
);
/*
usw.
*/
}
Struppi.