Utilizzo questo script che raccoglie da un form la categoria scelta dall'utente, tutto funziona correttamente sino a quando nella stringa non si presenta il cancelletto (#) che utilizzo ovviamente come ancoraggio ma non riesco a comprendere dove possa essere l'errore... il resto della querystring funziona perfettamente.

Codice PHP:
  echo "<script language=\"JavaScript\">\n" ;
  echo 
"var gotourl = top.opener.window.location.href ;\n" ;
  echo 
"if (top.opener.window.location.href.indexOf(\"#\")!=-1) gotourl = gotourl.substr(0,gotourl.length-1);\n" ;
  echo 
"if (gotourl.indexOf(\"?\")==-1) { \n" ;
  echo 
"  top.opener.window.location.href = gotourl + '?catview=".$catview."' ; } \n" ;
  echo 
"else if (gotourl.indexOf(\"catview\")!=-1) { \n" ;
  echo 
"  if (gotourl.substr(gotourl.indexOf(\"catview\")+9,1)!='&') {\n" ;
  echo 
"  gotourl = gotourl.substr(0,gotourl.indexOf(\"catview\")+7)+\"=$catview\"+gotourl.substr(gotourl.indexOf(\"catview\")+10,gotourl.length) ; }\n" ;
  echo 
"else\n" ;
  echo 
"  gotourl = gotourl.substr(0,gotourl.indexOf(\"catview\")+7)+\"=$catview\"+gotourl.substr(gotourl.indexOf(\"catview\")+9,gotourl.length) ;\n" ;
  echo 
"top.opener.window.location.href = gotourl; }\n" ;
  echo 
"window.close();\n" ;
  echo 
"</script>\n" 
Grazie per l 'aiuto