In questa pagina http://shopping.laluna.it/register.php ho un problema di compatibilità nel controllo dei campi. Su firefox mi controlla correttamente la password e il codice fiscale ma non se ci sono campi mancanti, mentre su chrome mi controlla solo i campi che mancano e mi controlla anche i campi che non deve controllare. Da cosa è dovuto?

Questo è il codice:

codice:
function check_register(){
	validazione = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;


	var pattern = /^[a-zA-Z]{6}[0-9]{2}[a-zA-Z][0-9]{2}[a-zA-Z][0-9]{3}[a-zA-Z]$/;


	var CodiceFiscale = document.getElementById("_cf");


	if (CodiceFiscale.value.search(pattern) == -1)
	{
    	// In caso di errore stampo un avviso e pulisco il campo...
    	alert("Il codice fiscale è errato!");
    	CodiceFiscale.focus();
		return false;
	}	
	if(document.getElementById('error_psw').value == 1){
		alert("Controllare il campo Password.");
		return false;
	}


	if((document.getElementById('psw').value == "")||
    (/^\s+$/.test(document.getElementById('psw').value))||
   	(document.getElementById('tipo').value == "")||
    (document.getElementById('name').value == "")||
    (/^\s+$/.test(document.getElementById('name').value))||
   	(document.getElementById('_cf').value == "")||
    (/^\s+$/.test(document.getElementById('_cf').value))||
   	(document.getElementById('_indir').value == "")||
    (/^\s+$/.test(document.getElementById('_indir').value))||
   	(document.getElementById('_cap').value == "")||
    (/^\s+$/.test(document.getElementById('_cap').value))||
   	(document.getElementById('_loc').value == "")||
    (/^\s+$/.test(document.getElementById('_loc').value))||
		(document.getElementById('_pro').value == "")||
    (document.getElementById('_tel2').value == "")||
    (/^\s+$/.test(document.getElementById('_tel2').value))||
    (document.getElementById('_tel3').value == "")||
    (/^\s+$/.test(document.getElementById('_tel3').value))){
			alert("Compila tutti i campi obbligatori.");
			return false;
		}else{
			if (!validazione.test(document.getElementById('mail').value)){
				alert('Indirizzo email non valido.\nInserisci un indirizzo valido');
				return false;
			}
			//if (!validazione.test(document.getElementById('_email2').value)){
				//alert('Indirizzo email non valido.\nInserisci un indirizzo valido');
				//return false;
			//}
			else{
				if (document.getElementById('terms').checked == false){
					alert('La registrazione richiede l\'Accettazione dei Termini e delle Condizioni di Uso.\nPer favore leggile e spunta la casella relativa.');
					return false;
				}else{
					if(document.getElementById('error_email').value == 1){
						alert("L'indirizzo email che hai inserito è già in uso.\nInserisci un indirizzo email diverso.\n\nSe sei già registrato, fai la login utente anzichè creare un nuovo account.");
						return false;
					}
				}
			}
		}
	}