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 checkfield_aino(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 "tema": for (i=0;i<=3;i++){
						if (form.tema[i].checked){
							break;
						} else {
							if (i==3){
								msg='"Selezionare un tema"';
								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"';
								errore=true;
						   }
						   break;
		}
		if (errore) {
			break;
		}
	}
	
	if (errore) {
		alert('Il campo '+msg+' č obbligatorio.');
		return false;
	}
	
	return true;
}

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

	for (n=0;n<form.elements.length;n++) {
		switch (form.elements[n].name){
		case "nome":
		case "cognome":
		case "istituto":
		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 "contributo": 	if (form.elements[n].checked){
							  break;
							} else {
								msg='"Desidero presentare"';
								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"';
								errore=true;
						   }
						   break;
		}
		if (errore) {
			break;
		}
	}
	
	if (errore) {
		alert('Il campo '+msg+' č obbligatorio.');
		return false;
	}
	return true;
}

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

	for (n=0;n<form.elements.length;n++) {
		switch (form.elements[n].name){
		case "first_name":
		case "family_name":
		case "institute":
		case "address":
		case "city":
		case "country":
		case "postal_code":
		case "phone": if (form.elements[n].value=="") {
							msg='"'+form.elements[n].name+'" (PERSONAL DATA)';
							errore=true;
						 }
						 break;
		case "email": if ((form.elements[n].value).indexOf("@") == -1){
							msg=msg='"'+form.elements[n].name+'" (PERSONAL DATA)';
							errore=true;
					  }
					  break;
		case "contribution": 	if (form.elements[n].checked){
							  break;
							} else {
								msg='"I\'d like to present a"';
								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"';
								errore=true;
						   }
						   break;
		}
		if (errore) {
			break;
		}
	}
	
	if (errore) {
		alert('The field '+msg+' is compulsory.');
		return false;
	}
	return true;
}

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

	for (n=0;n<form.elements.length;n++) {
		switch (form.elements[n].name){
		case "nome":
		case "cognome":
		case "ospedale":
		case "reparto":
		case "indirizzo":
		case "prov":
		case "cap":
		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 "contributo": 	for (i=0;i<=2;i++){
								if (form.contributo[i].checked){
									break;
								} else {
									if (i==2){
										msg='"Desidero presentare"';
										errore=true;
									}
								}
						    }
							break;
		case "tema": for (i=0;i<=11;i++){
						if (form.tema[i].checked){
							break;
						} else {
							if (i==11){
								msg='"Selezionare un tema"';
								errore=true;
							}
						}
					 }
					 break;
		case "sessione_specializzandi": if (form.contributo[0].checked) {
											for (k=0;k<=1;k++){
												if (form.sessione_specializzandi[k].checked){
													break;
												} else {
													if (k==1){
														msg='"Desidero che l\'abstract venga incluso per la selezione nelle sessioni di comunicazioni orali SPECIALIZZANDI"';
														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"';
								errore=true;
						   }
						   break;
		case "autocertificazione": if (form.elements[n].checked==false) {
										msg='"Confermo l\'invio dell\'Autocertificazione"';
										errore=true;
								   }
								   break;
		}
		if (errore) {
			break;
		}
	}
	
	if (errore) {
		alert('Il campo '+msg+' č obbligatorio.');
		return false;
	}
	
	return true;
}

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

	for (n=0;n<form.elements.length;n++) {
		switch (form.elements[n].name){
		case "name":
		case "surname":
		case "hospital":
		case "department":
		case "address":
		case "town":
		case "country":
		case "phone": if (form.elements[n].value=="") {
						msg='"'+form.elements[n].name+'" (PERSONAL DATA)';
						errore=true;
					  }
					  break;
		case "email": if ((form.elements[n].value).indexOf("@") == -1){
							msg=msg='"'+form.elements[n].name+'" (PERSONAL DATA)';
							errore=true;
					  }
					  break;
		case "present": if (form.present.checked){
							break;
						} else {
							msg='"I\'d like to present"';
							errore=true;
						}
						break;
		case "topic": for (i=0;i<=7;i++) {
						  if (form.topic[i].checked){
							break;
						  } else {
							if (i==7) {
								msg='"Select topic"';
								errore=true;
							}
						  }
					  }
					  break;
		case "abstract_text": if (checkfile(form.elements[n],["DOC"])==false){
									msg='"Abstract"';
									errore=true;
							   }
							   break;
  		case "curriculum": if (form.elements[n].value=="") {
								msg='"CURRICULUM VITAE"';
								errore=true;
						   }
						   break;
		}
		if (errore) {
			break;
		}
	}
	
	if (errore) {
		alert('The field '+msg+' is compulsory.');
		return false;
	}
	return true;
}

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 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;
}


var quote_congresso=new Array();
quote_congresso[0]=200.00;
quote_congresso[1]=250.00;
quote_congresso[2]=350.00;
quote_congresso[3]=400.00;
quote_congresso[4]=70.00;
quote_congresso[5]=100.00;

var pre_congresso=new Array();
pre_congresso[0] = 220.00;
pre_congresso[1] = 120.00;

function aggiorna_totale() {
	var totale=0;
	var subtotale1=0;
	var subtotale2=0;
	var subtotale3=0;
	var subtotale4=0;
	
	for (n=0;n<=5;n++) {
		if (document.adesione.quote_congresso[n].checked) {
			subtotale1=parseFloat(quote_congresso[n]);
			break;
		} else {
			if (n==5) {
				subtotale1=0;
			}
		}
	}
	
	if (document.adesione.quote_accompagnatore.checked) {
		subtotale2=parseFloat(180);
	} else {
		subtotale2=0;
	}

	if (document.adesione.nr_cena_sociale.value!="") {
		subtotale3=parseFloat(document.adesione.nr_cena_sociale.value*100);
	} else {
		subtotale3=0;
	}
	
	for (n=0;n<=1;n++) {
		if (document.adesione.pre_congresso[n].checked) {
			subtotale4=parseFloat(pre_congresso[n]);
			break;
		} else {
			if (n==1) {
				subtotale4=0;
			}
		}
	}
	
	totale = totale + subtotale1 + subtotale2 + subtotale3 + subtotale4;
	
	document.getElementById("subtotale1").value = currency(subtotale1);
	document.getElementById("subtotale2").value = currency(subtotale2);
	document.getElementById("subtotale3").value = currency(subtotale3);
	document.getElementById("subtotale4").value = currency(subtotale4);
	
	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 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 == -1) {
		alert("Prego, inserire la provincia.");
		return false;
	}*/

	if (cap.length < 3) {
		alert("Prego, inserire il cap.");
		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<=5;n++) {
		if (document.adesione.quote_congresso[n].checked) {
			break;
		} else {
			if(n==5) {
				alert("Prego, selezionare una quota d'iscrizione.");
				return false;
			}
		}
	}*/

	for (n=0;n<=4;n++) {
		if (document.adesione.tipo_carta_credito[n].checked) {
			break;
		} else {
			if(n==4) {
				alert("Prego, selezionare il tipo di carta di credito.");
				return false;
			}
		}
	}
	
	if ((codice_sicurezza.length!=3) && (n!=4)) {
		alert("Controllare il codice di sicurezza (digitare le 3 cifre poste sul retro della carta).");
		return false;
	}
	
	if ((codice_sicurezza.length!=4) && (n==4)) {
		alert("Controllare il codice di sicurezza (digitare le 4 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<10) {
		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;
}
