HW/IT/Computers/SuperMicro/SC743TQ-865B-SQ _ 4U _ Chassis _ Products _ Super Micro Computer, Inc._files/spec.js

jQuery(document).ready(function() {

    if (jQuery('table#specDetailTable').length) { // static spec pages
        var isAccessories = (jQuery('#specDetailTable.accessories').length) ? true : false;
        var isMotherboard = (jQuery('#specDetailTable.motherboard').length) ? true : false;
        var isNetworking = (jQuery('#specDetailTable.accessories.networking').length) ? true : false;
        var isMobileRack = (jQuery('#specDetailTable.accessories.mobile-rack,#specDetailTable.accessories.drivekit').length) ? true : false;


        jQuery('.body > table').addClass('spec-product-image spec-table');
        jQuery('.spec-product-image table').addClass('spec-product-board-image spec-table');
        jQuery('.spec-product-image > tbody > tr > td:nth-child(2) ').addClass('col-right');
        jQuery('.body').nextAll('td').eq(1).wrap("<table class='spec-key-features spec-table'></table>");

        if (isMotherboard) {
            jQuery('#specDetailTable > tbody > tr:nth-child(2) > td > table:nth-child(1)').addClass('spec-desc-section');
            jQuery('#specDetailTable > tbody > tr:nth-child(2) > td > table:nth-child(2)').addClass('spec-specifications-section');
            jQuery('#specDetailTable > tbody > tr:nth-child(3)').addClass('spec-parts-list-section');
        } else if (isMobileRack) {
            jQuery('#specDetailTable > tbody > tr:nth-child(2)').addClass('spec-desc-section');
            jQuery('#specDetailTable > tbody > tr:nth-child(3) > td > table > tbody > tr:nth-child(2)').addClass('spec-specifications-section');
            jQuery('#specDetailTable > tbody > tr:nth-child(3) > td > table > tbody > tr:nth-child(3), #specDetailTable > tbody > tr:nth-child(3) > td > table > tbody > tr:nth-child(5)').addClass('spec-parts-list-section');
        } else {
            jQuery('#specDetailTable > tbody > tr:nth-child(2)').addClass('spec-desc-section');
            jQuery('#specDetailTable > tbody > tr:nth-child(3)').addClass('spec-specifications-section');
            if (isNetworking) {
                jQuery('.spec-specifications-section > td > table > tbody > tr:nth-child(3) > td > table > tbody > tr:nth-child(4)').addClass('spec-parts-list-section');
            } else {
                jQuery('#specDetailTable > tbody > tr:nth-child(4)').addClass('spec-parts-list-section');
                jQuery('.spec-parts-list-section .copyright:eq(0)').closest('table').remove();
            }
        }



        //jQuery('table:not(.product-image-board):not(:has(table))').addClass('product-table');
        //jQuery('.product-spec-section table:not(:has(table))').addClass('product-spec product-table');
        if (isAccessories) {
            jQuery('.spec-specifications-section td[background^="/a_images/gradient/gradient_lightblue"]').each(function(index) {
                jQuery(this).wrap('<table class="spec-table-' + (index + 1) + '"></table>');
            });
        } else {
            jQuery('.spec-specifications-section td[background="/a_images/gradient/gradient_lightblue_long.jpg"]:nth-child(1)').wrap('<table class="spec-table-1"></table>');
            jQuery('.spec-specifications-section td[background="/a_images/gradient/gradient_lightblue_long.jpg"]:nth-child(3)').wrap('<table class="spec-table-2"></table>');
        }



        jQuery('.spec-key-features td').removeAttr('rowspan');
        if (isMobileRack) {
            jQuery('.spec-key-features img[src*="/a_images/products/Chassis/"], .spec-key-features img[src*="/a_images/icons/prod_manual"]').each(function() {
                jQuery(this).closest('td').css('width', '70%');
            });
        }



        var specGrid = '<div class="container spec-container">' +
            '<div class="spec-main ">';

        if ((!isAccessories) || (isMobileRack)) {
            var paddedTableHTML = "";
            jQuery('.spec-desc-section table:not(:has(table))').each(function(index) {
                if (!jQuery(this).closest('.spec-table').length) {
                    jQuery(this).addClass('padded-table');
                    paddedTableHTML += jQuery(this)[0].outerHTML;
                }
            });

            specGrid +=
                '    <div class="row " >' +
                '        <div class="col col-xs-12 col-sm-7 col-md-8">' +
                jQuery('.spec-product-image')[0].outerHTML +
                paddedTableHTML +
                '            <div style="color: #ccc; font-size: 10px; padding-top: 25px;">Note: Image above may show a varied configuration of optional parts. Please refer to parts list for standard parts included.</div>' +
                '        </div>' +
                '        <div class="col col-xs-12 col-sm-5 col-md-4">' + (jQuery('.spec-key-features').length ? jQuery('.spec-key-features')[0].outerHTML : '') + '</div>' +
                '    </div>';
        }
        specGrid +=
            //'    <img src="/a_images/tabs/tab_spec_system.gif">' +
            '    <div class="more less"><span>Specifications</span> <i class="fa fa-angle-up"></i></div>' +
            '    <div class="row ">' +
            '        <div class="col col-xs-12 col-sm-6 col-md-6">' + (jQuery('.spec-table-1').length ? jQuery('.spec-table-1')[0].outerHTML : '') + '</div>' +
            '        <div class="col col-xs-12 col-sm-6 col-md-6">' + (jQuery('.spec-table-2').length ? jQuery('.spec-table-2')[0].outerHTML : '') + '</div>' +
            '    </div>';

        if (jQuery('.spec-parts-list-section').length) {
            var partListTableHTML = "";
            jQuery('.spec-parts-list-section table:not(:has(table))').each(function(index) {
                partListTableHTML += jQuery(this)[0].outerHTML;
            });
            specGrid += '    <div class="more"><span>Parts List</span> <i class="fa fa-angle-down"></i></div>' +
                '    <div class="row part-list" style="display: none"> ' + partListTableHTML + '    </div>';
        }
        specGrid += '<div class="sku"></div></div></div>';



        //console.log(specGrid);
        jQuery(specGrid).insertAfter('#specDetailTable');
        jQuery('.spec-main .sku').text(jQuery('#specModel').text());

        jQuery("a").filter(function() {
            return (jQuery(this).text() === "See Parts List" || jQuery(this).text() === "Hide Parts List");
        }).hide();

        if (isMobileRack) {
            jQuery('.spec-table-1 .specHeader,.spec-table-2 .specHeader').each(function() {
                jQuery(this).parent().prev('tr').hide();
            });
            jQuery('.spec-table-1 td.spec:first-child,.spec-table-2 td.spec:first-child').each(function() {
                jQuery(this).addClass('feature border_b');
                jQuery(this).next().remove();
                jQuery(this).next().addClass('description border_b');
            });
            jQuery('.spec-main').addClass('mobile-rack');
        }
    }

    //if (window.location.href.indexOf('?showprint') > 0) {
    jQuery('<div class="print-btn" onclick="window.print()"><i class="fa fa-print"></i><span style="font-size: 18px; padding-left: 5px">Print</span></div>').prependTo(jQuery('.spec-main'));
    //}


    jQuery('td').each(function(i) {
        //jQuery(this).css('height', 0);
        //jQuery(this).css('width', 'auto');
        jQuery(this).attr('background', '');
    });


    jQuery('table').each(function(i) {
        jQuery(this).css('background-color', jQuery(this).attr('bgcolor'));
        //jQuery(this).css('width', 'auto');
    });

    // ----------------------------------------------
    // breadcrumb
    // ----------------------------------------------
    var jQueryspecBreadcrumb = jQuery("#specDetailTable > tbody > tr:first-child .crumbs, #specDetailTable #spec-breadcrumbs");
    var path = window.location.pathname;
    var langCode = "en";
    var langParam = "0";
    if (path.indexOf('/zh_tw/') == 0) {
        langCode = "zh_tw";
        langParam = "1";
    } else if (path.indexOf('/zh_cn/') == 0) {
        langCode = "zh_cn";
        langParam = "2";
    } else if (path.indexOf('/ja/') == 0) {
        langCode = "ja";
        langParam = "3";
    }
    jQueryspecBreadcrumb.find("a").each(function() {
        var entUrl = getEntUrl(jQuery(this).attr('href'), langCode, langParam);
        //console.log("entUrl=" + entUrl);
        jQuery(".breadcrumb ol").append('<li><a href="' + entUrl + '">' + jQuery(this).text() + '</a> <span class="">&raquo;</span> </li>');
    });
    var $breadcrumbSku = jQueryspecBreadcrumb.find('strong');
    jQuery(".breadcrumb ol").append('<li>' + $breadcrumbSku.eq($breadcrumbSku.length - 1).text() + '</li>');



    jQuery('.part-list table, table.spec-table-1, table.spec-table-2').wrap("<div class='scrollable-table'></div>");


    jQuery('.more').click(function() {
        if (jQuery(this).hasClass('less')) {
            jQuery(this).next().slideUp();
            jQuery(this).html("<span>" + jQuery(this).find('span').text() + "</span> <i class='fa fa-angle-down'></i>").removeClass('less');
        } else {
            jQuery(this).next().slideDown();
            jQuery(this).html("<span>" + jQuery(this).find('span').text() + "</span> <i class='fa fa-angle-up'></i>").addClass('less');
        }
    });

    jQuery('#specDetailTable').remove();


    //Support Matrix URL rewrite
    function productLnkRewrite() {

        var domainName = '';
        if (window.location.hostname.indexOf('dev.supermicro.com') == 0) {
            domainName = 'http://10.3.0.210';
        }
        if (window.location.hostname.indexOf('staging.supermicro.com') == 0) {
            domainName = 'https://staging.supermicro.com';
        }

        function setTestedMemory() {
            var memoryForm = jQuery('form[name=memoryForm]');
            if (memoryForm.length <= 0) {
                return;
            }
            var memoryFormUrl = memoryForm.attr('action');
            if (memoryFormUrl.indexOf('.cfm') > 0) {
                memoryForm.attr('action', domainName + '/' + langCode + '/support/resources/mem');
            }
        }

        function setSupportResourcesForms() {
            var mappingUrl = [{
                fromUrl: '/support/resources/tested_AOC.cfm',
                toUrl: '/support/resources/aoc/tested'
            }, {
                fromUrl: '/support/resources/HDD.cfm',
                toUrl: '/support/resources/hdd'
            }, {
                fromUrl: '/support/resources/HDD_25.cfm',
                toUrl: '/support/resources/hdd25'
            }, {
                fromUrl: '/support/resources/HDD_25_35.cfm',
                toUrl: '/support/resources/hdd2535'
            }, {
                fromUrl: '/support/resources/HDD_35.cfm',
                toUrl: '/support/resources/hdd35'
            }, {
                fromUrl: '/support/resources/NVMe.cfm',
                toUrl: '/support/resources/nvme'
            }, {
                fromUrl: '/support/resources/resource_drivers.cfm',
                toUrl: '/support/resources/drivers'
            }];
            rewriteLnks(mappingUrl, 'action');
        }

        function setSupportResourcesLnks() {
            var mappingUrl = [{
                fromUrl: '/support/resources/M2SSD/display.cfm',
                toUrl: '/support/resources/m2ssd'
            }, {
                fromUrl: '/support/resources/AOC/AOC_Compatibility_SIOM.cfm',
                toUrl: '/support/resources/aoc/siom'
            }, {
                fromUrl: '/support/resources/AOC/Standard_AOC_Compatibility.cfm',
                toUrl: '/support/resources/aoc/standard'
            }, {
                fromUrl: '/support/faqs/os.cfm',
                toUrl: '/support/faqs/os'
            }, {
                fromUrl: '/support/resources/HDD/display.cfm',
                toUrl: '/support/resources/hdd/display'
            }, {
                fromUrl: '/support/resources/HDD/systemHDD.cfm',
                toUrl: '/support/resources/hdd/systemhdd'
            }, {
                fromUrl: '/support/resources/gpu/',
                toUrl: '/support/resources/gpu'
            }];
            rewriteLnks(mappingUrl, 'href');
        }

        function rewriteLnks(mappingUrl, attribute) {
            var selector = [];
            for (var i = 0; i < mappingUrl.length; i++) {
                if (attribute == 'action') {
                    selector.push('form[' + attribute + '^="' + mappingUrl[i].fromUrl + '"]');
                } else {
                    selector.push('a[' + attribute + '^="' + mappingUrl[i].fromUrl + '"]');
                }
            }
            selector = selector.join(',');
            jQuery(selector).each(function() {
                var url = jQuery(this).attr(attribute);
                for (var i = 0; i < mappingUrl.length; i++) {
                    url = url.replace(mappingUrl[i].fromUrl, '/' + langCode + mappingUrl[i].toUrl);
                }
                jQuery(this).attr(attribute, domainName + url);
            });
        }
        setTestedMemory();
        setSupportResourcesLnks();
        setSupportResourcesForms();
    }
    productLnkRewrite();

    var layoutAdjustForDevice = function() {
        jQuery('.spec-main').css('margin-top', jQuery('.spec-main .sku').outerHeight() + 50);
        if (window.matchMedia('(min-width: 992px)').matches) {
            jQuery('.print-btn').css('margin-top', 0);
        } else {
            jQuery('.print-btn').css('margin-top', jQuery('.spec-main .sku').outerHeight() * -1);
        }
    }
    jQuery(window).resize(function() {
        layoutAdjustForDevice();
    });
    layoutAdjustForDevice();
});

function getEntUrl(legacyUrl, langCode, langParam) {
    if (typeof(urls) != 'undefined' && urls != null) {
        for (var entUrl in urls) {
            if (legacyUrl == urls[entUrl]) {
                return "/" + langCode + entUrl;
            }
        }
    }

    langParam = "?mlg=" + langParam;
    if (legacyUrl.indexOf("?") >= 0) {
        langParam = "&mlg=" + langParam;
    }

    return legacyUrl + langParam;
}