//How much can I borrow Calculator

//Variables

// House Value
var val_min = 0;
var val_max = 600000;
var val_initial = 100000;
var current_val_value = val_initial;
var valValues = null;

// Deposit Value
var deposit_min = 0;
var deposit_max = 500000;
var deposit_initial = 15000;
var current_deposit_value = deposit_initial;
var depositValues = null;

//Only call the function when you need to - on mouse up
var cancelAjax = true;


// Set Inital Values and create slider Arrays

function InitializeHowMuchCanIBorrowCalculator()
{   

    // loan slider values
    valValues = CreateSliderValues(new Array(), val_min, 25000, 1000);
    valValues = CreateSliderValues(valValues, 26000, val_max, 1000);
	
	   // deposit slider values
    depositValues = CreateSliderValues(new Array(), deposit_min, 25000, 1000);
    depositValues = CreateSliderValues(depositValues, 26000, deposit_max, 1000);
	

    // loan slider
    $('#valTrack').slider({
        min: 0,
        max: valValues.length - 1,
        steps: valValues.length,
        change: function(e, ui)
		
        {
            current_val_value = valValues[ui.value]; 
            ShowResult();
        },
        slide: function(e, ui)
        {
            $('#valTextInput').val(valValues[ui.value]);
        }
    });
	
	// deposit slider
    $('#depositTrack').slider({
        min: 0,
        max: depositValues.length - 1,
        steps: depositValues.length,
        change: function(e, ui)
		
        {
            current_deposit_value = depositValues[ui.value]; 
            ShowResult();
        },
        slide: function(e, ui)
        {
            $('#depositTextInput').val(depositValues[ui.value]);
        }
    });
	
	
	$('#valTextInput').change(function(eventArgs) { return handleKeyPress(eventArgs, valValues, 'valTrack'); });
    $('#valTextInput').val(current_val_value);
	   
    $('#depositTextInput').change(function(eventArgs) { return handleKeyPress(eventArgs, depositValues, 'depositTrack'); });
    $('#depositTextInput').val(current_deposit_value);
	
	
	$('#valTrack').slider("value", FindValueIndex(valValues, current_val_value));
	$('#depositTrack').slider("value", FindValueIndex(depositValues, current_deposit_value));
    
	// setting this to false will trigget the ajax call
	cancelAjax = false;
    
}

function handleKeyPress(eventArgs, valuesArr, trackId)
{
//    if (eventArgs.keyCode == 13)
//    {
        var v = parseFloat($(eventArgs.target).val());

        // is it a number?
        if (isNaN(v))
        {
            alert('Sorry, the amount is invalid.');
            return false;
        }
        else
        {
            var sliderIdx = FindValueIndex(valuesArr, v);

            if (!isNaN(sliderIdx))
            {
                // cancel this ajax request - we'll call it later on
                cancelAjax = true;
                $('#' + trackId).slider("value", sliderIdx);
                cancelAjax = false;
            }
            else
            {
                alert('Please enter a value higher than ' + valuesArr[0] + ' and lower than ' + valuesArr[valuesArr.length - 1] + '.');
                return false;
            }
        }

        $(eventArgs.target).val(v);

       
		
		
        ShowResult(); // calling the ajax request here will send the correct "current" values
        //return false;
 
}

function ShowResult()
{

// don't keep doing it, honestly, everything will go crazy.  
    if (cancelAjax) { return; }   
	
	//declare variables
   var	house_price		=document.getElementById("valTextInput").value;
	house_price	=	parseFloat(house_price.replace(/[^0-9.]/g, ''));
	house_price			=	parseFloat(house_price);
	var min_deposit = house_price * 0.15
var	Deposit		=	new Number(document.getElementById("depositTextInput").value);
var Loan = house_price - Deposit;
var Rent = Loan *1.25 * 0.055 / 12;
Rent = parseFloat(Rent);
Rent = Math.round(Rent * 100)
Rent = Rent / 100
 
	
	var depositOK = 0
	
	if (Deposit < min_deposit){ depositOK = 0}
	else {depositOK = 1}
	

min_deposit = addCommas(min_deposit)
document.getElementById('mindeposit').innerHTML = min_deposit;
Loan = addCommas(Loan)
house_price = addCommas(house_price)
Rent = addCommas(Rent)



document.getElementById("loanamount").innerHTML = Loan
document.getElementById("propertyvalue").innerHTML = house_price
document.getElementById("rentalincome").innerHTML = Rent

document.getElementById('resultPane').style.display = "block";

if (depositOK == 0){
document.getElementById('calcresult').style.display = "none";
document.getElementById('insuf_deposit').style.display = "block";
document.getElementById("min_deposit").innerHTML = min_deposit

}
else {document.getElementById('calcresult').style.display = "block";
document.getElementById('insuf_deposit').style.display = "none";}

}

$(document).ready(InitializeHowMuchCanIBorrowCalculator);






 
