
/*   Matrice degli Hotels  IMPORTANTE: in "config.php" c'e' un altro file da modificare! */
arrHotel = new Array(new Array("The Duke Hotel", 185, 200),
					 new Array("Eurostars Hotel", 169, 179),
					 new Array("Hotel Bramante", 95,	155),
					 new Array("Hotel Ergife", 140, 160),
					 new Array("Hotel Metropole", 190, 200),
					 new Array("Hotel Michelangelo", 200, 220),
					 new Array("Albergo Romano",	85,	130),
					 new Array("Hotel Siracusa",	60,	80),
					 new Array("Residence Candia", 80, 110),
					 new Array("Villino Cecilia", 80, 100)
					 );

/*   Matrice dei Social Events  */
arrSocialEvent = new Array(new Array("Gala Dinner", 220),
						      new Array("Tiber tour with Dinner", 280),
									new Array("Night Tour of Rome with Dinner and Italian Music", 240),
									new Array("The Rome of the Great Movies Tour", 150.50),
									new Array("Sistine Chapel Tour exclusive for the group", 200),
									new Array("Walking tour: tour of the jewish neighbourhood with dinner", 110),
									new Array("Estate romana tour", 80),
									new Array("Rome in 1 Day", 100),
									new Array("Outside of Rome tour: es. Villa Adriana and D\'Este a Tivoli; Ostia Antica; Fregene", 60),
									new Array("Aperitivo and Show in the new Parco della Musica Auditorium", 60),
									new Array("Aperitivi on the Caffarelli Terrace (Terrace of the Capitoline Museum)", 60)
					       );

								 
function roundTo(value, decimalpositions)
{
    var i = value * Math.pow(10,decimalpositions);
    i = Math.round(i);
    return i / Math.pow(10,decimalpositions);
} 								 
								 
function popup(page) {
	larghFinestra=750; /*creo una variabile contenente la larghezza della finestra*/
	altezFinestra=400; /* creo una variabile contenente l'altezza della finestra*/
	sinistra=(screen.width-larghFinestra)/2; /*creo una variabile e mi ricavo il valore della posizione della finestra a sinistra dello schermo*/
	alto=(screen.height-altezFinestra)/2; /*creo una variabile e mi ricavo il valore della posizione della finestra dall'alto dello schermo */
	window.open('includes/pages/popups/' + page, 'DownloadDaycoCatalogue', "left="+sinistra+",top="+alto+",width="+larghFinestra+", height="+altezFinestra);
}


function updateRegistrationCost()
{
 		var pageform = document.frmRegistration;
		var registration = pageform.frmCongressRegistration.value;
		switch(registration)
		{
		 		case "-1":
						 pageform.txtRegistrationCost.value = "0.00";
						 break;
						 
				case "1":
						 pageform.txtRegistrationCost.value = 570;
						 break;
						 
				case "2":
						 pageform.txtRegistrationCost.value = 370;
						 break;		 		 
		}
}

function showDivAccomodation(showDiv)
{
		var obj = document.getElementById("divAccomodation");
		var objForm = document.frmRegistration;
		if(showDiv)
		{
  				obj.style.display = "inline";
		}
		else
		{
		 		obj.style.display = "none";
				objForm.frmHotelName.value = -1; 
				objForm.frmNumGuests.value = -1;
				objForm.frmCheckInDateDD.value = -1;
				objForm.frmCheckInDateMM.value = -1;
				objForm.frmCheckInDateYY.value = -1;
				objForm.frmCheckOutDateDD.value = -1;
				objForm.frmCheckOutDateMM.value = -1;
				objForm.frmCheckOutDateYY.value = -1;
				objForm.frmNumOfNights.value = "";
				objForm.txtAccomodationCost.value = "0.00";
		}
}

function showDivSocial(showDiv)
{
		var obj = document.getElementById("divSocial");
		var objForm = document.frmRegistration;
		if(showDiv)
		{
  				obj.style.display = "inline";
		}
		else
		{
		 		obj.style.display = "none";
				objForm.frmFirstSocialEvent.value = -1;
				objForm.frmFirstSocialEvent2.value = -1;
				//objForm.frmNumGuests2.value = -1;
				objForm.txtSocialEventCost.value = "0.00";
		}
}

