/* Minification failed. Returning unminified contents.
(192,9-10): run-time warning JS1004: Expected ';': t
(391,9-10): run-time warning JS1004: Expected ';': p
(392,9-10): run-time warning JS1004: Expected ';': i
(582,13-14): run-time warning JS1004: Expected ';': m
(922,9-10): run-time warning JS1004: Expected ';': s
(923,9-10): run-time warning JS1004: Expected ';': s
(924,9-10): run-time warning JS1004: Expected ';': n
 */
function setPageSize(n) { document.srform.page.value = 1; document.srform.pageSize.value = n; if (methodChooser(document.srform)) document.srform.submit(); }
function gotoPage(p) { document.srform.page.value = p; if (methodChooser(document.srform)) document.srform.submit(); }
function sort(columnSort) { document.srform.page.value = 1; document.srform.ColumnSort.value = columnSort; if (methodChooser(document.srform)) document.srform.submit(); }
function methodChooser(f) { var serializedEarl = $(f).serialize(); f.method = serializedEarl.length < 1800 ? 'get' : 'post'; return true; }

function anyChecked() {
    var n = 2;
    for (var i = 0; i < document.compform.part.length; i++) {
        if (document.compform.part[i].checked) {
            if (!--n)
                return true;
        }
    }
    return false;
}
function partClick() {
    $("#compare-button").each(function () {
        this.disabled = !anyChecked();
        if (!anyChecked()) {
            $("#products-compare") .hide()
        }
        else {
            $("#products-compare").show()
        }
    });
}
function allPartClick(x) {
    $(document.compform.part).each(function () { this.checked = x; });
    $('input[name="allpart"]').each(function () { this.checked = x; });
    $("#compare-button").each(function () {
        this.disabled = !anyChecked();
        if (!anyChecked()) {
            $("#products-compare").hide()
        }
        else {
            $("#products-compare").show()
        }
    });
}

function resetSelect(sel, rfn, rfx, ran) {
    if (sel) {
        for (var i = 0; i < sel.options.length; i++) {
            sel.options[i].selected = sel.options[i].defaultSelected;
        }
        var rfsib = $(sel).attr("data-rfsib");
        $('#' + rfsib + ' input, #' + rfsib + ' select').prop("disabled", false);
        $('[name="' + 'btn' + sel.name + '"]').css({"visibility":"hidden"});
    }
    if (rfn) {
        var rfnSib = $(rfn).attr("data-sibele");
        $('[name="' + rfn.name + '"]').val('');
        $('[name="' + rfnSib + '"]').prop("disabled", false);
        $('[name="' + 'btn' + rfnSib + '"]').css("visibility", "hidden");
    }
    if (rfx) {
        var rfxSib = $(rfx).attr("data-sibele");
        $('[name="' + rfx.name + '"]').val('');
        $('[name="' + rfxSib + '"]').prop("disabled", false);
        $('[name="' + 'btn' + rfxSib + '"]').css("visibility", "hidden");
    }
    if (ran) {
        var ranPv = $(ranPv).attr("data-pv");
        $('[name="' + ran.name + '"]').val('');
        $('[name="' + ranPv + '"]').prop("disabled", false);
        $('[name="' + 'btn' + ranPv + '"]').css("visibility", "hidden");
    }
    verifyRecordCounts();
}

function invalidQty(str) {
    var btns = {};
    btns[txtOk] = function () { $(this).dialog("close"); };

    $("#dlgInvalidQty").dialog({
        resizable: false,
        modal: true,
        closeOnEscape: true,
        close: function (e) { str.value = ''; },
        buttons: btns
    });
}

function invalidValue(str) {
    var btns = {};
    btns[txtOk] = function () { $(this).dialog("close"); };

    $("#dlgInvalidValue").dialog({
        resizable: false,
        modal: true,
        closeOnEscape: true,
        close: function (e) { str.value = ''; inputVerification(str); },
        buttons: btns
    });
}

function verifyQuantity(str) {
    if ($(str).val().match("^[0-9]*$") != null) {
        return true;
    }

    invalidQty(str);
    return false;
}

function verifyMinMax(str) {
    var sibrf = $(str).attr("data-sibrf");
    var rfele = $('[name="' + sibrf + '"]');
    var sibsel = $(str).attr("data-sibele");
    var parsedValue = Number($(str).val().replace(/,/i, "."));
    var tstr = $.trim($(str).val());
    var hasLength = tstr.length > 0;
    if (sibsel == null) {//we have ranges (which don't need to check for siblings')
        if (hasLength) {
            if (($(str).val()) && (!isNaN(parsedValue))) {
                $('[name="' + sibrf + '"]').prop("disabled", true);
                return true;
            }
        }
    }
    else {
        if (hasLength) {
            if (($(str).val()) && (!isNaN(parsedValue))) {
                $('[name="btn' + sibsel + '"]').css("visibility", "visible");
                $('[name="' + sibsel + '"]').prop("disabled", true);
                return true;
            } else {
                var trf = $.trim($(rfele).val());
                if (trf.length > 0) {
                    $('[name="btn' + sibsel + '"]').css("visibility", "visible");
                    $('[name="' + sibsel + '"]').prop("disabled", true);
                    return false;
                } else if (!$(str).val()) {
                    $('[name="btn' + sibsel + '"]').css("visibility", "hidden");
                    $('[name="' + sibsel + '"]').prop("disabled", false);
                    return true;
                } else {
                    $('[name="btn' + sibsel + '"]').css("visibility", "hidden");
                    $('[name="' + sibsel + '"]').prop("disabled", false);
                    return false;
                }
            }
        }
    }
    return true;
}

function removeEmpties(str) {
    $('input.rfMin').each(function () {
        var sibrf = $(this).attr("data-sibrf");
        var rfele = $('[name="' + sibrf + '"]');
        var ddele = 'rfu' + $(this).attr('name').substring(4);
        if (!$(this).val() && !$(rfele).val()) {
            $(this).prop("disabled", true);
            $(rfele).prop("disabled", true);
            $('[name="' + ddele + '"]').prop("disabled", true);
        } else if ($(this).val() && !$(rfele).val()) {
            $(rfele).prop("disabled", true);
        } else if (!$(this).val() && $(rfele).val()) {
            $(this).prop("disabled", true);
        }
    });

    $('input.rfRange').each(function () {
        var ddele = 'rfu' + $(this).attr('name').substring(4);
        if (!$(this).val()) {
            $(this).prop("disabled", true);
            $('[name="' + ddele + '"]').prop("disabled", true);
        }
    });
}

function msgBox(s) {
    var btns = {};
    btns[txtClose] = function () { $(this).dialog("close"); };

    $(s).dialog({
        resizable: false,
        modal: true,
        closeOnEscape: true,
        buttons: btns
    });
}

function showRoHSnotWithSubs(s) {
    $("#dlgRohsNotWithSubs #hrefsub").attr('href', s);
    msgBox("#dlgRohsNotWithSubs");
}

function setupAttForm() {
    var f = $('[name="attform"]');
    let timeout = null;
    f.contextId = 0;
    f.updateEnabled = true;
    f.subEnabled = true;
    f.oldRecordCount = $('.matching-records').html();
    f.resetRecordCount = function () { $('.matching-records').html(f.oldRecordCount); f.find(":submit").each(function () { this.disabled = false; verifyRecordCounts(); }); }
    f.updateRecordCount = function () {
        clearTimeout(timeout);
        that = this;
        timeout=setTimeout(function fUpdateRecord() {
            if (that.updateEnabled) {
                that.contextId++;
                $.ajax({
                    type: 'POST',
                    url: summaryUrl,
                    data: $(that).serialize() + "&contextId=" + that.contextId + '&ResultsPage=true',
                    timeout: summaryTimeout,
                    success: function (data, status) { if (data.contextId === f.contextId) $('.matching-records').html(data.msg); f.find(":submit").each(function () { this.disabled = !data.nMatches; if (!data.nMatches) { $('#btn-apply-filters').addClass("disabled"); } else { $('#btn-apply-filters').removeClass("disabled"); } verifyRecordCounts(); }); },
                    error: function () { f.resetRecordCount(); f.updateEnabled = false; }
                });
            }
        }, 1000);
    } 
    $(f).submit(function () {removeEmpties(this); combineMinMaxUnit(formToObj()); selectedParametersStorage(); $("#btn-apply-filters").each(function () { addDkCookieImplParams('Parametric Search'); }); methodChooser(this); var rf = $(this).find('input.rfMin, input.rfMax, input.rfRange'); if (rf) { f.subEnabled = true; $(rf).each(function () { if ((f.subEnabled) && ($(this).val())) { if (!verifyMinMax(this)) { f.subEnabled = false; return false; } } }); } return f.subEnabled;
    });
    f.bind('reset', function () { $("span[name^='btn']").css("visibility", "hidden"); $('.matching-records').hide(); $('#btn-apply-filters').removeClass("disabled"); $('.rfMin, .rfMax,.rfRange, .rfUofM').prop('disabled', false); $('.filter-selectors').prop('disabled', false); f.resetRecordCount(); });
    $("span[name^='btn']").click(function () { f.updateRecordCount(); });
    var fi = f.find('input:not([type=reset], [type=checkbox], [class=rfMin], [class=rfMax], [class=rfRange])');
    fi.focus(function () { f.updateRecordCount(); });
    fi.blur(function () { f.updateRecordCount(); });
    var cb = f.find('input:checkbox');
    cb.click(function () { f.updateRecordCount(); });
    f.find('select').each(function () {
        selectionVerification(this);
        this.onchange = function () {
            var rfsib = $(this).attr("data-rfsib");
            $('#' + rfsib + ' input, #' + rfsib + ' select').prop("disabled", true);
            f.updateRecordCount();
            selectionVerification(this);
        }
    });
    $(".rfMin, .rfMax, .rfRange").keyup(function () { if (isInputValid(this)) { var res = verifyMinMax(this); if (res === true) { f.updateRecordCount(); inputVerification(this); } else { invalidValue(this); var rfele = $('[name="' + $(this).attr("data-sibrf") + '"]'); var rfdis = $.trim($(rfele).val()); if (rfdis.length > 0) { this.value = ''; f.updateRecordCount(); } } } else { inputVerification(this); } });
    f.updateRecordCount();
   
}

