// check if fields are empty
function isFieldsEmpty(fieldsetHoursPerDayId, labelHoursPerDayId, fieldsetDaysOfTheWeekId, labelDaysOfTheWeekId) 
	{
	if ((!theForm.txtHoursPerDay.value=='') && (!theForm.txtDaysOfTheWeek.value==''))
		{
		//reset alerts
		document.getElementById(fieldsetDaysOfTheWeekId).style.backgroundColor = '#f5fa73';
		document.getElementById(labelDaysOfTheWeekId).style.backgroundColor = '#f5fa73';
		
		document.getElementById(fieldsetHoursPerDayId).style.backgroundColor = '#f5fa73';
		document.getElementById(labelHoursPerDayId).style.backgroundColor = '#f5fa73';
		
		document.all("errorMsg").innerText = '';
		return true;
		}
	else
		{
		document.getElementById(fieldsetDaysOfTheWeekId).style.backgroundColor = '#FF0033';
		document.getElementById(labelDaysOfTheWeekId).style.backgroundColor = '#FF0033';
		
		document.getElementById(fieldsetHoursPerDayId).style.backgroundColor = '#FF0033';
		document.getElementById(labelHoursPerDayId).style.backgroundColor = '#FF0033';
		
		document.all("errorMsg").innerText = 'Highlighted fields must be filled to calculate';
		event.returnValue=false;
		}
	}
	
	
//validate Hours Per Day field for numbers only
function isHoursPerDayEmpty(fieldsetHoursPerDayId, labelHoursPerDayId, fieldsetDaysOfTheWeekId, labelDaysOfTheWeekId)
	{		
	if (!theForm.txtHoursPerDay.value=='')
		{
		invalidCharacters = /[^0-9 ]/i;
		var isValid = !(invalidCharacters.test(theForm.txtHoursPerDay.value)) && (theForm.txtHoursPerDay.value < 25);
		if (isValid == false)
			{
			document.getElementById(fieldsetHoursPerDayId).style.backgroundColor = '#FF0033';
			document.getElementById(labelHoursPerDayId).style.backgroundColor = '#FF0033';
			
			document.getElementById(fieldsetDaysOfTheWeekId).style.backgroundColor = '#f5fa73';
			document.getElementById(labelDaysOfTheWeekId).style.backgroundColor = '#f5fa73';
			
			document.all("errorMsg").innerText = 'Hours Per Day is incorrect, only use numbers 1 to 24';
			event.returnValue=false;
			}
		else
			{
			return true;
			}
		}
	else
		{
		return true;
		}
	}
	
//validate Days Of The Week field for numbers only
function isDaysOfTheWeekEmpty(fieldsetHoursPerDayId, labelHoursPerDayId, fieldsetDaysOfTheWeekId, labelDaysOfTheWeekId)
	{		
	if (!theForm.txtDaysOfTheWeek.value=='')
		{
		invalidCharacters = /[^1-7 ]/i;
		var isValid = !(invalidCharacters.test(theForm.txtDaysOfTheWeek.value));
		if (isValid == false)
			{
			document.getElementById(fieldsetHoursPerDayId).style.backgroundColor = '#f5fa73';
			document.getElementById(labelHoursPerDayId).style.backgroundColor = '#f5fa73';
			
			document.getElementById(fieldsetDaysOfTheWeekId).style.backgroundColor = '#FF0033';
			document.getElementById(labelDaysOfTheWeekId).style.backgroundColor = '#FF0033';
			
			document.all("errorMsg").innerText = 'Days Of The Week is incorrect, only use numbers 1 to 7';
			event.returnValue=false;
			}
		else
			{
			return true;
			}
		}
	else
		{
		return true;
		}
	}


