//==========================================================//
// Note Month Values passed to or fram the Date() function	//
// begin at zero. ie Jan = 0, Feb = 1, Mar = 2 etc			//
//==========================================================//


function FormatStartKmsPrompt(fskpLeaseStartDate)
	{
	var CurrentSysDate = new Date();
	var CurrentDate = new Date(CurrentSysDate.getFullYear(), CurrentSysDate.getMonth(), CurrentSysDate.getDate(), 00,00,00)

//Validate Input============================================//
	if (document.FBT.Annualkm.value == "")
		{
		window.alert("Nominated Annual Kms Must Be Entered");
		document.FBT.Annualkm.select();
		document.FBT.Annualkm.focus();
		return;
		}
	if (isNaN(document.FBT.Annualkm.value))
		{
		window.alert("Nominated Annual Kms Must Be Numeric");
		document.FBT.Annualkm.select();
		document.FBT.Annualkm.focus();
		return;
		}
	if (document.FBT.Annualkm.value <= 0)
		{
		window.alert("Nominated Annual Kms Cannot Be Negative");	
		document.FBT.Annualkm.select();
		document.FBT.Annualkm.focus();
		return;
		}
//Calculate FBT Statutory Fraction==========================//
	if (document.FBT.Annualkm.value < 15000)
		document.FBT.NomFBT.value = "26%"
	else
	if (document.FBT.Annualkm.value < 25000)
		document.FBT.NomFBT.value = "20%"
	else
	if (document.FBT.Annualkm.value < 40001)
		document.FBT.NomFBT.value = "11%"
	else
		document.FBT.NomFBT.value = "7%";
	
	var cpucFbtYearEndDate = FBTEndDate(fskpLeaseStartDate);
	var cpucFbtYearEndYear = cpucFbtYearEndDate.getFullYear();
	var cpucFbtYearEndMonth = cpucFbtYearEndDate.getMonth();
	var cpucFbtYearEndDay = cpucFbtYearEndDate.getDate();
	document.FBT.EndDate.value = (cpucFbtYearEndDay + "/" + (cpucFbtYearEndMonth + 1) + "/" + cpucFbtYearEndYear);

//Generate Start KM Prompt==================================//
	//Convert Formated Lease Start Date to Date Object
	LeaseStartDate = fskpLeaseStartDate;
	LsdArray = LeaseStartDate.split("/");
	LsdDay = LsdArray[0];
	LsdMonth = LsdArray[1];
	LsdYear = LsdArray[2];
	var ContractStartDate = new Date(LsdYear, (LsdMonth - 1), LsdDay);

	if (isNaN(ContractStartDate))
		{
		ContractStartDate = CurrentDate
		LsdDay = CurrentDate.getDate()
		LsdMonth = (CurrentDate.getMonth() + 1)
		LsdYear = CurrentDate.getFullYear()
		if (LsdDay < 10)
			{
			strLsdDay = "0" + LsdDay
			}
		if (LsdMonth < 10)
			{
			strLsdMonth = "0" + LsdMonth
			}
		document.FBT.LeaseStartDate.value = strLsdDay + "/" + strLsdMonth + "/" + LsdYear
		}
	
	//Retrieve FBT Start Date
	var fskpFbtYearStartDate = FBTStartDate(LeaseStartDate);
	var fskpFbtYearStartYear = fskpFbtYearStartDate.getFullYear();
	var fskpFbtYearStartMonth = fskpFbtYearStartDate.getMonth();
	var fskpFbtYearStartDay = fskpFbtYearStartDate.getDate();
	
	if (ContractStartDate >= fskpFbtYearStartDate)
		fskpStartKmsPrompt = "Lease Start Kms"
	else 
		fskpStartKmsPrompt = ("Kms as at " + fskpFbtYearStartDay + "/" + (fskpFbtYearStartMonth + 1) + "/" + fskpFbtYearStartYear);
	
	document.FBT.StartKmsPrompt.value=fskpStartKmsPrompt;

//Calculate Days In Use=====================================//
	var CurrentSysDate = new Date();
	var CurrentDate = new Date(CurrentSysDate.getFullYear(), CurrentSysDate.getMonth(), CurrentSysDate.getDate(), 00,00,00)
	var fskpFbtYearEndDate = FBTEndDate(LeaseStartDate);

	if (ContractStartDate > CurrentDate)
		fskpDaysInUse = 0
	else
	if (ContractStartDate >= fskpFbtYearStartDate) 
		fskpDaysInUse = Math.round(((CurrentDate - ContractStartDate) / 86400000))
	else 
		fskpDaysInUse = Math.round(((CurrentDate - fskpFbtYearStartDate) / 86400000));
		
	document.FBT.DaysI.value=fskpDaysInUse;

//Calculate Days Remaining==================================//
	
	if (ContractStartDate > CurrentDate) 
		fskpDaysRemaining = Math.round(((fskpFbtYearEndDate - ContractStartDate) / 86400000) + 1)
	else
		fskpDaysRemaining = Math.round(((fskpFbtYearEndDate - CurrentDate) / 86400000) + 1);
		
	document.FBT.DaysR.value=fskpDaysRemaining;

//Calculate Number of Days in the FBT Year==========================//
	fskpDaysInFbtYear = Math.round(((fskpFbtYearEndDate - fskpFbtYearStartDate) / 86400000) + 1);
	
//Calculate Kms Required at FBT Year End============================//
	fskpNomAnnualKm = Number(document.FBT.Annualkm.value);
	fskpStartKm = Number(document.FBT.Startkm.value);
	fskpCurrentKm = Number(document.FBT.Actualkm.value);
	fskpNomDailyKm = Number(fskpNomAnnualKm / fskpDaysInFbtYear);

	if (ContractStartDate > CurrentDate)
		fskpKmReqd = Math.round(((fskpNomDailyKm * fskpDaysRemaining) + fskpStartKm))
	else
	if (ContractStartDate <= fskpFbtYearStartDate) 
		fskpKmReqd = Math.round(((fskpNomDailyKm * fskpDaysInFbtYear) + fskpStartKm))
	else
		fskpKmReqd = Math.round(((fskpNomDailyKm * (fskpDaysInUse + fskpDaysRemaining)) + fskpStartKm));
			
	document.FBT.EndKM.value=fskpKmReqd;
	
//Calculate Kms Additional Kms Required=============================//
	if (ContractStartDate > CurrentDate)
		document.FBT.Addkm.value = fskpKmReqd - fskpStartKm
	else
		document.FBT.Addkm.value = fskpKmReqd - fskpCurrentKm;

//Calculate Daily Kms Required======================================//
	//document.FBT.DailyAddkm.value = Math.round(Number(document.FBT.Addkm.value) / fskpDaysRemaining);
	document.FBT.DailyAddkm.value = Number(document.FBT.Addkm.value) / fskpDaysRemaining;
	//Use the math.ceil function to always round UP.
	//document.FBT.DailyAddkm.value = Math.ceil(Number(document.FBT.Addkm.value) / fskpDaysRemaining);

//Calculate Projected Kms At Year End===============================//
	fskpActualKm = Number(document.FBT.Actualkm.value);
	//fskpActualDailyKm = Math.round(((fskpActualKm - fskpStartKm) / fskpDaysInUse));
	fskpActualDailyKm = ((fskpActualKm - fskpStartKm) / fskpDaysInUse);

	if (fskpActualDailyKm > 1000)
		{
		window.alert("WARNING: Daily Km (" + fskpActualDailyKm + ") are > 1000km per day. Please check Current Odometer Reading");
		document.FBT.Actualkm.select();
		document.FBT.Actualkm.focus();
		return;
		}
	
	if (fskpDaysInUse == 0)
		{
		fskpActualDailyKm = 0
		document.FBT.ProjKM.value = 0
		}
	else
		{
		document.FBT.ProjKM.value = Math.round(((fskpActualDailyKm * fskpDaysRemaining) + fskpCurrentKm))
		}
		
//Calculate Projected Annualised Kms================================//
	fskpProjAnnualKm = Math.round((fskpActualDailyKm * fskpDaysInFbtYear));
	document.FBT.EstKM.value = fskpProjAnnualKm;

//Calculate Projected FBT Statutory Fraction========================//

	if (fskpProjAnnualKm == 0)
		document.FBT.ActFBT.value = "0%"
	else
	if (fskpProjAnnualKm < 15000)
		document.FBT.ActFBT.value = "26%"
	else
	if (fskpProjAnnualKm < 25000)
		document.FBT.ActFBT.value = "20%"
	else
	if (fskpProjAnnualKm < 40000)
		document.FBT.ActFBT.value = "11%"
	else
		document.FBT.ActFBT.value = "7%";
	}

