﻿/* Monetti FI Form

Created: 2011-01-17
Version: 1.0
Copyright: 2011 Folkia AS. */

function isDate(s) {
    // make sure it is in the expected format   
    if (s.search(/^\d{1,2}[\/|\-|\.|_]\d{1,2}[\/|\-|\.|_]\d{4}/g) != 0)
        return false;

    // remove other separators that are not valid with the Date class              
    s = s.replace(/[\-|\.|_]/g, "/");

    // convert it into a date instance   
    var dt = new Date(Date.parse(s));

    // check the components of the date   
    // since Date instance automatically rolls over each component   
    var arrDateParts = s.split("/");
    return (
        dt.getMonth() == arrDateParts[0] - 1 &&
        dt.getDate() == arrDateParts[1] &&
        dt.getFullYear() == arrDateParts[2]
    );
}

$(document).ready(function () {
    //
    $(".apply-input.apply-green").uniform({ selectClass: 'selector selector-green' });
    $(".apply-input.apply-normal").uniform({ selectClass: 'selector' });

    //Label title
    $(this).focus(function () {
        $(this).prev("label.inlined").addClass("focus");
    });

    $("label.inlined + input.apply-input").each(function (type) {
        //FF reload issue
        if ($(this).val() != "") {
            $(this).prev("label.inlined").addClass("has-text").removeClass("focus");
        }

        $(this).focus(function () {
            $(this).prev("label.inlined").addClass("focus");
        });

        $(this).keypress(function () {
            $(this).prev("label.inlined").addClass("has-text").removeClass("focus");
        });

        $(this).blur(function () {
            if ($(this).val() == "") {
                $(this).prev("label.inlined").removeClass("has-text").removeClass("focus");
            }
        });
    });

    $('#apply-belopp').change(function () {
        changeLoptid();
    });

    /*$('#apply-pnummer').keydown(function (event) {
    var pString = $(this).val();
    var nr = 6;
    if (event.keyCode == '109' && (this.value.length == 6 || this.value.length == 8)) { return; };
    if (event.keyCode == '109') { return false; };
    if (pString.match(/^19/)) {
    if (event.keyCode == '109' && this.value.length == 8) { return; };
    nr = 8;
    $('#apply-pnummer').attr('maxlength', 13);
    };
    if (this.value.length == nr && event.keyCode != '8' && event.keyCode != '46') {
    $(this).val(pString + '-');
    }
    });*/

    $.validator.addMethod("mobil", function (value, element) {
        return value.match(/^\+358\d+$/) || value.match(/^04\d+$/) || value.match(/^05\d+$/);
    }, "Syöttämäsi GSM-numero on virheellinen. Huom! Vain suomalaisten operaattoreiden numerot hyväksytään.");

    $.validator.addMethod("iban", function (value, element) {
        return value.match(/^FI[0-9]{16}/) || value.match(/^([124568][0-9]{5}|3[134679][0-9]{4})-[0-9]{2,8}/);
    }, "Tarkista, että olet kirjoittanut oikein tilinumerosi.");

    $.validator.addMethod("hetu", function (value, element) {
        if (value.length != 11) {
            return false;
        }

        day = value.substr(0, 2);
        month = value.substr(2, 2);
        year = value.substr(4, 2);
        separator = value.substr(6, 1);
        individual_num = value.substr(7, 3);
        check_char = value.substr(10, 1);

        if (separator == "-" || separator == "+" || separator == "A") {
            century = "18";

            if (separator == "-") {
                century = "19";
            } else if (separator = "A") {
                century = "20";
            }

            if (isDate(month + "/" + day + "/" + century + year)) {
                mod = parseInt(day + month + year + individual_num.toString(), 10) % 31;

                check_table = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "H", "J", "K", "L", "M", "N", "P", "R", "S", "T", "U", "V", "W", "X", "Y"];

                if (check_char.toUpperCase() == check_table[mod]) {
                    return true;
                }
            }
        }

        return false;

    }, "Syöttämäsi henkilötunnus on virheellinen, kirjoita muotoon ppkkvv-xxxx");

    //Validate
    $('#aspnetForm').validate({
        debug: true,
        validClass: "valid",
        errorPlacement: function (error, element) {
            var container = $("<div class='error-container'></div>");
            $(container).insertAfter(element.parent());
            error.appendTo(container);
        },
        submitHandler: function () { submitValidForm() }
    });

    jQuery.validator.messages['minlength'] = "Syöttämäsi henkilötunnus on virheellinen, kirjoita muotoon ppkkvv-xxxx.";
    jQuery.validator.messages['maxlength'] = "Syöttämäsi henkilötunnus on virheellinen, kirjoita muotoon ppkkvv-xxxx.";
    jQuery.validator.messages['required'] = "Ole hyvä ja täytä kaikki kohdat.";
    jQuery.validator.messages['iban'] = "Tarkista, että olet kirjoittanut oikein tilinumerosi.";
    jQuery.validator.messages['mobil'] = "Syöttämäsi GSM-numero on virheellinen. Huom! Vain suomalaisten operaattoreiden numerot hyväksytään.";
    jQuery.validator.messages['email'] = "Tarkista, että olet kirjoittanut oikein sähköpostiosoitteesi.";
    jQuery.validator.messages['digits'] = "Käytä ainoastaan numeroita";

    //Knappar i första steg
    $('#trace-fel-back').click(function () {
        $('#trace-fel-back').val('Sovellus keskeytetään...');
        location.reload();
    });
    $('#open-signicat-btn').click(function () {
        openModal('#fi-form-modal');
    });
    $('#apply-button').click(function (event) {
        //Slå på för validering
        if ($('#aspnetForm').valid()) {
            submitValidForm();
            $('#apply-form').css('opacity', '0.3');
            //$(this).unbind('click');
        }
    });
    $('#apply-returning').change(function () {
        newOrReturning();
    });
    $('#forgot-pin').change(function () {
        forgotPin();
    });
    //Köra lite checkar vid refresh
    newOrReturning();
    forgotPin();
});