function calculateFee()
	{
	//run validation
	if(!isFieldsEmpty('fieldsetHoursPerDayId', 'labelHoursPerDayId', 'fieldsetDaysOfTheWeekId', 'labelDaysOfTheWeekId'))
		return false;
	if(!isHoursPerDayEmpty('fieldsetHoursPerDayId', 'labelHoursPerDayId', 'fieldsetDaysOfTheWeekId', 'labelDaysOfTheWeekId', theForm.txtHoursPerDay.value))
		return false;
	if(!isDaysOfTheWeekEmpty('fieldsetHoursPerDayId', 'labelHoursPerDayId', 'fieldsetDaysOfTheWeekId', 'labelDaysOfTheWeekId', theForm.txtDaysOfTheWeek.value))
		{
		return false;
		}
	else
		{
		// calculate fee
		homePickUp = 3.00;
		homeDropOff = 3.00;
		schoolDropOff = 3.00;
		schoolPickUp = 3.00;
		afterSchoolActivityDropOff = 3.00;
		afterSchoolActivityPickUp = 3.00;
		homeWork = 5.00;
		
		/* ##### pick values from field :starts ##### */
		var hoursPerDay = document.theForm.txtHoursPerDay.value;
		var daysOfTheWeek = document.theForm.txtDaysOfTheWeek.value;
		/* ##### pick values from field :ends ##### */
		
		totalHoursRate = hoursPerDay * daysOfTheWeek;
		
		if 		(totalHoursRate == 1) { stdFee = 5.77; }
		else if (totalHoursRate == 2) { stdFee = 5.74; }
		else if (totalHoursRate == 3) { stdFee = 5.71; }
		else if (totalHoursRate == 4) { stdFee = 5.68; }
		else if (totalHoursRate == 5) { stdFee = 5.65; }
		else if (totalHoursRate == 6) { stdFee = 5.62; }
		else if (totalHoursRate == 7) { stdFee = 5.59; }
		else if (totalHoursRate == 8) { stdFee = 5.56; }
		else if (totalHoursRate == 9) { stdFee = 5.53; }
		else if (totalHoursRate == 10) { stdFee = 5.50; }
		else if (totalHoursRate == 11) { stdFee = 5.47; }
		else if (totalHoursRate == 12) { stdFee = 5.44; }
		else if (totalHoursRate == 13) { stdFee = 5.41; }
		else if (totalHoursRate == 14) { stdFee = 5.38; }
		else if (totalHoursRate == 15) { stdFee = 5.35; }
		else if (totalHoursRate == 16) { stdFee = 5.32; }
		else if (totalHoursRate == 17) { stdFee = 5.29; }
		else if (totalHoursRate == 18) { stdFee = 5.26; }
		else if (totalHoursRate == 19) { stdFee = 5.23; }
		else if (totalHoursRate == 20) { stdFee = 5.20; }
		else if (totalHoursRate == 21) { stdFee = 5.17; }
		else if (totalHoursRate == 22) { stdFee = 5.14; }
		else if (totalHoursRate == 23) { stdFee = 5.11; }
		else if (totalHoursRate == 24) { stdFee = 5.08; }
		else if (totalHoursRate == 25) { stdFee = 5.05; }
		else if (totalHoursRate == 26) { stdFee = 5.02; }
		else if (totalHoursRate == 27) { stdFee = 4.99; }
		else if (totalHoursRate == 28) { stdFee = 4.96; }
		else if (totalHoursRate == 29) { stdFee = 4.93; }
		else if (totalHoursRate == 30) { stdFee = 4.90; }
		else if (totalHoursRate == 31) { stdFee = 4.87; }
		else if (totalHoursRate == 32) { stdFee = 4.84; }
		else if (totalHoursRate == 33) { stdFee = 4.81; }
		else if (totalHoursRate == 34) { stdFee = 4.78; }
		else if (totalHoursRate == 35) { stdFee = 4.75; }
		else if (totalHoursRate == 36) { stdFee = 4.72; }
		else if (totalHoursRate == 37) { stdFee = 4.69; }
		else if (totalHoursRate == 38) { stdFee = 4.66; }
		else if (totalHoursRate == 39) { stdFee = 4.63; }
		else if (totalHoursRate == 40) { stdFee = 4.60; }
		else if (totalHoursRate == 41) { stdFee = 4.57; }
		else if (totalHoursRate == 42) { stdFee = 4.54; }
		else if (totalHoursRate == 43) { stdFee = 4.51; }
		else if (totalHoursRate == 44) { stdFee = 4.48; }
		else if (totalHoursRate == 45) { stdFee = 4.45; }
		else if (totalHoursRate == 46) { stdFee = 4.42; }
		else if (totalHoursRate == 47) { stdFee = 4.39; }
		else if (totalHoursRate == 48) { stdFee = 4.36; }
		else if (totalHoursRate == 49) { stdFee = 4.33; }
		else if (totalHoursRate == 50) { stdFee = 4.30; }
		else if (totalHoursRate == 51) { stdFee = 4.27; }
		else if (totalHoursRate == 52) { stdFee = 4.24; }
		else if (totalHoursRate == 53) { stdFee = 4.21; }
		else if (totalHoursRate == 54) { stdFee = 4.18; }
		else if (totalHoursRate == 55) { stdFee = 4.15; }
		else if (totalHoursRate == 56) { stdFee = 4.12; }
		else if (totalHoursRate == 57) { stdFee = 4.09; }
		else if (totalHoursRate == 58) { stdFee = 4.06; }
		else if (totalHoursRate == 59) { stdFee = 4.03; }
		else if (totalHoursRate == 60) { stdFee = 4.00; }
		else if (totalHoursRate > 60) { stdFee = 4.00; }
		
		else { stdFee == 6.00; }
		
		/* ##### check if fields are empty :starts ##### */
		if ((!hoursPerDay.length == 0) || (!hoursPerDay == null))
			dayHours = hoursPerDay
		else dayHours = 1
		
		if ((!daysOfTheWeek.length == 0) || (!daysOfTheWeek == null))
			weekDaysWeek = daysOfTheWeek
		else weekDaysWeek = 1
		/* ##### check if fields are empty :ends ##### */
	
	/* ##### calculate checkboxes value for entire week :starts ##### */
		//home
		totalNumberOfDaysHomePickUps = document.theForm.txtNumberOfDaysHomePickUps.value;
		if (theForm.txtHomePickUps.checked == 1) 
			totalFeeHomePickUps = (totalNumberOfDaysHomePickUps * homePickUp)
		else totalFeeHomePickUps = 0
		
		totalNumberOfDaysHomeDropOffs = document.theForm.txtNumberOfDaysHomeDropOffs.value;
		if (theForm.txtHomeDropOffs.checked == 1) 
			totalFeeHomeDropOffs = (totalNumberOfDaysHomeDropOffs * homeDropOff)
		else totalFeeHomeDropOffs = 0
		
		
		//school
		totalNumberOfDaysSchoolDropOffs = document.theForm.txtNumberOfDaysSchoolDropOffs.value;
		if (theForm.txtSchoolDropOffs.checked == 1) 
			totalFeeSchoolDropOffs = (totalNumberOfDaysSchoolDropOffs * schoolDropOff)
		else totalFeeSchoolDropOffs = 0
		
		totalNumberOfDaysSchoolPickUps = document.theForm.txtNumberOfDaysSchoolPickUps.value;
		if (theForm.txtSchoolPickUps.checked == 1) 
			totalFeeSchoolPickUps = (totalNumberOfDaysSchoolPickUps * schoolPickUp)
		else totalFeeSchoolPickUps = 0
		
		
		//After School
		totalNumberOfDaysAfterSchoolActivityDropOffs = document.theForm.txtNumberOfDaysAfterSchoolActivityDropOffs.value;
		if (theForm.txtAfterSchoolActivityDropOffs.checked == 1) 
			totalFeeAfterSchoolActivityDropOffs = (totalNumberOfDaysAfterSchoolActivityDropOffs * afterSchoolActivityDropOff)
		else totalFeeAfterSchoolActivityDropOffs = 0
		
		totalNumberOfDaysAfterSchoolActivityPickUps = document.theForm.txtNumberOfDaysAfterSchoolActivityPickUps.value;
		if (theForm.txtAfterSchoolActivityPickUps.checked == 1) 
			totalFeeAfterSchoolActivityPickUps = (totalNumberOfDaysAfterSchoolActivityPickUps * afterSchoolActivityPickUp)
		else totalFeeAfterSchoolActivityPickUps = 0
		
		
		//homework
		totalNumberOfDaysChildHelpWithHomework = document.theForm.txtNumberOfDaysChildHelpWithHomework.value;
		if (theForm.txtHelpWithHomework.checked == 1) 
			totalFeeHelpWithHomework = (totalNumberOfDaysChildHelpWithHomework * homeWork)
		else totalFeeHelpWithHomework = 0
		/* ##### calculate checkboxes value for entire week :ends ##### */
		
		
		//write to textfields  - Math.ceil(16.01)
		document.theForm.txtCalculatedFee.value = "£ " + (Math.ceil((dayHours * weekDaysWeek * stdFee)) + (totalFeeHomePickUps + totalFeeHomeDropOffs + totalFeeSchoolDropOffs + totalFeeSchoolPickUps + totalFeeAfterSchoolActivityDropOffs + totalFeeAfterSchoolActivityPickUps + totalFeeHelpWithHomework)).toFixed(2);
		return true;
		}
	}
	
	
