﻿

var data;


function LoadData() {
    data = [
    [18, 'asu', 1, 5.41],
    [18, 'asu', 30, 4.33],
    [18, 'asu', 60, 3.79],
    [18, 'as', 1, 3.25],
    [18, 'as', 30, 2.60],
    [18, 'as', 60, 2.27],
    [18, 'u', 1, 3.73],
    [18, 'u', 30, 2.99],
    [18, 'u', 60, 2.61],
    [21, 'asu', 1, 5.17],
    [21, 'asu', 30, 4.33],
    [21, 'asu', 60, 3.79],
    [21, 'as', 1, 3.00],
    [21, 'as', 30, 2.49],
    [21, 'as', 60, 2.08],
    [21, 'u', 1, 3.60],
    [21, 'u', 30, 2.85],
    [21, 'u', 60, 2.73],
    [26, 'asu', 1, 5.17],
    [26, 'asu', 30, 4.33],
    [26, 'asu', 60, 3.79],
    [26, 'as', 1, 3.00],
    [26, 'as', 30, 2.49],
    [26, 'as', 60, 2.08],
    [26, 'u', 1, 3.60],
    [26, 'u', 30, 2.85],
    [26, 'u', 60, 2.73],
    [31, 'asu', 1, 5.23],
    [31, 'asu', 30, 4.38],
    [31, 'asu', 60, 3.83],
    [31, 'as', 1, 3.18],
    [31, 'as', 30, 2.65],
    [31, 'as', 60, 2.18],
    [31, 'u', 1, 3.80],
    [31, 'u', 30, 3.15],
    [31, 'u', 60, 2.76],
    [36, 'asu', 1, 5.23],
    [36, 'asu', 30, 4.38],
    [36, 'asu', 60, 3.83],
    [36, 'as', 1, 3.18],
    [36, 'as', 30, 2.65],
    [36, 'as', 60, 2.18],
    [36, 'u', 1, 3.80],
    [36, 'u', 30, 3.15],
    [36, 'u', 60, 2.76],
    [41, 'asu', 1, 5.31],
    [41, 'asu', 30, 4.45],
    [41, 'asu', 60, 3.89],
    [41, 'as', 1, 3.48],
    [41, 'as', 30, 2.86],
    [41, 'as', 60, 2.38],
    [41, 'u', 1, 4.24],
    [41, 'u', 30, 3.48],
    [41, 'u', 60, 3.13],
    [46, 'asu', 1, 5.31],
    [46, 'asu', 30, 4.45],
    [46, 'asu', 60, 3.89],
    [46, 'as', 1, 3.48],
    [46, 'as', 30, 2.86],
    [46, 'as', 60, 2.38],
    [46, 'u', 1, 4.24],
    [46, 'u', 30, 3.48],
    [46, 'u', 60, 3.13],
    [51, 'asu', 1, 5.66],
    [51, 'asu', 30, 5.02],
    [51, 'asu', 60, 4.61],
    [51, 'as', 1, 3.64],
    [51, 'as', 30, 3.08],
    [51, 'as', 60, 2.70],
    [51, 'u', 1, 4.55],
    [51, 'u', 30, 3.86],
    [51, 'u', 60, 3.37],
    [56, 'asu', 1, 5.72],
    [56, 'asu', 30, 5.03],
    [56, 'asu', 60, 4.66],
    [56, 'as', 1, 3.68],
    [56, 'as', 30, 3.12],
    [56, 'as', 60, 2.73],
    [56, 'u', 1, 4.60],
    [56, 'u', 30, 3.90],
    [56, 'u', 60, 3.41],
    [61, 'asu', 1, 5.72],
    [61, 'asu', 30, 5.03],
    [61, 'asu', 60, 4.66],
    [61, 'as', 1, 3.68],
    [61, 'as', 30, 3.12],
    [61, 'as', 60, 2.73],
    [61, 'u', 1, 4.60],
    [61, 'u', 30, 3.90],
    [61, 'u', 60, 2.41],
];
}

function stripComma(field) {
    if (field.value.indexOf(',') > -1)
        field.value = field.value.replace(',', '');
}

function validateField(field, fieldName, min, max) {
    stripComma(field);
    var regex = /^[-+]?[0-9]*\.?[0-9]+(?:[eE][-+]?[0-9]+)?$/;
    var i;

    if (!field.value.match(regex)) {
        alert('Please enter a valid amount');
        return false;
    }
    else {
        if (field.value < min) {
            alert('The minimum is £' + min);
            return false;
        }
        else if (field.value > max) {
            alert('The maximum is £' + max);
            return false;
        }
        return true;
    };

}
			
function validateNumbers(min, max) {
    if (!validateField($("#Benefit").get(0), 'your monthly mortgage payment', min, max)) { return false; }
    return true;
}
			
function validateForm()
{   
    $("#Form1").validate();
    var result = $("#Form1").valid()
    var min = 100, max = 3000;
    
    result = result && validateNumbers(min, max);
  
    return  result;
}

function getQuote()
{
    
    if (validateForm())
    {
        var verticalIndex = 0;
        var selectedCover = $('#cover option:selected').val();

        var age = 0;  
        age = $("#drpAge option:selected").val();
        
        var coverAmount = $('#Benefit').val();
        var benefitPeriod = $("#benefitperiod option:selected").val();
        var rate;

        if (age != 0 && benefitPeriod != 0 && selectedCover != 0)
        {
            rate = getRate(selectedCover, benefitPeriod, age);

            $('#result').html(new Number(Math.round(coverAmount * rate) / 100).toFixed(2));
        
            toggleResult();
        }
   }
       
   return false;
}

function getRate(selectedCover, benefitPeriod, age) {
    return findRate(data, benefitPeriod, age, selectedCover);
}

function findRate(dataArray, benefitPeriod, age, cover)
{
    var found = false;
    var index = 0;
    var rate = 0;
    while (!found && index < dataArray.length)
    {
        var item = dataArray[index];
        if (item[0] == age && item[1] == cover && item[2] == benefitPeriod)
        {
            rate = item[3];
            found = true;
        }
        index++;
    }
    
    return rate;
}
