function validate_login(theForm){

	if ((theForm.login.value.length < 1) && (theForm.pwd.value.length < 1))
	  {
		alert("ATTENZIONE: Dovete inserire login e relativa password");
		theForm.login.focus();
		return (false);
	  }
	if ((theForm.login.value.length > 0) && (theForm.pwd.value.length < 1))
	  {
		alert("ATTENZIONE: Dovete inserire anche la password");
		theForm.pwd.focus();
		return (false);
	  }
	if ((theForm.login.value.length < 1) && (theForm.pwd.value.length > 0))
	  {
		alert("ATTENZIONE: Dovete inserire anche la login");
		theForm.login.focus();
		return (false);
	  }
}

function getYear(d) {
  return (d < 1000) ? d + 1900 : d;
  }

function isDate (year, month, day) {
  // month argument must be in the range 1 - 12
  month = month - 1;  // javascript month range : 0- 11
  var tempDate = new Date(year,month,day);
  if ( (getYear(tempDate.getYear()) == year) &&
     (month == tempDate.getMonth()) &&
     (day == tempDate.getDate()) )
      return true;
  else
     return false;
  }


function validate_pratiche(theForm){

	var data_inizio, data_fine;
	var D_START, D_END, D_NOW, start, end, now;

	start = 0;
	end = 0;

	if (theForm.DataInizio.value.length > 0) {

		data_inizio = theForm.DataInizio.value.split("/");

		if (data_inizio.length < 3) {

			alert("ATTENZIONE: la data di inizio immessa non è nel formato corretto (gg/mm/aaaa)");
			theForm.DataInizio.focus();
			return false;

		} else {

			if (isDate(data_inizio[2], data_inizio[1], data_inizio[0])) {

				D_START = new Date(data_inizio[2], data_inizio[1] - 1, data_inizio[0], 0, 0 ,0);
				start = D_START.valueOf();
			} else {

				alert("ATTENZIONE: la data di inizio immessa non è valida!");
				theForm.DataInizio.focus();
				return false;
			}

		}
	}

	if (theForm.DataFine.value.length > 0) {

		data_fine= theForm.DataFine.value.split("/");

		if (data_fine.length < 3) {

			alert("ATTENZIONE: la data di fine immessa non è nel formato corretto (gg/mm/aaaa)");
			theForm.DataFine.focus();
			return false;

		} else {

			if (isDate(data_fine[2], data_fine[1], data_fine[0])) {
				D_END = new Date(data_fine[2], data_fine[1] - 1, data_fine[0], 0, 0, 0);
				end = D_END.valueOf();

			} else {

				alert("ATTENZIONE: la data di fine immessa non è valida!");
				theForm.DataFine.focus();
				return false;

			}

		}
	}

	if (theForm.NPratiche.value.length > 0) {

		if (isNumber(theForm.NPratiche.value)==false) {

			alert("ATTENZIONE: il numero di pratiche inserito non è corretto");
			theForm.NPratiche.value = "";
			theForm.NPratiche.focus();
			return false;

		}

	}

	D_NOW = new Date();
	now = D_NOW.valueOf();

	
	if ( (now - start) < 0) {

		alert("ATTENZIONE: la data di inizio immessa è posteriore alla data odierna");
		theForm.DataInizio.focus();
		return false;
	}

	if ( (now - end) < 0) {

		alert("ATTENZIONE: la data di fine immessa è posteriore alla data odierna");
		theForm.DataFine.focus();
		return false;
	}

   
	if (end>0 && start>0)
	{
		if ( ( end - start) < 0) {

			alert("ATTENZIONE: la data di inizio è posteriore alla data di fine inserita")
			theForm.DataInizio.focus();
			return false;
		}
	}
	return true;

}


function openFullWindow(URL, winname, param){

	window.open(URL, winname,param);

}

function refreshOpener(newPage){

	window.opener.location.href = newPage;

	window.close();

}

function validate_ins_esito(theForm) {

	if (theForm.DataFinePasso.value.length < 1) {

		alert("ATTENZIONE: la data di fine passo è vuota");
		theForm.DataFinePasso.focus();
		return false;
	}

	var data_ins, data_before;

	data_ins = theForm.DataFinePasso.value.split("/");

	if (data_ins.length < 3) {

		alert("ATTENZIONE: la data immessa non è in nel formato corretto (gg/mm/aaaa)");
		theForm.DataFinePasso.focus();
		return false;
	}

	data_before = theForm.DataInizioPasso.value.split("/");

	var D_INS, D_BEF, D_NOW, ins, bef, now;

	D_INS = new Date(data_ins[2], data_ins[1] - 1, data_ins[0], 0, 0 ,0);
	D_BEF = new Date(data_before[2], data_before[1] - 1, data_before[0], 0, 0, 0);
	D_NOW = new Date();

	ins = D_INS.valueOf();
	bef = D_BEF.valueOf();
	now = D_NOW.valueOf();

	if ( (ins - bef) < 0) {

			alert("ATTENZIONE: la data inserita è antecedente alla data di inizio del passo")
			theForm.DataFinePasso.focus();
			return false;
	}

	if ( (now - ins) < 0) {

			alert("ATTENZIONE: la data immessa è posteriore alla data odierna");
			theForm.DataFinePasso.focus();
			return false;
	}

	if (theForm.ElencoEsito.value.length <= 0) {

			alert("ATTENZIONE: occorre selezionare un esito per il passo");
			theForm.ElencoEsito.focus();
			return false;
	}

	//alert("OK");

	return true;
}

function isNumber(string) {

	for (var i=0; i < string.length; i++)

        	if ((string.substring(i,i+1) < '0') || (string.substring(i,i+1) > '9'))

            		return false;

    return true;
}

