ok, weil Martin mich drum gebeten hat (falls andere dasselbe Problem haben), hier jetzt meine Lösung mit dem abgeänderten Code:
var posDivider = parameters.indexOf("~");
for (i=0; i<=3; i++)
p[i] = parameters.substring(posDivider+1, (i < 3) ? posDivider = parameters.indexOf("~", posDivider+1) : parameters.length);