Hallo Knut.
Wenn Du Deine Daten sauber strukturierst, sollte sich das Problem von ganz alleine lösen. Du hast Deine Liste mit mehreren Arrays modelliert, eigentlich ist es aber nur _eine_ Liste. Die einzelnen Spalten sind nur verschiedene Eigenschaften eines Objektes. Wenn Du das auch so implementierst, kannst Du mit einem Funktionsaufruf korrekt sortieren. Etwa so:
function Person(Name,Geburtstag,Telefon)
{
this.Name = Name;
this.Geburtstag = Geburtstag;
this.Telefon = Telefon;
}
function nachName(a,b)
{
if(a.Name<b.Name) return -1;
else if(a.Name>b.Name) return 1;
else return 0
}
...
var a = new Array(4);
a[0] = new Person('Hans','21.08.64',8669543);
a[1] = new Person('Peter','02.10.67',4665767);
a[2] = new Person('Detlef','03.04.67',1124356);
a[3] = new Person('Klaus','10.09.66',8878908);
a.sort(nachName);
...
Gruß
Steffen