﻿$(function () {
    $('dl[rel="loanOption2"]').hide();
});


function changeLoanType() {
    // lOption: 0 = cash, 1 = voucher, 2 = card, 3 = high street
    var existing = 0, lOption = $('#loanOption').val(), startVal = 0;

    if (document.getElementById("newCustomer").checked) {

        lOption = $('#loanOption').val();
        $('#loanOption2').removeClass('activeLoan');
        $('#loanOption').addClass('activeLoan');
        if ($('.sliderDropdown').length > 0) {
            $('dl[rel="loanOption2"]').hide();
            $('dl[rel="loanOption"]').show();
        }
        else {
            $('#loanOption2').hide();
            $('#loanOption').show();
        }

            // if new customer...
            if (lOption == 0) {
                document.getElementById("durationControl").setAttribute("rel", "HowLong#0#0#1#");
                document.getElementById("quantityControl").setAttribute("rel", "HowMuch#0#500##50");
                startVal = 0;
            } else if (lOption == 1) {
                document.getElementById("durationControl").setAttribute("rel", "HowLong#25#25##1");
                document.getElementById("quantityControl").setAttribute("rel", "HowMuch#50#500##50");
            } else if (lOption == 2) {
                document.getElementById("durationControl").setAttribute("rel", "HowLong#23#52##23,31,52");
                document.getElementById("quantityControl").setAttribute("rel", "HowMuch#300#300##1");
            } else if (lOption == 3) {
                document.getElementById("durationControl").setAttribute("rel", "HowLong#50#50##1");
                document.getElementById("quantityControl").setAttribute("rel", "HowMuch#50#300##50");
            }

        } else {
            lOption = $('#loanOption2').val();
            $('#loanOption').removeClass('activeLoan');
            $('#loanOption2').addClass('activeLoan');

            if ($('.sliderDropdown').length > 0) {
                $('dl[rel="loanOption"]').hide();
                $('dl[rel="loanOption2"]').show();
            }
            else {
                $('#loanOption').hide();
                $('#loanOption2').show();
            }

            existing = 1;
            if (lOption == 0) {
                document.getElementById("durationControl").setAttribute("rel", "HowLong#14#106##14,23,31,50,52,81,106");
                document.getElementById("quantityControl").setAttribute("rel", "HowMuch#50#2500##50,100,200,300,400,500,600,700,800,900,1000,1100,1200,1300,1400,1500,1600,1700,1800,1900,2000,2100,2200,2300,2400,2500");
                startVal = 550;
            } else if (lOption == 1) {
                document.getElementById("durationControl").setAttribute("rel", "HowLong#25#100##25,28,50,75,100");
                document.getElementById("quantityControl").setAttribute("rel", "HowMuch#50#1000##50");
            } else if (lOption == 2) {
                document.getElementById("durationControl").setAttribute("rel", "HowLong#23#52##23,31,50,52");
                document.getElementById("quantityControl").setAttribute("rel", "HowMuch#300#900##300");
            } else if (lOption == 3) {
                document.getElementById("durationControl").setAttribute("rel", "HowLong#50#50##1");
                document.getElementById("quantityControl").setAttribute("rel", "HowMuch#50#300##50");
            } 
        }

        $('div.sliderControl').each(
            function () {
                var slider = new sliderControl(this, existing);
                if (startVal > 0 && slider.name == 'HowMuch') {
                    slider.setTo(startVal);
                    slider.setInputBox();
                    slider.updateResult();
                }
                if ($(slider.inputBox).prev().attr('class') == 'sliderDropdown') {
                    if (slider.name == 'HowMuch') $(slider.inputBox).customDropdown({ prepend: '&pound;' });
                    else $(slider.inputBox).customDropdown({ append: ' wks' });
                }
            }
        );
    }
    
    function  setSelectBoxes(inRel){
        var rel = inRel.split('#');
        var min = (rel[1]) ? parseInt(rel[1]) : 0;
        var max = (rel[2]) ? parseInt(rel[2]) : 100;
        var range = (max == min) ? 1 : max - min;
        var returnedOffset = (rel[3]) ? parseInt(rel[3]) : 0;
        var increment = (rel[4]) ? rel[4] : 10;
        var selectBox =  $('#input'+rel[0]).html('');
        
        if (increment.toString().indexOf(",") > -1) {
            var increments = increment.toString().split(",");
            for (var i = 0, len = increments.length; i < len; i++) $('<option value="'+increments[i]+'">'+increments[i]+'</option>').appendTo(selectBox);
        }
        else {
            for (var i = min; i <= max; i = i + parseInt(increment)) $('<option value="'+i+'">'+i+'</option>').appendTo(selectBox);
        }
    }
    
    function updateResults(select,loanType,typeVal){
        var loanAllowed = 0,
            allowedValues = [],
            currentValues = [],
            howMuch = parseInt(document.getElementById("inputHowMuch").value),
            howLong = parseInt(document.getElementById("inputHowLong").value);
        if (howMuch > 0 && howLong > 0){
            for (a = 0,lenx = loanType.length; a <= lenx - 1; a++) {
                if (loanType[a][2] == typeVal || loanType[a][2] == 2){
                    for (b = 3, lenxa = loanType[a].length; b <= lenxa + 1; b++) {
                        if (parseInt(loanType[a][b]) == howMuch && loanType[a][b][2] != "x"){
                            allowedValues.push(parseInt(loanType[a][0]));
                            if (parseInt(loanType[a][0]) == howLong) {
                                document.getElementById('resultAPR').innerHTML = loanType[a][1];
                                document.getElementById('resultWeekly').innerHTML = loanType[a][b][3];
                                document.getElementById('resultPayback').innerHTML = loanType[a][b][2];
                                document.getElementById('resultAmount').innerHTML = howMuch;
                                document.getElementById('resultOver').innerHTML = howLong;
                                loanAllowed = 1;
                            }
                        }
                    }
                }
            }
            if ($(select).attr('id') == "inputHowMuch"){
                var howLongSelect = document.getElementById('inputHowLong');
                var currentOption = 0;
                while (howLongSelect[currentOption]){
                    currentValues.push(parseInt(howLongSelect[currentOption].value));
                    currentOption++;
                }
            
                if (loanAllowed == 0 || currentValues.toString() != allowedValues.toString()){
                    var inputTemp = document.getElementById('inputHowLong');
                    var oldVal = inputTemp.value;
                    setSelectBoxes("HowLong#"+allowedValues[0]+"#"+allowedValues[allowedValues.length - 1]+"##"+allowedValues.join(","));
                    
                    // Find input box value closest to term
                    if (parseInt(inputTemp[0].value) >= oldVal) inputTemp[0].selected = true;
                    else if (parseInt(inputTemp[inputTemp.length - 1].value) <= oldVal) inputTemp[inputTemp.length - 1].selected = true;
                    else inputTemp.value = oldVal;
                }
            }
        }
    }
    
    
    /*
        format:
            [0]= number of weeks,
            [1]= apr
            [2]= 0 = new, 1 = existing, 2 = all, 3 = not used anymore
            [3]+ = arrays of returns
                format:
                    [0]= amount wanted
                    [1]= extra payback
                    [2]= total payback
                    [3]= weekly payback
    */
     lo_high_street = new Array(
        new Array("50", "167.8", 1,
            new Array("0","0","0","0"),
            new Array("50","27.50","87.50","1.75"),
            new Array("100","75.00","175.00","3.50"),
            new Array("150","112.50","262.50","5.25"),
            new Array("200","150.00","350.00","7.00"),
            new Array("250","187.50","437.50","8.75"),
            new Array("300","225.00","525.00","10.50")
        )
     );

    lo_loan = new Array(
        new Array("0","0",0,
            new Array("0","0","0","0"),
            new Array("50","x","x","x"),
            new Array("100","x","x","x"),
            new Array("150","x","x","x"),
            new Array("200","x","x","x"),
            new Array("250","x","x","x"),
            new Array("300","x","x","x"),
            new Array("350","x","x","x"),
            new Array("400","x","x","x"),
            new Array("450","x","x","x"),
            new Array("500","x","x","x"),
            new Array("600","x","x","x"),
            new Array("700","x","x","x"),
            new Array("800","x","x","x"),
            new Array("900","x","x","x"),
            new Array("1000","x","x","x")
        ),
        new Array("14","1068.5",2,
            new Array("0", "x", "x", "x"),
            new Array("50", "20", "70", "5"),
            new Array("100","40","140","10"),
            new Array("150","60","210","15"),
            new Array("200","80","280","20"),
            new Array("250","100","350","25"),
            new Array("300","120","420","30"),
            new Array("350","x","x","x"),
            new Array("400","x","x","x"),
            new Array("450","x","x","x"),
            new Array("500","x","x","x"),
            new Array("600","x","x","x"),
            new Array("700","x","x","x"),
            new Array("800","x","x","x"),
            new Array("900","x","x","x"),
            new Array("1000","x","x","x")
        ),
         new Array("23","545.2",2,
             new Array("0", "x", "x", "x"),
             new Array("50", "24.75", "74.75", "3.25"),
             new Array("100","49.50","149.50","6.50"),
             new Array("150","74.25","224.25","9.75"),
             new Array("200","99.00","299.00","13.00"),
             new Array("250","123.75","373.75","16.25"),
             new Array("300","148.50","448.50","19.50"),
             new Array("350","173.25","523.25","22.75"),
             new Array("400","198.00","598.00","26.00"),
             new Array("450","222.75","672.75","29.25"),
             new Array("500","247.50","747.50","32.50"),
             new Array("600","x","x","x"),
             new Array("700","x","x","x"),
             new Array("800","x","x","x"),
             new Array("900","x","x","x"),
             new Array("1000","x","x","x")
         ),
         new Array("31","365.1",2,
             new Array("0", "x", "x", "x"),
             new Array("50", "27.50", "77.50", "2.50"),
             new Array("100","55.00","155.00","5.00"),
             new Array("150","82.50","232.50","7.50"),
             new Array("200","110.00","310.00","10.00"),
             new Array("250","137.50","387.50","12.50"),
             new Array("300","165.00","465.00","15.00"),
             new Array("350","192.50","542.50","17.50"),
             new Array("400","220.00","620.00","20.00"),
             new Array("450","247.50","697.50","22.50"),
             new Array("500","275.00","775.00","25.00"),
             new Array("600","x","x","x"),
             new Array("700","x","x","x"),
             new Array("800","x","x","x"),
             new Array("900","x","x","x"),
             new Array("1000","x","x","x")
         ),
         new Array("50","254.5",3,
             new Array("0", "x", "x", "x"),
             new Array("50", "x", "x", "x"),
             new Array("100","75.00","175.00","3.50"),
             new Array("150","112.50","262.50","5.25"),
             new Array("200","150","350.00","7.00"),
             new Array("250","187.50","437.50","8.75"),
             new Array("300","225.00","525.00","10.50"),
             new Array("350","262.50","612.50","12.25"),
             new Array("400","300.00","700.00","14.00"),
             new Array("450","337.50","787.50","15.75"),
             new Array("500","375.00","875.00","17.50"),
             new Array("550","x","x","x"),
             new Array("600","x","x","x"),
             new Array("650","x","x","x"),
             new Array("700","x","x","x"),
             new Array("750","x","x","x"),
             new Array("800","x","x","x"),
             new Array("850","x","x","x"),
             new Array("900","x","x","x"),
             new Array("950","x","x","x"),
             new Array("1000","x","x","x")
         ),
         new Array("50","254.5",1,
             new Array("0", "x", "x", "x"),
             new Array("50", "x", "x", "x"),
             new Array("100","75.00","175.00","3.50"),
             new Array("150","112.50","262.50","5.25"),
             new Array("200","150","350.00","7.00"),
             new Array("250","187.50","437.50","8.75"),
             new Array("300","225.00","525.00","10.50"),
             new Array("350","262.50","612.50","12.25"),
             new Array("400","300.00","700.00","14.00"),
             new Array("450","337.50","787.50","15.75"),
             new Array("500","375.00","875.00","17.50"),
             new Array("550","412.50","962.50","19.25"),
             new Array("600","450.00","1050.00","21.00"),
             new Array("650","487.50","1137.50","22.75"),
             new Array("700","525.00","1225.00","24.50"),
             new Array("750","562.50","1312.50","26.25"),
             new Array("800","600.00","1400.00","28.00"),
             new Array("850","637.50","1487.50","29.75"),
             new Array("900","675.00","1575.00","31.50"),
             new Array("950","712.50","1662.50","33.25"),
             new Array("1000","750.00","1750.00","35.00")
         ),
         new Array("52","272.2",2,
             new Array("0", "x", "x", "x"),
             new Array("50", "x", "x", "x"),
             new Array("100","82.00","182.00","3.50"),
             new Array("150","123.00","273.00","5.25"),
             new Array("200","163","364.00","7.00"),
             new Array("250","205.00","455.00","8.75"),
             new Array("300","246.00","546.00","10.50"),
             new Array("350","287.00","637.00","12.25"),
             new Array("400","328.00","728.00","14.00"),
             new Array("450","369.00","819.00","15.75"),
             new Array("500","410.00","910.00","17.50"),
             new Array("550","451.00","1001.00","19.25"),
             new Array("600","492.00","1092.00","21.00"),
             new Array("650","533.00","1183.00","22.75"),
             new Array("700","574.00","1274.00","24.50"),
             new Array("750","615.00","1365.00","26.25"),
             new Array("800","656.00","1456.00","28.00"),
             new Array("850","697.00","1547.00","29.75"),
             new Array("900","738.00","1638.00","31.50"),
             new Array("950","779.00","1729.00","33.25"),
             new Array("1000","820.00","1820.00","35.00")
         ),
         new Array("57","189.2",3,
             new Array("100","71.00","171.00","3.00"),
             new Array("200","142.00","342.00","6.00"),
             new Array("300","213.00","513.00","9.00"),
             new Array("400","284.00","684.00","12.00"),
             new Array("500","355.00","855.00","15.00"),
             new Array("600","426.00","1026.00","18.00"),
             new Array("700","497.00","1197.00","21.00"),
             new Array("800","568.00","1368.00","24.00"),
             new Array("900","639.00","1539.00","27.00"),
             new Array("1000","710.00","1710.00","30.00"),
             new Array("1100","x","x","x"),
             new Array("1200","x","x","x"),
             new Array("1300","x","x","x"),
             new Array("1400","x","x","x"),
             new Array("1500","x","x","x"),
             new Array("1600","x","x","x"),
             new Array("1700","x","x","x"),
             new Array("1800","x","x","x"),
             new Array("1900","x","x","x"),
             new Array("2000","x","x","x"),
             new Array("2100","x","x","x"),
             new Array("2200","x","x","x"),
             new Array("2300","x","x","x"),
             new Array("2400","x","x","x"),
             new Array("2500","x","x","x")
         ),
         new Array("81","160.9",1,
             new Array("100","x","x","x"),
             new Array("200","x","x","x"),
             new Array("300","x","x","x"),
             new Array("400","x","x","x"),
             new Array("500","472.00","972.00","12.00"),
             new Array("600","566.40","1166.40","14.40"),
             new Array("700","660.80","1360.80","16.80"),
             new Array("800","755.20","1555.20","19.20"),
             new Array("900","849.60","1749.60","21.60"),
             new Array("1000","944.00","1944.00","24.00"),
             new Array("1100","1038.40","2138.40","26.40"),
             new Array("1200","1132.80","2332.80","28.80"),
             new Array("1300","1227.20","2527.20","31.20"),
             new Array("1400","1321.60","2721.60","33.60"),
             new Array("1500","1416.00","2916.00","36.00"),
             new Array("1600","1510.40","3110.40","38.40"),
             new Array("1700","1604.80","3304.80","40.80"),
             new Array("1800","1699.20","3499.20","43.20"),
             new Array("1900","1793.60","3693.60","45.60"),
             new Array("2000","1888.00","3888.00","48.00"),
             new Array("2100","1982.40","4082.40","50.40"),
             new Array("2200","2076.80","4276.80","52.80"),
             new Array("2300","2171.20","4471.20","55.20"),
             new Array("2400","2265.60","4665.60","57.60"),
             new Array("2500","2360.00","4860.00","60.00")
         ),
         new Array("106","133.6",1,
             new Array("100","x","x","x"),
             new Array("200","x","x","x"),
             new Array("300","x","x","x"),
             new Array("400","x","x","x"),
             new Array("500","560.00","1060.00","10.00"),
             new Array("600","672.00","1272.00","12.00"),
             new Array("700","784.00","1484.00","14.00"),
             new Array("800","896.00","1696.00","16.00"),
             new Array("900","1008.00","1908.00","18.00"),
             new Array("1000","1120.00","2120.00","20.00"),
             new Array("1100","1232.00","2332.00","22.00"),
             new Array("1200","1344.00","2544.00","24.00"),
             new Array("1300","1456.00","2756.00","26.00"),
             new Array("1400","1568.00","2968.00","28.00"),
             new Array("1500","1680.00","3180.00","30.00"),
             new Array("1600","1792.00","3392.00","32.00"),
             new Array("1700","1904.00","3604.00","34.00"),
             new Array("1800","2016.00","3816.00","36.00"),
             new Array("1900","2128.00","4028.00","38.00"),
             new Array("2000","2240.00","4240.00","40.00"),
             new Array("2100","2352.00","4452.00","42.00"),
             new Array("2200","2464.00","4664.00","44.00"),
             new Array("2300","2576.00","4876.00","46.00"),
             new Array("2400","2688.00","5088","48.00"),
             new Array("2500","2800.00","5300.00","50.00")         
         )
     );
     
     lo_card = new Array(
         new Array("23","545.2",2,
             new Array("300","148.50","448.50","19.50"),
             new Array("600","x","x","x"),
             new Array("900","x","x","x")
         ),
         new Array("31","365.1",2,
             new Array("300","165.00","465.00","15.00"),
             new Array("600","x","x","x"),
             new Array("900","x","x","x")
         ),
         new Array("50","254.5",1,
             new Array("300","225.00","525.00","10.50"),
             new Array("600","450.00","1050.00","21.00"),
             new Array("900","675.00","1575.00","31.50")
         ),
         new Array("52","272.2",2,
             new Array("300","246.00","546.00","10.50"),
             new Array("600","492.00","1092.00","21.00"),
             new Array("900","738.00","1638.00","31.50")
         )
     );         
         
     lo_voucher = new Array(
         new Array("25","468.2",0,
             new Array("50","25.00","75.00","3.00"),
             new Array("100","50.00","150.00","6.00"),
             new Array("150","75.00","225.00","9.00"),
             new Array("200","100.00","300.00","12.00"),
             new Array("250","125.00","375.00","15.00"),
             new Array("300","150.00","450.00","18.00"),
             new Array("350","175.00","525.00","21.00"),
             new Array("400","200.00","600.00","24.00"),
             new Array("450","225.00","675.00","27.00"),
             new Array("500","250.00","750.00","30.00"),
             new Array("550","x","x","x"),
             new Array("600","x","x","x"),
             new Array("650","x","x","x"),
             new Array("700","x","x","x"),
             new Array("750","x","x","x"),
             new Array("800","x","x","x"),
             new Array("850","x","x","x"),
             new Array("900","x","x","x"),
             new Array("950","x","x","x"),
             new Array("1000","x","x","x")
         ),
         new Array("29","294.4",1,
             new Array("50","22.50","72.50","2.50"),
             new Array("100","45.00","145.00","5.00"),
             new Array("150","67.50","217.50","7.50"),
             new Array("200","90.00","290.00","10.00"),
             new Array("250","112.50","362.50","12.50"),
             new Array("300","135.00","435.00","15.00"),
             new Array("350","157.50","507.50","17.50"),
             new Array("400","180.00","580.00","20.00"),
             new Array("450","202.50","652.50","22.50"),
             new Array("500","225.00","725.00","25.00"),
             new Array("550","x","x","x"),
             new Array("600","x","x","x"),
             new Array("650","x","x","x"),
             new Array("700","x","x","x"),
             new Array("750","x","x","x"),
             new Array("800","x","x","x"),
             new Array("850","x","x","x"),
             new Array("900","x","x","x"),
             new Array("950","x","x","x"),
             new Array("1000","x","x","x")
         ),
         new Array("48","235.5",2,
             new Array("50","34.00","84.00","1.75"),
             new Array("100","68.00","168.00","3.50"),
             new Array("150","102.00","252.00","5.25"),
             new Array("200","136.00","336.00","7.00"),
             new Array("250","170.00","420.00","8.75"),
             new Array("300","204.00","504.00","10.50"),
             new Array("350","238.00","588.00","12.25"),
             new Array("400","272.00","672.00","14.00"),
             new Array("450","306.00","756.00","15.75"),
             new Array("500","340.00","840.00","17.50"),
             new Array("550","374.00","924.00","19.25"),
             new Array("600","408.00","1008.00","21.00"),
             new Array("650","442.00","1092.00","22.75"),
             new Array("700","476.00","1176.00","24.50"),
             new Array("750","510.00","1260.00","26.25"),
             new Array("800","544.00","1344.00","28.00"),
             new Array("850","578.00","1428.00","29.75"),
             new Array("900","612.00","1512.00","31.50"),
             new Array("950","646.00","1596.00","33.25"),
             new Array("1000","680.00","1680.00","35.00")
         ),
         new Array("75","145.7",1,
             new Array("50","x","x","x"),
             new Array("100","80.00","180.00","2.40"),
             new Array("150","120.00","270.00","3.60"),
             new Array("200","160.00","360.00","4.80"),
             new Array("250","200.00","450.00","6.00"),
             new Array("300","240.00","540.00","7.20"),
             new Array("350","280.00","630.00","8.40"),
             new Array("400","320.00","720.00","9.60"),
             new Array("450","360.00","810.00","10.80"),
             new Array("500","400.00","900.00","12.00"),
             new Array("550","440.00","990.00","13.20"),
             new Array("600","480.00","1080.00","14.40"),
             new Array("650","520.00","1170.00","15.60"),
             new Array("700","560.00","1260.00","16.80"),
             new Array("750","600.00","1350.00","18.00"),
             new Array("800","640.00","1440.00","19.20"),
             new Array("850","680.00","1530.00","20.40"),
             new Array("900","720.00","1620.00","21.60"),
             new Array("950","760.00","1710.00","22.80"),
             new Array("1000","800.00","1800.00","24.00")
         ),
         new Array("100","126.5",1,
             new Array("50","x","x","x"),
             new Array("100","100.00","200.00","2.00"),
             new Array("150","150.00","300.00","3.00"),
             new Array("200","200.00","400.00","4.00"),
             new Array("250","250.00","500.00","5.00"),
             new Array("300","300.00","600.00","6.00"),
             new Array("350","350.00","700.00","7.00"),
             new Array("400","400.00","800.00","8.00"),
             new Array("450","450.00","900.00","9.00"),
             new Array("500","500.00","1000.00","10.00"),
             new Array("550","550.00","1100.00","11.00"),
             new Array("600","600.00","1200.00","12.00"),
             new Array("650","650.00","1300.00","13.00"),
             new Array("700","700.00","1400.00","14.00"),
             new Array("750","750.00","1500.00","15.00"),
             new Array("800","800.00","1600.00","16.00"),
             new Array("850","850.00","1700.00","17.00"),
             new Array("900","900.00","1800.00","18.00"),
             new Array("950","950.00","1900.00","19.00"),
             new Array("1000","1000.00","2000.00","20.00")
         )
    )