function showDivPayment(showDiv)
{
		var objDiv1 = document.getElementById("divBankTransfer");
		var objDiv2 = document.getElementById("divCreditCard");
		var oDivChargePerc = document.getElementById("divChargePerc");
		var oDivNoChargePerc = document.getElementById("divNoChargePerc");
		var oDivChargeCost = document.getElementById("divChargeCost");
		var oDivNoChargeCost = document.getElementById("divNoChargeCost");
		var oDivChargeTot = document.getElementById("divChargeTot");
		var oDivNoChargeTot = document.getElementById("divNoChargeTot");
		if(showDiv == 1)
		{
  			objDiv1.style.display = "inline";
			objDiv2.style.display = "none";
			oDivChargePerc.style.display = "none";
			oDivNoChargePerc.style.display = "inline";
			oDivChargeCost.style.display = "none";
			oDivNoChargeCost.style.display = "inline";
			oDivChargeTot.style.display = "none";
			oDivNoChargeTot.style.display = "inline";
		}
		if(showDiv == 2)
		{
  			objDiv2.style.display = "inline";
			objDiv1.style.display = "none";
			oDivChargePerc.style.display = "inline";
			oDivNoChargePerc.style.display = "none";
			oDivChargeCost.style.display = "inline";
			oDivNoChargeCost.style.display = "none";
			oDivChargeTot.style.display = "inline";
			oDivNoChargeTot.style.display = "none";
		}
}


function updateAccomodationCost() 
{
	var objForm = document.frmRegistration;
	
	if((objForm.frmHotelName.value == -1) 
		 || (objForm.frmNumGuests.value == -1)
		 || (objForm.frmCheckInDateDD.value == -1)
		 || (objForm.frmCheckInDateMM.value == -1)
		 || (objForm.frmCheckInDateYY.value == -1)
		 || (objForm.frmCheckOutDateDD.value == -1)
		 || (objForm.frmCheckOutDateMM.value == -1)
		 || (objForm.frmCheckOutDateYY.value == -1))
	{
	   objForm.txtAccomodationCost.value = "0.00";
		 
		 if((objForm.frmCheckInDateDD.value == -1)
		 || (objForm.frmCheckInDateMM.value == -1)
		 || (objForm.frmCheckInDateYY.value == -1)
		 || (objForm.frmCheckOutDateDD.value == -1)
		 || (objForm.frmCheckOutDateMM.value == -1)
		 || (objForm.frmCheckOutDateYY.value == -1))
		 {
		 	  objForm.frmNumOfNights.value = "";
		 }
		 return;
	}	 
	
	var nHotelCost = 0;
	
	var idHotel		= objForm.frmHotelName.value;
	var nGuests		= objForm.frmNumGuests.value;
	
	var data1 = new Date();
	var aa1 = parseInt(objForm.frmCheckInDateYY.value);
	var mm1 = parseInt(objForm.frmCheckInDateMM.value);
	var dd1 = parseInt(objForm.frmCheckInDateDD.value);
	data1.setFullYear(aa1,mm1-1,dd1);
	var data2 = new Date();
	var aa2 = parseInt(objForm.frmCheckOutDateYY.value);
	var mm2 = parseInt(objForm.frmCheckOutDateMM.value);
	var dd2 = parseInt(objForm.frmCheckOutDateDD.value);
	data2.setFullYear(aa2,mm2-1,dd2);
	
	if(data1.getTime() >= data2.getTime())
	{
		alert("Chek out Date must be greater than Chek in Date.");
		objForm.frmCheckInDateDD.value = "";
		objForm.frmCheckInDateMM.value = "";
		objForm.frmCheckInDateYY.value = "";
		objForm.frmCheckOutDateDD.value = "";
		objForm.frmCheckOutDateMM.value = "";
		objForm.frmCheckOutDateYY.value = "";
		objForm.frmNumOfNights.value = "";
		objForm.txtAccomodationCost.value = "0.00";
		return;
	}
	
	//Set 1 day in milliseconds
	var one_day=1000*60*60*24;
	//DateDiff in days
	var nNights = parseInt((data2.getTime() - data1.getTime())/(one_day));
	objForm.frmNumOfNights.value = nNights;
	nHotelCost = (arrHotel[idHotel][nGuests])*nNights;
	objForm.txtAccomodationCost.value = roundTo(nHotelCost, 2);
	
	return;
}