function submitValidForm() {
    loaderTxt = 'Pieni hetki. Hakemustanne käsitellään parhaillaan...';
    cData = new customerData();
    if (cData.nyKund == false && forgotPinCode == false) {
        _gaq.push(['_trackPageview', '/Returning-Begin-registration']);

        //$('#step1').text('Application');
        //$('.step2').text('Done');
        $('#fi-form-steps').css('width', 325);

        $("#step1-description").css("left", 255);

        $("#step2-description").css("left", 400);
        $("#step2-description").text("HAKEMUS");

        $('.step3').show();
        $("#step3-description").css("left", 535);
        $("#step3-container").css("border", "medium none");
        $("#step3-container").css("margin-right", "0px");
        $("#step3-container").css("width", "40px");
        $("#step3-description").text("VALMIS");

        $('.step4').hide();
        $('.step5').hide();
        ajaxApplyReturning(cData, loaderTxt);
    }
    else if (cData.nyKund == true || (!cData.nyKund && forgotPinCode)) {
        if (!cData.nyKund && forgotPinCode) {
            _gaq.push(['_trackPageview', '/Returning-Begin-registration-forgotpin']);
        } else {
            _gaq.push(['_trackPageview', '/New-Begin-registration']);
        }

        //$('.step1').text('Registration');
        //$('.step2').text('Identification');
        $('#fi-form-steps').css('width', 585);
        $('.step3').show();
        $('.step4').show();
        $('.step5').show();
        ajaxApply(cData, loaderTxt);
    }
}

function submitHandleLower(cData, maxBelopp) {
    $('#apply-button-lower').click(function () {
        cData.belopp = maxBelopp;
        $(this).unbind('click');
        loaderTxt = 'Hakeminen alhaisempi määrä...';
        ajaxApply(cData, loaderTxt);
    });
}

