<!--  ------- CHECK Version ----------------------------------------
var IE4 = (document.all) ? true : false;
var NS4 = (document.layers) ? true : false;
var NS6 = (!document.all && document.getElementById) ? true : false;

// if (NS6) alert ('NETSCAPE 6')
// if (NS4) alert ('NETSCAPE 4')
// if (IE4) alert ('EXPLORER 4')


<!-- CHECK DATE ------------------------------------------------
function checkdate(objName) 
{
	var datefield = objName;
	if (chkdate(objName) == false) 
	{
		datefield.select();
		alert("La data non è valida. Riprova.");
		datefield.focus();
		return false;
	}
	else 
	{
		return true;
	}
}

function chkdate(objName) 
{
var strDatestyle = "EU"; //European date style Day Month Year
var monthToText = 0
var runTime = new Date();
var strCurrentYear = runTime.getYear();
var strDate;
var strDateArray;
var strDay;
var strMonth;
var strYear;
var intday;
var intMonth;
var intYear;
var booFound = false;
var datefield = objName;
var strSeparatorArray = new Array("-"," ","/",".");
var intElementNr;
var err = 0;

var strMonthArray = new Array("Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic");
strDate = datefield.value;
if (strDate.length < 1) 
	{ return true; }
	
for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) 
{
	if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) 
	{
		strDateArray = strDate.split(strSeparatorArray[intElementNr]);
		if ((strDateArray.length < 2) || (strDateArray.length > 3)) 
		{
			err = 1;
			alert('X');
			return false;
		}
	else 
	{
		strDay = strDateArray[0];
		strMonth = strDateArray[1];
		if (strDateArray.length == 2) 
		strYear = strCurrentYear
	else
		strYear = strDateArray[2];
	}
	booFound = true;
}

}

if (booFound == false) 
{
	if (strDate.length>5) 
	{
		strDay = strDate.substr(0, 2);
		strMonth = strDate.substr(2, 2);
		strYear = strDate.substr(4);
	}
}

if (strYear == null) 
{  return false;
}

if (strYear.length == 1) 
{ strYear = '0' + strYear
}

if (strYear.length == 2) 
{ strYear = '19' + strYear;
}

if (strYear.length > 4)
{ strYear = strYear.substr (0, 4);
}

if (!((strYear > 1000) && (strYear<2100)))
{ return false;
}

intday = parseInt(strDay, 10);

if (isNaN(intday)) 
{
	err = 2;
	return false;
	}

	intMonth = parseInt(strMonth, 10);
	if (isNaN(intMonth)) 
	{
		for (i = 0;i<12;i++) {
		if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()) 
		{
			intMonth = i+1;
			strMonth = strMonthArray[i];
			i = 12;
		}
	}

	if (isNaN(intMonth)) 
	{
		err = 3;
		return false;
	}
}

intYear = parseInt(strYear, 10);

if (isNaN(intYear)) {
err = 4;
return false;
}

if (intMonth>12 || intMonth<1) {
err = 5;
return false;
}

if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) {
err = 6;
return false;
}

if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) {
err = 7;
return false;
}

if (intMonth == 2) {
if (intday < 1) {
err = 8;
return false;
}
if (LeapYear(intYear) == true) {
if (intday > 29) {
err = 9;
return false;
}
}
else {
if (intday > 28) {
err = 10;
return false;
}
}
}

if (monthToText == 1)
	{ datefield.value = intday + "/" + strMonthArray[intMonth-1] + "/" + strYear; }
	else
	{ datefield.value = intday + "/" + intMonth + "/" + strYear; }
return true;
}


function LeapYear(intYear) {
if (intYear % 100 == 0) {
if (intYear % 400 == 0) { return true; }
}
else {
if ((intYear % 4) == 0) { return true; }
}
return false;
}

<!-- OPTION ------------------------------------------------------------
// APPUNTI
// var coll = document.all.tags("SELECT"); // tutto cio' che è SELECT !

function addOption(theSelect, text, value)
{	if (!IsOption (theSelect, text))
	{
		if (IE4)
		{ var newOpt = document.createElement("OPTION");
		  newOpt.text=text;
		  newOpt.value=value;
		  theSelect.add(newOpt);
		} 
		if (NS4 || NS6)
		{ var newOpt  = new Option(text, value);
		  var selLength = theSelect.length;
		  theSelect.options[selLength] = newOpt;
		  // history.go(0);
		}  
	}	
}

function deleteOptionSelected(theSelect)
{  var i;
   for (i=theSelect.options.length-1; i>=0; i--) 
   {  
      if (theSelect.options[i].selected) deleteOption (theSelect, i); 
   }   
}

function deleteOption (theSelect, index)
{ if (IE4) theSelect.remove(index);
  if (NS4 || NS6) theSelect.options[index]=null;
}

function IsOption (theSelect, text)
{ var i;
  found = false;
  if (theSelect.options.length > 0)
  {
  for (i=0; i<theSelect.options.length; i++)
    if (theSelect.options[i].text == text) found = true;
  }  
  return (found);
}

function cpyOption(SelSrc, SelDest)
{ var i;
  for (i=0; i<SelSrc.options.length; i++)
    if (SelSrc.options[i].selected)
       { addOption (SelDest, SelSrc.options[i].text,SelSrc.options[i].value);
	   }	
}

function SelectAll (theSelect)
{ var i;
  for (i=0; i<theSelect.options.length; i++)
      theSelect.options[i].selected = true;
}

function DeselectAll (theSelect)
{ var i;
  for (i=0; i<theSelect.options.length; i++)
      theSelect.options[i].selected = false;
}

function DeleteAll (theSelect)
{ var i; 
  var len = theSelect.options.length;
  for (i=len-1; i>=0; i--) deleteOption (theSelect, i);
}

function SelectFromValue (theSelect, value)
{ var i;
  for (i=0; i<theSelect.options.length; i++)
      if (theSelect.options[i].value == value) theSelect.options[i].selected = true;
}