//insert value into fields
function insertEntry(totalDays)
	{
	// home
	document.theForm.txtNumberOfDaysHomePickUps.value = totalDays;
	document.theForm.txtNumberOfDaysHomePickUps.style.color = "#cccccc";

	document.theForm.txtNumberOfDaysHomeDropOffs.value = totalDays;
	document.theForm.txtNumberOfDaysHomeDropOffs.style.color = "#cccccc";
	
	//school
	document.theForm.txtNumberOfDaysSchoolDropOffs.value = totalDays;
	document.theForm.txtNumberOfDaysSchoolDropOffs.style.color = "#cccccc";
	
	document.theForm.txtNumberOfDaysSchoolPickUps.value = totalDays;
	document.theForm.txtNumberOfDaysSchoolPickUps.style.color = "#cccccc";
	
	//after school
	document.theForm.txtNumberOfDaysAfterSchoolActivityDropOffs.value = totalDays;
	document.theForm.txtNumberOfDaysAfterSchoolActivityDropOffs.style.color = "#cccccc";
	
	document.theForm.txtNumberOfDaysAfterSchoolActivityPickUps.value = totalDays;
	document.theForm.txtNumberOfDaysAfterSchoolActivityPickUps.style.color = "#cccccc";
	
	//homework
	document.theForm.txtNumberOfDaysChildHelpWithHomework.value = totalDays;
	document.theForm.txtNumberOfDaysChildHelpWithHomework.style.color = "#cccccc";
	return true;
	}

	
