mmm bueno, estuve mirando sobre las llamadas sincronas, no me ha funcionado, no use el onreadystagechange() como decia en muchos lados donde lei, pero bueno me fue mal,tal vez lo hice mal.. ademas que mucha gente dice que no es bueno usar llamadas sincronas y eso me confunde, bueno..
solucione un poco mi problema haciendo una llamada asincrona y llamando a la funcion ocultar cuando la propiedad readyState valga 1... espero le sirva a alguien, anque todavia me genera otros problemas pero serian para mi caso en especial....