// JavaScript Document
//hide apartment notes 
function hideElement (elementId) {
	var element;
	if (document.all)
	element = document.all[elementId];
	else if (document.getElementById)
	element = document.getElementById(elementId);
	if (element && element.style)
	element.style.display = 'none';
}
function showElement (elementId) {
	var element;
	if (document.all)
	element = document.all[elementId];
	else if (document.getElementById)
	element = document.getElementById(elementId);
	if (element && element.style)
	element.style.display = '';
}

function cent(amount) {
	// returns the amount in the .99 format 
		amount -= 0;
		amount = (Math.round(amount*100))/100;
		return (amount == Math.floor(amount)) ? amount + '.00' : (  (amount*10 == Math.floor(amount*10)) ? amount + '0' : amount);
	}
var programFee = 0;
var registrationFee = 100;
var medicalFee = 0;
var airportFee = 0;
var accDepositFee = 0;
var accomodationFee = 0;
var depositFee = 400;

//Airport pickup option
function addPickup(){
	var addPickupOpt = false;
	for (var i=0; i < document.form1.airportPickup.length; i++){
		if (document.form1.airportPickup[i].checked){
			if(document.form1.airportPickup[i].value == 'Yes'){
				addPickupOpt = true;
			}
		}
	}
	if(addPickupOpt){
		airportFee = 90;
	}else{
		airportFee = 0;
	}
	calcTot();
}
//Medical Insurance option
function addMedical(){
	var addMedicalOpt = false;
	for (var i=0; i < document.form1.medicalInsurance.length; i++){
		if (document.form1.medicalInsurance[i].checked){
			if(document.form1.medicalInsurance[i].value == 'Yes'){
				addMedicalOpt = true;
			}
		}
	}
	if(addMedicalOpt){
		medDays = document.form1.medInsuranceDays.value;
		if(IsNumeric(medDays) == false){
			//alert("You must input number of days for Medical Insurance.");
			//document.form1.medInsuranceDays.focus();
			medicalFee = 0;
		}else{
			medicalFee = parseFloat(medDays) * 1.80 ;
		}	
	}else{
		medicalFee = 0;
	}
	calcTot();
}
//add program 
function addProgram(){
	var weekPrice = 95;
	
	/*
	var programArray = new Array();
	//30 hours
	programArray[0] = new Object();	
	programArray[0].id = 'ESL 30';
	programArray[0].price4 = 290;
	programArray[0].price12 = 280;
	programArray[0].price24 = 270;
	programArray[0].price25 = 265;
	
	
	programArray[1] = new Object();	
	programArray[1].id = 'TOEFL 30';
	programArray[1].price4 = 290;
	programArray[1].price12 = 280;
	programArray[1].price24 = 270;
	programArray[1].price25 = 265;
	
	programArray[2] = new Object();	
	programArray[2].id = 'TOEIC 30';
	programArray[2].price4 = 290;
	programArray[2].price12 = 280;
	programArray[2].price24 = 270;
	programArray[2].price25 = 265;

	//22.5 hours
	programArray[3] = new Object();	
	programArray[3].id = 'ESL 22';
	programArray[3].price4 = 240;
	programArray[3].price12 = 230;
	programArray[3].price24 = 210;
	programArray[3].price25 = 205;
	
	programArray[4] = new Object();	
	programArray[4].id = 'TOEFL 22';
	programArray[4].price4 = 240;
	programArray[4].price12 = 230;
	programArray[4].price24 = 210;
	programArray[4].price25 = 205;
	
	programArray[5] = new Object();	
	programArray[5].id = 'TOEIC 22';
	programArray[5].price4 = 240;
	programArray[5].price12 = 230;
	programArray[5].price24 = 210;
	programArray[5].price25 = 205;
	
	//15 hours
	programArray[6] = new Object();	
	programArray[6].id = 'ESL 15 am';
	programArray[6].price4 = 180;
	programArray[6].price12 = 170;
	programArray[6].price24 = 160;
	programArray[6].price25 = 155;
	
	programArray[7] = new Object();	
	programArray[7].id = 'ESL 15 pm';
	programArray[7].price4 = 180;
	programArray[7].price12 = 170;
	programArray[7].price24 = 160;
	programArray[7].price25 = 155;
	
	programArray[8] = new Object();	
	programArray[8].id = 'TOEFL 15 am';
	programArray[8].price4 = 180;
	programArray[8].price12 = 170;
	programArray[8].price24 = 160;
	programArray[8].price25 = 155;
	
	programArray[9] = new Object();	
	programArray[9].id = 'TOEFL 15 pm';
	programArray[9].price4 = 180;
	programArray[9].price12 = 170;
	programArray[9].price24 = 160;
	programArray[9].price25 = 155;
	
	programArray[10] = new Object();	
	programArray[10].id = 'TOEIC 15 am';
	programArray[10].price4 = 180;
	programArray[10].price12 = 170;
	programArray[10].price24 = 160;
	programArray[10].price25 = 155;
	
	programArray[11] = new Object();	
	programArray[11].id = 'TOEIC 15 pm';
	programArray[11].price4 = 180;
	programArray[11].price12 = 170;
	programArray[11].price24 = 160;
	programArray[11].price25 = 155;
	
	//calculate....
	var addProgramFee = false;
	var programSelected = "";
	if(document.form1.lanProgram.value != 'Select a program'){
		addProgramFee = true;
		programSelected = document.form1.lanProgram.value;
	}
	if(addProgramFee){
		//check if weeks are selected
		progWeeks = document.form1.programWeeks.value;
		if(IsNumeric(progWeeks) == false){
			programFee = 0;
		}else{
			for(var j=0; j<programArray.length; ++j) {
				if(programArray[j].id == programSelected){
					if(progWeeks >=1 && progWeeks <=4){
						programFee = programArray[j].price4 * parseFloat(progWeeks);
					}else if(progWeeks >=5 && progWeeks <=12){
						programFee = programArray[j].price12 * parseFloat(progWeeks);
					}else if(progWeeks >=13 && progWeeks <=24){
						programFee = programArray[j].price24 * parseFloat(progWeeks);
					}else if(progWeeks >=25){
						programFee = programArray[j].price25 * parseFloat(progWeeks);
					}else{
						programFee = 0;
					}
				}
			}	
		}
	}else{
		programFee = 0;
	}
	*/
	programFee = 0;
	var boxes = document.form1["lanProgram[]"].length;
	var checkedCourses = 0;
	for (i = 0; i < boxes; i++) {
		if (document.form1["lanProgram[]"][i].checked) {
			checkedCourses ++;
		}
	}
	if(checkedCourses > 3){
		alert("You can select up to 3 English Programs.");
	}else if(checkedCourses > 0 && checkedCourses <= 3){
		progWeeks = document.form1.programWeeks.value;
		if(IsNumeric(progWeeks) == false){
			programFee = 0;
		}else{
			programAd = checkedCourses * weekPrice;
			programFee = parseFloat(programAd) * parseFloat(progWeeks);
		}
	}
	calcTot();	
}
function addAccomodation(){
	var accomodationArray = new Array();
	//Homestay - breakfast, lunch and dinner
	accomodationArray[0] = new Object();	
	accomodationArray[0].id = 'Homestay - breakfast, lunch and dinner';
	accomodationArray[0].price4 = 900;
	accomodationArray[0].numWeeks = 4;
	accomodationArray[0].priceWeek = 200;
	accomodationArray[0].pricePlacement = 0;
	accomodationArray[0].priceCleaning = 0;

	//Homestay - breakfast and dinner
	accomodationArray[1] = new Object();	
	accomodationArray[1].id = 'Homestay - breakfast and dinner';
	accomodationArray[1].price4 = 860;
	accomodationArray[1].numWeeks = 4;
	accomodationArray[1].priceWeek = 190;
	accomodationArray[1].pricePlacement = 0;
	accomodationArray[1].priceCleaning = 0;
	
	//Apartment accommodation
	accomodationArray[2] = new Object();	
	accomodationArray[2].id = 'Apartment accommodation';
	accomodationArray[2].price4 = 2550;
	accomodationArray[2].numWeeks = 3;
	accomodationArray[2].priceWeek = 850;
	accomodationArray[2].pricePlacement = 160;
	accomodationArray[2].priceCleaning = 75;
	
	//calculate....
	var addAccomodationFee = false;
	var accomodationSelected = "";
	var first4 = 0;
	var eachWeek = 0;
	var placement = 0;
	var cleaning = 0;
	var accTotal = 0;
	var accAddOn = 0;
	
	if(document.form1.accomodation.value != 'Select accommodation option' && document.form1.accomodation.value != 'Not required'){
		addAccomodationFee = true;
		accomodationSelected = document.form1.accomodation.value;
	}
	if(document.form1.accomodation.value == 'Apartment accommodation'){
		//change weeks into months
		
		accomodationsTitleField = document.getElementById("accTitle"); 
		accomodationsTitleField.innerHTML = 'Number of Months:';
		//alert('Please note:  apartment accommodation is charged on monthly basis.');
		showElement('appNote');
		
		
	}else{
		hideElement('appNote');
	}
	
	if(addAccomodationFee){
		//calculate total number of weeks between two dates
		var startAccDate = document.form1.accStart_mm.value+'/'+document.form1.accStart_dd.value+'/'+document.form1.accStart_yyyy.value;
		//var endAccDate = document.form1.accEnd_mm.value+'/'+document.form1.accEnd_dd.value+'/'+document.form1.accEnd_yyyy.value;
		
		if(isDateNoAlert(startAccDate) && document.form1.accomodationWeeks.value != ''){
			/*date1 = new Date();
			date2 = new Date();
			diff = new Date();
			date1temp = new Date(startAccDate);
			date1.setTime(date1temp.getTime());
			date2temp = new Date(endAccDate);
			date2.setTime(date2temp.getTime());
			diff.setTime(Math.abs(date1.getTime() - date2.getTime()));
			timediff = diff.getTime();
			weeks = Math.floor(timediff / (1000 * 60 * 60 * 24 * 7));*/
			weeks = document.form1.accomodationWeeks.value;
			for(var j=0; j<accomodationArray.length; ++j) {
				if(accomodationArray[j].id == accomodationSelected){	
					accDepositFee = accomodationArray[j].price4;
					numWeeks = accomodationArray[j].numWeeks;
					eachWeek = accomodationArray[j].priceWeek * (weeks - numWeeks);
					placement = accomodationArray[j].pricePlacement;
					cleaning = accomodationArray[j].priceCleaning;
					accDepositFee = accDepositFee + placement + cleaning;
					accTotal = eachWeek;
					
					if(parseFloat(accTotal) <= 0){
						accomodationFee = 0;	
					}else{
						accomodationFee = accTotal;
					}
					
					//accTotal = first4 + eachWeek + placement + cleaning;
					//accAddOn = first4 + placement + cleaning;
					depositFee = 400 + accDepositFee;
					//accomodationFee = accTotal;
				}
			}
		}else{
			accomodationFee = 0;
		}
	}else{
		accomodationFee = 0;	
	}
	calcTot();
}

