');}if (aCartOpt[1].length > 0 && aCartOpt[1] !== '') {cinput += aCartOpt[1] + sCartOptDelim + cart_opt_value;} else {cinput += cart_opt_value;}} //- if (document.getElementById('cart_opt_' + iCOpt + '_' + rowkey).value != '')} //- for (var iCOpt = 0, goTo = aCartOpts.length - 1; iCOpt <= goTo; iCOpt++)if (jQuery('#cart_option_' + rowkey).length > 0) {jQuery('#cart_option_' + rowkey).val(cinput);}} catch (err) {alert('Unable to build cart options. ' + err.mesage);//console.log('Unable to build cart options. ' + err.mesage);}}function hideProductContainer() {if (document.getElementById('sku_container'))document.getElementById('sku_container').innerHTML = '';if (document.getElementById('child_nm_container'))document.getElementById('child_nm_container').innerHTML = '';if (document.getElementById('child_ds_container'))document.getElementById('child_ds_container').innerHTML = ''; if (document.getElementById('price_container'))document.getElementById('price_container').innerHTML = '';if (document.getElementById('idp_container'))document.getElementById('idp_container').innerHTML = '';if (document.getElementById('atc_container'))document.getElementById('atc_container').style.display = 'none';hideChildProductInputs();}function hideChildProductInputs() { if (document.getElementById('child_cart_section'))document.getElementById('child_cart_section').style.display = 'none';for (var iCO=0; iCO<=5; iCO++){ if (document.getElementById('pc_cart_options_'+iCO))jQuery('#pc_cart_options_'+iCO).slideUp();}}/** * Function to Show/hide Buttons and message * @authorpijushb * @since1/25/2012 */function funcShowHideButtons() {sPrevSku = jQuery('#previous_sku').val();bReviewMessage = jQuery('#review_message_' + sPrevSku).is(':visible');jQuery('#previous_sku').val(sPKey);if (bReviewMessage){jQuery('#review_message_'+sPrevSku).hide();}bSubmitButton = jQuery('#submit_button').is(':visible')if (!bSubmitButton) {jQuery('#submit_button').hide();jQuery('#check_stock_button').show();jQuery('#checkout_button').show();} else {jQuery('#submit_button').hide();jQuery('#check_stock_button').show();jQuery('#checkout_button').show();} //- if (!bSubmitButton)} //- function funcShowHideButtons()/** * Function to add products to cart. * @authorpijushb * @since1/25/2012 */function fncCheckout() {gotoCart();} //- function fncCheckout()//Added styled modal to use instead of alert() -JMSfunction styled_modal_alert(htmlmsg) {jQuery('#styled_modal_text').html(htmlmsg);jQuery('#styled_modal_container').show();jQuery('#styled_modal_msg').show();jQuery('#styled_modal_buttons').show();jQuery('body').addClass('modal-open page-overflow');}jQuery('#styled_modal_close').click(function(e){e.preventDefault();jQuery('#styled_modal_container').hide();jQuery('#styled_modal_msg').hide();jQuery('#styled_modal_buttons').hide();jQuery('#styled_modal_text').html('');jQuery('body').removeClass('modal-open page-overflow');});function getQtyPricingUrl(sProductKey) {return 'i_i_priceBreakPopup.asp' + '?p_id=' + sProductKey + '&p_key=' + sProductKey;}/** * This function is responsible for loading the config sections / choices * for the input qty child product view * * @authorjohns * @since08/13/2013 * * @paramoLink html DOM object of link clicked * * @returnvoid */function fncLoadConfigSections(oLink) {var iColCount = 0;var $oLink = jQuery(oLink);var sKey = $oLink.data('key');var sDefaultQty = '';var sConfigSectionSource = $oLink.data('configsectionsource');var sParentProdKey = $oLink.data('parentprodkey');if (isNaN(sDefaultQty) || sDefaultQty < 1) {sDefaultQty = '';}// get the number of columns the new row will span$oLink.closest('tr').find('td').each(function () {if (jQuery(this).attr('colspan')) {iColCount += jQuery(this).attr('colspan');} else {iColCount++;}});if (sConfigSectionSource === 'parent') {sConfigKey = sParentProdKey;} else {sConfigKey = sKey;}jQuery.ajax({url: 'i_i_pc_product_detail.asp',data:{pageaction : 'getconfigdata',config_key : sConfigKey, //key of the product where the config data is coming fromchild_pkey : sKey,r_id : new Date().getTime()},type: 'GET',async: false,dataType: 'html',beforeSend: function () {$oLink.closest('tr').after('
- ' + sProductConfiguratorPriceText + '
');} else {jQuery('#formbuilder_container').after('
- ' + sProductConfiguratorPriceText + '
');}}}addCommas = function (input) {// If the regex doesn't match, `replace` returns the string unmodifiedreturn (input.toString()).replace(// Each parentheses group (or 'capture') in this regex becomes an argument// to the function; in this case, every argument after 'match'/^([-+]?)(0?)(\d+)(.?)(\d+)$/g, function (match, sign, zeros, before, decimal, after) {// Less obtrusive than adding 'reverse' method on all stringsvar reverseString = function (string) {return string.split('').reverse().join('');};// Insert commas every three characters from the rightvar insertCommas = function (string) {// Reverse, because it's easier to do things from the leftvar reversed = reverseString(string);// Add commas every three charactersvar reversedWithCommas = reversed.match(/.{1,3}/g).join(',');// Reverse again (back to normal)return reverseString(reversedWithCommas);};// If there was no decimal, the last capture grabs the final digit, so// we have to put it back together with the 'before' substringreturn sign + (decimal ? insertCommas(before) + decimal + after : insertCommas(before + after));});};/* * Register Addon Product select list */jQuery('#addon_products').change(function () {fncUpdateAddonsSelectQty(this);});/* * Update addon product (needed due to page caching) */if (bUseAddonProducts) {if (jQuery('#addon_products').length > 0) {fncUpdateAddonsSelectQty(jQuery('#addon_products')[0]);}}/* * Register Addon Product Checkboxes */jQuery('#addon_product_container input:checkbox').click(function () {jQuery('#addon_qty_container').html('');jQuery('#addon_product_container input:checked').each(function () {jQuery('#addon_qty_container').append('')});});/* * Register AJAX Add To Cart Window Close Button */jQuery('#atc_msg_close_win').click(function (event) {event.preventDefault();closeCartLightbox();});jQuery('a[id^="input_qty_config_sections_"]').click(function (event) {event.preventDefault();fncLoadConfigSections (this);});var sPageName = '300-gallon-black-below-ground-plastic-spherical-plastic-septic-tank-snyder-5260000w94202.asp';// event handlers for UOM logic for the input qty view// johns - 8/6/2013jQuery('select[name^="uom_selected"]').bind('change', function () {sSelectedVal = jQuery(this).val();sProdKey = jQuery(this).data('key');sUomStd = jQuery(this).data('uomstd');if (sSelectedVal !== sUomStd) {jQuery('#uom_sales_' + sProdKey).val(sSelectedVal);jQuery('#uom_std_' + sProdKey).val('');jQuery(this).parent().prev('td.qty_price_breaks_container').text(jQuery(this).data('uomconvprice'));// added to post uom to the new cart [johns - 04/21/2014]jQuery('#multiplier_on_qty_display_' + sProdKey).remove();} else {jQuery('#uom_sales_' + sProdKey).val('');jQuery('#uom_std_' + sProdKey).val(sSelectedVal);jQuery(this).parent().prev('td.qty_price_breaks_container').text(jQuery(this).data('price'));// added to post uom to the new cart [johns - 04/21/2014]jQuery(this).after('');}if (bShowNativeUOMinCart) {jQuery('#order_uom_' + sProdKey).val(sSelectedVal);}if (jQuery('#uom_sales_' + sProdKey).val() !== '' && jQuery('#qty_' + sProdKey).val() !== '') {jQuery('#sales_qty_' + sProdKey).val(jQuery('#qty_' + sProdKey).val());}});jQuery('.qty_input_table input[name^="qty_"]').bind('change keyup', function () {sProdKey = jQuery(this).data('key');if (jQuery('#uom_sales_' + sProdKey).val() !== '') {jQuery('#sales_qty_' + sProdKey).val(jQuery(this).val());}});if (bUsePromotions && bUsePromoBarAtcModal){jQuery('#atc_msg').on('shown', function () {// The ticker cannot be started until the elements are visible.jQuery('#atc_promo_bar .notification-center').trigger('notification-center-added');});}/** * Rating Stars * - gets score from data attribute on container * @author jonr * @since 1/27/2014 */jQuery('.raty').raty({path: 'templates/gfx/',space: false,readOnly: true,width: 90,hints: ['Bad', 'Poor', 'Good', 'Very Good', 'Excellent'],score: function () {return jQuery(this).attr('data-score');}});toggleSmartListSection();if (bConfiguratorEdit) {fncLoadConfigEdit(oConfiguratorEditData, dblConfiguratorEditQty);}$('#formbuilder_container').on('change', ':input:not(:text, textarea, :disabled, :hidden)', updateConfigPrices);// force HTML5 validation for the "step" attribute to not fire if the form has at least 1 input with step attribute set to a value > 1 [johns - 02/26/2016]$('form input').each(function() {if ($(this)[0].hasAttribute('step') && ( $(this).attr('step') !== '' || $(this).attr('step') > 0 )) {$('form').attr('novalidate', 'novalidate');return false;}});});function updateConfigPrices() {var dConfigPrice = 0;$('#formbuilder_container').find(':input:checked, select :selected').filter(':not(:disabled)').each(function () {dConfigPrice += $(this).data('price') || 0;});var $price = bProductConfiguratorShowBasePrice ? $('#configurator_price') : $('li[class=saleprice]');var sPrice = (dblBasePrice + dConfigPrice).toFixed(iProductConfiguratorPriceDecimals);$price.html(sProductConfiguratorPriceText + " $" + addCommas(sPrice));}function fncLoadConfigEdit(oData, dQty) {var $form = jQuery('#formbuilder_container');for (choiceKey in oData.choices) {var choice = oData.choices[choiceKey];var $inputs = $form.find('[name="' + choice.name + '"]');var inputType = $inputs.first().attr("type");if (inputType === "checkbox" || inputType === "radio") {$inputs.filter('[value="' + choice.answer + '"]').prop('checked', true);} else {$inputs.val(choice.answer);}// Update display activators.$inputs.change();}jQuery('.qtyinput').val(dQty);updateConfigPrices();}// Toggles the visibility of the smart list section (stand-alone, not in advanced tabs)// based on whether the product has any information to show.function toggleSmartListSection() {var sKey = $('#keys').val();var $smartListContainer = $('#detail_smart_list');var bHistoryExists = $smartListContainer.find('.smart-list[data-product=' + sKey + ']').length > 0;//Hide the children rather than the entire container so product tabs//can hide the container when a smart list tab is showing.$smartListContainer.children().toggle(bHistoryExists);}function updateSmartListChildProduct() {var sChildKey = $('#keys').val();$('.smart-lists-container[data-product=' + sPKey + ']').trigger('child-product-changed', sChildKey);toggleSmartListSection();}/* * This function checks the global variable bUseChildDescription to see if it * should substitute the child description (from oProdInfo) for the current description. * * @authorjohns, ddara * @since11/6/2010 */function applyChildDescription(oProdInfo) {if (bUseChildDescription) {if (typeof oProdInfo.description !== 'string' || oProdInfo.description.trim() === '') {$('.detail_desc_full').hide();} else {$('.detail_desc_full').show();// HCS 2/1/2017 - updated to use IDs instead of detail_desc_content class to prevent// issues with price display message when using child description swapping.jQuery('#detail_desc_content_0').html(oProdInfo.description);jQuery('#detail_desc_content_1').html(oProdInfo.description);jQuery('#desc').html(oProdInfo.description);}}}/*Collates an array of data pairs into an object with the first value from the pairs beingkeys in the object with the value being an array of all of that value's pair partners.e.g.[['a', 1], ['b', 2], ['a', 8]]yields{'a': [1, 8], 'b': [2]}*/function collateArrayIntoObject(aPairs) {var sKeyvar sValuevar oMapping = {};for (var i = 0; i < aPairs.length; i++) {sKey = aPairs[i][0];sValue = aPairs[i][1];if (!oMapping.hasOwnProperty(sKey)) {oMapping[sKey] = [];}oMapping[sKey].push(sValue);}return oMapping;}function initSavedCartsHelper() {initializeSavedCarts(function (sOrderKey, sNickname) {postToCart(undefined, undefined, sOrderKey, sNickname, 'saved-cart');});}// Returns the intersection of two sorted arrays.// Based on intersect_safe from http://stackoverflow.com/a/1885660function intersectArrays(a, b) {var ai=0, bi=0;var result = new Array();while(ai < a.length && bi < b.length) {if (a[ai] < b[bi]) {ai++;}else if (a[ai] > b[bi]) {bi++;} else { /* they're equal */result.push(a[ai]);ai++;bi++;}}return result;}function updateDroplistPromoDisplay(sProductKey) {var aApplicablePromos = oTargetPromos[sProductKey] || [];var $promoPanels = $('.detail_cart .promo-panel');aApplicablePromos.sort();$promoPanels.each(function(panelIndex, element) {var $panel = $(this);var aPromos = $panel.data('promos').split(',');aPromos.sort();var bApplicable = intersectArrays(aApplicablePromos, aPromos).length > 0;$panel.toggleClass('faded', !bApplicable);});}function fncAddToSavedCartClick(event) {if (!fncFormSubmit(false)) {event.stopPropagation();}}// String replacement on you save text for droplist products. function youSaveStringReplace(sYouSavePercent, sYouSaveDollarAmount){sYouSaveDisplay = sYouSaveStringReplacementsYouSaveDisplay = sYouSaveDisplay.replace( "
Let's Get In Touch!
Our entire product catalog is not available for purchase online, please contact us if there are products you are interested in but do not see online or if you have any other questions!
- 800 625 7659
- shop@snydernet.com
Quick Links
- Home
- Announcements
- Shipping Policy
- Privacy Policy
- Terms of Use
Resources
- Snyder Industries
- Bonar Plastics
- Stratis Pallets
- Norwesco
Copyright ©2024 Snyder Industries, LLC. All Rights Reserved. Ecommerce & ERP Integration by Website Pipeline