function blinkIt() {
 if (!document.all) return;
 else {
   for(i=0;i<document.all.tags('blink').length;i++){
      s=document.all.tags('blink')[i];
      s.style.visibility=(s.style.visibility=='visible')?'hidden':'visible';
   }
 }
}

function count_char(objInput, objCounter, maxInput, msgError) {
	if (objInput.value.length > maxInput) {
		alert(msgError);
		objInput.value=objInput.value.substring(0,maxInput);
	}

	objCounter.value=maxInput - objInput.value.length;
}

function in_array (v, a) {
	var found=false;
	var i=0;
	
	while ((!found) && (i<a.length)) {
		found=(v==a[i]);
		i++;
	}
	
	return found;
}

function scanint (campo, evn) {
	var valori=['.', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
	var brwGecko=true;
	var kcode;

	if (!campo.readOnly) {
		if (!evn) {
			try {
				var evn=window.event;
				kcode=window.event.keyCode;
			} catch (err) {
				alert ('Evento non trovato (scanint).');
				return false;
			}
		}
	
		if (evn.keyCode) {
			kcode=evn.keyCode;
			brwGecko=false;
		} else {
			kcode=evn.which;
		}
	
		var ccode=String.fromCharCode(kcode);
		var inarrayResult=in_array(ccode, valori);
	
		if (!inarrayResult && ((kcode!=8) && (kcode!=13))) {
			if (!brwGecko) {
				window.event.returnValue=0;
			}
			return false;
		}
	
		if (ccode=='-') {
			if (campo.value.indexOf('-')<0) {
				campo.value='-'+campo.value;
			} else { // sentire se sta cosa piace
				campo.value=campo.value.substr(1);
			}
			
			if (!brwGecko) {
				window.event.returnValue=0;
			}
			return false;
		}
	}
	
	return true;
}

function checkfile (campo, tipi_file) {
	var err=0;
	var ext;
	var a=[];
	var b;
	var i;
	
	if (campo.value=='') {
		err=1;
	} else {
		a=campo.value.split('.');
		ext=a[a.length-1];
		ext=ext.toUpperCase();
		err=1;
		
		if (tipi_file!='*') {
			for (i=0;i<tipi_file.length;i++) {
				if (ext==tipi_file[i].toUpperCase()) {
					err=0;
				}
			}
		} else {
			err=0;
		}
	}

	return err==0;
}

function scandata (campo, evn) {
	return scandate (campo, evn);
}

function scandate (campo, evn) {
	var valori=['0','1','2','3','4','5','6','7','8','9'];
	var brwGecko=true;
	var kcode;

	if (!campo.readOnly) {
		if (!evn) {
			try {
				var evn=window.event;
				kcode=window.event.keyCode;
			} catch (err) {
				alert ('Evento non trovato (scandata).');
				return false;
			}
		}
	
		if (evn.keyCode) {
			kcode = evn.keyCode;
			brwGecko=false;
		} else {
			kcode = evn.which;
		}
	
		var inarrayResult=in_array(String.fromCharCode(kcode), valori);
	
		if (!((inarrayResult) || (String.fromCharCode(kcode)=="/") || (String.fromCharCode(kcode)==".") || (kcode==13))) {
			if (!brwGecko) {
				window.event.returnValue=0;
			}
			return false;
		}
		
		if (String.fromCharCode(kcode)==".") {
			if (!brwGecko) {
				window.event.keyCode="/".charCodeAt (0);
			}
		}
		
		if ((campo.value.length+1==3)) {
			campo.value+="/";
		}
		
		if ((campo.value.length+1==6)) {
			campo.value+="/";
		}
		
		if ((String.fromCharCode(kcode)=="/") && ((campo.value.length==3) || (campo.value.length==6) || (campo.value.length<2) || ((campo.value.length>3) && (campo.value.length<5)))) {
			if (!brwGecko) {
				window.event.returnValue=0;
			}
			return false;
		}
	}
	
	return true;
}

function currency(anynum) {
   anynum = eval(anynum);
   workNum = Math.abs((Math.round(anynum*100)/100));
   workStr = "" + workNum;
   if (workStr.indexOf(".") == -1) { workStr+=".00"; }
   dStr = workStr.substr(0,workStr.indexOf("."));
   dNum = dStr-0;
   pStr = workStr.substr(workStr.indexOf("."));
   while (pStr.length<3){pStr+="0"}

   if (dNum >= 1000) {
      dLen = dStr.length;
      dStr = parseInt("" + (dNum/1000)) + "" + dStr.substring(dLen-3,dLen);
   }

   if (dNum >= 1000000) {
      dLen = dStr.length;
      dStr = parseInt("" + (dNum/1000000)) + "" + dStr.substring(dLen-7,dLen);
   }
   retval = dStr + pStr;

   if (anynum < 0) { retval = "("+retval+")" };
   return retval;
}

function pernottamento(arrivo,partenza) {
	if ((checkdate(arrivo,false)) && (checkdate(partenza,false))) {
		document.adesione.nr_notti_pernottamento.value=get_day_diff(arrivo,partenza);
	}
}

function pernottamento_ing(arrivo,partenza) {
	if ((checkdate(arrivo,false)) && (checkdate(partenza,false))) {
		document.adesione.nr_nights_accommodation.value=get_day_diff(arrivo,partenza);
	}
}

function get_day_diff(data_da, data_a) {
	data_da=data_da.split('/');
	data_a=data_a.split('/');
	var from=new Date(data_da[2], data_da[1], data_da[0], 12 , 0, 0).getTime();
	var to=new Date(data_a[2], data_a[1], data_a[0], 12 , 0, 0).getTime();
	return (((to-from)/86400)/1000);
}

function comparedate(prima, seconda) {
	var err=0;
	var data1;
	var data2;

	day1=prima.substring(0, 2)// day
	month1=prima.substring(3, 5)// month
	year1=prima.substring(6, 10)// year

	day2=seconda.substring(0, 2)// day
	month2=seconda.substring(3, 5)// month
	year2=seconda.substring(6, 10)// year

	data1=year1+month1+day1;
	data2=year2+month2+day2;
	
	if (data1>data2) {
		err=1;
	}

	return err==0;
}

function checkdate(a, empty) {
	var err=0;
	var dateseparator="/";
	
	if (a.length==10) {
		var day=a.substring(0, 2);// day
		var sep1=a.substring(2, 3);// '/'
		var month=a.substring(3, 5);// month
		var sep2=a.substring(5, 6);// '/'
		var year=a.substring(8, 10);// year
	
		if ((month<1) || (month>12)) {
			err=1;
		}
		
		if ((sep1!=dateseparator) || (sep2!=dateseparator)) {
			err=1;
		}
		
		if ((day<1) || (day>31)) {
			err=1;
		}
		
		if ((year<0) || (year>99)) {
			err=1;
		}
		
		if ((month==4) || (month==6) || (month==9) || (month==11)) {
			if (day==31) {
				err=1;
			}
		}

		if (month==2) {
			if ((day>29) || ((day==29) && ((year%4)!=0))) {
				err=1;
			}
		}
	} else {
		if ((a.length==0) && empty) {
			err=0;
		} else {
			err=1;
		}
	}
	
	return err==0;
}

function checkfield(form) {
	var errore=false;
	var msg="";

	for (n=0;n<form.elements.length;n++) {
		switch (form.elements[n].name){
		case "nome":
		case "cognome":
		case "indirizzo":
		case "prov":
		case "nazione":
		case "telefono": if (form.elements[n].value=="") {
							msg='"'+form.elements[n].name+'" (Dati Anagrafici)';
							errore=true;
						 }
						 break;
		case "citta": if (form.elements[n].value=="") {
							msg='"cittā" (Dati Anagrafici)';
							errore=true;
					  }
					  break;
		case "cap": if ((form.elements[n].value).length!=5) {
						msg='"'+form.elements[n].name+'" (Dati Anagrafici)';
						errore=true;
					}
					break;
		case "email": if ((form.elements[n].value).indexOf("@") == -1){
							msg=msg='"'+form.elements[n].name+'" (Dati Anagrafici)';
							errore=true;
					  }
					  break;
		case "istituto":
		case "indirizzo_prof":
		case "prov_prof":
		case "nazione_prof":
		case "telefono_prof": if (form.elements[n].value=="") {
									msg='"'+(form.elements[n].name).replace("_prof","")+'" (Dati Professionali)';
									errore=true;
							  }
							  break;
		case "cap_prof": if ((form.elements[n].value).length!=5) {
							msg='"'+(form.elements[n].name).replace("_prof","")+'" (Dati Professionali)';
							errore=true;
						 }
						 break;
		case "citta_prof": if (form.elements[n].value=="") {
							msg='"cittā" (Dati Professionali)';
							errore=true;
					  	   }
					   	   break;
		case "email_prof": if ((form.elements[n].value).indexOf("@") == -1){
								msg='"'+(form.elements[n].name).replace("_prof","")+'" (Dati Professionali)';
						   		errore=true;
					       }
					       break;
		case "contributo": if (form.contributo.checked){
								break;
							} else {
								msg='"Desidero presentare un"';
								errore=true;
							}
						   break;
		case "tema_congresso": for (i=0;i<=5;i++){
									if (form.tema_congresso[i].checked){
											break;
									} else {
											 if (i==5){
													msg='"Temi del congresso"';
													errore=true;
											 }
									}
							  }
							  break;
		case "testo_abstract": if (checkfile(form.elements[n],["DOC"])==false){
									msg='"Abstract"';
									errore=true;
							   }
							   break;
  		case "curriculum": if (form.elements[n].value=="") {
								msg='"CURRICULUM VITAE DEL RELATORE"';
								errore=true;
						   }
						   break;
		}
		if (errore) {
			break;
		}
	}
	
	/*if (msg==""){
		for (i=0;i<=1;i++){
			if (form.contributo[i].checked){
					break;
			} else {
					 if (i==1){
							msg='"Desidero presentare un/a"';
							errore=true;
					 }
			}
		}
		
		if (errore!=true) {
			for (i=0;i<=5;i++){
				if (form.tema_congresso[i].checked){
						break;
				} else {
						 if (i==5){
								msg='"Temi del congresso"';
								errore=true;
						 }
				}
			}
		}
	}*/
	
	if (errore) {
		alert('Il campo '+msg+' č obbligatorio.');
		return false;
	}
	
	return true;
}


var quote_congresso=new Array();
quote_congresso[0]=170.00;
quote_congresso[1]=270.00;

function aggiorna_totale() {
	var totale=0;
	
	for (n=0;n<=1;n++) {
		if (document.adesione.quote_congresso[n].checked) {
			subtotale1=parseFloat(quote_congresso[n]);
			break;
		} else {
			if (n==1) {
				subtotale1=0;
			}
		}
	}

	if (document.adesione.nr_accompagnatori.value!="") {
		subtotale2=parseFloat(document.adesione.nr_accompagnatori.value*30);
	} else {
		subtotale2=0;
	}

	if (document.adesione.nr_cena_sociale.value!="") {
		subtotale3=parseFloat(document.adesione.nr_cena_sociale.value*90);
	} else {
		subtotale3=0;
	}

	totale = totale + subtotale1 + subtotale2 + subtotale3;	
	
	document.getElementById("subtotale1").value = currency(subtotale1);
	document.getElementById("subtotale2").value = currency(subtotale2);
	document.getElementById("subtotale3").value = currency(subtotale3);
	
	document.adesione.totale.value = currency(totale);
	document.adesione.totale_pagamento.value = currency(totale);
}

function checkfield_adesione(frm) {
	// Campi privati
	var nome = frm.nome.value;
	var cognome = frm.cognome.value;
	var indirizzo = frm.indirizzo.value;
	var citta = frm.citta.value;
	var prov = frm.prov.value;
	var cap = frm.cap.value;
	var nazione = frm.nazione.value;
	var telefono = frm.telefono.value;
	var email = frm.email.value;
	
	// Campi fattura
	var intestazione_fattura = frm.intestazione_fattura.value;
	var indirizzo_fattura = frm.indirizzo_fattura.value;
	var cf = frm.codice_fiscale_o_partita_iva.value;

	// Campi carta di credito
	var codice_sicurezza = frm.codice_sicurezza.value;
	var intestatario_pagamento = frm.intestatario_pagamento.value;
	var nrcarta_pagamento = frm.nr_carta_pagamento.value;
	var mesescadenzacarta_pagamento = frm.mesescadenzacarta_pagamento.value;
	var annoscadenzacarta_pagamento = frm.annoscadenzacarta_pagamento.value;
	
	if (nome.length < 3) {
		alert("Prego, inserire il nome.");
		return false;
	}
	
	if (cognome.length < 3) {
		alert("Prego, inserire il cognome.");
		return false;
	}

	if (indirizzo.length < 3) {
		alert("Prego, inserire l'indirizzo.");
		return false;
	}

	if (citta.length < 3) {
		alert("Prego, inserire la citta'.");
		return false;
	}

	if (prov.length < 2) {
		alert("Prego, inserire la provincia.");
		return false;
	}

	if (cap.length < 3) {
		alert("Prego, inserire il cap.");
		return false;
	}

	if (nazione.length < 3) {
		alert("Prego, inserire la nazione.");
		return false;
	}

	if (telefono.length < 3) {
		alert("Prego, inserire il telefono.");
		return false;
	}

	if (email.indexOf("@") == -1) {
		alert("Prego, inserire l'email.");
		return false;
	}
	
	if (intestazione_fattura.length < 3) {
		alert("Prego, inserire l'intestazione della fattura.");
		return false;
	}

	if (indirizzo_fattura.length < 3) {
		alert("Prego, inserire l'indirizzo della fattura.");
		return false;
	}

	if ((cf.length != 16) && (cf.length != 11)) {
		alert("Prego, il codice fiscale o la partita iva.");
		return false;
	}
	
	for (n=0;n<=1;n++) {
		if (document.adesione.quote_congresso[n].checked) {
			break;
		} else {
			if(n==1) {
				alert("Prego, selezionare una quota d'iscrizione.");
				return false;
			}
		}
	}

	for (n=0;n<=3;n++) {
		if (document.adesione.tipo_carta_credito[n].checked) {
			break;
		} else {
			if(n==3) {
				alert("Prego, selezionare il tipo di carta di credito.");
				return false;
			}
		}
	}
	
	if (codice_sicurezza.length!=3) {
		alert("Controllare il codice di sicurezza (digitare le 3 cifre poste sul retro della carta).");
		return false;
	}
	
	if (intestatario_pagamento.length < 3) {
		alert("Prego, inserire l'intestatario della carta.");
		return false;
	}


	if (nrcarta_pagamento.length!=16) {
		alert("Prego, inserire il numero della carta.");
		return false;			
	}
	
	if (mesescadenzacarta_pagamento.length != 2) {
		alert("Prego, inserire il mese di scadenza della carta.");
		return false;
	}
	
	if (annoscadenzacarta_pagamento.length != 4) {
		alert("Prego, inserire l'anno di scadenza della carta.");
		return false;
	}

	return true;
}