//text appears/disappears on check
function textAppear() 
	{
	//home
	if (document.theForm.txtHomePickUps.checked) document.theForm.txtNumberOfDaysHomePickUps.style.color = "#000000";
	else document.theForm.txtNumberOfDaysHomePickUps.style.color = "#cccccc";
	
	if (document.theForm.txtHomeDropOffs.checked) document.theForm.txtNumberOfDaysHomeDropOffs.style.color = "#000000";
	else document.theForm.txtNumberOfDaysHomeDropOffs.style.color = "#cccccc";
	
	//school
	if (document.theForm.txtSchoolDropOffs.checked) document.theForm.txtNumberOfDaysSchoolDropOffs.style.color = "#000000";
	else document.theForm.txtNumberOfDaysSchoolDropOffs.style.color = "#cccccc";
	
	if (document.theForm.txtSchoolPickUps.checked) document.theForm.txtNumberOfDaysSchoolPickUps.style.color = "#000000";
	else document.theForm.txtNumberOfDaysSchoolPickUps.style.color = "#cccccc";
	
	//after school
	if (document.theForm.txtAfterSchoolActivityDropOffs.checked) document.theForm.txtNumberOfDaysAfterSchoolActivityDropOffs.style.color = "#000000";
	else document.theForm.txtNumberOfDaysAfterSchoolActivityDropOffs.style.color = "#cccccc";
	
	if (document.theForm.txtAfterSchoolActivityPickUps.checked) document.theForm.txtNumberOfDaysAfterSchoolActivityPickUps.style.color = "#000000";
	else document.theForm.txtNumberOfDaysAfterSchoolActivityPickUps.style.color = "#cccccc";
	
	//homework
	if (document.theForm.txtHelpWithHomework.checked) document.theForm.txtNumberOfDaysChildHelpWithHomework.style.color = "#000000";
	else document.theForm.txtNumberOfDaysChildHelpWithHomework.style.color = "#cccccc";
	return true;
	}