function customerData() {
    var aterKund = $("#apply-returning").attr('checked');
    if (aterKund == false) this.nyKund = true;
    if (aterKund == true) this.nyKund = false;
    this.belopp = $("#apply-belopp").val();
    this.lanTid = $("#apply-lantid").val();
    this.pNr = $("#apply-pnummer").val();
    this.fNamn = $("#apply-fnamn").val();
    this.eNamn = $("#apply-enamn").val();
    this.mobilNr = $("#apply-mobil").val();
    this.ePost = $("#apply-epost").val();
    this.kontoNr = $("#apply-kontonummer").val();
    this.inkomst = $("#apply-inkomst").val();
    this.syssel = $("#apply-syssel").val();
    this.kontakt = $("#apply-kontakt").val();
    this.pinkod = $("#apply-pin").val();
    this.kampanj = $("#apply-kampanj").val();
    this.fakturaval = $("#apply-fakturaval").val();

    this.kundEpost = "";
    this.kundAdress1 = "";
    this.kundPostNr = "";
    this.kundPostOrt = "";

    this.pinForsok = 0;

    this.euroAdUrl = "";
}

function ajaxApply(cData, loaderTxt) {
    openModal('#fi-form-modal');
    startAjaxLoader(loaderTxt, 'step1');

    $('#fi-form-modal').ready(function () {
        $.ajax({
            url: "/Services/FiLoanService.asmx/InfoInnanAnsokan",
            contentType: "application/json; charset=utf-8",
            type: "POST",
            dataType: "json",
            data: '{"belopp": ' + cData.belopp + ', "loptid": ' + cData.lanTid + ', "nyKund": ' + cData.nyKund + ', "personnummer": "' + cData.pNr + '", "fornamn": "' + cData.fNamn + '", "efternamn": "' + cData.eNamn + '", "epost": "' + cData.ePost + '", "mobilnummer": "' + cData.mobilNr + '", "telefonnummer": "", "clearingnummer": "", "kontonummer": "' + cData.kontoNr + '", "yrke": "' + cData.syssel + '", "inkomst": "' + cData.inkomst + '", "kampanj": "' + cData.kampanj + '", "fakturaval": "' + cData.fakturaval + '"}',
            success: function (data) {

                cData.ansokanId = data.d.Referens;

                if (data.d.PageKey == 'null') { data.d.PageKey = 'tech-problem' };

                if (data.d.PageKey == 'fi-identify') {
                    $('#apply-form').hide();
                    $('#form-begin').show();
                    $('#ajax-loader-txt').text('Käsittelemme hakemustanne');
                    $.ajax({
                        url: "/Services/FiAuth.asmx/GenerateAuthUrl",
                        contentType: "application/json; charset=utf-8",
                        type: "POST",
                        dataType: "json",
                        data: '{ "referens": "' + data.d.Referens + '" }',

                        success: function (data) {
                            cData.generatedAuthUrl = data.d;
                            //Sätta ansökanId för att slå mot ID-service
                            $('#ajax-loader-txt').text('Pieni hetki. Ladataan tunnistautumista...');
                            $.get("/Templates/Redrum/PartialContent/form-fi-identify.aspx", function (data2) {
                                $('#fi-form-modal-content').html(data2);
                                stopAjaxLoader('step1');
                                $('.step2').addClass('active');
                                startIdentifyStep(cData);
                            });
                        },
                        error: function (obj) {
                            handleAjaxError(obj);
                        }
                    });
                }
                else {
                    $('#ajax-loader-txt').text('Pieni hetki. Ladataan tietoja...');
                    $.get("/Templates/Redrum/PartialContent/form-" + data.d.PageKey + ".aspx", function (data2) {
                        stopAjaxLoader('step1', 'denied');
                        $('#fi-form-modal-content').html(data2);
                        $('#mask, .close').unbind('click');
                        $('#mask, .close').click(function (e) {
                            $('#mask, .window').hide();
                            $('#fi-form-modal-content').find('*').not('.ajax-loader').empty();
                            $('#mask, .close').unbind('click');
                        });
                    });
                }

            },
            error: function (obj) {
                handleAjaxError(obj);
            }
        });
    });
}