function whitelistCharacters(str) {
    for (var key in blackList) {
        if (blackList[key] === str.charCodeAt(0)) {
            return true;
        }
    }
    return false;
}

function isInputValid(dis) {
    var tdis = $.trim($(dis).val());
    var sibrf = $(dis).attr("data-sibrf");
    var rfele = $('[name="' +sibrf + '"]');
    var rfdis = $.trim($(rfele).val());
    if (tdis.length === 1 && whitelistCharacters(tdis))
    {
        return false;
    }
    else if ((tdis.length > 0) || (rfdis.length > 0)) {
        return true;
    }
    return false;
}

function inputVerification(dis)
{
    var sibsel = $(dis).attr("data-sibele");
    var sibrf = $(dis).attr("data-sibrf");
    var rfele = $('[name="' + sibrf + '"]');

    if (sibsel == null ) {
        var pv = $(dis).attr("data-pv");
        if ((!$(dis).val())) {
            $('.matching-records').hide();
            $('[name="btn' + pv + '"]').css("visibility", "hidden");
            $('[name="' + pv + '"]').prop("disabled", false);
        } else {
            $('.matching-records').show();
            $('[name="btn' + pv + '"]').css("visibility", "visible");
            $('[name="' + pv + '"]').prop("disabled", true);
        }
    }
    else if ((!$(dis).val()) && (!$(rfele).val())) {
        $('.matching-records').hide();
        $('[name="btn' + sibsel + '"]').css("visibility", "hidden");
        $('[name="' + sibsel + '"]').prop("disabled", false);
    }
}

function verifyColumnSort() {
    var sortedValue = $('.search-form input[name=ColumnSort]').val();
    if (sortedValue != '0') {
        sortedValue = 'ColSort' + sortedValue;
        $("[id$='" + sortedValue + "']").css('background-color', 'gray');
        $("[id$='" + sortedValue + "'] .sorted").css('display', 'inline');
        $("[id$='" + sortedValue + "'] .nonsorted").css('display', 'none');
        var columnIndex = $("[id$='" + sortedValue + "']").parent().parent().index();
        $("[id$='" + sortedValue + "']").closest('table')
            .find('tr td:nth-child(' + (columnIndex + 1) + '):even')
            .css('background-color', '#999999');
        $("[id$='" + sortedValue + "']").closest('table')
            .find('tr td:nth-child(' + (columnIndex + 1) + '):odd')
            .css('background-color', '#CCCCCC');
    }
}

function verifyRecordCounts() {
    var matchBase = parseInt($("#matching-records-count").text().replace(/[^0-9\s]/gi, ''), 10) || 0;
    var movingMatch = parseInt($("#moving-count").text().replace(/[^0-9\s]/gi, ''), 10) || 0;
    if (matchBase === movingMatch) {
        $('.matching-records').hide();
    } else {
        $('.matching-records').css("display", "inline");
    } 
}

$(document).ready(function () {
    $('.pszoomer, #pszoomie').hover(
		function () {
		    var d = Math.min(640, 0.8 * Math.min($(window).width(), $(window).height()));
            if (d >= 387) {
		        $('#pszoomie')
                    .attr('src', $(this).attr('zoomimg'))
				    .css('height', d)
				    .css('width', d)
				    .css('left', ($(window).width() - d) / 2)
				    .css('top', ($(window).height() - d) / 2)
				    .show();
            }
		},
		function () {
		    $('.pszoomie')
                .hide();
		});
    $('.pszoomie').hide();

    if (typeof (CurrencySetter) !== 'undefined') {
        CurrencySetter.refresh = function () { document.srform.submit(); };
    }
    partClick();
    $(".method-chooser").submit(function () { methodChooser(this); });
    setupAttForm();
    verifyColumnSort();
    $("#lnkPart").each(function () { addCookieTrackwithParams($(this), 'Select Part'); });
    $("#deapplySearch").each(function () { addCookieTrack($(this), 'Remove Search within Result'); });
    $("#deapplyFilter").each(function () { addCookieTrackSelecedParams($(this), 'Remove Parametric Filter'); });
    $(".rfMin, rfMax, .rfRange").each(function () { verifyMinMax($(this)); });

    if (vendorOverride)
        $("#lnkPart").each(function () { addPersonalizationTrack($(this)); });
});

function sdsHelp(pn) {
    var url = "/classic/dialog/SupplierDirectShip.aspx?partNumber=" + encodeURIComponent(pn);
    var btns = {};

    $.get(url, function (data, status) {
        var dlg = $(data);

        btns[dlg.attr("close")] = function () { $(this).dialog("close"); };

        dlg.dialog({
            resizable: false,
            modal: true,
            closeOnEscape: true,
            close: function (e) { $(this).dialog('destroy').remove(); },
            buttons: btns
        });
    });
}

function addCookieTrack(dis, pageEvent) {
    var s =
        'ref_page_type=' + (utag_data.page_type) + ';'
        + 'ref_page_sub_type=' + (utag_data.page_sub_type) + ';'
        + 'ref_page_id=' + (utag_data.page_id) + ';'
        + 'ref_page_event=' + pageEvent;
    $(dis).attr('cookie-tracking', s);
}

function addPersonalizationTrack(dis) {

    var s = $(dis).attr('cookie-tracking');
    s += 
        ';personalization_program=Supplier Cookies;'
        + 'personalization_creative=Prioritized Search Results;'
        ;
    $(dis).attr('cookie-tracking', s);
}

function addDkCookieImplParams() {
    var sp = sessionStorage.getItem("selected_params");
    var nsp = sessionStorage.getItem("new_selected_params");
    let pageEvent = 'Parametric Search';
    let isSearchWithinValue = document.getElementsByClassName('search-input')[0].value;
    if (isSearchWithinValue) {
        pageEvent = 'Search Within Results';
    }
    var o = {
        ref_page_event: pageEvent,
        available_parameters: utag_data.available_parameters
    }
        if (sp) {
            o.selected_parameters = (sp);
        }
        if (nsp) {
            o.newly_selected_parameters = (nsp); 
        }
    if (typeof window.utag !== "undefined" && typeof window.utag.dkCookie !== "undefined") {
        utag.dkCookieImpl(o);
    }
}

function addCookieTrackwithParams(dis, pageEvent) {
    var s =
        'ref_page_event=' + pageEvent + ';'
        + 'available_parameters=' + (utag_data.available_parameters) + ';'

    var sp = sessionStorage.getItem("selected_params");
    var nsp = sessionStorage.getItem("new_selected_params");
    if (sp) {
        s += 'selected_parameters=' + (sessionStorage.getItem("selected_params")) + ';'
    }    
    if (nsp) {
        s += 'newly_selected_parameters=' + (nsp) + ';'
    }        
    $(dis).attr('cookie-tracking', s);
}

function addCookieTrackSelecedParams(dis, pageEvent) {
    var s =
        'ref_page_event=' + pageEvent + ';'
        + 'available_parameters=' + (utag_data.available_parameters) + ';'
    var sp = sessionStorage.getItem("selected_params");
    if (sp) {
        s += 'selected_parameters=' + (sessionStorage.getItem("selected_params")) + ';'
    }    
$(dis).attr('cookie-tracking', s);
}

function addEventTrack(dis, pageEvent) {
    var s =
        'ref_page_type=' + (utag_data.page_type) + ';'
        + 'ref_page_sub_type=' + (utag_data.page_sub_type) + ';'
        + 'ref_page_id=' + (utag_data.page_id) + ';'
        + 'ref_page_event=' + pageEvent;
    $(dis).attr('track-data', s);
}

function selectionVerification(dis) {
    if ($(dis).find("option:selected").length > 0) {

        $('[name="btn' + dis.name + '"]').css("visibility", "visible");
    } else {
        $('[name="btn' + dis.name + '"]').css("visibility", "hidden");
        var rf = $(dis).attr('data-rfsib');
        if (rf) {
            $('#' + rf + ' > input, select').prop("disabled", false);
        }
    }
}

function personalizationImpression(isVendorOverrideInResults) {
    var utag = window['utag'];

    var data = {};        
    data['personalization_program'] = 'Supplier Cookies';
    data['personalization_creative'] = 'Prioritized Search Results';
    data['event_category'] = 'Personalization';
    data['ref_page_type'] = utag.data['page_type'];
    data['ref_page_sub_type'] = utag.data['page_sub_type'];
    data['ref_page_id'] = utag.data['page_id'];
    data['ref_page_event'] = 'Impression';
    data['not_a_pageview'] = '1';
    data['page_site'] = utag.data['page_site'];
    data['page_language'] = utag.data['page_language'];
    data['event_domain'] = utag.data['event_domain'];
    data['event_url'] = utag.data['dom.pathname'];
    data['event_query'] = utag.data['dom.query'];
    data['wt_dl'] = '2';
    data['wt_use_udo'] = 'true';
    
    if (isVendorOverrideInResults) {
        data['personalization_vendor'] = '1';
    }
    else {
        data['personalization_vendor'] = '0';
    }

    utag.link(data);
}