function updateSocialEventCost() 
{
	var objForm = document.frmRegistration;
	
	if(((objForm.frmFirstSocialEvent.value == -1) && (objForm.frmFirstSocialEvent2.value == -1))
		 || (objForm.frmNumGuests2.value == -1))
	{
	   objForm.txtSocialEventCost.value = "0.00";
		 return;
	}	 
	
	var nSocialCost = 0;
	
	var valSocialEvent1		= objForm.frmFirstSocialEvent.value;
	var valSocialEvent2		= objForm.frmFirstSocialEvent2.value;
	var nGuests		= objForm.frmNumGuests2.value;
	
	if(valSocialEvent1 != -1)
	{
	 		nSocialCost = nSocialCost + arrSocialEvent[valSocialEvent1][1];
	}
	if(valSocialEvent2 != -1)
	{
	 		nSocialCost = nSocialCost + arrSocialEvent[valSocialEvent2][1];
	}
	
	nSocialCost = nSocialCost*nGuests;
	objForm.txtSocialEventCost.value = roundTo(nSocialCost, 2);
	
	return;
}


function trim(stringa)
{
   while (stringa.substring(0,1) == ' '){
    stringa = stringa.substring(1, stringa.length);
   }
   while (stringa.substring(stringa.length-1, stringa.length) == ' '){
    stringa = stringa.substring(0,stringa.length-1);
   }
   return stringa;
}

function doSubmit()
{
 		var objForm = document.frmRegistration;
		if(trim(objForm.frmLastName.value) == "")
		{
			 alert("Insert Last Name.");
			 return;
		}
		if(trim(objForm.frmFirstName.value) == "")
		{
			 alert("Insert First Name.");
			 return;
		}
		if(trim(objForm.frmQualification.value) == "")
		{
			 alert("Insert Qualification.");
			 return;
		}
		if(trim(objForm.frmAffiliation.value) == "")
		{
			 alert("Insert Affiliation.");
			 return;
		}
		if(trim(objForm.frmAddress.value) == "")
		{
			 alert("Insert Address.");
			 return;
		}
		if(trim(objForm.frmCity.value) == "")
		{
			 alert("Insert City.");
			 return;
		}
		if(trim(objForm.frmCountry.value) == "")
		{
			 alert("Insert Country.");
			 return;
		}
		if(trim(objForm.frmEmail.value) == "")
		{
			 alert("Insert Email.");
			 return;
		}
		if(trim(objForm.frmPhone.value) == "")
		{
			 alert("Insert Phone.");
			 return;
		}
		
		if(objForm.frmCongressRegistration.value == -1)
		{
		 	 alert("Please, select Registration Fee.");
			 return;
		}
		
		if((objForm.rgBookingAccomodation1.checked)
			  && (objForm.txtAccomodationCost.value == "0.00"))
		{
		 	 alert("Please, choose a Hotel, select number of guests, checkin and checkout date.");
			 return;
		}
		
		// if((objForm.rgOptionalSocialEvents1.checked)
			  // && (objForm.txtSocialEventCost.value == "0.00"))
		// {
		 	 // alert("Please, choose an optional social event and the number of guests.");
			 // return;
		// }
		
		if((objForm.frmSocialEventsFree.value != -1)
			  && (objForm.frmNumGuests2.value == -1))
		{
		 	 alert("Please, select the number of guests for social events.");
			 return;
		}
		
		if(confirm("Are you sure to proceed?"))
		{
			objForm.submit();
		}
}



function doSubmitRegistration()
{
 		var objForm = document.frmRegistration;
		
		if(objForm.rgPaymentMethod2.checked)
		{
    		if(trim(objForm.frmCreditCardNumber.value) == "")
    		{
    			 alert("Insert Credit Card Number.");
    			 return;
    		}
    		if((objForm.frmCreditCardExpiryDateMM.value == -1) || (objForm.frmCreditCardExpiryDateYY.value == -1))
    		{
    			 alert("Insert Credit Card Expiry Date.");
    			 return;
    		}
    		if(trim(objForm.frmCreditCardSecurityCode.value) == "")
    		{
    			 alert("Insert Credit Card Security Code.");
    			 return;
    		}
    		if(trim(objForm.frmCreditCardOwnerName.value) == "")
    		{
    			 alert("Insert Credit Card Owner Name.");
    			 return;
    		}
    		if(trim(objForm.frmCreditCardOwnerAddress.value) == "")
    		{
    			 alert("Insert Credit Card Owner Address.");
    			 return;
    		}
    		if(!objForm.frmAuth.checked)
    		{
    			 alert("Please, you need to give the CREDIT CARD PAYMENT AUTHORIZATION.");
    			 return;
    		}
		}		
		
		if(confirm("Are you sure to send your registration?"))
		{
			objForm.submit();
		}
}

