var ac_details  = jQuery.noConflict();

window.addEventListener("message", receiveMessage, false);
function receiveMessage(event) {
    if(event.origin === "https://list.auto-commerce.eu"){
        var url         = location.href;
        var response    = event.data;
        if(response === 'contactform'){
            url         += 'leads-autosoft-belmeterug/';
        }else if(response === 'P'){
            url         += 'leads-autosoft-proefrit/';
        }else if(response === 'O'){
            url         += 'leads-autosoft-offerte/';
        }else if(response === 'T'){
            url         += 'leads-autosoft-taxatie/';
        }

        setTimeout(function(){
            location.replace(url);
        }, 2000);
    }
}


ac_details(document).ready(function() {

    ac_details("a.interestlink, a.closeform, a.fullinterestlink, a.closefullform").on('click', function () {
        triggerACForms();
    });

    // Swap viewers
    if (ac_details(".detailpagina")[0]) {
        AC_Auto360();

        // Tonen van terug naar overzicht button
        if (localStorage.getItem("list_url") != null && localStorage.getItem('list_url') != '') {
            var list_url = localStorage.getItem('list_url');
            var set_date = localStorage.getItem('list_url_time');

            var now = Date.now();
            if (set_date > (now - 1800000)) {
                ac_details('#detailpaginabackbutton').attr('href', list_url);
            } else {
                localStorage.removeItem('list_url');
                localStorage.removeItem('list_url_time');
            }
        }
    }

    // Tonen van consulease knop, met het juiste maandbedrag
    if(ac_details('#consulease_id').length){
        ac_details.ajax({
            method: "GET",
            url: "https://consulease.nl/autosoft2/?asid=" + ac_details("#consulease_id").val()
        }).done(function(msg) {
            if(msg.status == "OK" && msg.maand_prijs != "0,00") {
                ac_details(".consuleaselink").text(msg.tekst);
                ac_details(".consuleaselink").attr("href", msg.url);
            }
        });
    }


    if(ac_details('#bereken_route_button').length){

        ac_standard('.bereken_route form').on('submit', function(){
            return false;
        });

        ac_details('#bereken_route_button').on('click', function(){
            var cl = ac_details('#input_postcode').val();
            var dl = ac_details('#dest_location').val();
            if(cl === ''){ return false; }
            if(dl === ''){ return false; }

            var link = 'https://google.nl/maps?saddr=' + cl + "&daddr=" + dl;
            window.open(link, "", "top=100,left=100,width=1280,height=960");

            return false;
        });
    }

    // Privatelease calculator
    
    ac_standard("#privateleaseformcontent").hide();
    if(typeof ac_standard("#privatelease_array").val() != "undefined"){
        let privateleaseArray = ac_standard("#privatelease_array").val().split(",");
        let privatelease = [];
        
        if(privateleaseArray.length <= 1){
            ac_standard("#privatelease_calculator").hide();
        }
        for(let i = 0; i < privateleaseArray.length -1; i++){
            privatelease[i] = privateleaseArray[i].split("|");
        }

        let km1 = privatelease[0][0];
        let km2 = privatelease[6][0];
        let km3 = privatelease[12][0];
        let km4 = privatelease[18][0];
        let km5 = privatelease[24][0];
        let km6 = privatelease[30][0];

        let maand1 = privatelease[0][1];
        let maand2 = privatelease[1][1];
        let maand3 = privatelease[2][1];
        let maand4 = privatelease[3][1]
        let maand5 = privatelease[4][1]
        let maand6 = privatelease[5][1]

        let prijs72Maand = privatelease[5][2];

        let aantalKilometer = 0;
        let aantalMaanden = 0;

        ac_standard(".LeaseBedragTentoonsteller").hide();

        // Als er leasebedragen zijn ingevuld, begin de lease dan met het minimale aantal KM en de maximale looptijd
        if(km1 != 0 || km1 != "" && maand6 != 0 || maand6 != ""){
            ac_standard("#KilometerRange").val(2);
            ac_standard("#KilometerRangeOutput").text(km1);
            ac_standard("#MaandenRange").val(7);
            ac_standard("#MaandenRangeOutput").text(maand6);
            ac_standard(".LeaseBedragTentoonsteller").show();
            ac_standard("#LeaseBedrag").text("\u20AC " + privatelease[5][2]);
        }

        function berekenKilometerRange() {
            let kmRange = ac_standard("#KilometerRange").val();
            switch(kmRange) {
                case "1":
                    return 0;
                case "2":
                    if(km1 !== "" && km1 != 0) {
                        return km1;
                    }
                    else{
                        return 5000;
                    }
                case "3":
                    if(km2 !== "" && km2 != 0) {
                        return km2;
                    }
                    else{
                        return 10000;
                    }
                case "4":
                    if(km3 !== "" && km3 != 0) {
                        return km3;
                    }
                    else{
                        return 15000;
                    }
                case "5":
                    if(km4 !== "" && km4 != 0) {
                        return km4;
                    }
                    else{
                        return 20000;
                    }
                case "6":
                    if(km5 !== "" && km5 != 0) {
                        return km5;
                    }
                    else{
                        return 25000;
                    }
                case "7":
                    if(km6 !== "" && km6 != 0) {
                        return km6;
                    }
                    else{
                        return 30000;
                    }
            }
        }

        function berekenMaandenRange() {
            let mndRange = ac_standard("#MaandenRange").val();
            switch(mndRange) {
                case "1":
                    return 0;
                case "2":
                    return maand1;
                case "3":
                    return maand2
                case "4":
                    return maand3
                case "5":
                    return maand4
                case "6":
                    return maand5
                case "7":
                    return maand6
            }
        }

        ac_standard("#KilometerRange").change(function(){
            aantalKilometer = berekenKilometerRange();
            ac_standard("#KilometerRangeOutput").text(aantalKilometer);
            if(aantalMaanden == 0){
                aantalMaanden = berekenMaandenRange();
            }
            berekenLeasePrijs(aantalKilometer, aantalMaanden);
        });

        ac_standard("#MaandenRange").change(function(){
            aantalMaanden = berekenMaandenRange();
            ac_standard("#MaandenRangeOutput").text(aantalMaanden);
            if(aantalKilometer == 0){
                aantalKilometer = berekenKilometerRange();
            }
            berekenLeasePrijs(aantalKilometer, aantalMaanden);
        });

        function berekenLeasePrijs(kilometers, maanden){
            if(aantalKilometer > 0 && aantalMaanden > 0){
                for(let i = 0; i < privatelease.length; i++){
                    if(privatelease[i][0] == kilometers && privatelease[i][1] == maanden){
                        if(privatelease[i][2] == 0){
                            ac_standard(".LeaseBedragTentoonsteller").hide();
                        }
                        else{
                            ac_standard(".LeaseBedragTentoonsteller").show();
                            ac_standard("#LeaseBedrag").text("\u20AC " + privatelease[i][2]);
                        }
                    }
                }
            }
            else{
                ac_standard(".LeaseBedragTentoonsteller").hide();
                ac_standard("#LeaseBedrag").text("");
            }
        }
    }
    else
    {
        ac_standard("#privatelease_calculator").hide();
    }

    ac_standard("#pleaseAanvraag").click(() => {
        let ac = ac_details('#ac_formulieren').val();
        let autoId = ac_details('#auto_id_formulieren').val();
        let kmPerJaar = ac_standard("#KilometerRangeOutput").text();
        let aantalMaanden = ac_standard("#MaandenRangeOutput").text();
        let leasePrijs = ac_standard("#LeaseBedrag").text() + ",-";
        PopupCenter("https://list.auto-commerce.eu/wp_premium/form/formulier_privatelease.php?ac=" + ac + "&auto_id=" + autoId + "&km=" + kmPerJaar + "&maanden=" + aantalMaanden + "&prijs=" + leasePrijs);
        // let aantalKm = ac_standard("#KilometerRangeOutput").text();
        // let aantalMaand = ac_standard("#MaandenRangeOutput").text();
        // let leasePrijs = ac_standard("#LeaseBedrag").text();
        // leasePrijs = leasePrijs.split(" ");

        // ac_standard("#pleaseIframe").attr("src", "https://list.auto-commerce.eu/wp_premium/form/formulier_privatelease.php?ac=" + ac_standard("#leaseAc").val() + "&auto_id=" + ac_standard("#leaseAutoId").val() + "&km=" + aantalKm + "&maand=" + aantalMaand + "&prijs=" + leasePrijs[1]);
        // ac_details("#leaseinteresseform").toggleClass("visible");
        // ac_details("#leaseinteresseform").toggleClass("hidden");
        // ac_standard("#leaseinteresseform").show();
    });

    ac_standard(".closeleaseform").click(() => {
        ac_standard("#leaseinteresseform").hide();
    });

    // END privatelease calculator

});