$(window).load(function () {
    if (vendorOverride) {
        personalizationImpression(isVendorOverrideInResults);
    }
});

function formToObj() {
    var f = $("#filters-group");
    var form = {}; 
    f.find(' :input[name]:enabled').each(function () {
        var self = $(this);
        var name = self.attr('name');
        if (self.val()) {
            if (form[name]) {
                form[name] = "['" + getFormElementType(name) + "':'" + form[name] + ',' + self.val() + "']"; 
            }
            else {
                form[name] = "['" + getFormElementType(name) + "':'" + self.val() + "']";
            }
        }
    });

    return form;
}

function combineMinMaxUnit(formObject) {
    for (var prop in formObject) {
        if (!prop.substring(0, 2) == 'pv' && !prop.substring(0, 1) == 's' && !prop.substring(0, 1) == 'v') {
            var newKey = "pv" + prop.match(/(\d+)/g);
            if (prop !== newKey) {
                if (formObject[newKey]) {
                    formObject[newKey] = formObject[newKey] + ',' + formObject[prop];
                }
                else {
                    formObject[newKey] = formObject[prop];
                }
                delete formObject[prop];
            }
        }
    };

    var moo = JSON.stringify(formObject);
    window.sessionStorage.setItem("new_selected_params", moo);
}


function getFormElementType(str) {
    if (str.substring(0, 4) == 'imax' || str.substring(0, 4) == 'umax' || str.substring(0, 4) == 'fmax') {
        return ("Max");
    }
    else if (str.substring(0, 4) == 'imin' || str.substring(0, 4) == 'umin' || str.substring(0, 4) == 'fmin') {
        return ("Min");
    }
    else if (str.substring(0, 4) == 'rang') {
        return ("Value");
    }
    else if (str.substring(0, 3) == 'rfu') {
        return ("Unit");
    }
    else {
        return ("Table");
    }
}

function selectedParametersStorage() {   
        if (sessionStorage.getItem("new_selected_params")) {
            data = sessionStorage.getItem("new_selected_params");
            appendToStorage('selected_params', data);
        }    
}

function appendToStorage(name, data) {
    var old = sessionStorage.getItem(name);
    if (old === null || old === '{}') {
        old = "";
        sessionStorage.setItem(name, old + data);
    }
    else {
        sessionStorage.setItem(name, old.slice(0, -1) + ',' + data.slice(1));
    }
}

function removeFromSelectedOnDeapply(id) {
    if (sessionStorage.getItem("selected_params")) {
        selectedJson = JSON.parse(sessionStorage.selected_params);

        for (var i = 0; i < Object.keys(selectedJson).length; i++) {
            if (Object.keys(selectedJson)[i] == id) {
                delete selectedJson[id];
            }
        }
        
        let m = JSON.stringify(selectedJson);
        window.sessionStorage.setItem("selected_params", m);
    }
}
;
function buildShortyRequest(longUrl, ipAddress, httpMethod, postBody, id) {
    var shortFetch = shortUrl;
    
    var paramsDAO = {
        "url": longUrl,
        "ip_address": ipAddress,
        "method": httpMethod,
        "body": postBody
    };

    $.post(shortFetch, { paramsDAO: JSON.stringify(paramsDAO) },function (result) {
        if (result.Short) {
            $('#shortUrlValue').val(result.Short);
            shortDialog(result.Short);
        }
        else {
            shortDialog('error');
        }
    }, 'json').fail(function (xhr, msg) { shortDialog('error');});
}

function shortInit(id) {
    var ipAddress = "";
    var httpMethod = $('#methodPH').val();
    var currentShort = $('#shortUrlValue').val();
    var earlPH = $('#earlPH').val();
    var longUrl = $('#earlLong').val();
    if (location.href.match(/short/)) {
        shortDialog(location.href);
    }
    else if (currentShort.length != 0) {
        shortDialog(currentShort);
    }
    else {
        if (httpMethod == 0) {
            buildShortyRequest(longUrl, ipAddress, "get", '', id);
        }
        else if (httpMethod == 1) {
            buildShortyRequest(longUrl, ipAddress, "post", earlPH, id);
        }
    }
    return false;
}

function shortDialog(shortenUrl) {
    if (!shortenUrl.match(/error/)) {
        var nameToShare = document.title;
        var encodedUrl = encodeURIComponent(shortenUrl);
        $('#shortUrlTextbox').val(shortenUrl);
        $('#shortUrlPopup').dialog({
            modal: true,
            closeOnEscape: true,
            open: function (e, ui) {
                $('#shortUrlTextbox').focus(function () { $(this).select(); });
                $('#shortUrlTextbox').focus();
                $("#facebookShare").attr("href", "https://facebook.com/sharer/sharer.php?u=" + shortenUrl);
                $("#googlePlusShare").attr("href", "https://plus.google.com/share?url=" + shortenUrl);
                $("#twitterShare").attr("href", "https://twitter.com/intent/tweet/?text=" + encodeURIComponent(nameToShare) + "&url=" + encodedUrl);
                $("#linkedInShare").attr("href", "https://www.linkedin.com/sharing/share-offsite/?url=" + shortenUrl + "&title=" + encodeURIComponent(nameToShare));
                $("#weiboShare").attr("href", "http://service.weibo.com/share/share.php?url=" + shortenUrl + "&appkey=&title=" + nameToShare + "&pic=&ralateUid=");
                $("#renrenShare").attr("href", "http://widget.renren.com/dialog/share?resourceUrl=" + shortenUrl + "&srcUrl=" + shortenUrl + "&title=" + nameToShare);
                $("#qzoneShare").attr("href", "http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=" + shortenUrl);
                $("#xingShare").attr("href", "https://www.xing.com/app/user?op=share&url=" + shortenUrl);
                $("#emailShare").attr("href", "mailto:?subject=" + nameToShare + "&body=" + shortenUrl);
                //$("#whatsappShare").attr("href", "whatsapp://send?text=" + shortenUrl);
            }
        })
    }
    else {
        $('#shortUrlPopupError').dialog({
            modal: true,
            closeOnEscape: true
        })
    }

    $(".ui-widget-overlay").click(function () {
        $(".ui-dialog-titlebar-close").trigger('click');
    });
}

function filterSelect() {
    if ($("select[name=v] option").size() == 2) {
        $("select[name=v] option:eq(1)").attr("selected", "selected");
        $("select[name=v]").trigger("chosen:updated");
    } else {
        $("select[name=v] option:eq(0)").attr("selected", "selected");
        $("select[name=v]").trigger("chosen:updated");
    }
}

function checkEnter(e) {
    var key = e.which;
    if (key == 13) {
        if (($(".chosen-results li").length >= 1) || $("#search-keyword").val()) {
            $("#keywordSearchForm").submit();
        }
    }
}

function addWebtrendCookieTrack(dis, x) {
    var s =
        'ref_page_type=' + (utag_data.page_type) + ';'
        + 'ref_page_sub_type=' + (utag_data.page_sub_type) + ';'
        + 'ref_page_id=' + (utag_data.page_id) + ';'
    if (utag_data.part_search_term) {
        s += 'ref_part_search_term=' + (utag_data.part_search_term) + ';'
    }
    if (utag_data.page_id == 'CTN') {
        s+= 'ref_page_event=Select Family - New Prod;'
    }
    else {
        s+= 'ref_page_event=' + x + ';'
    }
    $(dis).attr('cookie-tracking', s);
}

function isOverflown(element) {
    return element.scrollHeight > element.clientHeight || element.scrollWidth > element.clientWidth;
}

$(document).ready(function () {
    moveFilterButtons();
    //resizeInputs();
});

$(window).scroll(function () {
    moveFilterButtons();
});

$(window).resize(function () {
    moveFilterButtons();
    //resizeInputs();
});

function moveFilterButtons() {
    if ($("#filters-panel").length) {
        var scrollTrigger = document.getElementById("filters-buttons-toggle");
        var anotherScrollTrigger = document.getElementById("applied-filters");
        var filterContainer = document.getElementById("filters-panel");
        var buttons = document.getElementById("filters-buttons");
        var distanceToSide = $("#content").offset();
        var contentWidth = $("#content").width();
        if (__helpers.checkVisible(filterContainer)) {
            if (__helpers.checkVisible(scrollTrigger) || __helpers.checkVisible(anotherScrollTrigger)) {
                buttons.className = "";
                buttons.style.left = "0px";

            } else if (!__helpers.checkVisible(scrollTrigger) || !__helpers.checkVisible(anotherScrollTrigger)) {
                buttons.className = 'floating';
                buttons.style.left = distanceToSide.left + 20 + "px";
                buttons.style.width = contentWidth - 20 + "px";
            }
        } else {
            buttons.className = "";
            buttons.style.left = "0px";
        }
    }
}


// didnt use as it causes issues with the size between mobile and desktop
function resizeInputs() {
    var screenWidth = $(window).width();
    if (screenWidth <= "500") {
        $(".filter-selectors").each(function () {
            var optionCount = $(this).children().length;
            if (optionCount < 10) {
                $(this).attr("size", optionCount);
            }
        });
    } else {
        $(".filter-selectors").each(function () {
            $(this).attr("size", "10");
        });
    }
}