function ajaxApplyReturning(cData, loaderText) {
    openModal('#fi-form-modal');
    startAjaxLoader(loaderTxt, 'step1');
    $('#fi-form-modal').ready(function () {
        $.ajax({
            url: "/Services/FiLoanService.asmx/RegistreraAterkommande1",
            contentType: "application/json; charset=utf-8",
            type: "POST",
            dataType: "json",
            data: '{"belopp": ' + cData.belopp + ', "loptid": ' + cData.lanTid + ', "pin": "' + cData.pinkod + '", "mobilnummer": "' + cData.mobilNr + '", "kampanj": "' + cData.kampanj + '"}',
            success: function (data) {

                cData.ansokanId = data.d.Referens;

                if (data.d.PageKey == 'null') { data.d.PageKey = 'tech-problem' };

                if (data.d.PageKey == 'denied') {
                    $.get("/Templates/Redrum/PartialContent/form-fi-denied.aspx", function (data2) {
                        $('#fi-form-modal-content').html(data2);
                        stopAjaxLoader('step1', 'denied');
                    });
                } else {


                    var pk = data.d.PageKey;

                    if (data.d.PageKey == "success") {
                        pk = "pin";
                    }

                    $.get("/Templates/Redrum/PartialContent/form-fi-" + pk + ".aspx?returning=1", function (data2) {
                        $('#fi-form-modal-content').html(data2);
                        stopAjaxLoader('step1');

                        // do something based on pagekey
                        if (data.d.PageKey == 'lower') {
                            startAjaxLoader('', 'step2');

                            $("#apply-lower").live('click', function () {
                                cData.belopp = parseInt($("#b2").val(), 10);

                                $.ajax({
                                    url: "/Services/FiLoanService.asmx/RegistreraAterkommande1",
                                    contentType: "application/json; charset=utf-8",
                                    type: "POST",
                                    dataType: "json",
                                    data: '{"belopp": ' + cData.belopp + ', "loptid": ' + cData.lanTid + ', "pin": "' + cData.pinkod + '", "mobilnummer": "' + cData.mobilNr + '", "kampanj": "' + cData.kampanj + '"}',
                                    success: function (data3) {
                                        if (data3.d.PageKey == 'success') {
                                            _gaq.push(['_trackPageview', '/Returning-Successful-application-pin']);

                                            cData.kundEpost = data3.d.KundEpost;
                                            cData.kundAdress1 = data3.d.KundAdress1;
                                            cData.kundPostNr = data3.d.KundPostNr;
                                            cData.kundPostOrt = data3.d.KundOrt;
                                            cData.euroAdUrl = data3.d.TrackingScript;

                                            $.get("/Templates/Redrum/PartialContent/form-fi-pin.aspx?returning=1", function (data4) {
                                                $('#fi-form-modal-content').html(data4);
                                                stopAjaxLoader('step2');
                                                confirmReturningApplication(cData);
                                            });
                                        }
                                    }
                                });
                            });
                        } else if (data.d.PageKey == 'success') {
                            cData.kundEpost = data.d.KundEpost;
                            cData.kundAdress1 = data.d.KundAdress1;
                            cData.kundPostNr = data.d.KundPostNr;
                            cData.kundPostOrt = data.d.KundOrt;
                            cData.euroAdUrl = data.d.TrackingScript;

                            confirmReturningApplication(cData);
                        }
                    });
                }
            },
            error: function (obj) {
                handleAjaxError(obj);
            }
        });
    });
}

function confirmReturningApplication(cData) {
    stopAjaxLoader('step2');
    startAjaxLoader('', 'step3');

    $("#check-pin").live('click', function () {
        confirmApplication(cData, $("#apply-fakturaval2").val());
    });

    $("#email-info").html(cData.kundEpost + "");
    $("#post-info").html(cData.kundAdress1 + "<br>" + cData.kundPostNr + " " + cData.kundPostOrt);

    $("#apply-fakturaval2").change(function () {
        if ($("#apply-fakturaval2").val() == "email-invoice") {
            $("#email-info").show();
            $("#post-info").hide();
        } else {
            $("#email-info").hide();
            $("#post-info").show();

            alert("Huomio. Olet valinnut kirjeen");
        }
    });

    $("#apply-fakturaval2").val(cData.fakturaval);

    if ($("#apply-fakturaval2").val() == "post-invoice") {
        $("#email-info").hide();
        $("#post-info").show();
    }
}

