Ecco, ho fatto la funzione, la ricorsività non è servita visto che indexOf prevede la posizione di partenza

codice:
function findStrPos(my_str,find_str) {
  var start_idx=0, posizione=[], tmp;
  while((tmp=my_str.indexOf(find_str, start_idx))!=-1) {
	posizione.push(tmp);
    start_idx=tmp+find_str.length;
  }
  return posizione;
}
Ecco come usarla

codice:
str="pippo pluto pippo pluto pluto pippo";
var findpos=findStrPos(str,"pippo");

//stampiamo le posizioni individuate
for(x=0;x<findpos.length;x++) trace(findpos[x]);
Spero si utile anche a qualcun'altro. Se può servire inseritela in qualche elenco!

Ciao!!