');}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) {openGlobalModal('', {"url" : "", "body" : "
" + htmlmsg + "
", "footer" : "","size" : "small","title" : "Alert","icon" : "", "complete": function() {},})}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 + ' (Calculating)
');} else {jQuery('#formbuilder_container').after('
- ' + sProductConfiguratorPriceText + ' (Calculating)
');}}}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 = 'pvc-ground-sleeve.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);if (dShowTabs) {// Still update using class if using advanced tabsjQuery('.detail_desc_content').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( "
Ratings and Reviews
- FlagandBanner.com - Main
- Arkansas Flag & Banner, Inc.
- 800 W 9th Street
- Little Rock, Arkansas 72201
- TF: 800-445-0653
- PH: 501-375-7633
- FX: 501-375-7638
- Customer Service
- FlagandBanner.com - North Miami
- 13870 W Dixie Hwy
- North Miami, Florida 33161
- PH: 305-981-9996
- Site Directory
- About Us
- FAQ
- Privacy Policy
- Custom FAQ's
- Etiquette
- How To's
- Order Information
- Flag Information
- Galleries
- Press Center
Copyright ©2023 FlagandBanner.com All rights reserved
Sitemap
Ecommerce & ERP Integration by Website Pipeline