Event.observe(window, 'load', controllaform)

function controllaform() {
	var cisonoform,i,contenuto;
	cisonoform = $$('form');
	if (cisonoform!=='') {
		for (i=0; i < cisonoform.length; i++){
			cisonoform[i].onsubmit=function() {
				var actuaform;
				actuaform = this;
				return controllacampi(actuaform);
			}

		}
	}
}

function controllacampi(questoform) {
	var classeRequired,i,contenuto,pass,tipoinp,scrollradio,cunta,valradio,mailpass;
	mailpass=true;
	pass = true;
	classeRequired = questoform.select('[class="required"]');
	if (classeRequired!=='') {
		for (i=0; i < classeRequired.length; i++){
			tipoinp = classeRequired[i].readAttribute('type');
			if (tipoinp===null) {tipoinp = 'text';}
			if ( (tipoinp == 'text') || (tipoinp == 'password') || (tipoinp == 'textarea') ) {
				contenuto = classeRequired[i].value;
				if (!contenuto) {
					classeRequired[i].setStyle({backgroundColor: '#ffd'});
					pass=false;
				}
				else {
					classeRequired[i].setStyle({backgroundColor: '#f5f5f5'});
				}
			}
			if (tipoinp == 'checkbox') {
				contenuto = classeRequired[i].checked;
				if (!contenuto) {
					classeRequired[i].setStyle({backgroundColor: '#ffd'});
					pass=false;
				}
				else {
					classeRequired[i].setStyle({backgroundColor: '#f5f5f5'});
				}
			}
			if (tipoinp == 'radio') {
				valradio = false;
				scrollradio = classeRequired[i].readAttribute('name');
				scrollradio = 'input.required[name=' + scrollradio + ']';
				scrollradio = $$(scrollradio);
				for (cunta=0; cunta < scrollradio.length; cunta++){
					contenuto = scrollradio[cunta].checked;
					if (contenuto) {valradio=true;}
				}
				if (!valradio) {
					classeRequired[i].setStyle({backgroundColor: '#ffd'});
					pass=false;
				}
				else {
					classeRequired[i].setStyle({backgroundColor: '#f5f5f5'});
				}
			}
			if (classeRequired[i].match('select')) {
				contenuto = classeRequired[i].value;
				if (contenuto == '') {
					classeRequired[i].setStyle({backgroundColor: '#ffd'});
					pass=false;
				}
				else {
					classeRequired[i].setStyle({backgroundColor: '#f5f5f5'});
				}
			}
		}
		if (!pass){
			alert("Alcune informazioni obbligatorie non sono state inserite. Clicca su OK e completa l'inserimento");
		}
	}
	classeMailRequired = questoform.select('[class="mailrequired"]');
	if (classeMailRequired!=='') {
		for (i=0; i < classeMailRequired.length; i++){
			tipoinp = classeMailRequired[i].readAttribute('type');
			if (tipoinp==null) {tipoinp = 'text'}
			if (tipoinp == 'text') {
				contenuto = classeMailRequired[i].value;
				if (!checkEmail(contenuto)) {
					mailpass=false;
					classeMailRequired[i].setStyle({backgroundColor: '#ffd'});
				}
				else {
					classeMailRequired[i].setStyle({backgroundColor: '#f5f5f5'});
				}
			}
		}
		if (!mailpass){
			alert("Alcuni indirizzi mail obbligatori non sono stati compilati correttamente. Clicca su OK e completa l'inserimento");
			pass = false;
		}
	}
	return pass;
}


/* Function for Email validation */
function checkEmail(indirizzobase) {
	var emailRegEx,indir,okn;
	okn = false;
	indir = indirizzobase;
	emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (indir.match(emailRegEx)) {
		okn = true;
	}
	return okn;
}

