function chk_txt(oggetto, messaggio, min, max){
	// Toglie spazi iniziali e finali
	oggetto.value = oggetto.value.replace(/^\s*/, ''); 
	oggetto.value = oggetto.value.replace(/\s*$/, ''); 
	switch(arguments.length){
		case 2:
			if(oggetto.value.length <= 0){
				alert(messaggio);
				oggetto.focus();
				return false;
			}
			break;
		case 3:
			if(min == 0 && oggetto.value.length == 0)
				return true;
			else{
				if(oggetto.value.length < min){ 
					alert(messaggio);
					oggetto.focus();
					return false;
				}
			}
			break;
		case 4:
			if(min == 0 && oggetto.value.length == 0) return true;
			else{
				if(oggetto.value.length < min || oggetto.value.length > max){
					alert(messaggio);
					oggetto.focus();
					return false;
				}
			}
			break;
		default:
			return false;
			break;
	}
	return true;
}

function chk_float(o,d){
	if(o.value.search('^[0-9]{1,}(\.[0-9]{0,3})?$') == -1){
		alert(d);
		o.focus();
		return false;
	}
	return true;
}

function chk_int(o,d){
	if(!o.value || o.value.search('[^0-9]') != -1){
		alert(d);
		o.focus();
		return false;
	}
	return true;
}

function chk_url(o,d){
	if(o.value.search('[a-z]+://[a-zA-Z0-9]+\.[a-zA-Z0-9]+') == -1){
		alert(d);
		o.focus();
		return false;
	}
	return true;
}

function chk_email(o,d){
	if(o.value.search("^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-.]?[0-9a-zA-Z])*\\.[a-zA-Z]{2,3}$") == -1){
		alert(d);
		o.focus();
		return false;
	}
	return true;
}

function chk_select(o,d){
	if(!o[o.selectedIndex].value || !o.selectedIndex){
		alert(d);
		o.focus();
		return false;
	}
	return true;
}

function chk_radio(o, m, v){
	var index = 0;
	if(arguments.length == 3){
		for(var i=0; i<o.length; i++)
			if(o[i].value == v){
				if(o[i].checked) return true;
				index = i;
				break;
			}
	}else{
		for(var i=0; i<o.length; i++)
			if(o[i].checked) return true;
	}
	alert(m);
	o[index].focus();
	return false;
}
