Moin ULI,
function binMult(a,b)
{
var a, b, z;
...
Ich blicke zwar nicht so ganz, was du genau vorhast, und ob dafür eine rekursive Funktion zwingend ist, aber ein Fehler springt mir gleich ins Auge: du übergibst zwei Parameter a und b und definierst danach zwei neue Variablen a und b. Damit "arbeitet" deine Funktion NIE mit den übergebenen Werten.
Bau mal ein
alert ("a =" + a + "b = "+b);
var a,b;
alert ("a =" + a + "b = "+b);
oben ein und du wirst sehen was ich meine!