function confirmApplication(cData, fakturaval) {
    $.ajax({
        url: "/Services/FiLoanService.asmx/RegistreraAterkommande2",
        contentType: "application/json; charset=utf-8",
        type: "POST",
        dataType: "json",
        data: '{"ssn": "' + cData.pNr + '", "appref": ' + cData.ansokanId + ', "fakturaval": "' + fakturaval + '"}',
        success: function (data) {
            if (data.d) {
                stopAjaxLoader('step3');
                loadTheEnd();
            } else {
                alert("misslyckades");
            }
        }
    });
}

function loadTheEnd() {
    $.get("/Templates/Redrum/PartialContent/form-fi-theend.aspx", function (data2) {
        $('#fi-form-modal-content').html(data2);

        $("#exit-application").live('click', function () {
            $('#mask, .window').hide();
            $('#mask, .close').unbind('click');

            location.href = location.href;
        });
    });

    _gaq.push(['_trackPageview', '/Returning-Successful-application-full']);
    adxConversionTracker(true);
}

function startIdentifyStep(cData) {
    $('.step2').removeClass('undone');
    $('#ajax-loader-text').text('Pieni hetki. Ladataan tunnistautumista...');
    $("#signicat-iframe").show();
    $('.ajax-loader').hide();

    $('#open-bank-window').live('click', function () {
        bankWindow = window.open(cData.generatedAuthUrl, 'bankwin', 'left=20,top=20,width=1024,height=768,toolbar=0,resizable=0');
        if (window.focus) { bankWindow.focus() }
        setTimeout(checkBankWindow, 500);
    });

    $('#skip-auth-check').live('click', function () {
        $.ajax({
            url: "/Services/FiLoanService.asmx/SkipAuthCheck",
            contentType: "application/json; charset=utf-8",
            type: "POST",
            dataType: "json",
            data: '{"ssn": "' + cData.pNr + '", "ansref": "' + cData.ansokanId + '"}',
            success: function (data) {
                authCheck();
            }
        });
    });
}

function checkBankWindow() {
    if (window.bankWindow == null || window.bankWindow.closed == true) {
        authCheck();
    } else {
        setTimeout(checkBankWindow, 500);
    }
}

function authCheck() {
    if (window.bankWindow == null || window.bankWindow.closed == true) {
        startAjaxLoader('Pieni hetki. Tietoja käsitellään parhaillaan...', 'step2');
        $('#id-start-step').hide();
        $('.ajax-loader').show();
        $.ajax({
            url: "/Services/FolkGiroService.asmx/SparaAnsokan",
            contentType: "application/json; charset=utf-8",
            type: "POST",
            dataType: "json",
            data: '{"personnummer":"' + cData.pNr + '", "referensnummer":"' + cData.ansokanId + '"}',
            success: function (data) {

                if (data.d.Stadie == 'Identifierad') {
                    stopAjaxLoader('step2');
                    window.focus();
                    $('#id-start-step').fadeOut('slow', function () {
                        applyForLoan(cData);
                    });
                    return;
                }

                else {
                    stopAjaxLoader('step2', 'denied');
                    window.focus();
                    $.get("/Templates/Redrum/PartialContent/form-fi-denied.aspx?reason=tupas", function (data2) {
                        $('#fi-form-modal-content').html(data2);
                    });
                }
            },
            error: function (obj) {
                stopAjaxLoader('step2', 'denied');
                handleAjaxError(obj);
            }
        });
    }
}

