Probablemente ese primer "clic fantasma" sea por esta comprobación:
Código javascript
:
Ver originalif(buscador.style.display == 'none'){
Probá esto (casi lo mismo, pero también va a atrapar el caso en el que 'display' no aparezca como definida:
Código javascript
:
Ver originalif(buscador.style.display !== 'block'){
Con respecto al problema de Firefox, lo mejor que podés hacer es comprobar la consola de errores, pero me suena a que quizás esos ID con guiones le están dando problemas (el guión no está admitido como parte de un identificador, mejor sustituirlos por _)
Saludos.