
//declare variables - rates
//owner rates
var OR1 = 3.89;
var OR2 = 3.31;
var OR3 = 2.78;
var OR4 = 2.21;
var OR5 = 1.84;
var OR6 = 1.58;
//lender rates
var LR1 = 2.78;
var LR2 = 2.21;
var LR3 = 1.94;
var LR4 = 1.68;
var LR5 = 1.31;
var LR6 = 1.05;
var OwnerMinimum = 155.60;
var OwnerMinimumLimit = 40000; 
var LenderMinimum = 111.20;
var LenderMinimumLimit = 40000;
var SimultaneousRate = 50.00;

// test both input values
	function TestValue(){
		var TestLoan= document.getElementById("Loan").value;
		  if (isNaN(TestLoan)) 
		  {
			alert('Amount entered must contain no commas, example: 300000');
			document.getElementById("Loan").value = 0;
			return;
			}
		
		var TestPurchasePrice= document.getElementById("Purchase").value;
		  if (isNaN(TestPurchasePrice)) 
		  {
			alert('Amount entered must contain no commas, example: 300000');
			document.getElementById("Purchase").value = 0;
			return;
			}
	}
	
// calculate 
	function Calculate(){
	var inputLoan = document.getElementById("Loan").value;
	var inputPrice = document.getElementById("Purchase").value;
	
	
	if (inputLoan == "" && inputPrice == ""){ 
		alert("Purchase or Loan cannot be left blank.")
		return false;
		}
	
		if ((inputLoan !== "" && inputPrice == "") || (inputLoan == "" && inputPrice !== "")) 
		{
			var Loan = inputLoan;
			var Purchase = inputPrice;
		} 
	
		else{
			var Loan = eval(inputLoan);
			var Purchase = eval(inputPrice);
		}
	
	
	// Tier 1
	
	if (Purchase <= OwnerMinimumLimit)
	{
			var Owner = OwnerMinimum;
			var altLender = ((Purchase / 1000) * LR1);
	}
	
		else if (Purchase > OwnerMinimumLimit && Purchase <= 250000)
		{
				var Owner = ((Purchase / 1000) * OR1);
				var altLender = ((Purchase / 1000) * LR1);
		}
	
		// Tier 2
		else if (Purchase > 250000 && Purchase <= 500000)
		{
				var Step = 250000;
				var ownerBaseRate = (250 * OR1);
				var Owner = ((((Purchase - Step ) / 1000) * OR2) + ownerBaseRate);
		// to allow for rare case of loan larger than price
				var lenderBaseRate = (250 * LR1);	
				var altLender = ((((Loan - Step ) / 1000) * LR2) + lenderBaseRate);
		}
		
		// Tier 3
		else if (Purchase > 500000 && Purchase <= 1000000)
		{
				var Step = 500000;
				var ownerBaseRate = ((250 * OR1) + (250 * OR2));
				var Owner = ((((Purchase - Step ) / 1000) * OR3) + ownerBaseRate);

				var lenderBaseRate = ((250 * LR1) + (250 * LR2));
				var altLender = ((((Loan - Step ) / 1000) * LR3) + lenderBaseRate);
		}
				
		// Tier 4
		else if (Purchase > 1000000 && Purchase <= 5000000)
		{
				var Step = 1000000;
				var ownerBaseRate = (((250 * OR1) + (250 * OR2) + (500 * OR3)));
				var Owner = ((((Purchase - Step ) / 1000) * OR4) + ownerBaseRate);

				var lenderBaseRate = ((250 * LR1) + (250 * LR2) + (500 * LR3));
				var altLender = ((((Loan - Step ) / 1000) * LR4) + lenderBaseRate);
		}
		
		// Tier 5
		else if (Purchase > 5000000 && Purchase <= 15000000)
		{
				var Step = 5000000;
				var ownerBaseRate = ((250 * OR1) + (250 * OR2) + (500 * OR3) + (4000 * OR4));
				var Owner = ((((Purchase - Step ) / 1000) * OR5) + ownerBaseRate);

				var lenderBaseRate = ((250 * LR1) + (250 * LR2) + (500 * LR3) + (4000 * LR4));
				var altLender = ((((Loan - Step ) / 1000) * LR5) + lenderBaseRate);
		}
		
		// Tier 6
		else if (Purchase > 15000000)
		{
				var Step = 15000000;
				// baseRate = price for first 15000000 of purchase price
				var ownerBaseRate = ((250 * OR1) + (250 * OR2) + (500 * OR3) + (4000 * OR4) + (10000 * OR5));
				var Owner = ((((Purchase - Step ) / 1000) * OR6) + ownerBaseRate);

				var lenderBaseRate = ((250 * LR1) + (250 * LR2) + (500 * LR3) + (4000 * LR4 )  + (10000 * LR5));
				var altLender = ((((Loan - Step ) / 1000) * LR6) + lenderBaseRate);
		
		}
	
	
	
	// Tier 1
	if (Loan <= LenderMinimumLimit)
	{
			var Lender = LenderMinimum;
			var supLender = ((Loan / 1000) * LR1);
	}
	else if (Loan > LenderMinimumLimit && Loan <= 250000)
	{
			var Lender = ((Loan / 1000) * LR1);
	}
	
	// Tier 2
	else if (Loan > 250000 && Loan <= 500000)
	{
			var Step = 250000;
			var lenderBaseRate = (250 * LR1);	
			var Lender = ((((Loan - Step ) / 1000) * LR2) + lenderBaseRate);
	}
	
	// Tier 3
	else if (Loan > 500000 && Loan <= 1000000)
	{
			var Step = 500000;
			var lenderBaseRate = ((250 * LR1) + (250 * LR2));
			var Lender = ((((Loan - Step ) / 1000) * LR3) + lenderBaseRate);
	}
			
	// Tier 4
	else if (Loan > 1000000 && Loan <= 5000000)
	{
			var Step = 1000000;
			var lenderBaseRate = ((250 * LR1) + (250 * LR2) + (500 * LR3));	
			var Lender = ((((Loan - Step ) / 1000) * LR4) + lenderBaseRate);
	}
	
	// Tier 5
	else if (Loan > 5000000 && Loan <= 15000000)
	{
			var Step = 5000000;
			var lenderBaseRate = ((250 * LR1) + (250 * LR2) + (500 * LR3) + (4000 * LR4));
			var Lender = ((((Loan - Step ) / 1000) * LR5) + lenderBaseRate);
	}
	
	// Tier 6
	else if (Loan > 15000000)
	{
			var Step = 15000000;
			var lenderBaseRate = ((250 * LR1) + (250 * LR2) + (500 * LR3) + (4000 * LR4)  + (10000 * LR5));
			var Lender = ((((Loan - Step ) / 1000) * LR6) + lenderBaseRate);
	}
	
	
	
	if (Purchase !== ""  && Loan == "")
	{
			if (Purchase <= OwnerMinimumLimit)
			{ 
				document.getElementById("Owner").value = (Owner).toFixed(2); 
				document.getElementById("TotalOutput").value = (Owner).toFixed(2);
	
				return;
				}
			else 
			{
			document.getElementById("Owner").value = (Owner).toFixed(2);
			document.getElementById("TotalOutput").value = (Owner).toFixed(2);
	
			return;
			}
	}
	else if (Loan !== "" && Purchase == "") 
	{
			if (Loan <= LenderMinimumLimit)
			{
				document.getElementById("Lender").value = (Lender).toFixed(2);
				document.getElementById("TotalOutput").value = (Lender).toFixed(2);
	
				return;
				}
			else
			{
			document.getElementById("Lender").value = (Lender).toFixed(2);
			document.getElementById("TotalOutput").value = (Lender).toFixed(2);
	
		return;
		}
	}
	
	
	
	
	if (Purchase !== "" &&  Loan !== "")
	{ 
	
		// if purchase more than or equal to loan
		if(Purchase >= Loan)
		{
	
				if (Purchase <= OwnerMinimumLimit && Loan <= LenderMinimumLimit)
				{
					var TotalOutput = OwnerMinimum + SimultaneousRate;
					var Owner = TotalOutput - supLender;
	
					document.getElementById("Lender").value = (supLender).toFixed(2);
					document.getElementById("Owner").value = (Owner).toFixed(2);
					document.getElementById("TotalOutput").value = (TotalOutput).toFixed(2);
	
					return;
					}
	
				if (Purchase <= OwnerMinimumLimit && Loan > LenderMinimumLimit)
				{
					var TotalOutput = (Lender - altLender) + OwnerMinimum + SimultaneousRate;
					var Owner = TotalOutput - Lender;
	
					document.getElementById("Lender").value = (Lender).toFixed(2);
					document.getElementById("Owner").value = (Owner).toFixed(2);
					document.getElementById("TotalOutput").value = (TotalOutput).toFixed(2);
	
					return;
					}
	
				if (Purchase > OwnerMinimumLimit && Loan <= LenderMinimumLimit)
				{
					var TotalOutput = LenderMinimum + Owner;
					var Owner = TotalOutput - supLender;
	
					document.getElementById("Lender").value = (supLender).toFixed(2);
					document.getElementById("Owner").value = (Owner).toFixed(2);
					document.getElementById("TotalOutput").value = (TotalOutput).toFixed(2);
	
					return;
					}
	
				if (Purchase > OwnerMinimumLimit && Loan > LenderMinimumLimit)
				{
				var TotalOutput = Owner + SimultaneousRate;
	
				document.getElementById("Lender").value = (Lender).toFixed(2);
				document.getElementById("Owner").value = (TotalOutput - Lender).toFixed(2);
				document.getElementById("TotalOutput").value = (TotalOutput).toFixed(2);
	
				return;
				}
			}
	
		// if purchase less than loan
	
		if (Loan > Purchase)
		{
	
				if (Purchase <= OwnerMinimumLimit && Loan <= LenderMinimumLimit)
				{
					var difference = (supLender - altLender);
					var TotalOutput = OwnerMinimum + SimultaneousRate + difference;
					var Owner = TotalOutput - supLender;
	
					document.getElementById("Lender").value = (supLender).toFixed(2);
					document.getElementById("Owner").value = (Owner).toFixed(2);
					document.getElementById("TotalOutput").value = (TotalOutput).toFixed(2);
	
					return;
					}
	
				if (Purchase <= OwnerMinimumLimit && Loan > LenderMinimumLimit)
				{
					var TotalOutput = (Lender - altLender) + OwnerMinimum + SimultaneousRate;
					var Owner = TotalOutput - Lender;
	
					document.getElementById("Lender").value = (Lender).toFixed(2);
					document.getElementById("Owner").value = (Owner).toFixed(2);
					document.getElementById("TotalOutput").value = (TotalOutput).toFixed(2);
	
					return;
					}
	
				if (Purchase > OwnerMinimumLimit && Loan <= LenderMinimumLimit)
				{
					var TotalOutput = LenderMinimum + Owner;
					var Owner = TotalOutput - supLender;
	
					document.getElementById("Lender").value = (supLender).toFixed(2);
					document.getElementById("Owner").value = (Owner).toFixed(2);
					document.getElementById("TotalOutput").value = (TotalOutput).toFixed(2);
					return;
					}
	
				else
				{
					var difference = Owner - altLender;
					var newOwner = difference + SimultaneousRate;
					var TotalOutput = Lender + newOwner;
		
					document.getElementById("Lender").value = (Lender).toFixed(2);
					document.getElementById("Owner").value = (newOwner).toFixed(2);
					document.getElementById("TotalOutput").value = (TotalOutput).toFixed(2);
		
					return;
					}
			}
		}
	}
	

