// Buy to Let calculator

<!--

function auto_complete_form(form) {
  if (getCookie("value1") != null) form.value1.value = getCookie("value1");
  if (getCookie("value2") != null) form.value2.value = getCookie("value2");
  if (getCookie("value3") != null) form.value3.value = getCookie("value3");
  if (getCookie("value4") != null) form.value4.value = getCookie("value4");
  if (getCookie("answer1") != null) form.answer1.value = getCookie("answer1");
  if (getCookie("answer2") != null) form.answer2.value = getCookie("answer2");
  if (getCookie("answer3") != null) form.answer3.value = getCookie("answer3");
  if (getCookie("answer4") != null) form.answer4.value = getCookie("answer4");
}

function save(form) {
  calculate(form);

  setValue(form.value1);
  setValue(form.value2);
  setValue(form.value3);
  setValue(form.value4);
  setValue(form.answer1);
  setValue(form.answer2);
  setValue(form.answer3);
  setValue(form.answer4);
}

// Use this function to retrieve a cookie.
function getCookie(name){
var cname = name + "=";               
var dc = document.cookie;             
    if (dc.length > 0) {              
    begin = dc.indexOf(cname);       
        if (begin != -1) {           
        begin += cname.length;       
        end = dc.indexOf(";", begin);
            if (end == -1) end = dc.length;
            return unescape(dc.substring(begin, end));
        } 
    }
return null;
}

// Use this function to save a cookie.
function setCookie(name, value, expires) {
document.cookie = name + "=" + escape(value) + "; path=/" +
((expires == null) ? "" : "; expires=" + expires.toGMTString());
}

// Use this function to delete a cookie.
function delCookie(name) {
document.cookie = name + "=; expires=Thu, 01-Jan-70 00:00:01 GMT" +  "; path=/";
}

// Function to retrieve form element's value.
function getValue(element) {
var value = getCookie(element.name);
    if (value != null) element.value = value;
}

// Function to save form element's value.
function setValue(element) {
setCookie(element.name, element.value, exp);
}

var exp = new Date();                                   
exp.setTime(exp.getTime() + (1000 * 60 * 60 * 24 * 31));
//-->

<!--
//<!- hide the script
function calculate(form){
var mortgage;
var stringnumber;
var term;
var rate;
var INTRATE;
var INTRATE2;
var YEARS;
var AA;
var AB;
var MP;
var MP2;
var PERCENTAGE;

stringnumber=form.value1.value;
mortgage=eval(CheckNumber(stringnumber));
netmtg=mortgage

stringnumber=form.value2.value;
INTRATE=eval(CheckNumber(stringnumber));
INTRATE=INTRATE/100

stringnumber=form.value3.value;
YEARS=eval(CheckNumber(stringnumber));

stringnumber=form.value4.value;
PERCENTAGE=eval(CheckNumber(stringnumber));

AA=INTRATE*Math.pow((1+INTRATE),YEARS);
AB=Math.pow(1+INTRATE,YEARS)-1;
MP=(1000*(1+(INTRATE*(31/365)))/12)*(AA/AB);
MP=MP*(mortgage/1000)
MP=Math.round(MP*100)/100
MP2=PERCENTAGE*MP/100
INTONLY=mortgage*INTRATE/12
INTONLY=Math.round(INTONLY*100)/100
INTONLY2=PERCENTAGE*INTONLY/100

form.answer1.value=PadLeft(FormatNumber(MP,2),12)
form.answer2.value=PadLeft(FormatNumber(INTONLY,2),12)
form.answer3.value=PadLeft(FormatNumber(MP2,2),12)
form.answer4.value=PadLeft(FormatNumber(INTONLY2,2),12)
}

function CheckNumber(stringnumber) 
{
newstring=""
for (var i = 0; i < stringnumber.length; i++) 
{
var dig = stringnumber.substring(i, i+1)
if (dig < "0" || dig > "9")
 {
 if (dig != ".")
 {
dig=""
 }

 }
newstring=newstring + dig
 }
 return newstring
}

function FormatNumber(Number,Decimals)
{
 Number = "" + Number         
 Decimals = "" + Decimals     
 var OriginalNumber = Number  
 var Sign = 1
 var Pad = ""
 var Count = 0

 if(parseFloat(Number)){
  Number = parseFloat(Number)} else {
  Number = 0}

 if((parseInt(Decimals,10)) || (parseInt(Decimals,10) == 0)){
  Decimals = parseInt(Decimals,10)} else {
  Decimals = 2}
 if(Number < 0)
 {
  Sign = -1         
  Number *= Sign    
 }

 if(Decimals < 0)
  Decimals *= -1    

 Number = "" + Math.floor(Number * Math.pow(10,Decimals + 1) + 5)
 if((Number.substring(1,2) == '.')||(Number=='NaN'))
  return(OriginalNumber) 

 if(Number.length < Decimals +1) 
 {
  for(Count = Number.length; Count <= Decimals; Count++)
   Pad += "0"
 }
 Number = Pad + Number 
 if(Decimals == 0){

  Number = Number.substring(0, Number.length -1)} else {

 Number = Number.substring(0,Number.length - Decimals -1) +
          "." +
          Number.substring(Number.length - Decimals -1,
          Number.length -1)}
 if(Sign == -1)
  Number = "-" + Number  
 return(Number)
}

function PadLeft(String,Length)
{

 String += ""
 Length += ""
 var Count = 0
 var PadLength = 0
 Length = parseInt(0 + Length,10)
 if(Length <= String.length) 
  return(String)
 PadLength = Length - String.length
 for(Count = 0; Count < PadLength; Count++)
  String = " " + String
 return(String)
}
function FormatNumberField(Object,Decimals,Pad)
{

 if(Object == null)
  return(null)
 if(!(Object.value))
  return(null)
 Object.value = FormatNumber(Object.value,Decimals)
 Object.value = PadLeft(Object.value,Pad)
 return(Object.value)
}

// end hiding ->

function MM_callJS(jsStr) { //v2.0
  return eval(jsStr)
}
//-->


<!--
