// JScript source code

function imposta_data_normalizzata(campo,formatodata,formname)
{
  if (formatodata == 'DD/MM/YYYY') {
	var valore=document.forms[formname][campo].value;
	if (valore != '') {
		var risultato = normalizza_data(valore,formatodata);
		if (risultato == '') {
			alert('Formato data errato!');
			document.forms[formname][campo].focus();
		}else{
			document.forms[formname][campo].value = risultato;
		}
	}
  }	
}

function normalizza_data(dtStr){
	var strDay;
	var strMonth;
	var strYear;
	
	var reg = /[0-3][0-9][/][0-1][0-9][/][1-2][0-9]{3}/i;
    var isok = reg.test(dtStr);
	if (!((isok) & (dtStr.length == 10))) {
		reg = /[0-3][0-9][/][0-1][0-9][/][0-9]{2}/i;
		isok = reg.test(dtStr);
		if ((isok) & (dtStr.length == 8)) {
			strYear=dtStr.substr(6,2);
			if (strYear<='50'){
			  dtStr= dtStr.substr(0,6) + '20' + strYear;
			}else{
			  dtStr = dtStr.substr(0,6) + '19' + strYear;	
			}
		}else{
			reg = /[0-3][0-9][0-1][0-9]{3}/i;
			isok = reg.test(dtStr);
			if ((isok) & (dtStr.length == 6)) {
				strDay=dtStr.substr(0,2);
				strMonth=dtStr.substr(2,2);
				strYear=dtStr.substr(4,2);
				if (strYear<='50'){
					dtStr = strDay + '/' + strMonth + '/20' + strYear;
				}else{
					dtStr = strDay + '/' + strMonth + '/19' + strYear;	
				}
			}else{
				reg = /[0-3][0-9][0-1][0-9][1-2][0-9]{3}/i;
				isok = reg.test(dtStr);
				if ((isok) & (dtStr.length == 8)) {
					strDay=dtStr.substr(0,2);
					strMonth=dtStr.substr(2,2);
					strYear=dtStr.substr(4,4);
					dtStr = strDay + '/' + strMonth + '/' + strYear;
				} else {
					isok = false;
				}
			}
		}
	}
	if (!(isok)) {
		return '';
	}else{
		return dtStr;	
	}

return true
}
