var ManagePrivacy = true;
setTimeout(initContentManagement, 1000);

var isGoogleTranslateLoaded = false;
if (getIsAnalyticsAndMarketing()) {
    $('.dwc-language-switcher').show();
}
document.addEventListener('dw_consent_given', function () {
    if (getIsAnalyticsAndMarketing()) {
        $('.dwc-language-switcher').show();
        if (!isGoogleTranslateLoaded) {
            isGoogleTranslateLoaded = true;
            loadScriptOnLoadGoogleTrans();
        }
    }
    else {
        $('.dwc-language-switcher').hide();
    }
});

function SetCustomAppendTrackingExternalScripts() {
    if (!isGoogleTranslateLoaded) {
        isGoogleTranslateLoaded = true;
        setTimeout(function () { loadScriptOnLoadGoogleTrans(); }, 3000);
    }
}

function SetCustomSearchBoxEventsIndex() {
    if ($('#dw-custom-searchbox').length > 0) {
        $('#dw-custom-searchbox').autoComplete({
            minChars: 2,
            cache: false,
            delay: 1,
            menuClass: 'vehSearchResults',
            source: function (term, response) {
                $.getJSON('/PredictiveTyper.aspx', { type: '1', param: term, dealerID: DWDealerID, extra: '' }, function (data) {
                    response(data);
                });
            }
        });
        $('#dw-custom-searchbox').keypress(function (event) {
            var keycode = (event.keyCode ? event.keyCode : event.which);
            if (keycode == '13') {
                CustomSearchDWInventoryIndex();
            }
        });
    }
}
function CustomSearchDWInventoryIndex() {
    var getSearchValue = $('#dw-custom-searchbox').val();
    getSearchValue = getSearchValue.replace(/  +/g, ' ');
    logInventorySearchPhrase(getSearchValue);
    if (trim(getSearchValue).length > 0) {
        var myLocation = DealerSiteUrl + "/inventory.aspx?S=" + getSearchValue;
        window.location = myLocation;
    }
    else {
        AlertModel("Please enter Search value");
    }
}
//menu
$(document).ready(function () {
    $("#menuToggleBtn").on("click", function () {
        buildFullMenu();
        $("#dwc-mainmenu-overlay").addClass("active");
        $("body").addClass("dwc-menu-open");
    });
    $(document).on("click", ".dwc-mainmenu-close", function () {
        $("#dwc-mainmenu-overlay").removeClass("active");
        $("body").removeClass("dwc-menu-open");
    });
    function buildFullMenu() {
        var sections = [];
        $("#main_menu > li").each(function () {
            var title = $(this).children("a").text().trim();
            var mainLink = $(this).children("a").attr("href") || "#";
            var subMenu = $(this).find(".sub_menu").first();
            var hasSub = subMenu.length > 0;
            var sectionHTML =
                '<div class="dwc-mainmenu-section">' +
                '<div class="dwc-mainmenu-title">' +
                '<a href="' + mainLink + '">' + title + '</a>' +
                (hasSub ? '<span class="dwc-mainmenu-arrow"><i class="fa fa-caret-down"></i></span>' : '') +
                '</div>';
            if (hasSub) {
                sectionHTML += '<ul class="dwc-mainmenu-list">';
                subMenu.children("li").each(function () {
                    var $link = $(this).find("a").first();
                    if ($link.length) {
                        var clonedLink = $("<div>").append($link.clone()).html();
                        sectionHTML += '<li>' + clonedLink + '</li>';
                    }
                });
                sectionHTML += '</ul>';
            }
            sectionHTML += '</div>';
            sections.push(sectionHTML);
        });
        var finalHTML =
            '<div class="dwc-mainmenu-header">' +
            '<div class="dwc-mainmenu-close">X</div>' +
            '</div>' +
            '<div class="dwc-mainmenu-content">' +
            sections.join('') +
            '</div>';
        $("#dwc-mainmenu-overlay").html(finalHTML);
    }
    $(document).on("click", ".dwc-mainmenu-arrow", function (e) {
        e.preventDefault();
        e.stopPropagation();
        if ($(window).width() <= 1000) {
            var parent = $(this).closest(".dwc-mainmenu-section");
            var submenu = parent.find(".dwc-mainmenu-list");
            submenu.slideToggle(200);
            $(this).toggleClass("active");
        }
    });

    if (IsMobile) {
        var transhtml = '<li class="dropdown" id="main_menu_translator"><div class="dwc-language-switcher"> <a href="javascript:void(0)" class="dwc-lang-btn flag_link activetran eng" data-lang="en"> <i class="fa fa-globe"></i> EN </a> <a href="javascript:void(0)" class="dwc-lang-btn flag_link Spn" id="cust_googletrans" data-lang="es"> <i class="fa fa-language"></i> ES </a> </div></li>';
        if (af$("main_menu_end") != null) {
            $(transhtml).insertAfter("#main_menu_end");
        }
    }

    if ($('.eng') != null) {
        $('.eng').addClass("notranslate");
    }

    if ($('.Spn') != null) {
        $('.Spn').addClass("notranslate");
    }
    if (af$('divIconDirection') != null) {
        $('#divIconDirection').addClass("notranslate");
    }
    if (af$('divIconCall') != null) {
        $('#divIconCall').addClass("notranslate");
    }
    if (af$('divMenuButton') != null) {
        $('#divMenuButton').addClass("notranslate");
    }
    if (af$('divIconShare') != null) {
        $('#divIconShare').addClass("notranslate");
    }
    if (af$('DivVehicleSearchBarSub') != null) {
        $('#DivVehicleSearchBarSub').addClass("notranslate");
    }
    if (af$('dw-searchbox-btn') != null) {
        $('#dw-searchbox-btn').addClass("notranslate");
    }

    if (af$('menuToggleBtn') != null) {
        $('#menuToggleBtn').addClass("notranslate");
    }


    function setActiveLanguage() {
        var cookie = document.cookie.match(/googtrans=\/[^\/]+\/([^;]+)/);
        if (cookie && cookie[1]) {
            var lang = cookie[1];
            $('.flag_link').removeClass('activetran');
            $('.flag_link[data-lang="' + lang + '"]').addClass('activetran');
        } else {
            $('.flag_link[data-lang="en"]').addClass('activetran');
        }
    }
    setActiveLanguage();
    $('.flag_link').on('click', function (e) {
        e.preventDefault();
        var lang = $(this).data('lang');
        var languageSelect = document.querySelector('.goog-te-combo');
        if (languageSelect) {
            languageSelect.value = lang;
            languageSelect.dispatchEvent(new Event('change'));
        }
        $('.flag_link').removeClass('activetran');
        $(this).addClass('activetran');
    });
    //if (IsMobile) {
    //    var langtext = '<div class="dwc-mainmenu-footer notranslate" translate="no" >' +
    //        '<a class="dwc-mainmenu-lang notranslate" translate="no">Se habla espanol</a>' +
    //        '</div>';
    //    if (af$("main_menu_translator") != null) {
    //        $(langtext).insertAfter("#main_menu_translator");
    //    }
    //}
});
//endmenu
$(document).ready(function () {
    if (CurrentPN == "tradein") {
        filYear();
        SetAdvanceSearchBoxCustom();
        DWSearchSetObjFilterCustom();
        if (IsMobile) {
            af$("TB_Mobile").setAttribute("type", "tel");
            af$("TB_Phone_TestDrive").setAttribute("type", "tel");
            af$("TB_Business_Number").setAttribute("type", "tel");
            af$("TB_Fax").setAttribute("type", "tel");
        }
    }
});
if (!IsFramePage) {
    function loadScriptOnLoadGoogleTrans() {
        if (viewportWidth() > 767) {
            !function (e, s, t) { (t = e.createElement(s)).async = !0, t.src = "//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit", (e = e.getElementsByTagName(s)[0]).parentNode.insertBefore(t, e) }(document, "script");
            $("#google_translate_element_mob").remove();
        }
        else {
            !function (e, s, t) { (t = e.createElement(s)).async = !0, t.src = "//translate.google.com/translate_a/element.js?cb=googleTranslateElementInitDWMob", (e = e.getElementsByTagName(s)[0]).parentNode.insertBefore(t, e) }(document, "script");
            $("#DWBottomBarContainer #google_translate_element").remove();
        }
    }
}
function googleTranslateElementInit() {
    new google.translate.TranslateElement({ layout: google.translate.TranslateElement.InlineLayout.HORIZONTAL, includedLanguages: 'en,es' }, 'google_translate_element');
}