function doSubmitSession(nMaxWordsAbstract)
{
    var objForm = document.frmRegistration;
    if(trim(objForm.frmLastName.value) == "") 
    {
        alert("Insert Last Name.");
        return;
    }
    if(trim(objForm.frmFirstName.value) == "") 
    {
        alert("Insert First Name.");
        return;
    }
    if(trim(objForm.frmQualification.value) == "") 
    {
        alert("Insert Qualification.");
        return;
    }
    if(trim(objForm.frmAffiliation.value) == "") 
    {
        alert("Insert Affiliation.");
        return;
    }
    if(trim(objForm.frmInstitute.value) == "") 
    {
        alert("Insert Institute.");
        return;
    }
    if(trim(objForm.frmAddress.value) == "") 
    {
        alert("Insert Address.");
        return;
    }
    if(trim(objForm.frmCity.value) == "") 
    {
        alert("Insert City.");
        return;
    }
    if(trim(objForm.frmCountry.value) == "") 
    {
        alert("Insert Country.");
        return;
    }
    if(trim(objForm.frmEmail.value) == "") 
    {
        alert("Insert Email.");
        return;
    }
    if(trim(objForm.frmPhone.value) == "") 
    {
        alert("Insert Phone.");
        return;
    }
    if(trim(objForm.frmFax.value) == "") 
    {
        alert("Insert Fax.");
        return;
    }
    if(trim(objForm.frmSessionType.value) == "") 
    {
        alert("Insert Session Type.");
        return;
    }
    if(trim(objForm.frmSessionTitle.value) == "") 
    {
        alert("Insert Session Title.");
        return;
    }
    if(trim(objForm.frmSessionAbstract.value) == "") 
    {
        alert("Insert Session Abstract.");
        return;
    }
	if(!checkMaxNumberOfWords(objForm.frmSessionAbstract.value, nMaxWordsAbstract))
	{
        alert("Please insert max " + nMaxWordsAbstract + " words in Session Abstract");
		return;
	}
    if(trim(objForm.frmSessionTopic.value) == "") 
    {
        alert("Insert Session Topic 1.");
        return;
    }
    if(trim(objForm.frmChairmanLastName.value) == "") 
    {
        alert("Insert Chairman Last Name.");
        return;
    }
    if(trim(objForm.frmChairmanFirstName2.value) == "") 
    {
        alert("Insert Chairman First Name.");
        return;
    }
    if(trim(objForm.frmChairmanAffiliation.value) == "") 
    {
        alert("Insert Chairman Affiliation.");
        return;
    }
    if(trim(objForm.frmChairmanAddress.value) == "") 
    {
        alert("Insert Chairman Address.");
        return;
    }
    if(trim(objForm.frmChairmanCity.value) == "") 
    {
        alert("Insert Chairman City.");
        return;
    }
    if(trim(objForm.frmChairmanCountry.value) == "") 
    {
        alert("Insert Chairman Country.");
        return;
    }
	/*
    if(trim(objForm.frmChairmanTitle.value) == "") 
    {
        alert("Insert Chairman Title.");
        return;
    }
	*/
    if(trim(objForm.frmPresenter1LastName.value) == "") 
    {
        alert("Insert Presenter 1 Last Name.");
        return;
    }
    if(trim(objForm.frmPresenter1First.value) == "") 
    {
        alert("Insert Presenter 1 First Name.");
        return;
    }
    if(trim(objForm.frmPresenter1Affiliation.value) == "") 
    {
        alert("Insert Presenter 1 Affiliation.");
        return;
    }
    if(trim(objForm.frmPresenter1Address.value) == "") 
    {
        alert("Insert Presenter 1 Address.");
        return;
    }
    if(trim(objForm.frmPresenter1City.value) == "") 
    {
        alert("Insert Presenter 1 City.");
        return;
    }
    if(trim(objForm.frmPresenter1Country.value) == "") 
    {
        alert("Insert Presenter 1 Country.");
        return;
    }
    if(trim(objForm.frmPresenter1Title.value) == "") 
    {
        alert("Insert Presenter 1 Title.");
        return;
    }
    if(confirm("Are you sure to send your registration?"))
    {
        objForm.submit();
    }
}