function triggerACForms(formid = ''){
    var form_ac         = ac_details('#ac_formulieren').val();
    var form_auto_id    = ac_details('#auto_id_formulieren').val();
    var current_url     = document.location.href;


    var url = "https://list.auto-commerce.eu/wp_premium/form/formulier_lead_V2.php";
    url     += "?ac=" + form_ac;
    if(formid != '') {
        url     += "&formid=" + formid;
    }
    url     += "&auto_id=" + form_auto_id;
    url     += "&ref_url=" + current_url;

    ac_details("#fullinteresseform iframe").attr('src', url);

    ac_details("#fullinteresseform").toggleClass("visible");
    ac_details("#fullinteresseform").toggleClass("hidden");
    ac_details("#fullinteresseform").toggleClass("vernieuwd");

}

function AC_Auto360(){
    var ext_spin        = ac_details('#auto360_exterieur_isset').val();
    var int_pano        = ac_details('#auto360_interieur_isset').val();
    var startweergave   = ac_details('#startweergave').val();


    if (ext_spin == 'Y' && startweergave == 'ext') {
        ac_details("a.swapexterieur").addClass("current");
    } else if (int_pano == 'Y' && startweergave == 'int') {
        ac_details("#auto360extviewer .container360").hide();
        ac_details("a.swapinterieur").addClass("current");
    }else {
        ac_details("#auto360extviewer .container360").hide();
        ac_details("#auto360intviewer .container360").hide();
        ac_details("a.swapfotorama").addClass("current");
    }

    if (ext_spin == 'Y') {
        ac_details("a.swapexterieur").click(function () {

            ac_details('#auto360extviewer').removeClass("invisible");
            ac_details('#auto360extviewer').addClass("visible");
            ac_details('#auto360intviewer').removeClass("visible");
            ac_details('#auto360intviewer').addClass("invisible");
            ac_details('#fotoramaviewer').removeClass("visible");
            ac_details('#fotoramaviewer').addClass("invisible");

            ac_details("a.swapexterieur").addClass("current");
            ac_details("a.swapinterieur").removeClass("current");
            ac_details("a.swapfotorama").removeClass("current");

            ac_details("#auto360extviewer .container360").show();
            ac_details("#auto360intviewer .container360").show();
        });
    }

    if (int_pano == 'Y') {
        ac_details("a.swapinterieur").click(function () {

            ac_details('#auto360extviewer').removeClass("visible");
            ac_details('#auto360extviewer').addClass("invisible");
            ac_details('#auto360intviewer').removeClass("invisible");
            ac_details('#auto360intviewer').addClass("visible");
            ac_details('#fotoramaviewer').removeClass("visible");
            ac_details('#fotoramaviewer').addClass("invisible");

            ac_details("a.swapexterieur").removeClass("current");
            ac_details("a.swapinterieur").addClass("current");
            ac_details("a.swapfotorama").removeClass("current");

            ac_details("#auto360extviewer .container360").hide();
            ac_details("#auto360intviewer .container360").show();
            ac_details('#fotoramaviewer').hide();
        });
    }

    ac_details("a.swapfotorama").click(function () {

        ac_details('#auto360extviewer').removeClass("visible");
        ac_details('#auto360extviewer').addClass("invisible");
        ac_details('#auto360intviewer').removeClass("visible");
        ac_details('#auto360intviewer').addClass("invisible");
        ac_details('#fotoramaviewer').removeClass("invisible");
        ac_details('#fotoramaviewer').addClass("visible");

        ac_details("a.swapexterieur").removeClass("current");
        ac_details("a.swapinterieur").removeClass("current");
        ac_details("a.swapfotorama").addClass("current");

        ac_details("#auto360extviewer .container360").hide();
        ac_details("#auto360intviewer .container360").hide();
        ac_details('#fotoramaviewer').show();
    });
}