function CheckData(string, req) {
	if(!req && !string.length) return true;
	if(req && !string.length) return false;
	else {
		var charset = /^\d{1,2}\/\d{1,2}\/\d{4}$/;
		if(!charset.test(string)) return false;
		if (string.substring(0,2) > 31) return false;
		if (string.substring(3,5) > 12) return false;
		if (string.substring(6,10) < 1900) return false;
		
		//controllo giorno/mese 
		if ((string.substring(0,2) > 30) && ((string.substring(3,5) == "04") || (string.substring(3,5) == "06") || (string.substring(3,5) == "09") || (string.substring(3,5) == "11"))) {
			return false;
		}
		if (string.substring(6,10)%4) {
			//c'è resto = NON bisestile
			if ((string.substring(0,2) > 28) && (string.substring(3,5) == 2)) {
				return false;
			}
		}else {
			//non c'è resto = BISESTILE
			if ((string.substring(0,2) > 29) && (string.substring(3,5) == 2)) {
				return false;
			}
		}
	}
	return true;
}

function CheckMail(string, req) {
	if(!req && !string.length) return true;
	if(req && !string.length) return false;
	else {
		regexpCtrl = /^(\w+(?:\.\w+)*(?:\-\w+)*)@((?:\w\.)*\w[\w-]{0,66})\.(\w{2,66}(?:\.\w{2,6})?)$/i
		if(!regexpCtrl.test(string)) return false;
	}
	return true;
}

function CheckCap(string, req) {
	if(!req && !string.length) return true;
	if(req && !string.length) return false;
	if(string.length != 5) return false;
	if(isNaN(string)) return false;
	//var charset = /[^0-9]/;
	//if(!charset.test(string)) return false;
	
	return true;
}
function CheckNumber(string, req) {
	if(!req && !string.length) return true;
	if(req && !string.length) return false;

	//var charset = /[0-9]/;
	//if(charset.test(string)) return true;
	if(isNaN(string)) return false;
	return true;
}
function CheckInt(string, req) {
	if(!req && !string.length) return true;
	if(req && !string.length) return false;
	
	if (string[0] == "0") return false;
	//var charset = /[0-9]/;
	//if(charset.test(string)) return true;
	if(isNaN(string)) return false;
	return true;
}

function checkCodiceFiscale(string, req) {
	
	if(!req && !string.length) return true;
	if(req && !string.length) return false;
	
	var pattern = /^[a-zA-Z]{6}[0-9]{2}[a-zA-Z][0-9]{2}[a-zA-Z][0-9]{3}[a-zA-Z]$/;
	var txtCodiceFiscale = string;
	
	if (txtCodiceFiscale.search(pattern) == -1) {
		return false;
	} else {
		return true;
	}
	
} 