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 "citta":
		case "prov":
		case "cap":
		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 "citta_prof":
		case "prov_prof":
		case "cap_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 "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<=2;i++){
			if (form.contributo[i].checked){
					break;
			} else {
					 if (i==2){
							msg='"Desidero presentare un/a"';
							errore=true;
					 }
			}
		}
	}
	
	if (msg==""){
		for (i=0;i<=5;i++){
			if (form.tema_congresso[i].checked){
					break;
			} else {
					 if (i==5){
							msg='Selezionare un tema del congresso';
							errore=true;
					 }
			}
		}
	}
	
	if (errore) {
		alert('Il campo '+msg+' č obbligatorio.');
		return false;
	}
	
	return true;
}
