var quote_congresso=new Array();
quote_congresso[0]=450.00;
quote_congresso[1]=550.00;
quote_congresso[2]=600.00;
quote_congresso[3]=700.00;
quote_congresso[4]=200.00;
quote_congresso[5]=200.00;

function aggiorna_totale() {
	var totale=0;
	
	for (n=0;n<=5;n++) {
		if (document.frm_adesione.quote_congresso[n].checked) {
			subtotale1=parseFloat(quote_congresso[n]);
			break;
		} else {
			if (n==1) {
				subtotale1=0;
			}
		}
	}
	
	if (document.frm_adesione.nr_person_tour_ravenna.value!="") {
		subtotale2=parseFloat(document.frm_adesione.nr_person_tour_ravenna.value*95);
	} else {
		subtotale2=0;
	}

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

	if (document.frm_adesione.nr_person_social_dinner.value!="") {
		subtotale4=parseFloat(document.frm_adesione.nr_person_social_dinner.value*80);
	} else {
		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.frm_adesione.totale.value = currency(totale);
	document.frm_adesione.totale_pagamento.value = currency(totale);
}

function rtrim(s) {
	return s.replace( /\s*$/, "" );
}

function count_words(objInput, objCounter, maxInput, msgError) {
    var text=objInput.value + " ";
    var iwhitespace = /^[^A-Za-z0-9]+/gi; // rimuovo gli spazi iniziali
    var left_trimmedStr = text.replace(iwhitespace, "");
    var na = rExp = /[^A-Za-z0-9]+/gi; // caratteri non alfanumerici
    var cleanedStr = left_trimmedStr.replace(na, " ");
    var splitString = cleanedStr.split(" ");
    var word_count = splitString.length -1;
    objCounter.value=maxInput-word_count;
	if (objCounter.value<0) {
		alert(msgError);
		objInput.value=rtrim(objInput.value.substring(0,(objInput.value).length-1));
		objCounter.value=0;
	}
}

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_eng(form) {
	var errore=false;
	var msg="";
	var radio_present=0;
	var radio_topics=0;
	var radio_relationships=0;
	var i=0;
	var j=0;
	var k=0;
	
	for (n=0;n<form.elements.length;n++) {
		switch (form.elements[n].name){
		case "first_name":
		case "family_name":
		case "address":
		case "town":
		case "country":
		case "zip_code":
		case "phone":
		case "fax": if (form.elements[n].value=="") {
							msg='"'+(form.elements[n].name).replace(/_/g," ")+'" (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 (radio_present==0) {
							if (form.elements[n].checked){
								radio_present=-1;
								break;
							} else {
								if (i==2) {
									msg='"I\'d like to present a"';
									errore=true;
								}
							}
						}
						i=i+1;
						break;
		case "topics_of_the_meeting": if (radio_topics==0) {
										if (form.elements[n].checked){
											radio_topics=-1;
											break;
										} else {
											if (j==10) {
												msg='"Topics of the meeting"';
												errore=true;
											}
										}
									  }
									  j=j+1;
									  break;
		case "file_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 "relationships": if (radio_relationships==0) {
								if (form.elements[n].checked){
									radio_relationships=-1;
									break;
								} else {
									if (k==1) {
										msg='"Please declare if you have relationships with companies"';
										errore=true;
									}
								}
							  }
							  k=k+1;
							  break;
		}
		if (errore) {
			break;
		}
	}
	
	if (errore) {
		alert('The field '+msg+' is compulsory.');
		return false;
	}
	return true;
}

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 "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) {
		alert('Il campo '+msg+' č obbligatorio.');
		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;
}

function checkfield_reg_eng(frm) {
	var first_name = frm.first_name.value;
	var family_name = frm.family_name.value;
	var mailing_address = frm.mailing_address.value;
	var city = frm.city.value;
	var country = frm.country.value;
	var post_code = frm.post_code.value;
	var phone = frm.phone.value;
	var fax = frm.fax.value;
	var email = frm.email.value;
	
	var invoice_made_out_to = frm.invoice_made_out_to.value;
	var invoice_address = frm.invoice_address.value;
	/*var vat_number_or_fiscal_code = frm.vat_number_or_fiscal_code.value;*/

	var security_code = frm.security_code.value;
	var card_holder_name = frm.card_holder_name.value;
	var card_number = frm.card_number.value;
	var month_expiration_date_credit_card = frm.month_expiration_date_credit_card.value;
	var year_expiration_date_credit_card = frm.year_expiration_date_credit_card.value;
	
	if (first_name.length < 3) {
		alert("Please, fill in First Name.");
		return false;
	}
	
	if (family_name.length < 3) {
		alert("Please, fill in Family Name.");
		return false;
	}

	if (mailing_address.length < 3) {
		alert("Please, fill in Mailing address.");
		return false;
	}

	if (city.length < 3) {
		alert("Please, fill in City.");
		return false;
	}

	if (country=="N/A") {
		alert("Please, choice a Country/State.");
		return false;
	}

	if (post_code.length < 2) {
		alert("Please, fill in Postal Code.");
		return false;
	}

	if (phone.length < 3) {
		alert("Please, fill in Phone.");
		return false;
	}

	if (fax.length < 3) {
		alert("Please, fill in Fax.");
		return false;
	}

	if (email.indexOf("@") == -1) {
		alert("Please, fill in Email.");
		return false;
	}
	
	if (invoice_made_out_to.length < 3) {
		alert("Please, fill in 'Invoice made to'.");
		return false;
	}

	if (invoice_address.length < 3) {
		alert("Please, fill in 'Invoice address'.");
		return false;
	}

	/*if (vat_number_or_fiscal_code.length < 3) {
		alert("Please, fill in 'Vat number or Fiscal code'.");
		return false;
	}*/

	if (frm.nr_person_ceremony.value == "") {
		frm.nr_person_ceremony.value=0;
		return false;
	}
	
	if (frm.nr_person_tour_ravenna.value == "") {
		frm.nr_person_tour_ravenna.value=0;
		return false;
	}
	
	if (frm.nr_person_san_leo.value == "") {
		frm.nr_person_san_leo.value=0;
		return false;
	}
	
	if (frm.nr_person_social_dinner.value == "") {
		frm.nr_person_social_dinner.value=0;
		return false;
	}

	for (n=0;n<=5;n++) {
		if (frm.quote_congresso[n].checked) {
			break;
		} else {
			if(n==5) {
				alert("Please, select a congress.");
				return false;
			}
		}
	}
	
	for (n=0;n<=3;n++) {
		if (frm.type_of_credit_card[n].checked) {
			break;
		} else {
			if(n==3) {
				alert("Please, select a credit card.");
				return false;
			}
		}
	}
	
	if (security_code.length!=3) {
		alert("Please, insert security code.");
		return false;
	}

	if (card_holder_name.length < 3) {
		alert("Please, fill in Card holder name.");
		return false;
	}

	if (card_number.length<9) {
		alert("Please, check Card number.");
		return false;			
	}
	
	if (month_expiration_date_credit_card.length != 2) {
		alert("Please, check expiring date of your credit card.");
		return false;
	}
	
	if (year_expiration_date_credit_card.length != 4) {
		alert("Please, check expiring date of your credit card.");
		return false;
	}

	return true;
}
