// JavaScript Document
function non_vuoti() {
	var form = arguments[0];
	var errors = new Array();
	for (var i = 1; i < arguments.length; i++) {
		if (form[arguments[i]].value == "") {
			errors.push(arguments[i]);
		}
	}
	if (errors.length == 0) {
		return true;
	}
	var campi = errors.join(",");
	alert("I campi: " + campi + " non possono essere vuoti.");
	return false;
}

function confirm_delete () {
	return (confirm("Confermil'eliminazione del record?"));
}

function checkLength(field, len) {
	var str = String(field.value);
	if (str.length > len) {
		alert ("Il testo inserito supera la lunghezza massima("  + len + " caratteri) e verrrą tagliato.");
		str = str.substr(0,len);
		field.value = str;
	}
}

function ControllaCF(cf)
{
	var validi, i, s, set1, set2, setpari, setdisp;
	if( cf == '' )  return '';
	cf = cf.toUpperCase();
	if( cf.length != 16 )
		return "La lunghezza del codice fiscale non  corretta.";
	validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
	for( i = 0; i < 16; i++ ){
		if( validi.indexOf( cf.charAt(i) ) == -1 )
			return "Il codice fiscale contiene un carattere non valido `" +
				cf.charAt(i) +
				"'.\nI caratteri validi sono le lettere e le cifre.\n";
	}
	set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
	setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
	s = 0;
	for( i = 1; i <= 13; i += 2 )
		s += setpari.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
	for( i = 0; i <= 14; i += 2 )
		s += setdisp.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
	if( s%26 != cf.charCodeAt(15)-'A'.charCodeAt(0) )
		return "Il codice fiscale non  corretto.";
	return "";
}

function ControllaPIVA(pi)
{
	if( pi == '' )  return '';
	if( pi.length != 11 )
		return "La lunghezza della partita IVA non \n" +
			"corretta: la partita IVA dovrebbe essere lunga\n" +
			"esattamente 11 caratteri.\n";
	validi = "0123456789";
	for( i = 0; i < 11; i++ ){
		if( validi.indexOf( pi.charAt(i) ) == -1 )
			return "La partita IVA contiene un carattere non valido `" +
				pi.charAt(i) + "'.\nI caratteri validi sono le cifre.\n";
	}
	s = 0;
	for( i = 0; i <= 9; i += 2 )
		s += pi.charCodeAt(i) - '0'.charCodeAt(0);
	for( i = 1; i <= 9; i += 2 ){
		c = 2*( pi.charCodeAt(i) - '0'.charCodeAt(0) );
		if( c > 9 )  c = c - 9;
		s += c;
	}
	if( ( 10 - s%10 )%10 != pi.charCodeAt(10) - '0'.charCodeAt(0) )
		return "La partita IVA non  valida:\n" +
			"il codice di controllo non corrisponde.\n";
	return '';
}

function checkCF (cf) {
	var r = ControllaCF(cf);
	if (r!="") {
		alert(r);
	}
}

function checkPI (pi) {
	var r = ControllaPIVA(String(pi));
	if (r!="") {
		alert(r);
	}
}