function googleTranslateElementInitDWMob() {
    new google.translate.TranslateElement({ layout: google.translate.TranslateElement.InlineLayout.HORIZONTAL, includedLanguages: 'en,es' }, 'google_translate_element_mob');
}
function validateCheck() {
    var msg = '';
    var val = trim(af$("TB_FName_TestDrive").value);
    if (val == "") {
        msg += "Please enter My first name\n";
        $("#divFirstName span.required").html("*Required");
        $("#divFirstName").attr("class", "group-req");
    }
    else {
        $("#divFirstName span.required").html("");
        $("#divFirstName").attr("class", "group");
    }

    val = trim(af$("TB_LName_TestDrive").value);
    if (val == "") {
        msg += "Please enter Last name\n";
        $("#divLastName span.required").html("*Required");
        $("#divLastName").attr("class", "group-req");
    }
    else {
        $("#divLastName span.required").html("");
        $("#divLastName").attr("class", "group");
    }

    val = trim(af$("TB_Email_TestDrive").value);
    if (val == '') {
        msg += "Please enter Email\n";
        $("#divEmail span.required").html("*Required");
        $("#divEmail").attr("class", "group-req");
    }
    else if (validate_email(trim(af$("TB_Email_TestDrive").value)) == false) {
        msg += "Invalid email\n";
        $("#divEmail span.required").html("*Invalid");
        $("#divEmail").attr("class", "group-req");
    }
    else {
        $("#divEmail span.required").html("");
        $("#divEmail").attr("class", "group");
    }

    val = trim(af$("TB_Phone_TestDrive").value);
    if (val == "") {
        msg += "Please enter Phone\n";
        $("#divPhone span.required").html("*Required");
        $("#divPhone").attr("class", "group-req");
    }
    else if (ValidatePhoneNumber(trim(af$("TB_Phone_TestDrive").value)) != '') {
        msg += "Home Phone # is not valid\n";
        $("#divPhone span.required").html("");
        $("#divPhone").attr("class", "group");
    }
    else {
        $("#divPhone span.required").html("");
        $("#divPhone").attr("class", "group");
    }

    val = trim(af$("TB_City").value);
    if (val == "") {
        msg += "Please enter City\n";
        $("#div_City span.required").html("*Required");
        $("#div_City").attr("class", "group-req");
    }
    else {
        $("#div_City span.required").html("");
        $("#div_City").attr("class", "group");
    }

    val = trim(af$("TB_State").value);
    if (val == "") {
        msg += "Please enter State\n";
        $("#div_State span.required").html("*Required");
        $("#div_State").attr("class", "group-req");
    }
    else {
        $("#div_State span.required").html("");
        $("#div_State").attr("class", "group");
    }

    val = trim(af$("TB_Zip").value);
    if (val == "") {
        msg += "Please enter Zip\n";
        $("#div_Zip span.required").html("*Required");
        $("#div_Zip").attr("class", "group-req");
    }
    else {
        $("#div_Zip span.required").html("");
        $("#div_Zip").attr("class", "group");
    }

    if (msg == "") {

        af$('IsPosted').value = "1";
        af$('getAQuote').submit();

    }
    else {

        AlertModel(msg);
    }
}
function filYear() {
    var s = af$('TB_vehicleyear');
    af$('TB_vehicleyear').innerHTML += SelectAddOption(s, '', '');
    var d = new Date();
    for (var i = Number(d.getFullYear()); i >= 1950; --i) {
        SelectAddOption(s, i, i);
    }
}
var objSearchFilterCustom = new Object();
var DWInventorySearchFilterElementsCustom = {
    Make: null,
    Model: null,
    MakeInput: null,
    ModelInput: null
};
function DWSearchSetObjFilterCustom() {
    objSearchFilterCustom.Make = "";
}
function RegisterSearchFilterElementsCustom(make, model, makeInput, modelInput) {
    DWInventorySearchFilterElementsCustom.Make = af$(make);
    DWInventorySearchFilterElementsCustom.Model = af$(model);
    DWInventorySearchFilterElementsCustom.MakeInput = af$(makeInput);
    DWInventorySearchFilterElementsCustom.ModelInput = af$(modelInput);
}
function DWFillSearchFilterObjValuesCustom(selected) {
    var g = DWInventorySearchFilterElementsCustom;
    objSearchFilterCustom.Make = af$($(g.MakeInput).attr("id")).value;
}
function DWGetInitialSearchFilterValuesCustom() {
    var dataval = '{ params: ' + JSON.stringify(objSearchFilterCustom) + '}';
    JqueryAjaxCall("POST", "GetInventorySearchFilterListMakeModelColor", dataval);
}
function DWGetSearchFilterValuesCustom(selected) {
    DWFillSearchFilterObjValuesCustom(selected);
    var dataval = '{ params: ' + JSON.stringify(objSearchFilterCustom) + '}';
    JqueryAjaxCall("POST", "GetInventorySearchFilterListMakeModelColor", dataval);
}
function SetAdvanceSearchBoxCustom() {
    RegisterSearchFilterElementsCustom("TB_vehiclemake", "TB_vehiclemodel", "SearchMake", "SerachModel");
    DWGetInitialSearchFilterValuesCustom();
}
function GetInventorySearchFilterListMakeModelColor_Callback(arg) {
    if (arg) {
        var i = 0;
        var g = DWInventorySearchFilterElementsCustom;
        if (g.Make) {
            if (arg.Makes != null && arg.Makes.length > 0) {
                if (arg.Makes[0].Make.length > 0) {
                    af$($(g.Make).attr("id")).innerHTML = "";
                    DataListAddOption(af$($(g.Make).attr("id")), "", "--");
                    for (i = 0; i < arg.Makes.length; i++) {
                        DataListAddOption(af$($(g.Make).attr("id")), arg.Makes[i].Make);
                    }
                }
            }
        }
        if (g.Model) {
            if (arg.Models) {
                af$($(g.Model).attr("id")).innerHTML = "";
                DataListAddOption(af$($(g.Model).attr("id")), "", "--");
                for (i = 0; i < arg.Models.length; i++) {
                    DataListAddOption(af$($(g.Model).attr("id")), arg.Models[i].Model);
                }
            }
            else {
                af$($(g.Model).attr("id")).innerHTML = "";
            }
        }
    }
}
function DataListAddOption(Select, value, text) {
    var elOptNew = document.createElement('option');
    if (typeof text == "undefined") {
        elOptNew.text = value;
    } else { elOptNew.text = text; }
    elOptNew.value = value;
    try {
        Select.appendChild(elOptNew, null);
    } catch (ex) {
        Select.add(elOptNew);
    }
}