/*
Libreria: tools_data.js
Descrizione:
	Funzioni per il controllo e gestione dei campi "data"

-relase info-

Autore: Zakima
Versione: 1.0
Ultimo aggiornamento: 20 feb 2004 - 10.00

*/

function SetDataField(FORM, Obj_str){

	var Today = new Date();

	var Tipi = Array('_Y','_M','_D');
	var Max = Array(Today.getYear()+1900,12,31);

	for (i=0; i<3; i++){
		if (FORM.elements[Obj_str+Tipi[i]].value!='') { 
			FORM.elements[Obj_str+Tipi[i]].value= parseInt(FORM.elements[Obj_str+Tipi[i]].value);
			if (parseInt(FORM.elements[Obj_str+Tipi[i]].value)+0 != parseInt(FORM.elements[Obj_str+Tipi[i]].value)){
				FORM.elements[Obj_str+Tipi[i]].value='';
				FORM.elements[Obj_str+Tipi[i]].focus();
				return false;
			}
			if (parseInt(FORM.elements[Obj_str+Tipi[i]].value) > Max[i]){
				FORM.elements[Obj_str+Tipi[i]].value = Max[i];
				FORM.elements[Obj_str+Tipi[i]].focus();
				return false;
			}
		}
	}
	if (FORM.elements[Obj_str+'_Y'].value != '') {
		if (FORM.elements[Obj_str+'_Y'].value < 100){
			FORM.elements[Obj_str+'_Y'].value = parseInt(FORM.elements[Obj_str+'_Y'].value) + 2000;
			if (Max[0] < FORM.elements[Obj_str+'_Y'].value){
				FORM.elements[Obj_str+'_Y'].value = Max[0];
			}
		}
	}
	if (FORM.elements[Obj_str+'_D'].value!='' && FORM.elements[Obj_str+'_M'].value!='' && FORM.elements[Obj_str+'_Y'].value!=''){
		var bisestile = (FORM.elements[Obj_str+'_Y'].value %4 ==0) && (FORM.elements[Obj_str+'_Y'].value%100 !=0);

		var MaxDay = Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

		if (bisestile){
			MaxDay[1] =29;
		}

		var Max_Day_For_This_Month =MaxDay[parseInt(FORM.elements[Obj_str+'_M'].value) - 1]

		if (parseInt(FORM.elements[Obj_str+'_D'].value) > Max_Day_For_This_Month) {
			FORM.elements[Obj_str+'_D'].value = Max_Day_For_This_Month;
			FORM.elements[Obj_str+'_D'].focus();
			return false;
		}
	}

	FORM.elements[Obj_str].value = FORM.elements[Obj_str+'_M'].value +'/'+ FORM.elements[Obj_str+'_D'].value +'/'+ FORM.elements[Obj_str+'_Y'].value;
	return true;
}

/*
<!-- Esempio d'uso in HTML -->

<script type="text/javascript" src="tools_data.js"></script>

<form id='MainFORM'>
	<input type='text' name='Data_Nascita_D' value='' size="2" onchange="return SetDataField(document.forms['MainFORM'], 'Data_Nascita')" />
	<input type='text' name='Data_Nascita_M' value='' size="2" onchange="return SetDataField(document.forms['MainFORM'], 'Data_Nascita')" />
	<input type='text' name='Data_Nascita_Y' value='' size="4" onchange="return SetDataField(document.forms['MainFORM'], 'Data_Nascita')" />
	<input type='hidden' name='Data_Nascita' value='' />
</form>

*/
