//How much can I borrow Calculator

//Variables

// App1Income
var income1_min = 5000;
var income1_max = 200000;
var income1_initial = 20000;
var current_income1_value = income1_initial;
var income1Values = null;


//App2Income
var income2_min = 0;
var income2_max = 200000;
var income2_initial = 0;
var current_income2_value = income2_initial;
var income2Values = null;





//Only call the function when you need to - on mouse up
var cancelAjax = true;


// Set Inital Values and create slider Arrays

function InitializeHowMuchCanIBorrowCalculator()
{   

    // Income1 slider values
    income1Values = CreateSliderValues(new Array(), income1_min, 10000, 500);
    income1Values = CreateSliderValues(income1Values, 10500, income1_max, 500);
	
	  // Income2 slider values
    income2Values = CreateSliderValues(new Array(), income2_min, 10000, 500);
    income2Values = CreateSliderValues(income2Values, 10500, income2_max, 500);
	


    // income1 slider
    $('#app1incomeTrack').slider({
        min: 0,
        max: income1Values.length - 1,
        steps: income1Values.length,
        change: function(e, ui)
		
        {
            current_income1_value = income1Values[ui.value]; 
            ShowResult();
        },
        slide: function(e, ui)
        {
            $('#app1incomeTextInput').val(income1Values[ui.value]);
        }
    });

	
	// income2 slider
    $('#app2incomeTrack').slider({
        min: 0,
        max: income2Values.length - 1,
        steps: income2Values.length,
        change: function(e, ui)
		
        {
            current_income2_value = income2Values[ui.value]; 
            ShowResult();
        },
        slide: function(e, ui)
        {
            $('#app2incomeTextInput').val(income2Values[ui.value]);
        }
    });
	
	  
    

	
	

   
   
    $('#app1incomeTextInput').change(function(eventArgs) { return handleKeyPress(eventArgs, income1Values, 'app1incomeTrack'); });
    $('#app1incomeTextInput').val(current_income1_value);
	
	$('#app2incomeTextInput').change(function(eventArgs) { return handleKeyPress(eventArgs, income2Values, 'app2incomeTrack'); });
    $('#app2incomeTextInput').val(current_income2_value);
	

	
	
    $('#app1incomeTrack').slider("value", FindValueIndex(income1Values, current_income1_value));
	$('#app2incomeTrack').slider("value", FindValueIndex(income2Values, current_income2_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; }    
	var	App1Income		=	document.getElementById("app1incomeTextInput").value;
	App1Income = parseFloat(App1Income.replace(/[^0-9.]/g, ''));
	var	App2Income		=	document.getElementById("app2incomeTextInput").value;
	App2Income			=	parseFloat(App2Income.replace(/[^0-9.]/g, ''));
	var income = App1Income +  App2Income;
	var loweramount = income * 3;
	var higheramount = income * 4.25;
	loweramount = addCommas(loweramount);
	higheramount = addCommas(higheramount);
	document.getElementById('loweramount').innerHTML = loweramount;
	document.getElementById('higheramount').innerHTML = higheramount;
	
	document.getElementById('resultPane').style.display = "block";

}



$(document).ready(InitializeHowMuchCanIBorrowCalculator);






 