//==================================================================//
function FBTStartDate(fsdDate)
	//Calculate FBT Year Start Date
	{
	//Retrieve FBT Year End Date
	fsdFBTYearEndDate = FBTEndDate(fsdDate);
	fedYear = fsdFBTYearEndDate.getFullYear();
	
	var FbtYearStartDate = new Date((fedYear - 1), 03, 01);
	return FbtYearStartDate
	}
//==================================================================//
function FBTEndDate(fyeDate)
	{
	//Retrieve the Current Date Fields//
	var CurrentDate = new Date();
	var CurrentYear = CurrentDate.getFullYear();
	var CurrentMonth = CurrentDate.getMonth();
	var CurrentDay = CurrentDate.getDate();
	
	//Calculate the FBT Year End Date//
	if (CurrentMonth > 2) 
		FbtYear = CurrentYear + 1
	else 
		FbtYear = CurrentYear;

	var FbtYearEndDate = new Date(FbtYear, 02, 31);
	return FbtYearEndDate;
	}
//==================================================================//
function InitAnnualKm()
	{
	document.FBT.Annualkm.value = "";
	document.FBT.StartKmsPrompt.value="";
	}
//==================================================================//
function CallPopUpCalendar(calThis, calLeaseStartDate, calFormat)
	{
	popUpCalendar(calThis, calLeaseStartDate, calFormat);
	
	var cpucFbtYearEndDate = FBTEndDate(calLeaseStartDate);
	var cpucFbtYearEndYear = cpucFbtYearEndDate.getFullYear();
	var cpucFbtYearEndMonth = cpucFbtYearEndDate.getMonth();
	var cpucFbtYearEndDay = cpucFbtYearEndDate.getDate();
	document.FBT.EndDate.value = (cpucFbtYearEndDay + "/" + (cpucFbtYearEndMonth + 1) + "/" + cpucFbtYearEndYear);

	//InitAnnualKm();
	}
//==================================================================//
//function FormatFbtYearEndDate(ffyedLeaseStartDate)
//	{
//	var cpucFbtYearEndDate = FBTEndDate(ffyedLeaseStartDate);
//	var cpucFbtYearEndYear = cpucFbtYearEndDate.getFullYear();
//	var cpucFbtYearEndMonth = cpucFbtYearEndDate.getMonth();
//	var cpucFbtYearEndDay = cpucFbtYearEndDate.getDate();
//	document.FBT.EndDate.value = (cpucFbtYearEndDay + "/" + (cpucFbtYearEndMonth + 1) + "/" + cpucFbtYearEndYear);
//	}
//==================================================================//
function SelectDateButton()
	{
	window.alert("Please click on the 'Select Date' button to enter a valid date.");
	}
//==================================================================//

