Hi,
ich kanns gerade nicht testen, aber kann es sein, daß userpw1 bzw. 2 an der Stelle, wo du es aufrufst, den Wert noch nicht hat? Kommentiere in deiner swap-Funktion mal alle Sachen aus und gib nur den Wert von elem2 aus:
alert(elem2);
mE dürfte da nichts drin stehen.
Viele Grüße,
Julia