function validateForms() {
	var elementsForms;
	
	if (!document.getElementsByTagName) return false;
	elementsForms = document.getElementsByTagName("form");
	for (var intCounter = 0; intCounter < elementsForms.length; intCounter++) {
		return validateForm(elementsForms[intCounter]);
	}
}

function validateForm(currentForm) {
	var blnvalidate = true;
	var elementsInputs;
	
 	elementsInputs = currentForm.getElementsByTagName("*");
	msgalert = "";
	
	for (var intCounter = 0; intCounter < elementsInputs.length; intCounter++) {
		if (elementsInputs[intCounter].className == "richiesto") {
			if (validateText(elementsInputs, intCounter)) {
				blnvalidate = false;
 				msgalert = msgalert + "- " + elementsInputs[intCounter].title + "\n";
			}
		} else if (elementsInputs[intCounter].className == "emailvalido") {
 			if (validateEmail(elementsInputs, intCounter)) {
				blnvalidate = false;
 				msgalert = msgalert + "- inserire un indirizzo e-mail valido.\n";
			}
		} else if (elementsInputs[intCounter].className == "checkbox") {
 			if (validateCheckbox(elementsInputs, intCounter)) {
				blnvalidate = false;
 				msgalert = msgalert + "- " + elementsInputs[intCounter].title + "\n";
			}
		}
	}
	
	if(msgalert != "") alert("Riempire i seguenti campi obbligatori:\n"+msgalert);
	return blnvalidate;
}

function validateEmail(elementsInputs, intCounter) {
	var emailFilter = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!emailFilter.test(elementsInputs[intCounter].value)) {
		return true;
	}
}

function validateText(elementsInputs, intCounter, strErrorMessage) {
	if (elementsInputs[intCounter].value == "") {
		return true;
	}
}

function applyOnSubmitToForms() {
	elementsForms = document.getElementsByTagName("form");
	for (var intCounter = 0; intCounter < elementsForms.length; intCounter++) {
		elementsForms[intCounter].onsubmit = function () {
			if (!validateForms()) {
				return false;
			}
		}
	}
}

function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

addLoadEvent(applyOnSubmitToForms);

