function CheckData(string, req, formato) {
	if(req && !string.length) return true;
	else {
		var charset1 = /^\d{1,2}\-\d{1,2}\-\d{4}$/;
		var charset2 = /^\d{4}\-\d{1,2}\-\d{1,2}$/;
		if(!charset1.test(string) && !charset2.test(string)) return false;
		if (formato == "dd-mm-yyyy") {
			var giorno = string.substring(0,2);
			var mese = string.substring(3,5);
			var anno = string.substring(6,10);
		}
		if (formato == "mm-dd-yyyy") {
			var mese = string.substring(0,2);
			var giorno = string.substring(3,5);
			var anno = string.substring(6,10);
		}
		if (formato == "yyyy-mm-dd") {
			var anno = string.substring(0,4);
			var mese = string.substring(5,7);
			var giorno = string.substring(8,10);
		}
		
		
		
		
		//alert("string: "+string+" mese: "+mese+" giorno: "+giorno+" anno: "+anno);
		
		if (giorno > 31) return false;
		if (mese > 12) return false;
		if (anno < 1900) return false;
		//controllo giorno/mese 
		if ((giorno > 30) && ((mese == "04") || (mese == "06") || (mese == "09") || (mese == "11"))) {
			return false;
		}
		if (anno%4) {
			//c'è resto = NON bisestile
			if ((parseInt(giorno) > 28) && (parseInt(mese) == 2)) {
				return false;
			}
		}else {
			//non c'è resto = BISESTILE
			if ((parseInt(giorno) > 29) && (parseInt(mese) == 2)) {
				return false;
			}
		}
		switch(parseInt(mese)) {
		  case 1:
		  case 3:
		  case 5:
		  case 7:
		  case 8:
		  case 10:
		  case 12:
		  	var maxgiorno = 31;
		  break;
		  default:
			var maxgiorno = 30;
		}
		if (parseInt(giorno) > maxgiorno) {
			return false;			
		}
	}
	return true;
}

function CheckMaggiorenne(string, req) {
	if(req && !string.length) return true;
	else {
		var data = new Date();
		var anno = data.getFullYear();
		
		if (string.substring(6,10) == (anno - 18)) {
			if ((string.substring(3,5) > data.getMonth()+1) ) {
				return false;
			}
			else if ((data.getMonth()+1) == string.substring(3,5)) {
				if (string.substring(0,2) > data.getDate()) {
					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;
}