//if (document.getElementById("filters-buttons")) {
//    window.addEventListener('scroll', moveFilterButtons());
//    window.onload = moveFilterButtons();
//}

$(document).ready(function () {    
    $('.dk-sharelink').click(function () { shortInit(this.id); });
    if ($(".digi-chosen").length) {
        $('.digi-chosen').chosen({ search_contains: true, allow_single_deselect: true, disable_search_threshold: 5, width: "50%" });
        $('.digi-chosen').on('chosen:no_results', function () { $(".no-results").remove(); });
        $(".chosen-container").bind('keyup', function (e) { checkEnter(e); });
        $(".digi-chosen").change(function (e) { addMfrSelectionToStorage(); $("#keywordSearchForm").submit();});
        $(".catfilters").each(function () { addWebtrendCookieTrack($(this), 'Select Family'); });
        $("#catfiltersubid").each(function () { addWebtrendCookieTrack($(this), 'Select Family'); });
        $("#qpLinkList").each(function () { addWebtrendCookieTrack($(this), 'Select Family'); });
        $("#exactPartList").each(function () { addWebtrendCookieTrack($(this), 'Exact Match'); });
        filterSelect();
        $(".search-form").submit(function () {
            $('.primarykeyword').val($('.search-input').val());
        });        
    }
  
    if ($(".stacked-filters-group")[0]) {
        if (__helpers.getQueryStringValue("sf") == "1") {
            document.attform.sf.value = "1";
            $("#scrollit div.stacked-filters-group").addClass("show-all");
        } else {
            document.attform.sf.value = "0";
            $("#scrollit div.stacked-filters-group").removeClass("show-all");
        }
        $(".stacked-filters-group").css("height", $(".stacked-filters-group > div").height() + 20 + "px");
        moreLessFilters();        
    }
    else if ($(".scroll-group")[0]) {
        document.attform.sf.value = "0";        
    }

    if ($("#results-sort").length) {
        if (document.srform.ColumnSort.value != "0") {
            $("#results-sort option[value='" + document.attform.ColumnSort.value + "']").attr("selected", "selected");
        }
    }
    $(".breadcrumbs a").click(function () { clearNewSelectedFromBrowser(); clearSelectedFromBrowser(); });
});

$(function () {
    if ($("#results-sort").length) {
        $(document).on('change', '#results-sort', function () {
            document.attform.ColumnSort.value = $("#results-sort").val();
        });
    }
});

var w = 0;
$(window).load(function () {
    w = $(window).width();
});

$(window).resize(function () {
    if (w != $(window).width()) {
        if (w <= 768) {
            toggleFilterToggle(0);
        }
        else {
            toggleFilterToggle(1);
        }
        if ($(".stacked-filters-group")[0]) {
            moreLessFilters();
        }
        w = $(window).width();
        delete w;
    }
});

function moreLessFilters() {
    if (isOverflown($("#scrollit div.stacked-filters-group")[0]) || document.attform.sf.value == "1") {
        if ($(".stacked-filters-group").height() <= $(".stacked-filters-group > div").height() + 20 && document.attform.sf.value == "1") {
            $(".filters-group-more-less").hide();
        } else {
            $(".filters-group-more-less").show();
            moveFilterButtons();
        }
    } else {
        $(".filters-group-more-less").hide();
        $("#scrollit div.stacked-filters-group").removeClass("show-all");
    }
    
    $("#more-filters").click(function () {
        $("#scrollit div.stacked-filters-group").addClass("show-all");
        $("form[name='compform']").floatingScroll("update");
        document.attform.sf.value = "1";
        moveFilterButtons();
    })

    $("#less-filters").click(function () {
        $("#scrollit div.stacked-filters-group").removeClass("show-all");
        $("form[name='compform']").floatingScroll("update");
        document.getElementById('content').scrollIntoView(true);
        document.attform.sf.value = "0";
    })
}

$("#filter-switch-checkbox").click(function () {
    $("#filters-group").toggleClass("stacked-filters-group");
    $("#filters-group").toggleClass("scroll-group");
    $("#scrolling").toggleClass("selected-toggle");
    $("#stacked").toggleClass("selected-toggle");
    if (document.attform.sv.value == "0") {
        document.attform.sv.value = "1";
    }
    else if (document.attform.sv.value == "1"){
        document.attform.sv.value = "0";
    }
    if ($("#scrollit div.scroll-group")[0]) {
        $(".scroll-group").css("height", $(".scroll-group > div").height() + 35 + "px");
        $(".filters-group-more-less").hide();
        moveFilterButtons();
        utag.dkLink("ref_page_event=Change Parametric Search Presentation;page_state=Scrolling Parametric Search");
    }
    else if ($("#scrollit div.stacked-filters-group")[0]) {
        $(".stacked-filters-group").css("height", $(".stacked-filters-group > div").height() + 20 + "px");         
        moreLessFilters();
        utag.dkLink("ref_page_event=Change Parametric Search Presentation;page_state=Stacked Parametric Search");
    }
});

function toggleFilterToggle(svVal) {
    if (svVal == 0) {
        $("#filters-group").removeClass("scroll-group");
        $("#filters-group").addClass("stacked-filters-group");
    }
    else if (svVal == 1) {
        var inVal = $("#filter-switch :input[name=sv]").val();
        if (inVal == "0") {
            $("#filters-group").removeClass("scroll-group");
            $("#filters-group").addClass("stacked-filters-group");
            $(".filters-group-more-less").show();
        }
        else if (inVal == "1") {
            $("#filters-group").removeClass("stacked-filters-group");
            $("#filters-group").addClass("scroll-group");
            $(".filters-group-more-less").hide();
        }
    }
}

function clearNewSelectedFromBrowser() {
    if (sessionStorage.getItem("new_selected_params")) {
        sessionStorage.removeItem("new_selected_params");
    }
}
function clearSelectedFromBrowser() {
    if (sessionStorage.getItem("selected_params")) {
        sessionStorage.removeItem("selected_params");
    }
}