function calcTot(){
	myTotal = parseFloat(programFee) + parseFloat(registrationFee) + parseFloat(medicalFee) + parseFloat(airportFee) + parseFloat(accDepositFee)+ parseFloat(accomodationFee);     
	myDeposit = depositFee;
	myRemaining = myTotal - myDeposit;
	
	
	programField = document.getElementById("programFees"); 
	programField.innerHTML = '$'+cent(programFee);
	document.form1.programFees.value = cent(programFee);
	
	registrationsField = document.getElementById("registrationsFees"); 
	registrationsField.innerHTML = '$'+cent(registrationFee);
	document.form1.registrationFees.value = cent(registrationFee);
	
	medicalField = document.getElementById("medicalFees"); 
	medicalField.innerHTML = '$'+cent(medicalFee);
	document.form1.medicalFees.value = cent(medicalFee);
	
	airportField = document.getElementById("airportFees"); 
	airportField.innerHTML = '$'+cent(airportFee);
	document.form1.airportFees.value = cent(airportFee);
	
	accomodationsField = document.getElementById("accomodationsDepFees"); 
	accomodationsField.innerHTML = '$'+cent(accDepositFee);
	document.form1.accomodationDepositFees.value = cent(accDepositFee);
	
	accomodationsField = document.getElementById("accomodationsFees"); 
	accomodationsField.innerHTML = '$'+cent(accomodationFee);
	document.form1.accomodationFees.value = cent(accomodationFee);
	
	totalField = document.getElementById("totalfees"); 
	totalField.innerHTML = '$'+cent(myTotal);
	document.form1.totalFees.value = cent(myTotal);
	
	depositField = document.getElementById("depositFees"); 
	depositField.innerHTML = '$'+cent(myDeposit);
	document.form1.minimumDepositFees.value = cent(myDeposit);
	
	remainingField = document.getElementById("remainingFees"); 
	remainingField.innerHTML = '$'+cent(myRemaining);
	document.form1.remainderFees.value = cent(myRemaining);
	
	

}


	
	
	
	
	
	
