﻿

var data;


function LoadData() {
    data = [
    [18, 'asu', 1, 4.88],
    [18, 'asu', 30, 3.90],
    [18, 'asu', 60, 3.41],
    [18, 'as', 1, 2.93],
    [18, 'as', 30, 2.34],
    [18, 'as', 60, 2.05],
    [18, 'u', 1, 3.36],
    [18, 'u', 30, 2.69],
    [18, 'u', 60, 2.35],
    [21, 'asu', 1, 4.88],
    [21, 'asu', 30, 3.90],
    [21, 'asu', 60, 3.41],
    [21, 'as', 1, 2.68],
    [21, 'as', 30, 2.15],
    [21, 'as', 60, 1.88],
    [21, 'u', 1, 3.36],
    [21, 'u', 30, 2.69],
    [21, 'u', 60, 2.46],
    [26, 'asu', 1, 4.88],
    [26, 'asu', 30, 3.90],
    [26, 'asu', 60, 3.41],
    [26, 'as', 1, 2.68],
    [26, 'as', 30, 2.15],
    [26, 'as', 60, 1.88],
    [26, 'u', 1, 3.36],
    [26, 'u', 30, 2.69],
    [26, 'u', 60, 2.46],
    [31, 'asu', 1, 4.93],
    [31, 'asu', 30, 3.95],
    [31, 'asu', 60, 3.45],
    [31, 'as', 1, 2.81],
    [31, 'as', 30, 2.25],
    [31, 'as', 60, 1.97],
    [31, 'u', 1, 3.55],
    [31, 'u', 30, 2.84],
    [31, 'u', 60, 2.49],
    [36, 'asu', 1, 4.93],
    [36, 'asu', 30, 3.95],
    [36, 'asu', 60, 3.45],
    [36, 'as', 1, 2.81],
    [36, 'as', 30, 2.25],
    [36, 'as', 60, 1.97],
    [36, 'u', 1, 3.55],
    [36, 'u', 30, 2.84],
    [36, 'u', 60, 2.49],
    [41, 'asu', 1, 5.01],
    [41, 'asu', 30, 4.00],
    [41, 'asu', 60, 3.50],
    [41, 'as', 1, 3.00],
    [41, 'as', 30, 2.40],
    [41, 'as', 60, 2.10],
    [41, 'u', 1, 3.75],
    [41, 'u', 30, 3.00],
    [41, 'u', 60, 2.63],
    [46, 'asu', 1, 5.01],
    [46, 'asu', 30, 4.00],
    [46, 'asu', 60, 3.50],
    [46, 'as', 1, 3.00],
    [46, 'as', 30, 2.40],
    [46, 'as', 60, 2.10],
    [46, 'u', 1, 3.75],
    [46, 'u', 30, 3.00],
    [46, 'u', 60, 2.63],
    [51, 'asu', 1, 5.01],
    [51, 'asu', 30, 4.00],
    [51, 'asu', 60, 3.57],
    [51, 'as', 1, 3.00],
    [51, 'as', 30, 2.24],
    [51, 'as', 60, 2.14],
    [51, 'u', 1, 2.82],
    [51, 'u', 30, 3.06],
    [51, 'u', 60, 2.68],
    [56, 'asu', 1, 5.16],
    [56, 'asu', 30, 4.12],
    [56, 'asu', 60, 3.61],
    [56, 'as', 1, 3.09],
    [56, 'as', 30, 2.48],
    [56, 'as', 60, 2.17],
    [56, 'u', 1, 3.87],
    [56, 'u', 30, 3.09],
    [56, 'u', 60, 2.71],
    [61, 'asu', 1, 5.16],
    [61, 'asu', 30, 4.12],
    [61, 'asu', 60, 3.61],
    [61, 'as', 1, 3.09],
    [61, 'as', 30, 2.48],
    [61, 'as', 60, 2.17],
    [61, 'u', 1, 3.87],
    [61, 'u', 30, 3.09],
    [61, 'u', 60, 2.71],
];
}

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;
}