function addMfrSelectionToStorage() {
    let str = "";    
    let self = $(".digi-chosen");
    let name = self.attr('name');
    str ="'" + name + "':\"['Table':'" + self.val() + "']\"";   

    sessionStorage.setItem("new_selected_params", str);
    sessionStorage.setItem("selected_params", str);
};;
/* Chosen v1.1.0 | (c) 2011-2013 by Harvest | MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md */
!function () { var a, AbstractChosen, Chosen, SelectParser, b, c = {}.hasOwnProperty, d = function (a, b) { function d() { this.constructor = a } for (var e in b) c.call(b, e) && (a[e] = b[e]); return d.prototype = b.prototype, a.prototype = new d, a.__super__ = b.prototype, a }; SelectParser = function () { function SelectParser() { this.options_index = 0, this.parsed = [] } return SelectParser.prototype.add_node = function (a) { return "OPTGROUP" === a.nodeName.toUpperCase() ? this.add_group(a) : this.add_option(a) }, SelectParser.prototype.add_group = function (a) { var b, c, d, e, f, g; for (b = this.parsed.length, this.parsed.push({ array_index: b, group: !0, label: this.escapeExpression(a.label), children: 0, disabled: a.disabled }), f = a.childNodes, g = [], d = 0, e = f.length; e > d; d++)c = f[d], g.push(this.add_option(c, b, a.disabled)); return g }, SelectParser.prototype.add_option = function (a, b, c) { return "OPTION" === a.nodeName.toUpperCase() ? ("" !== a.text ? (null != b && (this.parsed[b].children += 1), this.parsed.push({ array_index: this.parsed.length, options_index: this.options_index, value: a.value, text: a.text, html: a.innerHTML, selected: a.selected, disabled: c === !0 ? c : a.disabled, group_array_index: b, classes: a.className, style: a.style.cssText })) : this.parsed.push({ array_index: this.parsed.length, options_index: this.options_index, empty: !0 }), this.options_index += 1) : void 0 }, SelectParser.prototype.escapeExpression = function (a) { var b, c; return null == a || a === !1 ? "" : /[\&\<\>\"\'\`]/.test(a) ? (b = { "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#x27;", "`": "&#x60;" }, c = /&(?!\w+;)|[\<\>\"\'\`]/g, a.replace(c, function (a) { return b[a] || "&amp;" })) : a }, SelectParser }(), SelectParser.select_to_array = function (a) { var b, c, d, e, f; for (c = new SelectParser, f = a.childNodes, d = 0, e = f.length; e > d; d++)b = f[d], c.add_node(b); return c.parsed }, AbstractChosen = function () { function AbstractChosen(a, b) { this.form_field = a, this.options = null != b ? b : {}, AbstractChosen.browser_is_supported() && (this.is_multiple = this.form_field.multiple, this.set_default_text(), this.set_default_values(), this.setup(), this.set_up_html(), this.register_observers()) } return AbstractChosen.prototype.set_default_values = function () { var a = this; return this.click_test_action = function (b) { return a.test_active_click(b) }, this.activate_action = function (b) { return a.activate_field(b) }, this.active_field = !1, this.mouse_on_container = !1, this.results_showing = !1, this.result_highlighted = null, this.allow_single_deselect = null != this.options.allow_single_deselect && null != this.form_field.options[0] && "" === this.form_field.options[0].text ? this.options.allow_single_deselect : !1, this.disable_search_threshold = this.options.disable_search_threshold || 0, this.disable_search = this.options.disable_search || !1, this.enable_split_word_search = null != this.options.enable_split_word_search ? this.options.enable_split_word_search : !0, this.group_search = null != this.options.group_search ? this.options.group_search : !0, this.search_contains = this.options.search_contains || !1, this.single_backstroke_delete = null != this.options.single_backstroke_delete ? this.options.single_backstroke_delete : !0, this.max_selected_options = this.options.max_selected_options || 1 / 0, this.inherit_select_classes = this.options.inherit_select_classes || !1, this.display_selected_options = null != this.options.display_selected_options ? this.options.display_selected_options : !0, this.display_disabled_options = null != this.options.display_disabled_options ? this.options.display_disabled_options : !0 }, AbstractChosen.prototype.set_default_text = function () { return this.default_text = this.form_field.getAttribute("data-placeholder") ? this.form_field.getAttribute("data-placeholder") : this.is_multiple ? this.options.placeholder_text_multiple || this.options.placeholder_text || AbstractChosen.default_multiple_text : this.options.placeholder_text_single || this.options.placeholder_text || AbstractChosen.default_single_text, this.results_none_found = this.form_field.getAttribute("data-no_results_text") || this.options.no_results_text || AbstractChosen.default_no_result_text }, AbstractChosen.prototype.mouse_enter = function () { return this.mouse_on_container = !0 }, AbstractChosen.prototype.mouse_leave = function () { return this.mouse_on_container = !1 }, AbstractChosen.prototype.input_focus = function () { var a = this; if (this.is_multiple) { if (!this.active_field) return setTimeout(function () { return a.container_mousedown() }, 50) } else if (!this.active_field) return this.activate_field() }, AbstractChosen.prototype.input_blur = function () { var a = this; return this.mouse_on_container ? void 0 : (this.active_field = !1, setTimeout(function () { return a.blur_test() }, 100)) }, AbstractChosen.prototype.results_option_build = function (a) { var b, c, d, e, f; for (b = "", f = this.results_data, d = 0, e = f.length; e > d; d++)c = f[d], b += c.group ? this.result_add_group(c) : this.result_add_option(c), (null != a ? a.first : void 0) && (c.selected && this.is_multiple ? this.choice_build(c) : c.selected && !this.is_multiple && this.single_set_selected_text(c.text)); return b }, AbstractChosen.prototype.result_add_option = function (a) { var b, c; return a.search_match ? this.include_option_in_results(a) ? (b = [], a.disabled || a.selected && this.is_multiple || b.push("active-result"), !a.disabled || a.selected && this.is_multiple || b.push("disabled-result"), a.selected && b.push("result-selected"), null != a.group_array_index && b.push("group-option"), "" !== a.classes && b.push(a.classes), c = document.createElement("li"), c.className = b.join(" "), c.style.cssText = a.style, c.setAttribute("data-option-array-index", a.array_index), c.innerHTML = a.search_text, this.outerHTML(c)) : "" : "" }, AbstractChosen.prototype.result_add_group = function (a) { var b; return a.search_match || a.group_match ? a.active_options > 0 ? (b = document.createElement("li"), b.className = "group-result", b.innerHTML = a.search_text, this.outerHTML(b)) : "" : "" }, AbstractChosen.prototype.results_update_field = function () { return this.set_default_text(), this.is_multiple || this.results_reset_cleanup(), this.result_clear_highlight(), this.results_build(), this.results_showing ? this.winnow_results() : void 0 }, AbstractChosen.prototype.reset_single_select_options = function () { var a, b, c, d, e; for (d = this.results_data, e = [], b = 0, c = d.length; c > b; b++)a = d[b], a.selected ? e.push(a.selected = !1) : e.push(void 0); return e }, AbstractChosen.prototype.results_toggle = function () { return this.results_showing ? this.results_hide() : this.results_show() }, AbstractChosen.prototype.results_search = function () { return this.results_showing ? this.winnow_results() : this.results_show() }, AbstractChosen.prototype.winnow_results = function () { var a, b, c, d, e, f, g, h, i, j, k, l, m; for (this.no_results_clear(), e = 0, g = this.get_search_text(), a = g.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), d = this.search_contains ? "" : "^", c = new RegExp(d + a, "i"), j = new RegExp(a, "i"), m = this.results_data, k = 0, l = m.length; l > k; k++)b = m[k], b.search_match = !1, f = null, this.include_option_in_results(b) && (b.group && (b.group_match = !1, b.active_options = 0), null != b.group_array_index && this.results_data[b.group_array_index] && (f = this.results_data[b.group_array_index], 0 === f.active_options && f.search_match && (e += 1), f.active_options += 1), (!b.group || this.group_search) && (b.search_text = b.group ? b.label : b.html, b.search_match = this.search_string_match(b.search_text, c), b.search_match && !b.group && (e += 1), b.search_match ? (g.length && (h = b.search_text.search(j), i = b.search_text.substr(0, h + g.length) + "</em>" + b.search_text.substr(h + g.length), b.search_text = i.substr(0, h) + "<em>" + i.substr(h)), null != f && (f.group_match = !0)) : null != b.group_array_index && this.results_data[b.group_array_index].search_match && (b.search_match = !0))); return this.result_clear_highlight(), 1 > e && g.length ? (this.update_results_content(""), this.no_results(g)) : (this.update_results_content(this.results_option_build()), this.winnow_results_set_highlight()) }, AbstractChosen.prototype.search_string_match = function (a, b) { var c, d, e, f; if (b.test(a)) return !0; if (this.enable_split_word_search && (a.indexOf(" ") >= 0 || 0 === a.indexOf("[")) && (d = a.replace(/\[|\]/g, "").split(" "), d.length)) for (e = 0, f = d.length; f > e; e++)if (c = d[e], b.test(c)) return !0 }, AbstractChosen.prototype.choices_count = function () { var a, b, c, d; if (null != this.selected_option_count) return this.selected_option_count; for (this.selected_option_count = 0, d = this.form_field.options, b = 0, c = d.length; c > b; b++)a = d[b], a.selected && (this.selected_option_count += 1); return this.selected_option_count }, AbstractChosen.prototype.choices_click = function (a) { return a.preventDefault(), this.results_showing || this.is_disabled ? void 0 : this.results_show() }, AbstractChosen.prototype.keyup_checker = function (a) { var b, c; switch (b = null != (c = a.which) ? c : a.keyCode, this.search_field_scale(), b) { case 8: if (this.is_multiple && this.backstroke_length < 1 && this.choices_count() > 0) return this.keydown_backstroke(); if (!this.pending_backstroke) return this.result_clear_highlight(), this.results_search(); break; case 13: if (a.preventDefault(), this.results_showing) return this.result_select(a); break; case 27: return this.results_showing && this.results_hide(), !0; case 9: case 38: case 40: case 16: case 91: case 17: break; default: return this.results_search() } }, AbstractChosen.prototype.clipboard_event_checker = function () { var a = this; return setTimeout(function () { return a.results_search() }, 50) }, AbstractChosen.prototype.container_width = function () { return null != this.options.width ? this.options.width : "" + this.form_field.offsetWidth + "px" }, AbstractChosen.prototype.include_option_in_results = function (a) { return this.is_multiple && !this.display_selected_options && a.selected ? !1 : !this.display_disabled_options && a.disabled ? !1 : a.empty ? !1 : !0 }, AbstractChosen.prototype.search_results_touchstart = function (a) { return this.touch_started = !0, this.search_results_mouseover(a) }, AbstractChosen.prototype.search_results_touchmove = function (a) { return this.touch_started = !1, this.search_results_mouseout(a) }, AbstractChosen.prototype.search_results_touchend = function (a) { return this.touch_started ? this.search_results_mouseup(a) : void 0 }, AbstractChosen.prototype.outerHTML = function (a) { var b; return a.outerHTML ? a.outerHTML : (b = document.createElement("div"), b.appendChild(a), b.innerHTML) }, AbstractChosen.browser_is_supported = function () { return "Microsoft Internet Explorer" === window.navigator.appName ? document.documentMode >= 8 : /iP(od|hone)/i.test(window.navigator.userAgent) ? !0 : /Android/i.test(window.navigator.userAgent) && /Mobile/i.test(window.navigator.userAgent) ? !0 : !0 }, AbstractChosen.default_multiple_text = "Select Some Options", AbstractChosen.default_single_text = "Select an Option", AbstractChosen.default_no_result_text = "No results match", AbstractChosen }(), a = jQuery, a.fn.extend({ chosen: function (b) { return AbstractChosen.browser_is_supported() ? this.each(function () { var c, d; c = a(this), d = c.data("chosen"), "destroy" === b && d ? d.destroy() : d || c.data("chosen", new Chosen(this, b)) }) : this } }), Chosen = function (c) { function Chosen() { return b = Chosen.__super__.constructor.apply(this, arguments) } return d(Chosen, c), Chosen.prototype.setup = function () { return this.form_field_jq = a(this.form_field), this.current_selectedIndex = this.form_field.selectedIndex, this.is_rtl = this.form_field_jq.hasClass("chosen-rtl") }, Chosen.prototype.set_up_html = function () { var b, c; return b = ["chosen-container"], b.push("chosen-container-" + (this.is_multiple ? "multi" : "single")), this.inherit_select_classes && this.form_field.className && b.push(this.form_field.className), this.is_rtl && b.push("chosen-rtl"), c = { "class": b.join(" "), style: "width: " + this.container_width() + ";", title: this.form_field.title }, this.form_field.id.length && (c.id = this.form_field.id.replace(/[^\w]/g, "_") + "_chosen"), this.container = a("<div />", c), this.is_multiple ? this.container.html('<ul class="chosen-choices"><li class="search-field"><input type="text" value="' + this.default_text + '" class="default" autocomplete="off" style="width:25px;" /></li></ul><div class="chosen-drop"><ul class="chosen-results"></ul></div>') : this.container.html('<a class="chosen-single chosen-default" tabindex="-1"><span>' + this.default_text + '</span><div><b></b></div></a><div class="chosen-drop"><div class="chosen-search"><input type="text" autocomplete="off" /></div><ul class="chosen-results"></ul></div>'), this.form_field_jq.hide().after(this.container), this.dropdown = this.container.find("div.chosen-drop").first(), this.search_field = this.container.find("input").first(), this.search_results = this.container.find("ul.chosen-results").first(), this.search_field_scale(), this.search_no_results = this.container.find("li.no-results").first(), this.is_multiple ? (this.search_choices = this.container.find("ul.chosen-choices").first(), this.search_container = this.container.find("li.search-field").first()) : (this.search_container = this.container.find("div.chosen-search").first(), this.selected_item = this.container.find(".chosen-single").first()), this.results_build(), this.set_tab_index(), this.set_label_behavior(), this.form_field_jq.trigger("chosen:ready", { chosen: this }) }, Chosen.prototype.register_observers = function () { var a = this; return this.container.bind("mousedown.chosen", function (b) { a.container_mousedown(b) }), this.container.bind("mouseup.chosen", function (b) { a.container_mouseup(b) }), this.container.bind("mouseenter.chosen", function (b) { a.mouse_enter(b) }), this.container.bind("mouseleave.chosen", function (b) { a.mouse_leave(b) }), this.search_results.bind("mouseup.chosen", function (b) { a.search_results_mouseup(b) }), this.search_results.bind("mouseover.chosen", function (b) { a.search_results_mouseover(b) }), this.search_results.bind("mouseout.chosen", function (b) { a.search_results_mouseout(b) }), this.search_results.bind("mousewheel.chosen DOMMouseScroll.chosen", function (b) { a.search_results_mousewheel(b) }), this.search_results.bind("touchstart.chosen", function (b) { a.search_results_touchstart(b) }), this.search_results.bind("touchmove.chosen", function (b) { a.search_results_touchmove(b) }), this.search_results.bind("touchend.chosen", function (b) { a.search_results_touchend(b) }), this.form_field_jq.bind("chosen:updated.chosen", function (b) { a.results_update_field(b) }), this.form_field_jq.bind("chosen:activate.chosen", function (b) { a.activate_field(b) }), this.form_field_jq.bind("chosen:open.chosen", function (b) { a.container_mousedown(b) }), this.form_field_jq.bind("chosen:close.chosen", function (b) { a.input_blur(b) }), this.search_field.bind("blur.chosen", function (b) { a.input_blur(b) }), this.search_field.bind("keyup.chosen", function (b) { a.keyup_checker(b) }), this.search_field.bind("keydown.chosen", function (b) { a.keydown_checker(b) }), this.search_field.bind("focus.chosen", function (b) { a.input_focus(b) }), this.search_field.bind("cut.chosen", function (b) { a.clipboard_event_checker(b) }), this.search_field.bind("paste.chosen", function (b) { a.clipboard_event_checker(b) }), this.is_multiple ? this.search_choices.bind("click.chosen", function (b) { a.choices_click(b) }) : this.container.bind("click.chosen", function (a) { a.preventDefault() }) }, Chosen.prototype.destroy = function () { return a(this.container[0].ownerDocument).unbind("click.chosen", this.click_test_action), this.search_field[0].tabIndex && (this.form_field_jq[0].tabIndex = this.search_field[0].tabIndex), this.container.remove(), this.form_field_jq.removeData("chosen"), this.form_field_jq.show() }, Chosen.prototype.search_field_disabled = function () { return this.is_disabled = this.form_field_jq[0].disabled, this.is_disabled ? (this.container.addClass("chosen-disabled"), this.search_field[0].disabled = !0, this.is_multiple || this.selected_item.unbind("focus.chosen", this.activate_action), this.close_field()) : (this.container.removeClass("chosen-disabled"), this.search_field[0].disabled = !1, this.is_multiple ? void 0 : this.selected_item.bind("focus.chosen", this.activate_action)) }, Chosen.prototype.container_mousedown = function (b) { return this.is_disabled || (b && "mousedown" === b.type && !this.results_showing && b.preventDefault(), null != b && a(b.target).hasClass("search-choice-close")) ? void 0 : (this.active_field ? this.is_multiple || !b || a(b.target)[0] !== this.selected_item[0] && !a(b.target).parents("a.chosen-single").length || (b.preventDefault(), this.results_toggle()) : (this.is_multiple && this.search_field.val(""), a(this.container[0].ownerDocument).bind("click.chosen", this.click_test_action), this.results_show()), this.activate_field()) }, Chosen.prototype.container_mouseup = function (a) { return "ABBR" !== a.target.nodeName || this.is_disabled ? void 0 : this.results_reset(a) }, Chosen.prototype.search_results_mousewheel = function (a) { var b; return a.originalEvent && (b = -a.originalEvent.wheelDelta || a.originalEvent.detail), null != b ? (a.preventDefault(), "DOMMouseScroll" === a.type && (b = 40 * b), this.search_results.scrollTop(b + this.search_results.scrollTop())) : void 0 }, Chosen.prototype.blur_test = function () { return !this.active_field && this.container.hasClass("chosen-container-active") ? this.close_field() : void 0 }, Chosen.prototype.close_field = function () { return a(this.container[0].ownerDocument).unbind("click.chosen", this.click_test_action), this.active_field = !1, this.results_hide(), this.container.removeClass("chosen-container-active"), this.clear_backstroke(), this.show_search_field_default(), this.search_field_scale() }, Chosen.prototype.activate_field = function () { return this.container.addClass("chosen-container-active"), this.active_field = !0, this.search_field.val(this.search_field.val()), this.search_field.focus() }, Chosen.prototype.test_active_click = function (b) { var c; return c = a(b.target).closest(".chosen-container"), c.length && this.container[0] === c[0] ? this.active_field = !0 : this.close_field() }, Chosen.prototype.results_build = function () { return this.parsing = !0, this.selected_option_count = null, this.results_data = SelectParser.select_to_array(this.form_field), this.is_multiple ? this.search_choices.find("li.search-choice").remove() : this.is_multiple || (this.single_set_selected_text(), this.disable_search || this.form_field.options.length <= this.disable_search_threshold ? (this.search_field[0].readOnly = !0, this.container.addClass("chosen-container-single-nosearch")) : (this.search_field[0].readOnly = !1, this.container.removeClass("chosen-container-single-nosearch"))), this.update_results_content(this.results_option_build({ first: !0 })), this.search_field_disabled(), this.show_search_field_default(), this.search_field_scale(), this.parsing = !1 }, Chosen.prototype.result_do_highlight = function (a) { var b, c, d, e, f; if (a.length) { if (this.result_clear_highlight(), this.result_highlight = a, this.result_highlight.addClass("highlighted"), d = parseInt(this.search_results.css("maxHeight"), 10), f = this.search_results.scrollTop(), e = d + f, c = this.result_highlight.position().top + this.search_results.scrollTop(), b = c + this.result_highlight.outerHeight(), b >= e) return this.search_results.scrollTop(b - d > 0 ? b - d : 0); if (f > c) return this.search_results.scrollTop(c) } }, Chosen.prototype.result_clear_highlight = function () { return this.result_highlight && this.result_highlight.removeClass("highlighted"), this.result_highlight = null }, Chosen.prototype.results_show = function () { return this.is_multiple && this.max_selected_options <= this.choices_count() ? (this.form_field_jq.trigger("chosen:maxselected", { chosen: this }), !1) : (this.container.addClass("chosen-with-drop"), this.results_showing = !0, this.search_field.focus(), this.search_field.val(this.search_field.val()), this.winnow_results(), this.form_field_jq.trigger("chosen:showing_dropdown", { chosen: this })) }, Chosen.prototype.update_results_content = function (a) { return this.search_results.html(a) }, Chosen.prototype.results_hide = function () { return this.results_showing && (this.result_clear_highlight(), this.container.removeClass("chosen-with-drop"), this.form_field_jq.trigger("chosen:hiding_dropdown", { chosen: this })), this.results_showing = !1 }, Chosen.prototype.set_tab_index = function () { var a; return this.form_field.tabIndex ? (a = this.form_field.tabIndex, this.form_field.tabIndex = -1, this.search_field[0].tabIndex = a) : void 0 }, Chosen.prototype.set_label_behavior = function () { var b = this; return this.form_field_label = this.form_field_jq.parents("label"), !this.form_field_label.length && this.form_field.id.length && (this.form_field_label = a("label[for='" + this.form_field.id + "']")), this.form_field_label.length > 0 ? this.form_field_label.bind("click.chosen", function (a) { return b.is_multiple ? b.container_mousedown(a) : b.activate_field() }) : void 0 }, Chosen.prototype.show_search_field_default = function () { return this.is_multiple && this.choices_count() < 1 && !this.active_field ? (this.search_field.val(this.default_text), this.search_field.addClass("default")) : (this.search_field.val(""), this.search_field.removeClass("default")) }, Chosen.prototype.search_results_mouseup = function (b) { var c; return c = a(b.target).hasClass("active-result") ? a(b.target) : a(b.target).parents(".active-result").first(), c.length ? (this.result_highlight = c, this.result_select(b), this.search_field.focus()) : void 0 }, Chosen.prototype.search_results_mouseover = function (b) { var c; return c = a(b.target).hasClass("active-result") ? a(b.target) : a(b.target).parents(".active-result").first(), c ? this.result_do_highlight(c) : void 0 }, Chosen.prototype.search_results_mouseout = function (b) { return a(b.target).hasClass("active-result") ? this.result_clear_highlight() : void 0 }, Chosen.prototype.choice_build = function (b) { var c, d, e = this; return c = a("<li />", { "class": "search-choice" }).html("<span>" + b.html + "</span>"), b.disabled ? c.addClass("search-choice-disabled") : (d = a("<a />", { "class": "search-choice-close", "data-option-array-index": b.array_index }), d.bind("click.chosen", function (a) { return e.choice_destroy_link_click(a) }), c.append(d)), this.search_container.before(c) }, Chosen.prototype.choice_destroy_link_click = function (b) { return b.preventDefault(), b.stopPropagation(), this.is_disabled ? void 0 : this.choice_destroy(a(b.target)) }, Chosen.prototype.choice_destroy = function (a) { return this.result_deselect(a[0].getAttribute("data-option-array-index")) ? (this.show_search_field_default(), this.is_multiple && this.choices_count() > 0 && this.search_field.val().length < 1 && this.results_hide(), a.parents("li").first().remove(), this.search_field_scale()) : void 0 }, Chosen.prototype.results_reset = function () { return this.reset_single_select_options(), this.form_field.options[0].selected = !0, this.single_set_selected_text(), this.show_search_field_default(), this.results_reset_cleanup(), this.form_field_jq.trigger("change"), this.active_field ? this.results_hide() : void 0 }, Chosen.prototype.results_reset_cleanup = function () { return this.current_selectedIndex = this.form_field.selectedIndex, this.selected_item.find("abbr").remove() }, Chosen.prototype.result_select = function (a) { var b, c; return this.result_highlight ? (b = this.result_highlight, this.result_clear_highlight(), this.is_multiple && this.max_selected_options <= this.choices_count() ? (this.form_field_jq.trigger("chosen:maxselected", { chosen: this }), !1) : (this.is_multiple ? b.removeClass("active-result") : this.reset_single_select_options(), c = this.results_data[b[0].getAttribute("data-option-array-index")], c.selected = !0, this.form_field.options[c.options_index].selected = !0, this.selected_option_count = null, this.is_multiple ? this.choice_build(c) : this.single_set_selected_text(c.text), (a.metaKey || a.ctrlKey) && this.is_multiple || this.results_hide(), this.search_field.val(""), (this.is_multiple || this.form_field.selectedIndex !== this.current_selectedIndex) && this.form_field_jq.trigger("change", { selected: this.form_field.options[c.options_index].value }), this.current_selectedIndex = this.form_field.selectedIndex, this.search_field_scale())) : void 0 }, Chosen.prototype.single_set_selected_text = function (a) { return null == a && (a = this.default_text), a === this.default_text ? this.selected_item.addClass("chosen-default") : (this.single_deselect_control_build(), this.selected_item.removeClass("chosen-default")), this.selected_item.find("span").text(a) }, Chosen.prototype.result_deselect = function (a) { var b; return b = this.results_data[a], this.form_field.options[b.options_index].disabled ? !1 : (b.selected = !1, this.form_field.options[b.options_index].selected = !1, this.selected_option_count = null, this.result_clear_highlight(), this.results_showing && this.winnow_results(), this.form_field_jq.trigger("change", { deselected: this.form_field.options[b.options_index].value }), this.search_field_scale(), !0) }, Chosen.prototype.single_deselect_control_build = function () { return this.allow_single_deselect ? (this.selected_item.find("abbr").length || this.selected_item.find("span").first().after('<abbr class="search-choice-close"></abbr>'), this.selected_item.addClass("chosen-single-with-deselect")) : void 0 }, Chosen.prototype.get_search_text = function () { return this.search_field.val() === this.default_text ? "" : a("<div/>").text(a.trim(this.search_field.val())).html() }, Chosen.prototype.winnow_results_set_highlight = function () { var a, b; return b = this.is_multiple ? [] : this.search_results.find(".result-selected.active-result"), a = b.length ? b.first() : this.search_results.find(".active-result").first(), null != a ? this.result_do_highlight(a) : void 0 }, Chosen.prototype.no_results = function (b) { var c; return c = a('<li class="no-results">' + this.results_none_found + ' "<span></span>"</li>'), c.find("span").first().html(b), this.search_results.append(c), this.form_field_jq.trigger("chosen:no_results", { chosen: this }) }, Chosen.prototype.no_results_clear = function () { return this.search_results.find(".no-results").remove() }, Chosen.prototype.keydown_arrow = function () { var a; return this.results_showing && this.result_highlight ? (a = this.result_highlight.nextAll("li.active-result").first()) ? this.result_do_highlight(a) : void 0 : this.results_show() }, Chosen.prototype.keyup_arrow = function () { var a; return this.results_showing || this.is_multiple ? this.result_highlight ? (a = this.result_highlight.prevAll("li.active-result"), a.length ? this.result_do_highlight(a.first()) : (this.choices_count() > 0 && this.results_hide(), this.result_clear_highlight())) : void 0 : this.results_show() }, Chosen.prototype.keydown_backstroke = function () { var a; return this.pending_backstroke ? (this.choice_destroy(this.pending_backstroke.find("a").first()), this.clear_backstroke()) : (a = this.search_container.siblings("li.search-choice").last(), a.length && !a.hasClass("search-choice-disabled") ? (this.pending_backstroke = a, this.single_backstroke_delete ? this.keydown_backstroke() : this.pending_backstroke.addClass("search-choice-focus")) : void 0) }, Chosen.prototype.clear_backstroke = function () { return this.pending_backstroke && this.pending_backstroke.removeClass("search-choice-focus"), this.pending_backstroke = null }, Chosen.prototype.keydown_checker = function (a) { var b, c; switch (b = null != (c = a.which) ? c : a.keyCode, this.search_field_scale(), 8 !== b && this.pending_backstroke && this.clear_backstroke(), b) { case 8: this.backstroke_length = this.search_field.val().length; break; case 9: this.results_showing && !this.is_multiple && this.result_select(a), this.mouse_on_container = !1; break; case 13: a.preventDefault(); break; case 38: a.preventDefault(), this.keyup_arrow(); break; case 40: a.preventDefault(), this.keydown_arrow() } }, Chosen.prototype.search_field_scale = function () { var b, c, d, e, f, g, h, i, j; if (this.is_multiple) { for (d = 0, h = 0, f = "position:absolute; left: -1000px; top: -1000px; display:none;", g = ["font-size", "font-style", "font-weight", "font-family", "line-height", "text-transform", "letter-spacing"], i = 0, j = g.length; j > i; i++)e = g[i], f += e + ":" + this.search_field.css(e) + ";"; return b = a("<div />", { style: f }), b.text(this.search_field.val()), a("body").append(b), h = b.width() + 25, b.remove(), c = this.container.outerWidth(), h > c - 10 && (h = c - 10), this.search_field.css({ width: h + "px" }) } }, Chosen }(AbstractChosen) }.call(this);


// Chosen touch support.
if ($('.chosen-container').length > 0) {
    $('.chosen-container').on('touchstart', function (e) {
        e.stopPropagation(); e.preventDefault();
        // Trigger the mousedown event.
        $(this).trigger('mousedown');
    });
};
/*!
 * jQuery floatingScroll Plugin v2.3.3
 * https://github.com/Amphiluke/floating-scroll
 * (c) 2017 Amphiluke
 */
(function (global, factory) {
    "use strict";
    if (typeof define === "function" && define.amd) {
        define(["jquery"], factory);
    } else if (typeof module === "object" && module.exports) {
        factory(require("jquery"));
    } else {
        factory(global.jQuery);
    }
}(this, function ($) {
    "use strict";

    function FScroll(cont) {
        var inst = this,
            scrollBody = cont.closest(".fl-scrolls-body");
        inst.cont = cont[0];
        if (scrollBody.length) {
            inst.scrollBody = scrollBody;
        }
        inst.sbar = inst.initScroll();
        inst.visible = true;
        inst.updateAPI(); // recalculate floating scrolls and hide those of them whose containers are out of sight
        inst.syncSbar(inst.cont);
        inst.addEventHandlers();
    }

    $.extend(FScroll.prototype, {
        initScroll: function () {
            var flscroll = $("<div class='fl-scrolls'></div>");
            $("<div></div>").appendTo(flscroll).css({width: this.cont.scrollWidth + "px"});
            return flscroll.appendTo(this.cont);
        },

        addEventHandlers: function () {
            var inst = this,
                handlers,
                i, len;
            handlers = inst.eventHandlers = [
                {
                    $el: inst.scrollBody || $(window),
                    handlers: {
                        // Don't use `$.proxy()` since it makes impossible event unbinding individually per instance
                        // (see the warning at http://api.jquery.com/unbind/)
                        scroll: function () {
                            inst.checkVisibility();
                        },
                        resize: function () {
                            inst.updateAPI();
                        }
                    }
                },
                {
                    $el: inst.sbar,
                    handlers: {
                        scroll: function () {
                            inst.visible && inst.syncCont(this, true);
                        }
                    }
                },
                {
                    $el: $(inst.cont),
                    handlers: {
                        scroll: function () {
                            inst.syncSbar(this, true);
                        },
                        focusin: function () {
                            setTimeout(function () {
                                inst.syncSbar(inst.cont);
                            }, 0);
                        },
                        // The `adjustScroll` event type is kept for backward compatibility only.
                        "update.fscroll adjustScroll": function (e) {
                            // Check event namespace to ensure that this is not an extraneous event in a bubbling phase
                            if (e.namespace === "fscroll" || e.type === "adjustScroll") {
                                inst.updateAPI();
                            }
                        },
                        "destroy.fscroll": function (e) {
                            if (e.namespace === "fscroll") {
                                inst.destroyAPI();
                            }
                        }
                    }
                }
            ];
            for (i = 0, len = handlers.length; i < len; i++) {
                handlers[i].$el.bind(handlers[i].handlers);
            }
        },

        checkVisibility: function () {
            var inst = this,
                mustHide = (inst.sbar[0].scrollWidth <= inst.sbar[0].offsetWidth),
                contRect,
                maxVisibleY;
            if (!mustHide) {
                contRect = inst.cont.getBoundingClientRect();
                maxVisibleY = inst.scrollBody ?
                    inst.scrollBody[0].getBoundingClientRect().bottom :
                    window.innerHeight || document.documentElement.clientHeight;
                mustHide = ((contRect.bottom <= maxVisibleY) || (contRect.top > maxVisibleY));
            }
            if (inst.visible === mustHide) {
                inst.visible = !mustHide;
                // we cannot simply hide a floating scroll bar since its scrollLeft property will not update in that case
                inst.sbar.toggleClass("fl-scrolls-hidden");
            }
        },

        syncCont: function (sender, preventSyncSbar) {
            // Prevents next syncSbar function from changing scroll position
            if (this.preventSyncCont === true) {
                this.preventSyncCont = false;
                return;
            }
            this.preventSyncSbar = !!preventSyncSbar;
            this.cont.scrollLeft = sender.scrollLeft;
        },

        syncSbar: function (sender, preventSyncCont) {
            // Prevents next syncCont function from changing scroll position
            if (this.preventSyncSbar === true) {
                this.preventSyncSbar = false;
                return;
            }
            this.preventSyncCont = !!preventSyncCont;
            this.sbar[0].scrollLeft = sender.scrollLeft;
        },

        // Recalculate scroll width and container boundaries
        updateAPI: function () {
            var inst = this,
                cont = inst.cont,
                pos = cont.getBoundingClientRect();
            inst.sbar.width($(cont).outerWidth());
            if (!inst.scrollBody) {
                inst.sbar.css("left", pos.left + "px");
            }
            $("div", inst.sbar).width(cont.scrollWidth);
            inst.checkVisibility(); // fixes issue #2
        },

        // Remove a scrollbar and all related event handlers
        destroyAPI: function () {
            var handlers = this.eventHandlers,
                i, len;
            for (i = 0, len = handlers.length; i < len; i++) {
                handlers[i].$el.unbind(handlers[i].handlers);
            }
            this.sbar.remove();
        }
    });

    // `attachScroll` is the old alias used in v1.X. Temporally kept for backward compatibility.
    $.fn.attachScroll = $.fn.floatingScroll = function (method) {
        if (!arguments.length || method === "init") {
            this.each(function () {
                new FScroll($(this));
            });
        } else if (FScroll.prototype.hasOwnProperty(method + "API")) {
            this.trigger(method + ".fscroll");
        }
        return this;
    };
}));;
var tableWidth, tableHeight;
var origTable = $('#productTable');
var stickyHeader = $(".stickyHeader");
var stickyTable = $("#stickyProductTable");
var widthValues = ['padding-left', 'padding-right', 'border-left-width', 'border-right-width'];

function ExtraWidth(baseWidth) {
    var result = baseWidth;
    for (var i = 0; i < widthValues.length; i++) {
        var parsedValue = Number($(compform).css(widthValues[i]).replace(/px/ig, ""));
        if (!isNaN(parsedValue)) {
            result += parsedValue;
        }
    }
    return result;
}

function CreateFloatingHeader() {
    var theadClone = $(origTable).find('thead').clone(true);

    // clear placeholder elements for stickyTable
    stickyTable.empty();
    stickyTable.append(theadClone);
    tableWidth = $(origTable).width();
    tableHeight = $(origTable).height();
    var headerCells = $(origTable).find('thead th');
    var headerCellHeight = $(headerCells[0]).height();

    var stickyHeaderCells = stickyHeader.find('th');
    stickyTable.css('width', tableWidth);

    for (var j = 0, l = headerCells.length; j < l; j++) {
        var cellWidth = $(headerCells[j]).width();

        $(stickyHeaderCells[j]).css('width', cellWidth);
        $(stickyHeaderCells[j]).css('background-color', '#333333');
    }

    var cutoffTop = $(origTable).find('thead').offset().top;
    var cutoffBottom = tableHeight + cutoffTop - headerCellHeight;
    var leftInit = $(origTable).find('thead').offset().left;
    var currentPosition = $(window).scrollTop();
    $(stickyHeader).css({ left: $(compform).offset().left, top: "0px", width: ExtraWidth($(compform).width()), overflow: "hidden" });

    // Fix to make sure it's visible on refresh
    if (currentPosition > cutoffTop && currentPosition < cutoffBottom) {
        stickyHeader.removeClass('hide');
        $(stickyTable).offset({ left: leftInit, top: currentPosition });
    }
    else {
        stickyHeader.addClass('hide');
    }
}
function UpdateFloatingHeader() {
    var headerCells = $(origTable).find('thead th');
    var headerCellHeight = $(headerCells[0]).height();
    
    tableHeight = $(origTable).height();
    var stickyHeaderCells = stickyHeader.find('th');
    for (var j = 0, l = headerCells.length; j < l; j++) {
        var cellWidth = $(headerCells[j]).width();

        $(stickyHeaderCells[j]).css('width', cellWidth);
        $(stickyHeaderCells[j]).css('background-color', '#333333');
    }
    var cutoffTop = $(origTable).find('thead').offset().top;
    var cutoffBottom = tableHeight + cutoffTop - headerCellHeight;
    var currentTopPosition = $(window).scrollTop();
    var cutoffLeft = $(origTable).find('thead').offset().left;
    if (currentTopPosition > cutoffTop && currentTopPosition < cutoffBottom) {
        stickyHeader.removeClass('hide');
        $(stickyTable).offset({ left: cutoffLeft, top: currentTopPosition });
        $(stickyHeader).css({ width: ExtraWidth($(compform).width()) });
    }
    else {
        stickyHeader.addClass('hide');
    }
}

var isScrolledIntoView = function (elem) {
    var $elem = $(elem);
    var $window = $(window);
    var docViewTop = $window.scrollTop();
    var docViewBottom = docViewTop + $window.height();
    var elemTop = $elem.offset().top;
    var elemBottom = elemTop + $elem.height();
    return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
};

$(window).load(function () {
    if (!isScrolledIntoView('.btm-wrapper')) {
        $("#products-compare").addClass("products-compare-fixed");
    } else if (!isScrolledIntoView('.server-time')) {
        $("#products-compare").addClass("products-compare-fixed");
    } else {
        $("#products-compare").removeClass("products-compare-fixed");
    }
});

$(window).scroll(function () {
    if (!isScrolledIntoView('.btm-wrapper')) {
        $("#products-compare").addClass("products-compare-fixed");
    } else if (!isScrolledIntoView('.server-time')) {
        $("#products-compare").addClass("products-compare-fixed");
    } else {
        $("#products-compare").removeClass("products-compare-fixed");
    }
});

$(document).ready(function () {
    $(window).load(function () {
        CreateFloatingHeader();
    });
    $(window).scroll(function () {
        UpdateFloatingHeader();     
    });
    $(window).resize(function () {
        $(stickyTable).empty();
        CreateFloatingHeader();
    });
    $(compform).scroll(function () {
        UpdateFloatingHeader();
    });
});;
function dlgHelp(language,res) {
    var url = "/products/helpdialog/" + language + "/" + encodeURIComponent(res);

   
    var btns = {};

    $.get(url, function (data, status) {
        var dlg = $(data);

        btns[dlg.attr("close")] = function () { $(this).dialog("close"); };

        dlg.dialog({
            resizable: false,
            modal: true,
            draggable: false,
            closeOnEscape: true,
            close: function (e) { $(this).dialog('destroy').remove(); },
            buttons: btns,
            width: "auto",
            create: function (event, ui) {
                // Set maxWidth
                $(this).css({ "maxWidth": "660px", "margin":"10px"});
            }
        });


        $(".ui-widget-overlay").click(function () {
            $("#helpPopUp").dialog('destroy').remove()
            $(".ui-dialog-titlebar-close").trigger('click');
        });
    });

    
};
function rchek() {
    if ($("#rohs").attr("checked")) {
        $("#nonrohs").prop("disabled", true);
    }
    else if (($("#nonrohs").attr("checked"))) {
        $("#rohs").prop("disabled", true);
    }
}

var firstClass = $(".rohsChk").attr('class').split(' ')[0];
$(".rohsChk").change(function () {
    this.checked ? $("." + firstClass).not(this).prop("disabled", true) : $("." + firstClass).not(this).prop("disabled", false);
});

$(document).ready(function () {
    rchek();
});;
