formError = 0;

fieldName = new Array();
fieldType = new Array();
fieldAlert = new Array();

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}


function addField(fName, fType, fAlert){
	fieldName[fieldName.length] = fName;
	fieldType[fieldType.length] = fType;
	fieldAlert[fieldAlert.length] = fAlert;
}

function checkEmail(formVar){
	check1 = formVar.split("@");
	if(check1.length > 1){
		check2 = check1[1].split(".");
		if(check2.length > 1){
			formError = 0;
		}else{
			alert("L'email inserita non č valida.")
			formError = 1;
		}
	}else{
		alert("L'email inserita non č valida.")
		formError = 1;
	}
}

function checkInteger(formVar, formField){
	myRegxp = "0123456789 ";
	try{
		for(a=0;a<formVar.length;a++){
			if(!myRegxp.match(formVar.substr(a,1))){
				alert("Il campo "+formField+" puņ contenere solo numeri e spazi.");
				formError=1;
				break;
			}
		}
	}catch(e){
		result = "KO"
	}
}

function checkText(formVar, formField){
	myRegxp = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789,.?!()\" ";
	try{
		for(x=0;x<formVar.length;x++){
			if(!myRegxp.match(formVar.substr(x,1))){
				alert("Il campo "+formField+" puņ contenere solo numeri e spazi.");
				formError=1;
				break;
			}
		}
	}catch(e){
		result = "KO"
	}
}

function formValidate(form){
	
	formError = 0;
	
	formObject = MM_findObj(form)
	
	for(x=0;x<fieldName.length;x++){
		
		fieldValue = eval("window.document."+form+"." +fieldName[x]+ ".value");
		
		if(fieldValue == ""){
			alert(fieldAlert[x]);
			formError=1;
		}
		
		if(formError == 1){break;}	
			
		switch (fieldType[x]){
			case "email" :
				checkEmail(fieldValue, fieldName[x]);
			break;
			case "number" :
				checkInteger(fieldValue, fieldName[x]);
			break;
		}

		if(formError == 1){break;}

	}
	
	if(formError != 1){
		formObject.submit();
	}else{
		return false;
	}
	
}

document.onkeydown = function(){
	if (window.event.keyCode == 13){
		return false;
	}	
}