Buenas... estaba viendo de hacer una validacion en ajax, el tema es que funciona en IE, mas no en Firefox, alguien me puede decir si nota algo mal?
 
Código Javascript
: 
Código:
 			function validar()
			{
				var nombremarca = document.getElementById('nombre').value;
				var selectOrigen=document.getElementById('subcategorias');
				// Obtengo la opcion que el usuario selecciono
				var opcionSeleccionada=selectOrigen.options[selectOrigen.selectedIndex].value;
				// Si el usuario eligio la opcion "Elige", no voy al servidor y pongo los selects siguientes en estado "Selecciona opcion..."
				if(opcionSeleccionada != 0 && nombremarca.length != 0)
				{
					var ajax=nuevoAjax();
					ajax.open("GET", "ajax.php?id=2&nombre="+nombremarca+"&opcion="+opcionSeleccionada, true);
					ajax.onreadystatechange=function() 
					{ 
						if (ajax.readyState==1)
						{
							// Mientras carga elimino la opcion "Selecciona Opcion..." y pongo una que dice "Cargando..."
							selectOrigen.length=0;
							var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Cargando...";
							selectOrigen.appendChild(nuevaOpcion); selectOrigen.disabled=true;	
						}
						if (ajax.readyState==4)
						{
							error.innerHTML=ajax.responseText;
						}
					}
					ajax.send(null);
				}
				else
				{
					error.innerHTML = "Todos los campos obligatorios!";
				}
			}
  Codigo del form 
 Código HTML:
 <table><form method="POST" onsubmit="return validar()"> <!-- De aca es donde sospecho !-->
                <tr>
			<td>Categoria:</td>
			<td><?php GenerarCategorias(); ?></td>
		</tr>
		<tr>
			<td>Subcategoria:</td>
			<td>
			         <div id="DemoSC">
				 <select id="subcategorias" name="subcategorias" disabled>
						<option>Selecciona opción...</option>
				</select>
				</div>
			</td>
		</tr>
		<tr>
		        <td>Nombre:</td>
		        <td><input type="text" name="nombre" class="text" /></td>
		</tr>
		<tr height="20px"></tr>
		<tr>
			<td colspan="2"><center><input type="submit" value="Crear" class="text" /></center></td>
		</tr>
</form></table>  Código PHP (Dudo que el error este por aca) 
 Código PHP:
            $consulta = mysql_query("SELECT * FROM subcategorias WHERE id=$_GET[opcion]") or exit("Hubo un error con lo que ingresó. <br /> Revise el apartado Recomendaciones para mayor información. <br/><br/> <center><a href='javascript: history.back()' class='link'>Volver Atras</a></center>");
        while($result = mysql_fetch_array($consulta))
        {
            $id2  = $result[marcas] +1;
        }
        
        mysql_query("UPDATE subcategorias SET marcas = $id2 WHERE id = $_GET[opcion]") or exit("Hubo un error con lo que ingresó. <br /> Revise el apartado Recomendaciones para mayor información. <br/><br/> <center><a href='javascript: history.back()' class='link'>Volver Atras</a></center>");
        
        mysql_query("INSERT INTO marcas (nombre, relacion, id2) VALUES ('$_GET[nombre]',$_GET[opcion],$id2)") or exit("Hubo un error con lo que ingresó. <br /> Revise el apartado Recomendaciones para mayor información. <br/><br/> <center><a href='javascript: history.back()' class='link'>Volver Atras</a></center>");
        echo "Marca creada correctamente!"; 
    
  
No quiero comprobar el form antes de enviarlo, quiero enviar el form mediante ajax, he probado utilizando un input tipo button, pero da el mismo resultado: funciona en IE mas no en Firefox. Tampoco descarto que algo del jscript este mal. 
Gracias de antemano.