var ac_standard = jQuery.noConflict();
//-- popcenter
function PopupCenter(pageURL,title,w,h) {
    var left = (screen.width/2)-(w/2);
    var top = (screen.height/2)-(h/2);
    var targetWin = window.open (pageURL, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left);
}

//-- fotoswap
function swapPic(intNr,strPicRoot) {
    var docMod;
    docMod = document
    docMod.main_pic.src = strPicRoot + intNr
}

//-- fotonav
function nextfoto() {
    cur_foto_id = cur_foto_id + 1;
    if(cur_foto_id > aantal_foto) { cur_foto_id = 0; }
    swapPic(ACcars[cur_foto_id],'fotos/VDP/');
}

function prevfoto() {
    cur_foto_id = cur_foto_id - 1;
    if(cur_foto_id < 0) { cur_foto_id = aantal_foto; }
    swapPic(ACcars[cur_foto_id],'fotos/VDP/');
}

ac_standard(document).ready(function(){


    // toggle tab classes
    ac_standard( '.ACVDPtabnav a' ).click(function() {
        ac_standard( this ).addClass( 'activeVDPtab');
        ac_standard('a.activeVDPtab').not(this).removeClass('activeVDPtab');
    });

    // swap layers
    function showingSection(e) {
        ac_standard(e).fadeIn('slow');
        ac_standard(e).css('display', 'block');
    }
    ac_standard( '.ACVDswaplayer' ).click(function(){
        ac_standard('.ACVDPdescription, .ACVDPvehicledetail, .ACVDPmedia, .ACVDPoptions').css('display', 'none');
        showingSection('.'+this.id+'');
    });

    // textlink details toggle tab class + swap layer
    ac_standard( 'a.ACVDswaptextdetail' ).click(function() {
        ac_standard('a#ACVDPvehicledetail').addClass( 'activeVDPtab');
        ac_standard('a.activeVDPtab').not('a#ACVDPvehicledetail').removeClass('activeVDPtab');

        ac_standard('.ACVDPdescription, .ACVDPvehicledetail, .ACVDPmedia, .ACVDPoptions').css('display', 'none');
        showingSection('.ACVDPvehicledetail');
    });

    // textlink options toggle tab class + swap layer
    ac_standard( 'a.ACVDswaptextoptions' ).click(function() {
        ac_standard('a#ACVDPoptions').addClass( 'activeVDPtab');
        ac_standard('a.activeVDPtab').not('a#ACVDPoptions').removeClass('activeVDPtab');

        ac_standard('.ACVDPdescription, .ACVDPvehicledetail, .ACVDPmedia, .ACVDPoptions').css('display', 'none');
        showingSection('.ACVDPoptions');
    });


    ac_standard(".ACctalink").click(function(){
        ac_standard(".ACVDPforms input[type='submit']").show();
        ac_standard('.ACVDPforms form .form_success').remove();
    });

    ac_standard(".ACVDPforms input[type='submit']").not('#reserverings_form_submit').click(function(){

        ac_standard('.ACVDPforms .invalid').removeClass('invalid');
        ac_standard(".ACVDPforms input[type='submit']").hide();

        var post_fields = {};

        var form        = ac_standard(this).attr('id');
        var form_tag    = '';
        var form_id     = '';

        var current_url     = window.location.href;

        if(form === 'callmesubmit'){
            form_tag    = 'callme';

            var naam        = checkFormFields(form_tag + 'name', 'text'); if(naam === ''){ return false; }
            var telefoon    = checkFormFields(form_tag + 'phone', 'text'); if(telefoon === ''){ return false; }

            var form_type   = ac_standard('#' + form_tag + 'formtype').val();
            var ac          = ac_standard('#' + form_tag + 'ac').val();
            var auto_id     = ac_standard('#' + form_tag + 'autoid').val();

            post_fields                 = {};
            post_fields['form_type']    = form_type;
            post_fields['ac']           = ac;
            post_fields['auto_id']      = auto_id;
            post_fields['naam']         = naam;
            post_fields['telefoon']     = telefoon;
            post_fields['url_flag']     = 'belmeterug';
            post_fields['current_url']  = current_url;


            form_id = 'callmebackform';

        }else if(form === 'offersubmit'){
            form_tag        = 'offer';

            var type            = checkFormFields(form_tag + 'type', 'select'); if(type === ''){ return false; }
            var naam            = checkFormFields(form_tag + 'name', 'text'); if(naam === ''){ return false; }
            var telefoon        = checkFormFields(form_tag + 'phone', 'text'); if(telefoon === ''){ return false; }
            var email           = checkFormFields(form_tag + 'mail', 'email'); if(email === ''){ return false; }

            var straatnaam      = ac_standard('#' + form_tag + 'street').val(); if(straatnaam === ''){ straatnaam = ' '; }
            var huisnummer      = ac_standard('#' + form_tag + 'num').val(); if(huisnummer === ''){ huisnummer = ' '; }
            var postcode        = ac_standard('#' + form_tag + 'post').val(); if(postcode === ''){ postcode = ' '; }
            var plaatsnaam      = ac_standard('#' + form_tag + 'city').val(); if(plaatsnaam === ''){ plaatsnaam = ' '; }

            var inruilmerk      = ac_standard('#' + form_tag + 'brand').val(); if(inruilmerk === ''){ inruilmerk = ' '; }
            var inruilkenteken  = ac_standard('#' + form_tag + 'license').val(); if(inruilkenteken === ''){ inruilkenteken = ' '; }
            var inruilkilometer = ac_standard('#' + form_tag + 'km').val(); if(inruilkilometer === ''){ inruilkilometer = ' '; }

            var opmerking       = ac_standard('#' + form_tag + 'text').val(); if(opmerking === ''){ opmerking = ' '; }

            var form_type       = ac_standard('#' + form_tag + 'formtype').val();
            var ac              = ac_standard('#' + form_tag + 'ac').val();
            var auto_id         = ac_standard('#' + form_tag + 'autoid').val();

            post_fields                     = {};
            post_fields['form_type']        = form_type;
            post_fields['ac']               = ac;
            post_fields['auto_id']          = auto_id;
            post_fields['type']             = type;
            post_fields['naam']             = naam;
            post_fields['telefoon']         = telefoon;
            post_fields['email']            = email;
            post_fields['straatnaam']       = straatnaam;
            post_fields['huisnummer']       = huisnummer;
            post_fields['postcode']         = postcode;
            post_fields['plaatsnaam']       = plaatsnaam;
            post_fields['inruilmerk']       = inruilmerk;
            post_fields['inruilkenteken']   = inruilkenteken;
            post_fields['inruilkilometer']  = inruilkilometer;
            post_fields['opmerking']        = opmerking;
            post_fields['url_flag']         = 'offerte';
            post_fields['current_url']      = current_url;
            post_fields['offerte_bedankt'] = 'https://www.autozieleman.nl/offerte-aanvraag-bedankt/';

            form_id = 'offerform';

        }else if(form === 'testdrsubmit'){
            form_tag        = 'testdr';

            var naam            = checkFormFields(form_tag + 'name', 'text'); if(naam === ''){ return false; }
            var telefoon        = checkFormFields(form_tag + 'phone', 'text'); if(telefoon === ''){ return false; }
            var email           = checkFormFields(form_tag + 'mail', 'email'); if(email === ''){ return false; }

            var datum           = checkFormFields(form_tag + 'date', 'date'); if(datum === ''){ return false; }
            var tijd            = checkFormFields(form_tag + 'time', 'date'); if(tijd === ''){ return false; }

            var form_type       = ac_standard('#' + form_tag + 'formtype').val();
            var ac              = ac_standard('#' + form_tag + 'ac').val();
            var auto_id         = ac_standard('#' + form_tag + 'autoid').val();

            post_fields                 = {};
            post_fields['form_type']    = form_type;
            post_fields['ac']           = ac;
            post_fields['auto_id']      = auto_id;
            post_fields['naam']         = naam;
            post_fields['telefoon']     = telefoon;
            post_fields['email']        = email;
            post_fields['datum']        = datum;
            post_fields['tijd']         = tijd;
            post_fields['url_flag']     = 'proefrit';
            post_fields['current_url']  = current_url;
            post_fields['testrit_bedankt'] = 'https://www.autozieleman.nl/proefrit-aanvraag-bedankt/';

            form_id = 'testdriveform';

        }else if(form === 'contactsubmit'){
            form_tag        = 'contact';

            var naam            = checkFormFields(form_tag + 'name', 'text'); if(naam === ''){ return false; }
            var telefoon        = checkFormFields(form_tag + 'phone', 'text'); if(telefoon === ''){ return false; }
            var email           = checkFormFields(form_tag + 'mail', 'email'); if(email === ''){ return false; }
            var opmerking       = checkFormFields(form_tag + 'text', 'text'); if(opmerking === ''){ return false; }

            var form_type       = ac_standard('#' + form_tag + 'formtype').val();
            var ac              = ac_standard('#' + form_tag + 'ac').val();
            var auto_id         = ac_standard('#' + form_tag + 'autoid').val();

            post_fields                 = {};
            post_fields['form_type']    = form_type;
            post_fields['ac']           = ac;
            post_fields['auto_id']      = auto_id;
            post_fields['naam']         = naam;
            post_fields['telefoon']     = telefoon;
            post_fields['email']        = email;
            post_fields['opmerking']    = opmerking;
            post_fields['url_flag']     = 'contact';
            post_fields['current_url']  = current_url;

            form_id = 'carcontactform';
        }
        else if(form === "pleasesubmit"){
            form_tag        = "please";

            let naam            = checkFormFields(form_tag + 'name', 'text'); if(naam === ''){ return false; }
            let telefoon        = checkFormFields(form_tag + 'phone', 'text'); if(telefoon === ''){ return false; }
            let email           = checkFormFields(form_tag + 'mail', 'email'); if(email === ''){ return false; }
            let opmerking       = checkFormFields(form_tag + 'text', 'text');
            let kmPerJaar       = checkFormFields(form_tag + "km", "text"); if(kmPerJaar === ""){return false;}
            let looptijd        = checkFormFields(form_tag + "looptijd", "text"); if(looptijd === ""){return false;}
            let prijs           = checkFormFields(form_tag + "prijs", "text"); if(prijs === ""){return false;}

            let form_type       = ac_standard('#' + form_tag + 'formtype').val();
            let ac              = ac_standard('#' + form_tag + 'ac').val();
            let auto_id         = ac_standard('#' + form_tag + 'autoid').val();
            
            post_fields                 = {};
            post_fields['form_type']    = form_type;
            post_fields['ac']           = ac;
            post_fields['auto_id']      = auto_id;
            post_fields['naam']         = naam;
            post_fields['telefoon']     = telefoon;
            post_fields['email']        = email;
            post_fields['opmerking']    = opmerking;
            post_fields["kmPerJaar"]    = kmPerJaar;
            post_fields["looptijd"]     = looptijd;
            post_fields["prijs"]        = prijs;

            post_fields['url_flag']     = 'privatelease';
            post_fields['current_url']  = current_url;

            form_id = 'pleaseform';
        }

        var submit_url      = ac_standard('#ACVDPsubmiturl').val();
        ac_standard.post(submit_url, post_fields, function(response){
            if(response['status'] == 'succes'){
                ac_standard('#' + form_id).append('<p class="form_success">Bericht verzonden!</p>');

                if(ac_standard('#form_occasion_url').length) {
                    var url = ac_standard('#form_occasion_url').val();
                    url += 'leads-autosoft-' + post_fields['url_flag'] + '/';
                    setTimeout(function () {
                        // Zieleman bedank pagina's
                        if(ac == "ac0319")
                        {
                            if(typeof post_fields['offerte_bedankt'] !== 'undefined')
                            {
                                location.replace(post_fields['offerte_bedankt']);
                            }
                            if(typeof post_fields['testrit_bedankt'] !== 'undefined')
                            {
                                location.replace(post_fields['testrit_bedankt']);
                            }
                        } // einde Zieleman bedank pagina's
                        else
                        {
                        location.replace(url);
                        }
                    }, 2000);
                }

            }else{
                ac_standard('#' + form_id).append('<p class="form_success">Er ging iets mis bij het verzenden.</p>');
            }
        });


        return false;
    });

    // 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');

        if(ac_standard('#iframe_user').length){

            if(ac_standard('#iframe_user').val() == 'yes'){

                var ac = ac_standard('#iframe_user_ac').val();

                if (list_url.indexOf("?") >= 0) {
                    list_url = list_url + "&ac=" + ac;
                } else {
                    list_url = list_url + "?ac=" + ac;
                }
            }
        }

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

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

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

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

        ac_standard('#bereken_route_button').on('click', function(){
            var cl = ac_standard('#input_postcode').val();
            var dl = ac_standard('#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
    
    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(() => {
        ac_standard("#pleasekm").val(ac_standard("#KilometerRangeOutput").text());
        ac_standard("#pleaselooptijd").val(ac_standard("#MaandenRangeOutput").text());
        ac_standard("#pleaseprijs").val(ac_standard("#LeaseBedrag").text() + ",-");
    });

    // END privatelease calculator
});

function checkFormFields(fieldname, type){
    var value   = ac_standard('#' + fieldname).val();
    if(value === ''){
        ac_standard('#' + fieldname).focus();
        ac_standard('#' + fieldname).addClass('invalid');
        value   = '';
        ac_standard(".ACVDPforms input[type='submit']").show();
    }

    if(type === 'email'){
        if(!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(value)){
            ac_standard('#' + fieldname).focus();
            ac_standard('#' + fieldname).addClass('invalid');
            value   = '';
            ac_standard(".ACVDPforms input[type='submit']").show();
        }
    }

    return value;
}