codice:
/**
 * Validazione form
 */
var form = {	
	// Verifica e-mail
	isValidEmail: function(email) {
		var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
		return re.test(email);
	},
	
	// Verifica password
	isValidPass: function(password) {
		if (password.length >= 6 && password.length <= 20) {
			return true;
		}
		else {
			return false;
		}
	},
	
	// Verifica form login
	validateLogin: function(formName) {
		var isValid = true;
		
		var email = document.getElementById('form_email');
		if (!form.isValidEmail(formName.elements[2].value)) {
			email.style.display = 'block';
			isValid = false;
		}
		else {
			email.style.display = 'none';
		}


		var password = document.getElementById('form_password');
		if (!form.isValidPass(formName.elements[3].value)) {
			form_password.style.display = 'block';
			isValid = false;
		}
		else {
			form_password.style.display = 'none';
		}
		
		return isValid;
	},
	
	// Riporta i div contenenti gli errori alla forma originaria (nascosti)
	unloadErrors: function(divNames) {
		var d = document;
		for (i = 0; i < divNames.lenght; i++) {
			d.getElementById(divNames[i]).style.display = 'none';
		}
	},
}
Quando clicco sul tasto "Login" mi apre un popup con il form, se i dati immessi sono sbagliati carica form.validateLogin() e mostra dei div nascosti.
Se chiudo il popup e lo riapro (anche se ho messo un onClick che carica la funzione unloadErrors quando clicco su login) i div che dovrebbero "ri-nascondersi" rimangono li in bella vista...