// Each slider input needs these values set



// Current SumAssured
var sumAssured_min = 0;
var sumAssured_max = 1000000;
var sumAssured_initial = 200000;
var current_sumAssured_value = sumAssured_initial;
var sumAssuredValues = null;

//Last Val
var lval_min = 50000;
var lval_max = 1000000;
var lval_initial = 100000;
var current_lval_value = lval_initial;
var lvalValues = null;

// Current Loan
var loan_min = 25000;
var loan_max = 900000;
var loan_initial = 100000;
var current_loan_value = loan_initial;
var loanValues = null;

// Term
var term_min = 5;
var term_max = 35;
var term_initial = 25;
var current_term_value = term_initial;
var termValues = null;



//App1 Age
//var App1Age_min = 18;
//var App1Age_max = 70;
//var App1Age_initial = 25;
//var current_App1Age_value = App1Age_initial;
//var App1AgeValues = null;

//App2 Age
//var App2Age_min = 18;
//var App2Age_max = 70;
//var App2Age_initial = 25;
//var current_App2Age_value = App2Age_initial;
//var App2AgeValues = null;

// Monthly Payment
var mpay_min = 5;
var mpay_max = 750;
var mpay_initial = 20;
var current_mpay_value = mpay_initial;
var mpayValues = null;


//Come back to this
var recalmpay = 0

//Only call the function when you need to - on mouse up
var cancelAjax = true;