function applyForLoan(cData, test) {
    startAjaxLoader('Pieni hetki. ' + cData.belopp + ' euron hakemusta käsitellään parhaillaan', 'step3');
    $.ajax({
        url: "/Services/FiLoanService.asmx/Registrera",
        contentType: "application/json; charset=utf-8",
        type: "POST",
        dataType: "json",
        data: '{"belopp": ' + cData.belopp + ', "loptid": ' + cData.lanTid + ', "nyKund": ' + cData.nyKund + ', "personnummer": "' + cData.pNr + '", "fornamn": "' + cData.fNamn + '", "efternamn": "' + cData.eNamn + '", "epost": "' + cData.ePost + '", "mobilnummer": "' + cData.mobilNr + '", "telefonnummer": "", "clearingnummer": "", "kontonummer": "' + cData.kontoNr + '", "kampanj": "' + cData.kampanj + '"}',
        success: function (data) {
            cData.kundEpost = data.d.KundEpost;
            cData.kundAdress1 = data.d.KundAdress1;
            cData.kundPostNr = data.d.KundPostNr;
            cData.kundPostOrt = data.d.KundOrt;
            cData.euroAdUrl = data.d.TrackingScript;

            if (data.d.PageKey == 'null') { data.d.PageKey = 'tech-problem'; }
            if (data.d.PageKey == 'success') { data.d.PageKey = 'pin'; }

            if (data.d.PageKey == 'pin') {
                $('#ajax-loader-txt').text(cData.belopp + ' € hakemus on hyväksytty!');
                $.get("/Templates/Redrum/PartialContent/form-fi-pin.aspx", function (data2) {
                    $('#fi-form-modal-content').html(data2);

                    stopAjaxLoader('step3');
                    $('.step4').addClass('active');

                    startPinStep(cData);
                });
                return;
            }

            if (data.d.PageKey == 'lower') {
                $('#ajax-loader-txt').text(cData.belopp + ' € hakemus on hylätty!');

                $.get("/Templates/Redrum/PartialContent/form-fi-lower.aspx", function (data3) {

                    stopAjaxLoader('step3', 'same-active');

                    $('#fi-form-modal-content').html(data3);

                    $('#apply-lower').click(function () {
                        cData.belopp = data.d.MaxBelopp;
                        $('#fi-form-lower-content').remove();
                        applyForLoan(cData);
                    });
                });
                return;
            }

            else {
                $('#ajax-loader-txt').text(cData.belopp + ' € hakemus on hylätty!');
                $.get("/Templates/Redrum/PartialContent/form-fi-" + data.d.PageKey + ".aspx", function (data4) {
                    $('#fi-form-modal-content').html(data4);

                    stopAjaxLoader('step3', 'denied');
                });
            }
        },
        error: function (obj) {
            stopAjaxLoader('step3', 'denied');
            handleAjaxError(obj);
        }
    });
}

function startPinStep() {
    _gaq.push(['_trackPageview', '/New-Successful-application-pin']);

    $("#email-info").html(cData.kundEpost + "");
    $("#post-info").html(cData.kundAdress1 + "<br>" + cData.kundPostNr + " " + cData.kundPostOrt);

    $("#apply-fakturaval2").change(function () {
        if ($("#apply-fakturaval2").val() == "email-invoice") {
            $("#email-info").show();
            $("#post-info").hide();
        } else {
            $("#email-info").hide();
            $("#post-info").show();

            alert("Huomio. Olet valinnut kirjeen.");
        }
    });

    $("#apply-fakturaval2").val(cData.fakturaval);

    if ($("#apply-fakturaval2").val() == "post-invoice") {
        $("#email-info").hide();
        $("#post-info").show();
    }

    $('#check-pin').click(function () {
        if ($("#b10").length) {
            if ($("#b10").val() == "1") {
                $('#mask, .window').hide();
                $('#mask, .close').unbind('click');

                location.href = location.href;
                return;
            }
        }

        cData.pinForsok += 1;

        $('.pin-content').hide();
        startAjaxLoader('Pieni hetki. Tarkistetaan PIN-koodia...', 'step4');

        $.ajax({
            url: "/Services/FiLoanService.asmx/UnlockApplication",
            contentType: "application/json; charset=utf-8",
            type: "POST",
            dataType: "json",
            data: '{"ssn": "' + cData.pNr + '", "appref": "' + cData.ansokanId + '", "pin": "' + $('#apply-pinz').val() + '", "fakturaval": "' + $("#apply-fakturaval2").val() + '"}',
            success: function (data) {
                if (data.d == true) {
                    _gaq.push(['_trackPageview', '/New-Successful-application-full']);
                    adxConversionTracker(false);
                    $.get("/Templates/Redrum/PartialContent/form-fi-pin-approved.aspx", function (data2) {
                        $('#fi-form-modal-content').html(data2);
                        stopAjaxLoader('step4');
                        $('.step5').addClass('done');
                        $('.step5-content').hide();

                        $("#exit-application").live('click', function () {
                            $('#mask, .window').hide();
                            $('#mask, .close').unbind('click');

                            location.href = location.href;
                        });
                    });
                }
                else {
                    stopAjaxLoader('step4', 'same-active');
                    $('.pin-content').show();

                    $("#apply-pinz").css("border", "1px solid #cc1100");
                    $("#pinerror").show();

                    $('.ajax-loader').hide();

                    if (cData.pinForsok == 3) {
                        alert("Hakemus on lukittu.");
                    }
                }
            }
        });
    });
}

