Allein die ersten beiden Zeilen deiner Funktion machen mich schon stutzig. Warum weißt du den beiden globalen Variablen, denn die uninitialisierten Funktionsvariablen zu.
Sollte das nicht anders herum sein?

[edit]PS: Globale Variablen sind sowieso fast immer unoptimal, classmember deiner Form sind besser oder in diesem Fall gleich eine entsprechend formulierte Funktion.[/edit]
Frederic H.