function doSubmitAbstract(nMaxWordsAbstract)
{
    var objForm = document.frmRegistration;
    if(trim(objForm.frmLastName.value) == "") 
    {
        alert("Insert Last Name.");
        return;
    }
    if(trim(objForm.frmFirstName.value) == "") 
    {
        alert("Insert First Name.");
        return;
    }
    if(trim(objForm.frmQualification.value) == "") 
    {
        alert("Insert Qualification.");
        return;
    }
    if(trim(objForm.frmAffiliation.value) == "") 
    {
        alert("Insert Affiliation.");
        return;
    }
    if(trim(objForm.frmInstitute.value) == "") 
    {
        alert("Insert Institute.");
        return;
    }
    if(trim(objForm.frmAddress.value) == "") 
    {
        alert("Insert Address.");
        return;
    }
    if(trim(objForm.frmCity.value) == "") 
    {
        alert("Insert City.");
        return;
    }
    if(trim(objForm.frmCountry.value) == "") 
    {
        alert("Insert Country.");
        return;
    }
    if(trim(objForm.frmEmail.value) == "") 
    {
        alert("Insert Email.");
        return;
    }
    if(trim(objForm.frmPhone.value) == "") 
    {
        alert("Insert Phone.");
        return;
    }
    if(trim(objForm.frmFax.value) == "") 
    {
        alert("Insert Fax.");
        return;
    }
    if(trim(objForm.frmAbstractName.value) == "") 
    {
        alert("Insert Session Name.");
        return;
    }
    if(trim(objForm.frmPreferredPresentation.value) == "") 
    {
        alert("Insert Preferred Presentation.");
        return;
    }
    if(trim(objForm.frmAbstractTitle.value) == "") 
    {
        alert("Insert Abstract Title.");
        return;
    }
    if(trim(objForm.frmAbstractText.value) == "") 
    {
        alert("Insert Abstract Text.");
        return;
    }
	if(!checkMaxNumberOfWords(objForm.frmAbstractText.value, nMaxWordsAbstract))
	{
        alert("Please insert max " + nMaxWordsAbstract + " words in Abstract text");
		return;
	}
    if(trim(objForm.frmSessionTopic.value) == "") 
    {
        alert("Insert Topic 1.");
        return;
    }
    if(confirm("Are you sure to send your registration?"))
    {
        objForm.submit();
    }
}

function checkMaxNumberOfWords(sText, nMaxWords)
{
	var fullStr = sText + " ";
	var initial_whitespace_rExp = /^[^A-Za-z0-9]+/gi;
	var left_trimmedStr = fullStr.replace(initial_whitespace_rExp, "");
	var non_alphanumerics_rExp = /[^A-Za-z0-9]+/gi;
	var cleanedStr = left_trimmedStr.replace(non_alphanumerics_rExp, " ");
	var splitString = cleanedStr.split(" ");
	var word_count = splitString.length - 1;
	if (fullStr.length < 2) 
	{
		word_count = 0;
	}
	return (word_count <= nMaxWords);
}

function doSubmitNewsletter()
{
    var objForm = document.frmRegistration;
    if(trim(objForm.frmLastName.value) == "") 
    {
        alert("Insert Last Name.");
        return;
    }
    if(trim(objForm.frmFirstName.value) == "") 
    {
        alert("Insert First Name.");
        return;
    }
    if(trim(objForm.frmAffiliation.value) == "") 
    {
        alert("Insert Affiliation.");
        return;
    }
    if(trim(objForm.frmAddress.value) == "") 
    {
        alert("Insert Address.");
        return;
    }
    if(trim(objForm.frmCity.value) == "") 
    {
        alert("Insert City.");
        return;
    }
    if(trim(objForm.frmCountry.value) == "") 
    {
        alert("Insert Country.");
        return;
    }
    if(trim(objForm.frmEmail.value) == "") 
    {
        alert("Insert Email.");
        return;
    }
    if(confirm("Are you sure to send your registration?"))
    {
        objForm.submit();
    }
}
