function trim(text) {
	text = text.replace(/^\s+/, '');
	for (var i = text.length - 1; i >= 0; i--) {
		if (/\S/.test(text.charAt(i))) {
			text = text.substring(0, i + 1);
			break;
		}
	}
	return text;
}

function checkEmail(email) {
	if (trim(email) == '') {
		return false;
	}
	var filter = /^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$/;	
	if (filter.test(email)) {
		return true;
	}
	return false;
}		

function checkCodiceFiscale(codiceFiscale) {
	var i;
	if(trim(codiceFiscale) == '') {
		return false;
	}
	codiceFiscale = codiceFiscale.toUpperCase();
	if(codiceFiscale.length != 16) {
		return false;
	}
	var caratteriValidi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
	for(i = 0; i < 16; i++) {
		if(caratteriValidi.indexOf(codiceFiscale.charAt(i)) == -1) {
			return false;
		}
	}
	var set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var setPari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var setDispari = "BAKPLCQDREVOSFTGUHMINJWZYX";
	var s = 0;
	for(i = 1; i <= 13; i += 2) {
		s += setPari.indexOf( set2.charAt( set1.indexOf( codiceFiscale.charAt(i) )));
	}
	for(i = 0; i <= 14; i += 2) {
		s += setDispari.indexOf( set2.charAt( set1.indexOf( codiceFiscale.charAt(i) )));
	}
	if(s % 26 != codiceFiscale.charCodeAt(15) - 'A'.charCodeAt(0)) {
		return false;
	}
	return true;
}

