function checkForRequiredSTEP1Fields(aform){
	if (aform.cfa.value == '')
	{
		alert("Inserire il Codice Fiscale dell'Azienda");
		return false;
	}
	
	return true;
}


function checkForRequiredFrecciaSTEP2Fields(aform){
	if (aform.mese.value == '') {
		alert("Selezionare un mese");
		return false;
	}
	
	if (aform.anno.value == '') {
		alert("Selezionare un anno");
		return false;
	}
	
	if (aform.importo.value == '') {
		alert("Inserire un Importo");
		return false;
	}
	
	if (!checkImportoNumeric(aform.importo.value)) {
		alert("Formato Importo non valido (es: 100,30) ");
		aform.importo.value = '';
		return false;
	}
	
	downloadBFPDF(aform);
	
	return false;
}


function checkForRequiredPostaleSTEP2Fields(aform, urlReport) {
	if (aform.mese.value == '') {
		alert("Selezionare un mese");
		return false;
	}
	
	if (aform.anno.value == '') {
		alert("Selezionare un anno");
		return false;
	}
	
	if (aform.importo.value == '') {
		alert("Inserire un Importo");
		return false;
	}
	
	if (!checkImportoNumeric(aform.importo.value)) {
		alert("Formato Importo non valido (es: 100,30) ");
		aform.importo.value = '';
		return false;
	}
	
	//downloadBPPDF(aform, urlReport);
	
	return true;
}


function checkPostal(value) {
	//regular expression defining a 5 digit number
	var re5digit=/^\d{5}$/ 
	//if match failed
	if (value.search(re5digit) == -1)  
		return false;
	return true;
}


function checkNumeric(value, integer, decimal) {
	//espressione regolare che controlla un valore (value) conposto da una parte intera (integer) ad una parte decimale (decimal)
	var re5digit=/^\d{5}$/ 
	//if match failed
	if (value.search(re5digit) == -1)  
		return false;
	return true;
}


function checkImportoNumeric(value) {
	//regular expression defining a 5 digit number
	var reNum=/^\d{1,8}\,\d{2}$/ 
	//if match failed
	if (value.search(reNum) == -1)  
		return false;
	return true;
}


function clearField(field) {
	field.value = '';
}


function downloadBFPDF(dataForm) {
	baseUrl = 'http://x4.computer-pro.it:8080/IncasWebDonatore/enter.do?';
	params='Csia=P3058&capDeb='+dataForm.cap.value+
		   '&provDeb='+dataForm.prov.value+
		   '&nomeDeb='+escape(dataForm.cognome.value)+
		   '&cognomeDeb=&'+
		   '&cittaDeb='+escape(dataForm.citta.value)+
		   '&indDeb='+escape(dataForm.indirizzo.value)+
		   '&numBoll='+getCodicePagamento(dataForm)+
		   '&motivBoll=Denuncia+mensile+'+dataForm.mese.value+'+%2F+'+dataForm.anno.value+
		   '&descBoll=Impresa+'+dataForm.codice.value+'+-+Pagamento+denuncia+mensile+competenza+'+dataForm.mese.value+'+%2F+'+dataForm.anno.value+
		   '&impBoll='+dataForm.importo.value+
		   '&dataBollettino='+getDataScadBollettino(dataForm.mese.value, dataForm.anno.value);
	
	url = baseUrl+params;
	// alert(url);
	document.location.href=url;
	
}


function downloadBPPDF(dataForm, urlReport){
//	baseUrl = 'pub/bollettinopostale.direct?action=step3';
	baseUrl = urlReport + '?';
	params='Csia=P3058&capDeb='+dataForm.cap.value+
		   '&provDeb='+dataForm.prov.value+
		   '&nomeDeb='+escape(dataForm.cognome.value)+
		   '&cognomeDeb=&'+
		   '&cittaDeb='+escape(dataForm.citta.value)+
		   '&indDeb='+escape(dataForm.indirizzo.value)+
		   '&numBoll='+getCodicePagamento(dataForm)+
		   '&motivBoll=Denuncia+mensile+'+dataForm.mese.value+'+%2F+'+dataForm.anno.value+
		   '&descBoll=Impresa+'+dataForm.codice.value+'+-+Pagamento+denuncia+mensile+competenza+'+dataForm.mese.value+'+%2F+'+dataForm.anno.value+
		   '&impBoll='+dataForm.importo.value+
		   '&dataBollettino='+getDataScadBollettino(dataForm.mese.value, dataForm.anno.value);
	
	url = baseUrl+params;
	// alert(url);
	document.location.href=url;
	
}


function getDataScadBollettino(mese, anno) {
	 var meseScad;
	 var annoScad = anno;
	 if (mese == 12){
		 meseScad = 1;
		 annoScad = parseInt(anno) + 1;
	 }
	 else
	  meseScad = parseInt(mese) + 1;

	 var ggScad;
	 if (meseScad == 2)
	  ggScad = 28;
	 else
	  ggScad = 30;
	 
	 var sMeseScad;
	 if (meseScad < 10) sMeseScad = "0"+meseScad;
	 else
	  sMeseScad = meseScad;

	 return ggScad+"/"+sMeseScad+"/"+annoScad;
}


// restituisce la data odierna in formato gg/mm/aa
function getTodayDate() {
	d = new Date();
	day = d.getDate();
	mo = d.getMonth()+1;
	ye = d.getFullYear();
	sy = (''+ye).substring(2,4);
	if (day < 10) day = '0'+day;
	if (mo < 10) mo = '0'+mo;
	return day+"/"+mo+"/"+sy;
}


// il codice del bollettino di pagamento è formato da:
// 6 cifre per il codice dell'impresa
// 2 cifre per il mese
// 2 cifre per l'anno
// 6 cifre per un codice casuale
function getCodicePagamento(dataForm){
	codImpresa = dataForm.codice.value;
	mese = dataForm.mese.value;
	anno = dataForm.anno.value;
	codImpresa = codImpresa.substring(2, 8);
	if (mese.length == 1)
		mese = "0"+mese;
	anno = anno.substring(2,4);
	randomnumber = 100000+ Math.floor(Math.random()*800000);
	return codImpresa+mese+anno+randomnumber;
}

