Quiero pasar este script a firefox-mozilla ya que en los demas exploradores funciona correctamente el .focus cuando el usuario digita mal algun campo sale un msn de alerta y no lo deja avanzar hasta que sea correcta la informacion pero en mozilla pasa de inmediato al otro campo muchas gracias a quien me pueda colaborar.....
 
$script = "
<script language=\"JavaScript\" type=\"text/javascript\">
	today=new Date();
	anno=today.getFullYear();
	if(anno < 1000){
    	anno = anno + 1900;
	}
	alert(\"Año: \" +today.getFullYear());
	var a, mes, dia, anyo, febrero, concurrencia,envio;
	concurrencia = 0;
	envio = 0;
	function anyoBisiesto(anyo) {//funcion para el año bisiesto
		if (anyo % 4 != 0)
			return false;
		else{
			if (anyo % 100 == 0){// si el año es divisible por 4 y por 100 y divisible por 400 > es bisiesto
				if (anyo % 400 == 0){
					return true;
				}
				else{ // si es divisible por 4 y por 100 pero no lo es por 400 > no es bisiesto
					return false;
				}
			}
			else{ // si es divisible por 4 y no es divisible por 100 > el año es bisiesto
				return true;
			}
		}					
    }
 
    function validar(fecha){
		// obtenemos la fecha introducida y la separamos en dia, mes y año
		a=fecha.value;
		concurrencia = 1;
 
		if(a == ''){
			document.des.boton.focus();
			return
		}
 
		anyo=a.split(\"-\")[0];
		mes=a.split(\"-\")[1];
		dia=a.split(\"-\")[2];
 
		if( (isNaN(dia)==true) || (isNaN(mes)==true) || (isNaN(anyo)==true) ){
			alert(\"La fecha introducida debe estar en el formato aaaa-mm-dd\");
			fecha.focus();
			fecha.select();
			return;
		}
		if(anyoBisiesto(anyo))
			febrero=29;
		else
			febrero=28;
		if ((mes<1) || (mes>12)){ // si el mes introducido es negativo, 0 o mayor que 12 > alertamos y detenemos ejecucion
			alert(\"El mes introducido no es válido. Por favor, introduzca un mes correcto\");
			fecha.focus();
			fecha.select();
			return;
		}
		// si el mes introducido es febrero y el dia es mayor que el correspondiente al año introducido > alertamos y detenemos ejecucion
		if ((mes==2) && ((dia<1) || (dia>febrero))){
			alert(\"El día introducido no es válido. Por favor, introduzca un día correcto\");
			fecha.focus();
			fecha.select();
			return;
		}
		// si el mes introducido es de 31 dias y el dia introducido es mayor de 31 > alertamos y detenemos ejecucion
		if (((mes==1) || (mes==3) || (mes==5) || (mes==7) || (mes==8) || (mes==10) || (mes==12)) && ((dia<1) || (dia>31))){
			alert(\"El día introducido no es válido. Por favor, introduzca un día correcto\");
			fecha.focus();
			fecha.select();
			return;
		}
		// si el mes introducido es de 30 dias y el dia introducido es mayor de 301 > alertamos y detenemos ejecucion
		if (((mes==4) || (mes==6) || (mes==9) || (mes==11)) && ((dia<1) || (dia>30))){
			alert(\"El día introducido no es válido. Por favor, introduzca un día correcto\");
			fecha.focus();
			fecha.select();
			return;
		}
		//  si el mes año introducido es menor que 1900 o mayor que 2010 > alertamos y detenemos ejecucion
		// NOTA: estos valores son a eleccion vuestra, y no constituyen por si solos fecha erronea
		if ((anyo<2003) || (anyo>anno) )
		{
			alert(\"El año introducido no es válido. Por favor, introduzca un año entre 2003 y \"+ anno);
 
			document.getElementById(\"fecha\").focus();
 
 
    		     	return;
		}
		concurrencia = 0;
	}
 
	function validar_h(hora,flag){
		if(concurrencia==0){
			if(flag==1){
				if(document.des.entrega.value == '')
					return
			}
			// obtenemos la hora introducida y la separamos en horas, minutos
			b=hora.value;
			h=b.split(\":\")[0];
			m=b.split(\":\")[1];
			if(b == ''){
				alert(\"La hora no puede ser vacia\");
				hora.focus();
				hora.select();
				envio = 1;
				return
			}
			if((isNaN(h)==true) || (isNaN(m)==true)){
				alert(\"La hora introducida debe estar en el formato hh:mm\");
				hora.focus();
				hora.select();
				envio = 1;
				return;
			}
			if ( (h<7) || (h==7 && m<30) || (h==17 && m>30) || (h>17) ){ // si la hora introducida es negativa, 0 o mayor que 23 > alertamos y detenemos ejecucion
				alert(\"La hora introducida no es válida. Por favor, introduzca una hora correcta entre 07:30 y 17:30\");
				hora.focus();
				hora.select();
				envio = 1;
				return;
			}
			if ((m<0) || (m>59)){ // si los minutos introducida es negativo, 0 o mayor que 59 > alertamos y detenemos ejecucion
				alert(\"El minuto introducido no es válido. Por favor, introduzca un minuto correcto\");
				hora.focus();
				hora.select();
				envio = 1;
				return;
			}
		}
	}
 
	function pp(p){   // Función que coloca dos puntos a la hora
		if(p.value.length==2)
			p.value = p.value + \":\";
	}
 
	function pr(r,n){   // Función que colaca los separadores en la fecha
		if(r.value.length==4 || r.value.length==7)
			r.value = r.value + \"-\";
		if(r.value.length==10){
			if(n == 1){
				document.des.guia.focus();
				document.des.guia.select();
			}
			else{
				document.des.hentrega.focus();
				document.des.hentrega.select();
			}
		}
	}
 
	function enviar(){
			if(envio==0)
				document.des.submit();
	}
 
    //! Se valida con esta funcion la fecha de entrega para evitar
    //! radicaciones esa informacion.
    function val_fech_entr(){
		if(document.des.entrega.value ==''){
			document.des.radica_automatica.checked=false;
            alert(\"No se puede realizar la radicacion, si no hay fecha de entrega.\");
			}
	}
 
</script>\n"; 
  
 

Este tema le ha gustado a 1 personas