function InitializeHowMuchCanIBorrowCalculator()
{
     // Prop Value slider values
    sumAssuredValues = CreateSliderValues(new Array(), sumAssured_min, 50000, 1000);
    sumAssuredValues = CreateSliderValues(sumAssuredValues, 51000, sumAssured_max, 1000);
	
	// last val slider values
   // lvalValues = CreateSliderValues(new Array(), lval_min, 50000, 1000);
   // lvalValues = CreateSliderValues(lvalValues, 51000, lval_max, 1000);

    // loan slider values
   // loanValues = CreateSliderValues(new Array(), loan_min, 25000, 1000);
//loanValues = CreateSliderValues(loanValues, 26000, loan_max, 1000);

    // App1 Age  values
    //App1AgeValues = CreateSliderValues(new Array(), App1Age_min, App1Age_max, 1);
    // App2 Age  values
   // App2AgeValues = CreateSliderValues(new Array(), App2Age_min, App2Age_max, 1);
	
     // term slider values
    termValues = CreateSliderValues(new Array(), term_min, 5, 1);
    termValues = CreateSliderValues(termValues, 5, term_max, 1);
	
     // mpay slider values
    mpayValues = CreateSliderValues(new Array(), mpay_min, 100, 1);
    mpayValues = CreateSliderValues(mpayValues, 100, mpay_max, 20);


// sumAssured slider
    $('#sumAssuredTrack').slider({
        min: 0,
        max: sumAssuredValues.length - 1,
        steps: sumAssuredValues.length,
        change: function(e, ui)
        {
            current_sumAssured_value = sumAssuredValues[ui.value];  recalmpay=3; 		
            CallAjax();    
        },
        slide: function(e, ui)
        {
            $('#ctl00_conCalculatorBody_sumAssuredTextInput').val(sumAssuredValues[ui.value]);			
        }
    });
  

 

    // term slider
    $('#termTrack').slider({
        min: 0,
        max: termValues.length - 1,
		
        steps: termValues.length,
        change: function(e, ui)
        {
            current_term_value = termValues[ui.value]; recalmpay=1;
            CallAjax();
        },
        slide: function(e, ui)
        {
            $('#ctl00_conCalculatorBody_termTextInput').val(termValues[ui.value]);
        }
    });
	
	  
    
    // App1Age slider
  //  $('#App1AgeTrack').slider({
    //    min: 0,
    //    max: App1AgeValues.length - 1,
//steps: App1AgeValues.length,
    //    change: function(e, ui)
   //     {
   //         current_App1Age_value = App1AgeValues[ui.value]; recalmpay=1;
   //         CallAjax();
   //     },
    //    slide: function(e, ui)
   //     {
    //        $('#App1AgeTextInput').val(App1AgeValues[ui.value]);
    //    }
   // });

    // App2Age slider
  //  $('#App2AgeTrack').slider({
  //      min: 0,
  //      max: App2AgeValues.length - 1,
  //      steps: App2AgeValues.length,
  //      change: function(e, ui) {
  //          current_App2Age_value = App2AgeValues[ui.value]; recalmpay = 1;
 //           CallAjax();
 //       },
 //       slide: function(e, ui) {
 //       $('#App2AgeTextInput').val(App2AgeValues[ui.value]);
 //       }
//    });
    
	
	  // mpay slider	  
	$('#mpayTrack').slider({
        min: 0,
        max: mpayValues.length - 1,
        steps: mpayValues.length,
		change: function(e, ui)
        {
            current_mpay_value = mpayValues[ui.value]; recalmpay=2;
            CallAjax();
        },
        slide: function(e, ui)
        {
            $('#ctl00_conCalculatorBody_mpayTextInput').val(mpayValues[ui.value]);
        }
    });

    $('#ctl00_conCalculatorBody_sumAssuredTextInput').change(function(eventArgs) { return handleKeyPress(eventArgs, sumAssuredValues, 'sumAssuredTrack'); });
    $('#ctl00_conCalculatorBody_sumAssuredTextInput').val(current_sumAssured_value);
    
 //$('#App1AgeTextInput').change(function(eventArgs) { return handleKeyPress(eventArgs, App1AgeValues, 'App1AgeTrack'); });
 //$('#App1AgeTextInput').val(current_App1Age_value);
    
   // $('#App2AgeTextInput').change(function(eventArgs) { return handleKeyPress(eventArgs, App2AgeValues, 'App2AgeTrack'); });
  //  $('#App2AgeTextInput').val(current_App2Age_value);






    $('#ctl00_conCalculatorBody_termTextInput').change(function(eventArgs) { return handleKeyPress(eventArgs, termValues, 'termTrack'); });
    $('#ctl00_conCalculatorBody_termTextInput').val(current_term_value);

    $('#ctl00_conCalculatorBody_mpayTextInput').change(function(eventArgs) { return handleKeyPress(eventArgs, mpayValues, 'mpayTrack'); });
    $('#ctl00_conCalculatorBody_mpayTextInput').val(current_mpay_value);

     $('#sumAssuredTrack').slider("value", FindValueIndex(sumAssuredValues, current_sumAssured_value));

	$('#termTrack').slider("value", FindValueIndex(termValues, current_term_value));
//	$('#App1AgeTrack').slider("value", FindValueIndex(App1AgeValues, current_App1Age_value));
//	$('#App2AgeTrack').slider("value", FindValueIndex(App2AgeValues, current_App2Age_value));
$('#mpayTrack').slider("value", FindValueIndex(mpayValues, current_mpay_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);

        switch (trackId)
        {
            case 'sumAssuredTrack':
                current_salary_value = v;
                break;

         //   case 'App1AgeTrack':
         //       current_App1Age_value = v;
         //       break;

            case 'monthlyCommitmentsTrack':
                current_monthlycommitments_value = v;
                break;
				
				  case 'monthlyCommitmentsTrack':
                current_monthlycommitments_value = v;
                break;
				
				  case 'monthlyCommitmentsTrack':
                current_monthlycommitments_value = v;
                break;
				
				  case 'monthlyCommitmentsTrack':
                current_monthlycommitments_value = v;
                break;
        }
		
		
        CallAjax(); // calling the ajax request here will send the correct "current" values
        //return false;
//    }
//    else
//    {
//        // other key different than 'enter'
//        return true;
//    }    
}

function CallAjax()
{


}


    
$(document).ready(InitializeHowMuchCanIBorrowCalculator);

function showhpcalc(){
// Show the house price calculator if the client is not sure of their house price
if (document.getElementById("HousePriceUnsure").checked == true) {
document.getElementById("housepricecalcdiv").style.display = "block";
}
else 
document.getElementById("housepricecalcdiv").style.display = "none";
}

function showhidempay(show,hide){
// Show and hide monthly payment / interest rate depending on what the client prefers

document.getElementById(hide).style.display = "none";
document.getElementById(show).style.display = "block";

}


function showterm(){
document.getElementById("termdiv").style.display = "block"; recalmpay=1; CallAjax();
}

function hideterm(){
document.getElementById("termdiv").style.display = "none"; recalmpay=1; CallAjax();
}

function ToggleLTA() {
    document.getElementById("ctl00_conCalculatorBody_radPolicyTypeDTA").checked = false;
}

function ToggleDTA() {

    document.getElementById("ctl00_conCalculatorBody_radPolicyTypeLTA").checked = false;
}

function ToggleApp1GenderFemale() {
    document.getElementById("ctl00_conCalculatorBody_radApp1GenderMale").checked = false;
}

function ToggleApp1GenderMale() {

    document.getElementById("ctl00_conCalculatorBody_radApp1GenderFemale").checked = false;
}

function ToggleApp2GenderFemale() {
    document.getElementById("ctl00_conCalculatorBody_radApp2GenderMale").checked = false;
}

function ToggleApp2GenderMale() {

    document.getElementById("ctl00_conCalculatorBody_radApp2GenderFemale").checked = false;
}

function ToggleApp1SmokeYes() {
    document.getElementById("ctl00_conCalculatorBody_radApp1SmokerNo").checked = false;
}

function ToggleApp1SmokeNo() {

    document.getElementById("ctl00_conCalculatorBody_radApp1SmokerYes").checked = false;
}

function ToggleApp2SmokeYes() {
    document.getElementById("ctl00_conCalculatorBody_radApp2SmokerNo").checked = false;
}

function ToggleApp2SmokeNo() {

    document.getElementById("ctl00_conCalculatorBody_radApp2SmokerYes").checked = false;
}



function showApp2() {
    document.getElementById("divAboutSec").style.display = "block";
    document.getElementById("divApp2Gender").style.display = "block";
    document.getElementById("App2SmokeDiv").style.display = "block"; 
    document.getElementById("App2AgeDiv").style.display = "block";
    document.getElementById("ctl00_conCalculatorBody_radPolicySingle").checked = false;
}

function hideApp2() {
    document.getElementById("divAboutSec").style.display = "none";
    document.getElementById("divApp2Gender").style.display = "none";
    document.getElementById("App2SmokeDiv").style.display = "none";
    document.getElementById("App2AgeDiv").style.display = "none";
    document.getElementById("ctl00_conCalculatorBody_radPolicyJoint").checked = false;
}

function ToggleExist() {

    document.getElementById("ctl00_conCalculatorBody_radPolicyNew").checked = false;

    document.getElementById("NewPolicyDiv").style.display = "none";
    document.getElementById("divCallUs").style.display = "none";

    document.getElementById("ctl00_conCalculatorBody_lblPolicyType").innerHTML = "What type of policy is it?";
    document.getElementById("ctl00_conCalculatorBody_lblPolicyApplicants").innerHTML = "Is the policy in single or joint names?";
    document.getElementById("ctl00_conCalculatorBody_lblSumAssured").innerHTML = "How much cover do you have?";
    document.getElementById("ctl00_conCalculatorBody_lblTermAssured").innerHTML = "How long do you have left on the policy?";
    document.getElementById("ctl00_conCalculatorBody_lblSmoker2").innerHTML = "Have they used tobacco products, including nicotine replacement, within the last 12 months?";
    document.getElementById("ctl00_conCalculatorBody_lblApp2DOB").innerHTML = "Date of birth";
  
  
  
  
  document.getElementById("divAboutYou").style.display = "block";
    document.getElementById("divPolicyType").style.display = "block";
    document.getElementById("divPolicyApplicants").style.display = "block";
    document.getElementById("divSumAssured").style.display = "block";
    document.getElementById("divTerm").style.display = "block";
    document.getElementById("divApp1Smoke").style.display = "block";
    document.getElementById("divApp1DOB").style.display = "block";
    document.getElementById("divCurrentPayment").style.display = "block";
    document.getElementById("divApp1Gender").style.display = "block";

    document.getElementById("divCalculateButton").style.display = "block";
  
 
}

function ToggleNew() {
   // alert("ToggleNew")

    document.getElementById("ctl00_conCalculatorBody_radPolicyExisting").checked = false;

    document.getElementById("NewPolicyDiv").style.display = "block";
    document.getElementById("divCallUs").style.display = "block";
  
    document.getElementById("divAboutYou").style.display = "none";
    document.getElementById("divPolicyType").style.display = "none";
    document.getElementById("divPolicyApplicants").style.display = "none";
    document.getElementById("divSumAssured").style.display = "none";
    document.getElementById("divTerm").style.display = "none";
    document.getElementById("divApp1Smoke").style.display = "none";
    document.getElementById("divApp1DOB").style.display = "none";
    document.getElementById("divCurrentPayment").style.display = "none";
    document.getElementById("divApp1Gender").style.display = "none";
    document.getElementById("divCalculateButton").style.display = "none";

    document.getElementById("resultDiv").style.display = "none";
  
  
}



 function load()
//adds request handler to call routine after all is set on page and sets interest only radio button due to boolean conversion error.
 {

    


//alert('load1');
   Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
    // alert('load2');

   document.getElementById("ctl00_conCalculatorBody_radPolicyExisting").checked = false;
   document.getElementById("ctl00_conCalculatorBody_radPolicyNew").checked = false;
   document.getElementById("ctl00_conCalculatorBody_radPolicyTypeLTA").checked = true;
   document.getElementById("ctl00_conCalculatorBody_radPolicyTypeDTA").checked = false;
   document.getElementById("ctl00_conCalculatorBody_radPolicySingle").checked = true;
   document.getElementById("ctl00_conCalculatorBody_radPolicyJoint").checked = false;
   document.getElementById("ctl00_conCalculatorBody_radApp1SmokerNo").checked = true;
   document.getElementById("ctl00_conCalculatorBody_radApp2SmokerNo").checked = true;
   document.getElementById("ctl00_conCalculatorBody_radApp1SmokerYes").checked = false;
   document.getElementById("ctl00_conCalculatorBody_radApp2SmokerYes").checked = false;

   document.getElementById("ctl00_conCalculatorBody_radApp1GenderMale").checked = true;
   document.getElementById("ctl00_conCalculatorBody_radApp1GenderFemale").checked = false;
   document.getElementById("ctl00_conCalculatorBody_radApp2GenderMale").checked = true;
   document.getElementById("ctl00_conCalculatorBody_radApp2GenderFemale").checked = false;
   
   
}

function EndRequestHandler()
//calls the slider routing after the recalculating is done.
{

    //show the answer div depending on new or existing.
   // alert("EndRequestHandlerFired")
  //  alert(document.getElementById("hidResult").value)
    document.getElementById("resultDiv").style.display = "block";

   //s alert(document.getElementById("hidResult").value)
    
    if (document.getElementById("hidResult").value == 1) {
        
    document.getElementById("YesHelpDiv").style.display = "block";
    document.getElementById("NoHelpDiv").style.display = "none";



    setTimeout("document.getElementById('ctl00_conCalculatorBody_btnSave2').focus();", 500);

    
    
} else if (document.getElementById("hidResult").value == 0) {
//alert("EndRequestHandlerFiredNo")
document.getElementById("YesHelpDiv").style.display = "none";
document.getElementById("NoHelpDiv").style.display = "block";

setTimeout("document.getElementById('ctl00_conCalculatorBody_btnSave').focus();", 500);

}
          

}

 function CallWebMethod2()
 //Call the webservice.
{
 // alert('webmoethod2')
       
   
         
        // 
         
      //   WSFunctions.WSProcessMortgageCheck(document.getElementById("mpayTextInput").value,document.getElementById("sumAssuredTextInput").value, document.getElementById("loanTextInput").value, document.getElementById("termTextInput").value, paymentType, DisplayDetails, ErrorHandler, TimeOutHandler);
        // break;
   
}

function ErrorHandler(result)
{
   var msg=result.get_exceptionType() + "\r\n";
   msg += result.get_message() + "\r\n";
   msg += result.get_stackTrace();
   alert(msg);
}

function TimeOutHandler(result)
{
   alert("Timeout :" + result);
}

function DisplayDetails(result)
{
//alert(result)

if (result == 1)
{document.getElementById("YesHelpDive").style.display = "block"; document.getElementById("NoHelpDive").style.display = "none"; }
else
{document.getElementById("YesHelpDive").style.display = "none"; document.getElementById("NoHelpDive").style.display = "block";}
  // var Textbox1=document.getElementById("Textbox1");
  
 //  Textbox1.innerText=result;
 
 
}