function startAjaxLoader(loaderTxt, step) {
    if (loaderTxt != '') {
        $('.ajax-loader').show();
        $('#ajax-loader-txt').text(loaderTxt);
    } else {
        $('.ajax-loader').hide();
    }

    $('.' + step + '-content').show();

    $('.' + step).removeClass('denied');
    $('.' + step).removeClass('active');
    $('#' + step).parent().addClass('working');
    $('#' + step).show();
    var d = 0;
    ajaxLoader = setInterval(
        function () {
            d += 30
            if (d < 5000) {
                $('#' + step).rotateAnimation({ animateAngle: d, duration: 1000 });
            }
        },
        200
    );
}

function stopAjaxLoader(step, process) {
    $('#' + step).parent().removeClass('working');
    clearInterval(ajaxLoader);
    if (process == 'denied') {
        $('#' + step).parent().addClass('denied');
        $('.' + step + '-content').hide();
        $('div.' + step).removeClass('done');
        return;
    }
    if (process == 'same-active') {
        $('.' + step).removeClass('done');
        $('.' + step).addClass('active');
        $('.' + step + '-content').show();
        $('#' + step).hide();
    }
    else {
        $('.' + step + '-content').hide();
        $('#' + step).parent().addClass('done');
    }
}

function amountVStime() {
    if ($("#apply-returning").attr("checked") == true) {
        $("#apply-belopp").find("option").remove();

        $("#apply-belopp").append("<option value='1000' selected='selected'>1000 €</option>");
        $("#apply-belopp").append("<option value='900'>900 €</option>");
        $("#apply-belopp").append("<option value='800'>800 €</option>");
        $("#apply-belopp").append("<option value='700'>700 €</option>");
        $("#apply-belopp").append("<option value='600'>600 €</option>");
        $("#apply-belopp").append("<option value='500'>500 €</option>");
        $("#apply-belopp").append("<option value='400'>400 €</option>");
        $("#apply-belopp").append("<option value='300'>300 €</option>");
        $("#apply-belopp").append("<option value='200'>200 €</option>");
        $("#apply-belopp").append("<option value='100'>100 €</option>");
    } else {
        $("#apply-belopp").find("option").remove();

        $("#apply-belopp").append("<option value='300' selected='selected'>300 €</option>");
        $("#apply-belopp").append("<option value='200'>200 €</option>");
        $("#apply-belopp").append("<option value='100'>100 €</option>");
    }

    changeLoptid();

    $.uniform.update("#apply-belopp");
}

var beloppLoptid = {};
beloppLoptid["100"] = ["14", "30"];
beloppLoptid["200"] = ["14", "30"];
beloppLoptid["300"] = ["14", "30", "60", "90"];
beloppLoptid["400"] = ["14", "30", "60", "90"];
beloppLoptid["500"] = ["60", "90"];
beloppLoptid["600"] = ["60", "90"];
beloppLoptid["700"] = ["60", "90"];
beloppLoptid["800"] = ["60", "90"];
beloppLoptid["900"] = ["60", "90"];
beloppLoptid["1000"] = ["60", "90"];


function changeLoptid() {
    $("#apply-lantid").find("option").remove();
    var b = $("#apply-belopp").val();

    for (var i = beloppLoptid[b].length - 1; i >= 0; --i) {
        $("#apply-lantid").append("<option value=" + beloppLoptid[b][i] + ">" + beloppLoptid[b][i] + " päivää</option>");
    }

    $.uniform.update("#apply-lantid");
}

