function ControllaDate(mydate){
 var datains;
 datains = mydate.value;
 if (  (!isDate(datains, '/'))&&(datains!='') )  	{
	  alert('Data non valida\nformato: GG/MM/YYYY');
		mydate.focus();
		return false;
 	};

}
function isInt(string) {
	var myString = String(string);
	for (var i=0; i<myString.length; i++) {
		if ((myString.charCodeAt(i)<48)||(myString.charCodeAt(i)>57)) {
			return false;
		};
	};
	return true;
}

function isSplittedDate(Day, Month, Year) {
	if ((String(Day).length!=2)||(String(Month).length!=2)||(String(Year).length!=4)) {return false;};
	if ((!isInt(Day))||(!isInt(Month))||(!isInt(Year))) {return false;};
	var iYear = parseInt(String(Year));
	var iMonth = parseInt(String(Month));
	if ((iMonth<0)||(iMonth>12)) {return false;};
	var iDay = parseInt(String(Day));
	if (iDay<0) {return false;};
	switch (iMonth) {
		case 1:
			if (iDay>31) {return false;}
			break;
		case 2:
			if (iDay>((iYear%4==0)?29:28)) {return false;};
			break;
		case 3:
			if (iDay>31) {return false;}
			break;
		case 4:
			if (iDay>30) {return false;}
			break;
		case 5:
			if (iDay>31) {return false;}
			break;
		case 6:
			if (iDay>30) {return false;}
			break;
		case 7:
			if (iDay>31) {return false;}
			break;
		case 8:
			if (iDay>31) {return false;}
			break;
		case 9:
			if (iDay>30) {return false;}
			break;
		case 10:
			if (iDay>31) {return false;}
			break;
		case 11:
			if (iDay>30) {return false;}
			break;
		case 12:
			if (iDay>31) {return false;}
			break;
	};
	return true;
}

function isDate(string, separator, us) {
	var myString = String(string);
	var mySeparator = String(separator);
	if ((myString.charAt(2)!=mySeparator)||(myString.charAt(5)!=mySeparator)) {return false;};
	if (us==true) {
		return isSplittedDate(string.substr(3,2), string.substr(0,2), string.substr(6,4));
	}
	else {
		return isSplittedDate(string.substr(0,2), string.substr(3,2), string.substr(6,4));
	};
}

function isSplittedTime(Hour, Minute, Second) {
	if ((String(Hour).length!=2)||(String(Minute).length!=2)||(String(Second).length!=2)) {return false;};
	if ((!isInt(Hour))||(!isInt(Minute))||(!isInt(Second))) {return false;};
	var iHour = parseInt(Hour);
	var iMinute = parseInt(Minute);
	var iSecond = parseInt(Second);
	if ((iHour<0)||(iHour>23)) {return false;};
	if ((iMinute<0)||(iMinute>59)) {return false;};
	if ((iSecond<0)||(iSecond>59)) {return false;};
	return true;
}

function isTime(string, separator) {
	var myString = String(string);
	var mySeparator = String(separator);
	if ((myString.charAt(2)!=mySeparator)||(myString.charAt(5)!=mySeparator)) {return false;};
	return isSplittedTime(string.substr(0,2), string.substr(3,2), string.substr(6,2));
}