function newOrReturning() {
    if ($('#apply-returning').attr('checked') == true) {
        $('.new-customer').hide();
        $('#apply-belopp').val('1000');
        $.uniform.update("#apply-belopp");
        $.each($('.new-customer'), function () {
            $(this).find('input').data('rules', $(this).find('input').attr('class'));
            $(this).find('input').removeClass();
            $('.returning-customer').show();
        });
        $("#apply-mobil").addClass("required");
        $("#apply-pin").addClass("required");
        $("#apply-kontonummer").addClass("required");
        $("#apply-fakturaval").removeClass("required");
        forgotPin();
        amountVStime();
    }
    else {
        $.each($('.new-customer'), function () {
            $(this).find('input').attr('class', $(this).find('input').data('rules'));
        });
        $('#apply-belopp').val('300');
        $.uniform.update("#apply-belopp");
        $('.new-customer').show();
        $('.returning-customer').hide();
        $("#apply-mobil").removeClass("required");
        $("#apply-pin").removeClass("required");
        $("#apply-kontonummer").removeClass("required");
        $("#apply-fakturaval").addClass("required");
        amountVStime();
    }
}

function forgotPin() {
    if ($('#forgot-pin:checked').val() == 'on') {
        forgotPinCode = true;
        $('#apply-pin').attr("disabled", true);
        $('#pin-container').hide();
        $('#apply-pin').prev().css('font-style', 'italic');
        $('.new-customer').show();
        $.each($('.new-customer'), function () {
            $(this).find('input').attr('class', $(this).find('input').data('rules'));
        });
    }
    else if (typeof forgotPinCode != 'undefined') {
        forgotPinCode = false;
        $('#apply-pin').removeAttr("disabled");
        $('#apply-pin').prev().css('font-style', 'normal');
        $('#pin-container').show();
        $('.new-customer').hide();
        $("#apply-kontonummer").removeClass("required");
    }
    else {
        forgotPinCode = false;
    }
}

function openModal(id) {
    var maskHeight = $(document).height();
    var maskWidth = $(window).width();
    $(id).show();
    $('#mask').css({ 'width': maskWidth, 'height': maskHeight });
    //$('#mask').fadeIn(100);
    $('#mask').fadeTo("fast", 0.5);
    var winH = $(window).height();
    var winW = $(window).width();
    $(id).css('top', winH / 2 - $(id).height() / 2);
    $(id).css('left', winW / 2 - $(id).width() / 2);
    $(window).resize(function () {
        var winH = $(window).height();
        var winW = $(window).width();
        $(id).css('top', winH / 2 - $(id).height() / 2);
        $(id).css('left', winW / 2 - $(id).width() / 2);
        var maskHeight = $(document).height();
        var maskWidth = $(window).width();
        $('#mask').css({ 'width': maskWidth, 'height': maskHeight });
    });

    $('#mask, .close').click(function (e) {
        var closeModal = confirm('Haluatko varmasti perua lainahakemuksesi?');
        if (closeModal == true) {
            $('#mask, .window').hide();
            $('#mask, .close').unbind('click');
        }
    });
}

function handleAjaxError(obj) {
    $('#fi-form-modal-content').empty();
    $('#fi-form-modal-content').append('<h1>' + obj.statusText + '</h1>');
    $('#fi-form-modal-content').append('<p>Please come back in a few minutes or call customer support.</p>');
}


var win = null;
function NewWindow(mypage, myname, w, h, scroll, pos) {
    if (pos == "center") {
        LeftPosition = (screen.width) ? (screen.width - w) / 2 : 100; TopPosition = (screen.height) ? (screen.height - h) / 2 : 100;
    }
    settings = 'width=' + w + ',height=' + h + ',top=' + TopPosition + ',left=' + LeftPosition + ',scrollbars=' + scroll + ',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no';
    win = window.open(mypage, myname, settings);
}


function adxConversionTracker(befintlig) {
    var ny = 1;
    var ater = 0;
    if (befintlig) {
        ny = 0;
        ater = 1;
    }
    var adxConversionImg = new Image();
    var adxConversionURL = "http://delivery.adxsearch.com/conversion/?trackerID=1119&cb=" + Math.floor(Math.random() * 100000) + "&Ny_Kund=" + ny + "&Gammal_Kund=" + ater + "&ordervalue=1";
    adxConversionImg.src = adxConversionURL;
}


