2'' Signature Series Lift Kit Kawasaki Mule Pro FXT/DXT/DX (2024)

  • Description
  • Fits
  • Reviews
  • Warranty
  • Warning

Lifting your ATV is the ultimate statement in off-roading. This lift kit will meet your style and needs by providing unstoppable performance on the trails while making you stand out. This trail friendly lift system is built to help you hit the gnarly holes you've dreamed of and get you in and OUT of deep mud.

Built with the stability and quality you have come to expect from High Lifter, we provide a precision-engineered lift system to give you that true, full lift and create a ride perfectly suited to you. Ride higher knowing you can tackle any challenges from rough to deep terrain.

Our engineers have spent over 21 years perfecting the ultimate lift to provide maximum performance, durability, and strength while keeping installation simple and easy. Discover for yourself the reason off-road enthusiasts keep choosing High Lifter lift kits. When you do, you'll have the confidence to ride harder and go deeper.

2" Signature Series Lift Kit Features:

- Zinc plating or powder coat finishes for long life in rugged conditions

- All installation hardware included

- Detailed step by step photo instructions

- Signature Series include High Lifter logo precision laser cut

- Backed by High Lifter Lifetime Warranty

Tire Fitment:

Up to 28"

Our stated tire fitment guide is a general fitment and is in no way guaranteed. Tires and lifts vary by manufacture and tire fitment can be affected by other modifications. Always verify your brand of tires, lift, and other modifications prior to making a buying decision.

Note: NOT compatible with FXR models

2016 Kawasaki Mule PRO-FXT
2016 Kawasaki Mule PRO-FXT EPS
2016 Kawasaki Mule PRO-FXT EPS LE
2016 Kawasaki Mule PRO-FX EPS LE
2016 Kawasaki Mule PRO-FX EPS
2016 Kawasaki Mule PRO-FX
2016 Kawasaki Mule PRO-DXT EPS LE
2016 Kawasaki Mule PRO-DXT EPS
2016 Kawasaki Mule PRO-DXT
2016 Kawasaki Mule PRO-DX EPS LE
2016 Kawasaki Mule PRO-DX
2022 Kawasaki Mule PRO-FX
2022 Kawasaki Mule PRO-FX EPS
2022 Kawasaki Mule PRO-FX EPS LE
2022 Kawasaki Mule PRO-FXT
2022 Kawasaki Mule PRO-FXT EPS
2022 Kawasaki Mule PRO-FXT EPS LE
2022 Kawasaki Mule PRO-FXT RANCH
2022 Kawasaki Mule PRO-FXT Ranch Platinum
2022 Kawasaki Mule PRO-FXT EPS Camo
2023 Kawasaki Mule PRO-FX
2023 Kawasaki Mule PRO-FX EPS
2023 Kawasaki Mule PRO-FX EPS LE
2023 Kawasaki Mule PRO-FXT
2023 Kawasaki Mule PRO-FXT EPS
2023 Kawasaki Mule PRO-FXT EPS Camo
2023 Kawasaki Mule PRO-FXT EPS LE
2023 Kawasaki Mule PRO-FXT RANCH
2023 Kawasaki Mule PRO-FXT Ranch Platinum
2022 Kawasaki Mule Pro-DX
2022 Kawasaki Mule Pro-DXT
2022 Kawasaki Mule Pro-DXT EPS
2022 Kawasaki Mule Pro-DXT EPS FE
2023 Kawasaki Mule PRO-DXT EPS Diesel FE
2015 Kawasaki Mule PRO-FXT EPS
2015 Kawasaki Mule PRO-FXT EPS LE
2015 Kawasaki Mule PRO-FXT
2017 Kawasaki Mule PRO-FXT
2017 Kawasaki Mule PRO-FXT EPS
2017 Kawasaki Mule PRO-FXT EPS LE
2017 Kawasaki Mule PRO-FX EPS LE
2017 Kawasaki Mule PRO-FX EPS
2017 Kawasaki Mule PRO-FX
2017 Kawasaki Mule PRO-DXT EPS LE
2017 Kawasaki Mule PRO-DXT EPS
2017 Kawasaki Mule PRO-DXT
2017 Kawasaki Mule PRO-DX EPS LE
2017 Kawasaki Mule PRO-DX EPS
2017 Kawasaki Mule PRO-DX
2017 Kawasaki Mule PRO-FXT RANCH
2018 Kawasaki Mule PRO-FXT
2018 Kawasaki Mule PRO-FXT EPS
2018 Kawasaki Mule PRO-FXT EPS LE
2018 Kawasaki Mule PRO-FX RANCH
2018 Kawasaki Mule PRO-FXT RANCH
2018 Kawasaki Mule PRO-FX EPS LE
2018 Kawasaki Mule PRO-FX EPS
2018 Kawasaki Mule PRO-FX
2018 Kawasaki Mule PRO-DXT EPS LE
2018 Kawasaki Mule PRO-DXT EPS
2018 Kawasaki Mule PRO-DXT
2018 Kawasaki Mule PRO-DX EPS LE
2018 Kawasaki Mule PRO-DX EPS
2018 Kawasaki Mule PRO-DX
2019 Kawasaki Mule PRO-FXT RANCH
2019 Kawasaki Mule PRO-FX
2019 Kawasaki Mule PRO-FXT EPS
2019 Kawasaki Mule PRO-FXT EPS LE
2019 Kawasaki Mule PRO-FX EPS LE
2019 Kawasaki Mule PRO-FX EPS
2020 Kawasaki Mule PRO-FX
2020 Kawasaki Mule PRO-FX EPS
2020 Kawasaki Mule PRO-FX EPS LE
2020 Kawasaki Mule PRO-FXT
2020 Kawasaki Mule PRO-FXT EPS
2020 Kawasaki Mule PRO-FXT EPS LE
2020 Kawasaki Mule PRO-FXT RANCH
2020 Kawasaki Mule PRO-DX EPS
2021 Kawasaki Mule PRO-FX
2021 Kawasaki Mule PRO-FX EPS
2021 Kawasaki Mule PRO-FX EPS LE
2021 Kawasaki Mule PRO-FXT
2021 Kawasaki Mule PRO-FXT EPS
2021 Kawasaki Mule PRO-FXT EPS LE
2021 Kawasaki Mule PRO-FXT RANCH
2021 Kawasaki Mule PRO-FXT EPS Camo
2021 Kawasaki Mule PRO-DX EPS Diesel
2021 Kawasaki Mule PRO-DXT Diesel
2021 Kawasaki Mule PRO-DXT EPS Diesel
2021 Kawasaki Mule PRO-DXT EPS Diesel FE

Product Ratings and Reviews

Add a Review

Add a Review

4.8 out of 5 stars

  • Tuesday, March 23, 2021
  • Jacob Owens

This is a great bracket lift. I had a competitors 4in lift on my mule and it does not space the shocks out like the highlifter does, so it sags BAD! The mule pros have a lot of body roll due to no sway bar anyways. The highlifter 2in raised my mule higher than the Competitors 4in and eliminated most of the body roll. If you are looking for a lift, this is the only one to buy. I paired mine with the forward and rear A arms, running 33s no problem.

  • Friday, January 1, 2021
  • Ernie Freebury

The 2" lift kit provided almost a 4" lift. Heavy built materials. You will need second person to help align holes but is a simple install

  • Friday, July 24, 2020
  • bill doherty

instructions were mostly clear (drawings can be better than pictures in this case) and parts were exactly what stated and fit perfectly! perhaps add an indicator on what size wrenches are needed for the bolts you provide (they are not the same size as existing bolts)...

  • Sunday, October 27, 2019
  • Steve Kane

Installed 2” lift and the results are better tighter turn radius, better overall ride, actual lift 3.5 inches. Great lift kit. Kawasaki Mule Pro FXR 2018

  • Wednesday, January 18, 2017

Worked perfect. Took us less than two hours to install. Had room for 28" tires!!

PreviousNext

Click here for High Lifter's Limited Lifetime Warranty.

2'' Signature Series Lift Kit Kawasaki Mule Pro FXT/DXT/DX (3)WARNING:This product can expose you to chemicals including Chromium, which is known in the State of California to cause cancer and birth defects, or other reproductive harm. For more information go towww.p65warnings.ca.gov

Related Products

  • Millar LED Bluetooth Rock Lights

    Options »
  • High Lifter Pro Series Tire Sealant - 32 oz. Bottle

    In Stock

';strInputsOutput = strTemp;if (!oProdInfo.showCart) {strTemp = strInputsOutput + '-';} else {if (bUseChildQtyControls) {strMax = ""if (oProdInfo.maxOrderQty > 0) {strMax = 'max="' + oProdInfo.maxOrderQty + '"';}//jsmotherman 3.8.2016 still need to add display for the child min/max/step.strTemp = strInputsOutput + '';} else {strTemp = strInputsOutput + '';}}strInputsOutput = strTemp;strTemp = strInputsOutput + '

' + oProdInfo.invMsg;if (bShowInvWatchLink && oProdInfo.invStatus == 'out') {strTemp = strTemp + '
' +buildModalLink(getInventoryWatchListUrl(strPKey, oProdInfo.nm, oProdInfo.sku),'Add to Inventory Watch List','Add to Watch List').html();}strInputsOutput = strTemp;strTemp = strInputsOutput + '' + sMatrixSkuLabel + oProdInfo.sku + ''strInputsOutput = strTemp + '

';if (iColCount == iTotalCol) {strTemp = strInputsOutput + '

';strInputsOutput = strTemp;iColCount = 0;} //- if (iColCount == iTotalCol)} //- for (strPKey in window.oChildProds)} catch (oError) {alert("fncDrawColorSizes" + oError.message);}sAtcHtml = '

Available Sizes

' + sHeadRow + strInputsOutput + '

';if (bUseProductAliases) {if (jQuery.trim(oProdInfo.pa_key) != '') {sAtcHtml += '';} //- if jQuery.trim(oProdInfo.pa_key) != '')} //- if (bUseProductAliases)if (bShowAtc) {sAtcHtml += '';} //- if (bShowAtc)sAtcHtml += '

';jQuery('#detail_mx1_sizeinfo').html(sAtcHtml);} catch (oError) {alert("fncDrawColorSizes" + oError.message);document.getElementById('detail_mx1_sizeinfo').innerHTML = 'Error loading sizes found in this color!';HideLoading()}HideLoading();} //- function fncDrawColorSizes()/** * Update Qty for "Select List" Addon Products */function fncUpdateAddonsSelectQty(oSelect) {sPKey = jQuery(oSelect).val();jQuery('#addon_qty_container').html('');}/** * Ajax to process parent-child product nested drop list displays * * @author dand * @internal refactored on 4/8/2010 - dand * * @param int vOptint of the option to processed (1-4) * @param bool vKeepGoingdetermines if function should recurse * @param int vLastthe total number of nested drop lists (1-4) */function fncGetOptDroplist(vOpt, vKeepGoing, vLast) {var oAjaxData = {opts: vOpt,maxopts: vLast,detailpageaction: 'ajaxcall',actiontype: 'getnestedopts',key: '41B399B8DAF3419CA068DE1B764BB7A7',parent_atc: '1',parent_price: '1',use_child_pics: 'false',use_child_docs: 'false',use_child_product_flags: 'false',use_child_cart_opts: 'false',use_child_ds: 'false',parent_config_sections:'false'};switch (vOpt) {/* * Add mode case condition for 5 & 6 Droplist * @authorpijushb * @since5/17/2012 */case 6:var sOpt5Key = jQuery('#prod_opt5').val();var oOpt5Info = window.oChildProds[sOpt5Key];var sVal = escapeUriQueryParens(jQuery("#prod_opt5 option[value='" + sOpt5Key + "']").text());if (sChildProductOpt5 !== '') sVal = sChildProductOpt5oAjaxData.opt5 = sVal;//Drop Throughcase 5:var sOpt4Key = jQuery('#prod_opt4').val();var oOpt4Info = window.oChildProds[sOpt4Key];var sVal = escapeUriQueryParens(jQuery("#prod_opt4 option[value='" + sOpt4Key + "']").text());if (sChildProductOpt4 !== '') sVal = sChildProductOpt4oAjaxData.opt4 = sVal;//Drop Throughcase 4:var sOpt3Key = jQuery('#prod_opt3').val();var oOpt3Info = window.oChildProds[sOpt3Key];var sVal = escapeUriQueryParens(jQuery("#prod_opt3 option[value='" + sOpt3Key + "']").text());if (sChildProductOpt3 !== '') sVal = sChildProductOpt3oAjaxData.opt3 = sVal;//Drop Throughcase 3:var sOpt2Key = jQuery('#prod_opt2').val();var oOpt2Info = window.oChildProds[sOpt2Key];var sVal = escapeUriQueryParens(jQuery("#prod_opt2 option[value='" + sOpt2Key + "']").text());if (sChildProductOpt2 !== '') sVal = sChildProductOpt2oAjaxData.opt2 = sVal;//Drop Throughcase 2:var sVal = escapeUriQueryParens(jQuery('#prod_opt1').val());oAjaxData.opt1 = sVal;break;default:break;} //- switch (vOpt)tif (typeof runHook !== 'undefined') {runHook('ProductDetailActionBeforeGetOptDroplistAjaxCall', { oAjaxData: oAjaxData, vOpt: vOpt });}jQuery.ajax({url: 'i_i_pc_product_detail.asp',data: oAjaxData,cache: false,type: "GET",dataType: "json",beforeSend: ResizeLoadingBG,success: function (oData) {fncDrawOptDroplist(oData, vOpt, vKeepGoing, vLast)}});} //- function fncGetOptDroplist(vOpt, vKeepGoing, vLast)// EVENT FUNCTIONS ==================================================function fncDrawOptDroplist(oData, vOpt, bKeepGoing, vLast) {var iOpt = parseInt(vOpt);var iLastOpt = parseInt(vLast);var aUsedValues = new Array();var sProdKey = '';var sDisplayValue = '';var oProdInfo;window.oChildProds= oData;if (document.getElementById('prod_opt' + (iOpt - 1))) {document.getElementById('prod_opt' + (iOpt - 1)).disabled = false;}if (bKeepGoing) {bKeepGoing = true;} else {bKeepGoing = false;}if (iLastOpt == iOpt) {bKeepGoing = false;}try {// removes all previous optionsvar oOptSelect = document.getElementById('prod_opt' + iOpt);oOptSelect.options.length = 0;try {for (strPKey in window.oChildProds) {oProdInfo = window.oChildProds[strPKey];/* * Updated logic for building the droplist options if their is a sku in the * querystring that is an exact match to a child product sku so it can * preselect the correct options to load the child product sku searched for * johns - 06/27/2013 */if (sChildProductKey !== '') {switch (iOpt) {case 2 :sDisplayValue = sChildProductOpt2;break;case 3 :sDisplayValue = sChildProductOpt3;break;case 4 :sDisplayValue = sChildProductOpt4;break;case 5 :sDisplayValue = sChildProductOpt5;break;case 6 :sDisplayValue = sChildProductOpt6;break;}}if (sDisplayValue === oProdInfo.opt) {sProdKey = sChildProductKey;} else if ((!InArray (aUsedValues, oProdInfo.opt) && InArray (aUsedValues, sDisplayValue)) || sDisplayValue !== oProdInfo.opt) {sDisplayValue = oProdInfo.opt;sProdKey = strPKey;}if (!InArray (aUsedValues, sDisplayValue) && sProdKey !== '') {oOptSelect.options[oOptSelect.options.length] = new Option(jQuery('').html(sDisplayValue).text(), sProdKey);if (bValidateQtyControls && parseInt(vOpt) == parseInt(vLast)) {//jsmotherman set qty controls on the final product options//might remove this and use javascript to set it from window.ochildprods in fncProcessOptProduct insteadoOptSelect.options[oOptSelect.options.length - 1].setAttribute("data-min", window.oChildProds[sProdKey].min_order_qty);oOptSelect.options[oOptSelect.options.length - 1].setAttribute("data-max", window.oChildProds[sProdKey].max_order_qty);oOptSelect.options[oOptSelect.options.length - 1].setAttribute("data-step", window.oChildProds[sProdKey].qty_increment);oOptSelect.options[oOptSelect.options.length - 1].setAttribute("data-initval", window.oChildProds[sProdKey].initval);}aUsedValues[aUsedValues.length] = jQuery('').html(sDisplayValue).text();}}// johns - 06/27/2013 added code to preselect options based on an exact child sku match passed in the querystringif (sChildProductKey !== '') {oOptSelect.value = sChildProductKey;}// Recursively Call fncGetOptDroplist untilc we're done getting all the drop listsif (bKeepGoing) {if (iOpt == 5) {fncGetOptDroplist (iOpt + 1, false, iLastOpt);} else {fncGetOptDroplist (iOpt + 1, true, iLastOpt);}} else {fncProcessOptProduct (iOpt);HideLoading();} //- if (bKeepGoing)} catch (err) {alert("fncDrawOptDroplist-" + err.message);HideLoading();}if (oOptSelect.options.length < 1) {oOptSelect.options[oOptSelect.options.length] = new Option('No Sub-Options Found', '');oOptSelect.disabled = true;} else {oOptSelect.disabled = false;}} catch (err) {alert("fncDrawOptDroplist-" + err.message);} // Add Code to show/hide review message and buttons - pijushb 1/24/2012 if (bShowBackOrderMessage) {sPrevSku = jQuery("#previous_sku").val();bReviewMessage = $("#review_message_"+sPrevSku).is(":visible")if (bReviewMessage){$("#review_message_"+sPrevSku).hide();}bSubmitButton = $("#submit_button").is(":visible")if (!bSubmitButton){ $("#submit_button").show(); $("#check_stock_button").show(); $("#checkout_button").hide();} } //The child product only needs to load the first time this is called. //Blanking it out to prevent issues with multiple droplist. //[twalters 05/20/2016] sChildProductKey = '';} //- function fncDrawOptDroplist//================================================================/** * SearchString escape the parens in the uri query * * @param string sValstring containing the value to escape * @return stringstring with properly escaped parens for searchstring */function escapeUriQueryParens(sVal) { if (typeof sVal == 'undefined') {return;}sValue = sVal;sValue = sValue.replace(/%28/gi,"\(");sValue = sValue.replace(/%29/gi,"\)");sValue = sValue.replace(/\(/gi,"\\(");sValue = sValue.replace(/\)/gi,"\\)");return sValue;}function setImage($links, sImageUrl) {$links.filter('.' + sImageLinkClass).attr('href', sImageUrl);}function buildModalLink(sUrl, sText, sTitle) {sTitle = sTitle || sText;return jQuery('').attr('href', getModalUrl(sUrl)).addClass('global-modal').attr('title', sTitle).text(sText);}function getModalUrl(sUrl) {var sQueryStringChar = sUrl.indexOf('?') === -1 ? '?' : '&';sUrl = sUrl.replace(/\bi_i_/ig, '');return sUrl;}function getInventoryWatchListUrl(sProductKey, sProductName, sProductSku) {return 'prod_inv_watch_add.asp' + '?' +'p_id=' + sProductKey + '&' +'p_nm=' + encodeURIComponent(sProductName) + '&' +'p_sku=' + encodeURIComponent(sProductSku);}function addFavoritesLink(sProductKey) {if (jQuery('#addfavechild').length === 0) {jQuery('#idp_container').append('
');}var $favoritesListLink = buildModalLink('i_i_add_product_to_favorites.asp?p_id=' + (sProductKey || sPKey),'Add to Favorites');jQuery('#addfavechild').html($favoritesListLink);initModalLinks('#addfavechild');}function buildLinkedImage(sTitle, sSmallImageUrl, sLargeImageUrl) {var $image = $('2'' Signature Series Lift Kit Kawasaki Mule Pro FXT/DXT/DX (6)').attr('src', sSmallImageUrl)// .attr(oImageAttributes);var oLinkAttributes = $.extend({href: sLargeImageUrl,title: sTitle}, oImageLinkAttributes);var $link = $('
').attr(oLinkAttributes).addClass(sImageLinkClass);return $link.append($image);}function fncProcessOptProduct(vOpt) {var bUseInlineBreaks = false;try {var sChildPKey = jQuery('#prod_opt' + vOpt).val();var oProdInfo = window.oChildProds[sChildPKey];if (bUseInlineBreaks) {jQuery.ajax({url: "i_i_pc_product_detail.asp?pageaction=getbreaks&key=" + sChildPKey,type: "GET",cache: false,dataType: "html",success: function(sResponse) {jQuery('#breaks_table_container').html(sResponse);},failure: function(sResponse) {alert('Server Error in fncProcessOptProduct: ' + sResponse);}});}//Global scope the pkeywindow.sChildPkey = sChildPKey;/* * Bail if no key or no product data */if (sChildPKey == '' || typeof oProdInfo == "undefined") {hideProductContainer();return false;}var qtyBoxElement = jQuery('#qty_box');if (qtyBoxElement.length > 0){qtyBoxElement.attr('name', 'qty_' + sChildPKey);/*#156734 - mrs_20180711: max quantity was not getting added the qty input for children products. i cannot find the logic for when children products qty available should be set on the qty_box, so i am adding it in the case that the max quantity is > 0. feel free to change the logic, if i missed the condition for when this should be set.#345865 - tschwab - 10/2020 - set to > instead of >=*/var maxQty = oProdInfo.max_order_qty;if(maxQty > 0){qtyBoxElement.attr('max', maxQty);}}jQuery('#keys').val(sChildPKey);/* * Update SKU */if (bShowSku) {jQuery('#sku_container').html(sSkuLabel + '' + oProdInfo.sku + '');/*'** ' Added link to sku on dropdown views ' @since 1/10/2004 ' @author jferguson'**/if (bDroplistChildSkuLink) {jQuery('#sku_container').wrapInner('');}}if (bShowName) {jQuery('#child_nm_container').html('Name: ' + oProdInfo.name);}if (bUseChildDescriptionMain && typeof oProdInfo.description != "undefined") {jQuery('#child_ds_container').html('Description: ' + oProdInfo.description);}/* * Cart */if (oProdInfo.showCart) {if (jQuery('#child_cart_section').length > 0)jQuery('#child_cart_section').show();/* * Handle Cart Options defined on Child Product */if (bUseChildCartOpts) {if (oProdInfo.cartOptions != '' && jQuery('#pc_cart_options_' + vOpt).length > 0) {buildCartOption(sChildPKey, oProdInfo.cartOptions, vOpt);} else {jQuery('#pc_cart_options_' + vOpt).html('');}} //- if (bUseChildCartOpts)/* * Cart Options defined on Parent (standard config) * need to know if this is the "last" droplist being displayed... */if (jQuery('#pc_cart_options_' + vOpt).length > 0) {jQuery('#pc_cart_options_' + vOpt).slideDown();// change the name of the hidden input so it will post to the item in the cartjQuery('#cart_option_41B399B8DAF3419CA068DE1B764BB7A7').attr("name","cart_option_" + sChildPKey);} //- if (jQuery('#pc_cart_options_' + vOpt).length > 0)/* * Updating name of Tax Exempt with current key * @auther - vinayakj * @since - 2/5/2013 */} else {hideChildProductInputs();} //- if (oProdInfo.showCart)//Product Unit Displayif ('productUnit' in oProdInfo && oProdInfo.productUnit != '') jQuery('#product_unit_container').html('Unit: ' + oProdInfo.productUnit);// Single Unit of Measure (products.unit)if ('uomHTML' in oProdInfo && oProdInfo.uomHTML != '') {jQuery('#detail_atc_standalone').html(oProdInfo.uomHTML);jQuery('#child_cart_section').html(oProdInfo.uomHTML);}// Parent Addon Productsif (bShowParentAddonProds) {jQuery('#addon_product_container').slideDown();jQuery('#addon_products').attr('name','keys');} else {jQuery('#addon_product_container').slideUp();jQuery('#addon_products').attr('name','keys_no_post');}// Child Addon Productsif (bShowChildAddonProds && 'showChildAddonProds' in oProdInfo) {if (!oProdInfo.showChildAddonProds) {jQuery('#addon_product_container').slideUp();jQuery('#addon_products').attr('name','keys_no_post');} else {jQuery('#addon_product_container').slideDown();jQuery('#addon_products').attr('name','keys');}}// Price --------------------------------------------------------/* * Check for Price Display type * @authorpijushb * @since4/25/2011 */var bShowRegPrice= true;var bShowATCQty= false;var sShowMessage = '';if (sShowPriceDisplayTypeDropList) {switch (sPriceDisplayType) {case 'hide':bShowRegPrice= false;bShowATCQty= true;sShowMessage= '-';break;case 'show_message':bShowRegPrice= false;bShowATCQty= true;sShowMessage= sPriceMessage;break;case 'require_atc':bShowRegPrice= false;bShowATCQty= true;sShowMessage= sHelpText;break;case 'require_login_or_atc':bShowRegPrice= false;bShowATCQty= true;sShowMessage= sHelpTextbreak;case 'require_login_for_price_and_atc':bShowRegPrice= false;sShowMessage= sHelpTextLoginbreak;default:bShowRegPrice = true;break;} //- switch (sPriceDisplayType)} // if (sShowPriceDisplayTypeDropList)if (bShowRegPrice) {//Display standard} else {oProdInfo.showPrice=false;jQuery('#price_display_type_message').html('

' + sShowMessage + '

');if (!bShowATCQty) {jQuery('#child_cart_section').hide();}} //- if (bShowRegPrice)/* * Set Dangerous Price Ratio * @authorvinayakj * @since4/25/2011 */if (bShowHazmatRatio) {if (oProdInfo.dangerous_price_ratio > 0) {jQuery('#dangerous_price_ratio').show();jQuery('#dangerous_price_ratio_value').html(oProdInfo.dangerous_price_ratio);} else { jQuery('#dangerous_price_ratio').hide();}}if (oProdInfo.showPrice) {/* * Draw full UOM section (products.uom_std, products.uom_sales, * products.uom_sales_conversion and additional unit of measure * conversions from the unit_of_measure table) */sUomView = '';if (bShowSalesUOM || bOnlyShowSalesUOM || bShowAdditionalSalesUOM) {sUomView = fncDrawUOM (sChildPKey, oProdInfo);}if (sUomView != '') {jQuery('#child_cart_section').html(sUomView);jQuery('#child_cart_section').show();if (bShowChildQtyPricing) {if ('showPriceBreaks' in oProdInfo && oProdInfo.showPriceBreaks) {jQuery('#qtypricing').html(buildModalLink(getQtyPricingUrl(sChildPKey),sQtyPricingLinkLabel,'Qty Pricing'));jQuery('#qtypricing').show();} else {jQuery('#qtypricing').hide();}}} else {if (jQuery('#price_container').length > 0 ) {/* * Add Qty Pricing Link for Child Product */var sPriceBreakHTML = '';if (bShowChildQtyPricing && 'showPriceBreaks' in oProdInfo && oProdInfo.showPriceBreaks) {sPriceBreakHTML = '
  • ';}iRetailPrice = parseFloat(oProdInfo.retail_price.replace('$','').replace(',',''));iPrice = parseFloat(oProdInfo.price.replace('$','').replace(',',''));cRetailPrice = oProdInfo.retail_price;cListPrice = oProdInfo.listprice;cPrice = oProdInfo.price/* * code to compare final price to retail price or suggested retail price * depending on which values are populated and value are greater than * the final price returned by the oRs.GetPrice call * * @authorjohns * @since12/22/2011 * * * Modified code to always display the list price. * (if it's blank/zero, retail price is displayed * instead. * @authordcohen * @since11/4/2013 * @seetask #42616 */if (bShowPriceCompare) {if (oProdInfo.listprice != undefined) {iListPrice = parseFloat(oProdInfo.listprice.replace('$','').replace(',',''));} else {iListPrice = iRetailPrice;cListPrice = cRetailPrice;} //- if (oProdInfo.listprice)if (iPrice < iListPrice) {if (false) {iPercent= (iListPrice - iPrice) / iListPrice;iPercentSaved= (iPercent * 100).toFixed(2);sDollarAmtText = '';sYouSaveText = ''; if(false){sDollarAmtText = ' (' + (FormatCurrency(iListPrice - iPrice, true)) + ')';}if(bUseYouSaveStringReplacement){sYouSaveText = youSaveStringReplace(iPercentSaved, FormatCurrency(iListPrice - iPrice, true)); }else{sYouSaveText = 'You Save: ' + iPercentSaved + '%' + sDollarAmtText + ''}if (false) {jQuery('#price_container').html('
    • ' + FormatCurrency(oProdInfo.price, true) + 'USD' + cPrice + '
    • ' + sPriceBreakHTML + '
    • List Price: ' + cListPrice + '
    • ' + sYouSaveText + '
    ');} else {jQuery('#price_container').html('
    • ' + FormatCurrency(oProdInfo.price, true) + 'USD' + cPrice + '
    • ' + sPriceBreakHTML + '
    • List Price: ' + cListPrice + '
    • ' + sYouSaveText + '
    ');}} else {if (false) {jQuery('#price_container').html('
    • ' + FormatCurrency(oProdInfo.price, true) + 'USD' + cPrice + '
    • ' + sPriceBreakHTML + '
    • List Price: ' + cListPrice + '
    ');} else {jQuery('#price_container').html('
    • ' + FormatCurrency(oProdInfo.price, true) + 'USD' + cPrice + '
    • ' + sPriceBreakHTML + '
    • List Price: ' + cListPrice + '
    ');}}//- if (0)} else {jQuery('#price_container').html('
    • ' + FormatCurrency(oProdInfo.price, true) + 'USD' + FormatCurrency(oProdInfo.price, true) + '
    • ' + sPriceBreakHTML + '
    ');}} else {jQuery('#price_container').html('
    • ' + FormatCurrency(oProdInfo.price, true) + 'USD' + FormatCurrency(oProdInfo.price, true) + '
    • ' + sPriceBreakHTML + '
    ');} //- if (bShowPriceCompare)} //- if (jQuery('#price_container').length > 0)} //- if (sUomView != '')if (typeof runHook !== 'undefined') {runHook('ProductDetailActionAfterDroplistPriceDisplay', { bShowPriceCompare: bShowPriceCompare, oProdInfo: oProdInfo, sPriceBreakHTML: sPriceBreakHTML });}jQuery('#price_container').show();} else {jQuery('#price_container').hide();jQuery('#qtypricing').hide();}//- if (oProdInfo.showPrice)/* * Add hidden field for qty available to check back order. * @authorpijushb * @since9/28/2011 */if (bShowBackOrderMessage) {jQuery('.qtyavailable').remove();jQuery('#idp_container').parent().append('')} //- if (bShowBackOrderMessage)/* * Inventory */if (oProdInfo.showInventory) {jQuery('#idp_container').html(oProdInfo.invMsg);/** * if status = out then show "add product to watch list" link * * @authorjohns * @since12/11/2009 */if (bShowInvWatchLink && oProdInfo.invStatus != 'in') {if (!oProdInfo.showCart) {hideChildProductInputs();}var selected_prod = document.getElementById('prod_opt'+ vOpt).selectedIndex;var selected_prod_nm = document.getElementById('prod_opt'+ vOpt).options[selected_prod].text.replace('#','%23');var $inventoryWatchListLink = buildModalLink(getInventoryWatchListUrl(sChildPKey, selected_prod_nm, oProdInfo.sku),'Add to Inventory Watch List');jQuery('#idp_container').append('
    ').append($inventoryWatchListLink);if (bUseETADate){var today = new Date();var etaDay = new Date(oProdInfo.idpETADate);if(oProdInfo.idpETADate != "" && etaDay > today){//trim the time - this is more cross-browser reliable than converting to Date and using built in functions//sDate = oProdInfo.idpETADate.substring(0, oProdInfo.idpETADate.length - 7);jQuery('#idp_container').append('
    ETA Date: ' + oProdInfo.idpETADate + '');}else{jQuery('#idp_container').append('
    ETA Date: No ETA. Please Call.');}}initModalLinks('#idp_container');} // if (bShowInvWatchLink && oProdInfo.invStatus != 'in')} // if (oProdInfo.showInventory)if (bShowInvByWarehouse) {jQuery.ajax({url: "i_i_pc_product_detail.asp?pageaction=inventorybywarehouse&key=" + sChildPKey, cache: false, dataType: "text", success: function (sResponse) { $('select[id^="pw_id_"]').parent().parent().remove();jQuery('#idp_container').html(jQuery('#idp_container').html() + sResponse);}});}if (bShowFavoriteLink && bShowChildFavoriteLink) {addFavoritesLink(sChildPKey);}// Show the image container and hide the broken image containerjQuery('#detail_noimage_cotainer').hide();jQuery('#detail_photo_container').show();if (bUseChildPics) {/** * Main Image & View Larger Link */if (oProdInfo.pic && oProdInfo.pic != '') {// Build Image & View Larger Linkif (oProdInfo.lg_pic != '') {setImage(jQuery('#detail_photo_container a'), 'images/' + oProdInfo.lg_pic);}jQuery('#detail_photo_container img#prodpicthumb').attr('src', 'images/' + oProdInfo.pic);} else {setImage(jQuery('#detail_photo_container a'), sLargePic);jQuery('#detail_photo_container img#prodpicthumb').attr('src', sDetailPic);} //- if (oProdInfo.pic && oProdInfo.pic != '')/* * Additional Images */var $childImages = jQuery('.detail_multipic ul.child_prods');var $parentImages = jQuery('.detail_multipic ul').not('.child_prods');if (oProdInfo.additionalPics && oProdInfo.additionalPics.length > 0) {/* * Clear Child Additional Images */if ($childImages.length > 0) {$childImages.empty();} else {$childImages = $('
      ').hide();jQuery('.detail_multipic').append($childImages);} //- if ($childImages.length > 0)/* * Build Child Additional Images */for (var iCounter = 0; iCounter < oProdInfo.additionalPics.length; iCounter++) {oPics = oProdInfo.additionalPics[iCounter];var $imageListItem = $('
    • ').append(buildLinkedImage(oProdInfo.name,'images/' + oPics.thumb,'images/' + oPics.large).addClass('detail_multipic_img'));$childImages.append($imageListItem);}/* * Hide Parent Images & Show Child Images */$parentImages.hide();$childImages.fadeIn(1000);initImagePopup('.detail_multipic ul.child_prods');} else {/* * Hide Child Images & Show Parent Images */$parentImages.fadeIn(1000);$childImages.hide();} //- if (oProdInfo.additionalPics && oProdInfo.additionalPics.length > 0)} //- if (bUseChildPics)/* * Child Product Documents * * @authordand * @since4/6/2010 */if (bUseChildDocs) {if (oProdInfo.documents.length > 0) {/* * Clear Child Documents */if (jQuery("#child_doc_download").length > 0) {jQuery("#child_doc_download").html('Downloads:
      ');} else {jQuery("#doc_download").parent().append('
    • ');} //- if (jQuery("#child_doc_download").length > 0)/* * Build Child Documents */for (var iCounter = 0, goTo = oProdInfo.documents.length - 1; iCounter <= goTo; iCounter++) {oDocConfig = oProdInfo.documents[iCounter];jQuery("#child_doc_download").append('' + oDocConfig.link + '
      ');} //- for (var iCounter = 0, goTo = oProdInfo.documents.length - 1; iCounter <= goTo; iCounter++)/* * Hide Parent Docs & Show Child Docs */jQuery('#doc_download').hide();jQuery('#child_doc_download').show();} else {/* * Hide Child Docs */jQuery('#child_doc_download').hide();/* * Show Parent Docs - If there are any */if (jQuery('#doc_download').find('span').eq(1).html() == '') {jQuery('#doc_download').hide();} else {jQuery('#doc_download').show();} //- if (jQuery("#doc_download").find('span').eq(1).html() == '')} //- if (oProdInfo.documents.length > 0)} //- if (bUseChildDocs)//child product flagsif(bUseChildProductFlags){//remove existing flag iamge elements if they exist$('#detail_photo_container .product_flags').remove();//remove modals$('.detail_photo.clearfix .global-modal').remove();//add flagsfor (var i = 1; i < 5; i++) {if(oProdInfo["flag" + i] == "1" && oProdInfo["flag" + i + "_show"]){var flagImage = oProdInfo["flag" + i + "_pic"];if(oProdInfo["flag" + i + "_url"] == ""){$('#detail_photo_container').prepend('

      2'' Signature Series Lift Kit Kawasaki Mule Pro FXT/DXT/DX (7)

      ');}else{var sFlagUrl = oProdInfo["flag" + i + "_url"];var sFlagTitle = oProdInfo["flag" + i + "_title"];var sModalClass = 'global-modal';var iFlagHeight = '600';var test = getModalUrl("i_i_" + sFlagUrl + ".asp");var sModalHtml = '';var sModalHtml = sModalHtml + '';var sModalHtml = sModalHtml + '';$('.detail_photo.clearfix').prepend(sModalHtml);}}}}/* * Child Product Qty Pricing * * @authorjohns * @since11/6/2010 */ if (bShowChildQtyPricing && 'showPriceBreaks' in oProdInfo && oProdInfo.showPriceBreaks) {jQuery('#qtypricing').html(buildModalLink(getQtyPricingUrl(sChildPKey),sQtyPricingLinkLabel,'Qty Pricing'));initModalLinks('#qtypricing');} //- if ( bShowChildQtyPricing )// Check for a child description overrideapplyChildDescription(oProdInfo);/* * Add Code to show/hide review message and buttons. * * @authorpijushb * @since1/24/2012 */if (bShowBackOrderMessage) {sPrevSku = jQuery('#previous_sku').val();bReviewMessage = jQuery('#review_message_' + sPrevSku).is(':visible')if (bReviewMessage) {jQuery("#review_message_"+sPrevSku).hide();} //- if (bReviewMessage)bSubmitButton = jQuery('#submit_button').is(':visible')if (!bSubmitButton) {jQuery('#submit_button').show();jQuery('#check_stock_button').show();jQuery('#checkout_button').hide();}} //- if (bShowBackOrderMessage)if (bUseProductAliases) {if ('pa_key' in oProdInfo) {if (oProdInfo.pa_key) {jQuery('#pa_id').html(oProdInfo.pa_key);} //- if (oProdInfo.pa_key)} //- if ('pa_key' in oProdInfo)} //- if (bUseProductAliases)/* * Displaying Config Data * @auther - vinayakj * @since - 5/2/2012 */if (bShowProdConfig) {if ('prod_config_droplist' in oProdInfo) {jQuery('#config_sections_container').html(htmlDecode(oProdInfo.prod_config_droplist));} else {jQuery('#config_sections_container').html('');}/* * Put Config Keys */if ('config_keys' in oProdInfo) {jQuery('#config_keys').val(oProdInfo.config_keys);if (jQuery('#qty_box').length > 0)jQuery('#qty_box').attr('name', 'qty_' + oProdInfo.config_keys);}/* * Put use_parent_key */if ('use_parent_key' in oProdInfo) {jQuery('#use_parent_key').val(oProdInfo.use_parent_key);}/* * Put show_config_sections */if ('show_config_sections' in oProdInfo) {jQuery('#show_config_sections').val(oProdInfo.show_config_sections);if (oProdInfo.show_config_sections == "1"){jQuery.ajax({url: '?pageaction=getconfigdata&config_key=' + jQuery('#config_keys').val() + '&key=', cache: false, dataType: "html", success: function (sResponse) { jQuery('#config_sections_container').html(htmlDecode(sResponse));}});} else {jQuery('#config_sections_container').html('');}}}if (bUsePromotions) {updateDroplistPromoDisplay(sChildPKey);}updateSmartListChildProduct();updateQtyControls(vOpt);if (typeof runHook !== 'undefined') {runHook('ProductDetailActionProcessOptProduct', { product: oProdInfo, opt: vOpt });}} catch (oError) {alert('fncProcessOptProduct(' + vOpt + '): ' + oError.message);hideProductContainer();}} //- function fncProcessOptProduct(vOpt)//jsmotherman 3.7.2015function updateQtyControls(vOpt) {var sQtyControlsText = "";if (bValidateQtyControls && bUseChildQtyControls) {var optionQtyMessage= jQuery('#qty_controls_msg');var optionStep = Number(jQuery('#prod_opt' + vOpt + ' :selected').attr("data-step"));var optionMin = Number(jQuery('#prod_opt' + vOpt + ' :selected').attr("data-min"));var optionMax = Number(jQuery('#prod_opt' + vOpt + ' :selected').attr("data-max"));var optionInitVal = Number(jQuery('#prod_opt' + vOpt + ' :selected').attr("data-initval"));if (optionMin > 0) {jQuery('#qty_box').attr("min", optionMin);sQtyControlsText += sMinQtyMessage.replace("", optionMin) + "
      "} else {jQuery('#qty_box').attr("min", "0");}if (optionMax > 0) {jQuery('#qty_box').attr("max", optionMax);sQtyControlsText += sMaxQtyMessage.replace("", optionMax) + "
      "} else {jQuery('#qty_box').attr("max", "");}if (optionStep > 0) {jQuery('#qty_box').attr("step", optionStep);if (optionStep != 1) {sQtyControlsText += sIncrementQtyMessage.replace("", optionStep);}} else {jQuery('#qty_box').attr("step", "0");}jQuery("#qty_box").val(optionInitVal);optionQtyMessage.html(sQtyControlsText);} //if (bValidateQtyControls && bUseChildQtyControls) {} //function updateQtyControls() {function initModalLinks(sContainer) {}// This function should not be called directly; it should be used through initModalLinks or initImagePopup.function initializeThickbox(sContainer) {var aContainers = (sContainer || 'body').split(',');for (var i = 0; i < aContainers.length; i++) {aContainers[i] += ' a.thickbox';}tb_init(aContainers.join(','));}function initImagePopup(sContainer) {if (bUseVenobox) {$(sContainer + ' .venobox').venobox();} else {initializeThickbox(sContainer);}}function htmlDecode(value) {if (value) {return $('').html(value).text();} else {return '';}}/** * Draw UOM Table * * @authorjohns * @since3/17/2011 * @paramsPKeystring - the key of the product we are looking at *oDataobject - object containing the data from the ajax call * * @returnUOM Table HTML */function fncDrawUOM(sPKey, oData) {try {/* * if the product price is blank, then exit the function */if (oData.price == '') {sUOMHtml = '';return sUOMHtml;}/* * var containing html table structure to displayed containing the data */var sUOMHtml = '';var sQtyPerUnitColumn = '';/* * make sure at least one of the show uom booleans is true */if (bShowSalesUOM || bOnlyShowSalesUOM || bShowAdditionalSalesUOM) {/* * display title and hidden fields for the product */sUOMHtml += '

      Add to Cart

      ';if ('uomStd' in oData) {sUOMHtml += '';}if ('uomSales' in oData) {sUOMHtml += '';sUOMHtml += '';sUOMHtml += '';}if (bShowNativeUOMinCart && 'uomSales' in oData) {sUOMHtml += '';}/* * determine whether or not to show the Qty Per Unit column */if (bShowQtyPerUnitColumn) {sQtyPerUnitColumn = 'Qty Per Unit';} //- if (bShowQtyPerUnitColumn)sUOMHtml += '';sUOMHtml += '' + sQtyPerUnitColumn + '';if (bShowSalesUOM && !bOnlyShowSalesUOM) {/* * determine whether or not to show the Qty Per Unit column */if (bShowQtyPerUnitColumn) {sQtyPerUnitColumn = '';} //- if (bShowQtyPerUnitColumn)/* * draw Standard UOM row */if ('uomStd' in oData) {sUOMHtml += '' + sQtyPerUnitColumn + '';} //- if ('uomStd' in oData)if ('uomSales' in oData) {if (oData.uomSales != '' && oData.uomSalesConversion > 1 && oData.uomSales != oData.uomStd) {/* * determine whether or not to show the Qty Per Unit column */if (bShowQtyPerUnitColumn) {sQtyPerUnitColumn = '';} //- if (bShowQtyPerUnitColumn)if (typeof oData.uomSalesUnitPrice == 'undefined') {iUnitPrice = 0;} else {iUnitPrice = oData.uomSalesUnitPrice} //- if (typeof oUomConfig.uomSalesUnitPrice == 'undefined')/* * draw UOM Sales row */sUOMHtml += '' + sQtyPerUnitColumn + ''} //- if ('uomSales' in oData && 'uomSalesConversion' in oData)3} //- if ('uomSales' in oData)if (bShowAdditionalSalesUOM) {if ('uomAdditional' in oData && oData.uomAdditional.length > 0) {/* * draw additional uom rows */for (var iCounter = 0, iGoTo = oData.uomAdditional.length; iCounter < iGoTo; iCounter++) {var oUomConfig= oData.uomAdditional[iCounter];var sQtyPerHTML= '';if (typeof oUomConfig != 'undefined' && typeof oUomConfig.conversion != 'undefined') {var sThisUom = iCounter + 1/* * determine whether or not to show the Qty Per Unit column */if (bShowQtyPerUnitColumn) {/* * calculating the qty per unit */if (iUOMConversion < 1) {iQty = 1 / iUOMConversion} else if (iUOMConversion >= 1) {iQty = iUOMConversion} //- if (iUOMConversion < 1)sQtyPerHTML= '';} else {sQtyPerHTML = ''} //- if (bShowQtyPerUnitColumn)if (typeof oUomConfig.unitPrice == 'undefined') {iUnitPrice = 0;} else {iUnitPrice = oUomConfig.unitPrice;} //- if (typeof oUomConfig.unitPrice == 'undefined')/* * build the html w/ hidden inputs */sUnitHTML= oUomConfig.unit + '';sPriceHTML= '$' + parseFloat(iUnitPrice).toFixed(2) + '';sUOMHtml += '' + sQtyPerHTML + ''} //- if (typeof oUomConfig != 'undefined' && typeof oUomConfig.conversion != 'undefined')} //- for (var i = 0, goTo = oProdInfo.documents.length - 1; i <= goTo; i++)} //- if ('uomAdditional' in oData)} //- if (bShowAdditionalSalesUOM)} else if (bOnlyShowSalesUOM) {// removed: !bShowSalesUOM &&// fixes issue preventing price table from displaying// when bShowSalesUOM and bOnlyShowSalesUOM are both true// dcohen - 06/20/2013/* * only draw UOM Sales row */if (bShowQtyPerUnitColumn) {sQtyPerUnitColumn = ''}sUOMHtml += '' + sQtyPerUnitColumn + ''} //- if (bShowSalesUOM)sUOMHtml += '
      ' + sUnitHeader + '' + sUnitPriceColumnLabel + 'Qty
      1
      ' + oData.uomStd + '' + oData.price + '';sUOMHtml += fncDrawQtyBox(sPKey, oData, '');sUOMHtml += '
      ' + oData.uomSalesConversion + '
      ' + oData.uomSales + '$' + parseFloat(iUnitPrice).toFixed(2) + '';sUOMHtml += fncDrawQtyBox(sPKey, oData, 'sales_');sUOMHtml += '
      ' + iQty.toFixed() + '
      ' + sUnitHTML + '' + sPriceHTML + '';sUOMHtml += fncDrawQtyBox(sPKey, oData, 'uom' + sThisUom + '_', oUomConfig.conversion);sUOMHtml += '
      1
      ' + oData.uomSales + '$' + parseFloat(oData.uomSalesUnitPrice * oData.uomSalesConversion).toFixed(2) + '';sUOMHtml += fncDrawQtyBox(sPKey, oData, '');sUOMHtml += '
      '/* * Add to Cart button */ if (bUseBootStrap) {sUOMBtn = "btn btn-primary" } else {sUOMBtn = "btn_addtocart chrome" }if (oData.showCart) {sUOMHtml += '';}} //- if (bShowSalesUOM || bOnlyShowSalesUOM || bShowAdditionalSalesUOM)return sUOMHtml;} catch (err) {alert('function: fncDrawUOM - ' + err.message);return '';}} //- function fncDrawUOM(sPKey, oData)/** * Draw Qty Box for UOM Table * * @authorjohns * @since3/17/2011 * * @returnsvoid */function fncDrawQtyBox(sPKey, oProdObject, sPrefix, UoMconversion) {try {var sQtyDisplayType = oProdObject.qtyDisplayType;var sEachField;if(sPrefix == 'sales_') {sEachField = oProdObject.uomSales;} else if(sPrefix.indexOf('uom') >= 0) {sEachField = UoMconversion;} else {sEachField = oProdObject.uomStd;}/** * Qty Input Display var */var sQtyInputHtml = '';var iVal = '';var sMinAttr = ' min="1"';var sMaxAttr = '';var sStepAttr = '';// Set initial qty to 1 if only one UOM is being displayedif (bOnlyShowSalesUOM) {iVal = '1';}if(oProdObject.min_order_qty > 0) {iVal = oProdObject.min_order_qty;sMinAttr = ' min="' + iVal +'"';}if(oProdObject.max_order_qty > 0) {sMaxAttr = ' max="' + oProdObject.max_order_qty +'"';}if(oProdObject.qty_increment > 0) {sStepAttr = ' step="' + oProdObject.qty_increment +'"';}if (bUseQtyByUnitQtyDisplay) {if (sQtyDisplayType == 'sets') {sQtyInputHtml += ' @';sQtyInputHtml += ' ' + sEachField + ' (s) each.';} else {sQtyInputHtml += ''} //- if (oData.qtyDisplayType == 'sets')} else {sQtyInputHtml += ''}return sQtyInputHtml;} catch (err) {alert('function: fncDrawQtyBox
      ' + err.message);return '';}} //- function fncDrawQtyBox(sPKey, oData, sEachField)/* * This will build out the Cart Options with comments * @auther - vinayakj * @since - 8/28/2012 */function buildCartOptWithComments(rowkey,sCartOptions,RowID) {if (jQuery('#parent_p_key').val() != '' && jQuery('#parent_p_key').val() !== undefined) {rowkey = jQuery('#parent_p_key').val();} else {rowkey = jQuery('#keys').val();}if (bUseChildCartOpts || bShowCartOpts) {buildCartOpt(rowkey);}} //- function buildCartOptWithComments(rowkey,sCartOptions,RowID)function buildCartOption(PKey, sOptions, Num) {/* * Get the cart options */aCartOpts = sOptions.split("|");/* * Clear the cart option container and start building it * with the new cart options */jQuery('#pc_cart_options_' + Num).remove('.atc').html('');var aOptInputs= Array();var aLimitIds= Array();/* * Loop all the cart options, and append each to the cart * option container. */for (var iOpt = 0, goTo = aCartOpts.length; iOpt < goTo; iOpt++) {aCartOpt = aCartOpts[iOpt].split('~');sDisplay= aCartOpt[0];sLabel= aCartOpt[1];sType= aCartOpt[2];sAnswers= aCartOpt[3];if (aCartOpt.length >= 4) {sCharLimit= aCartOpt[4];} //- if (aCartOpt.length >= 4)/* * Character Limit Logic */bUseLimit = (sCharLimit != '0' && sCharLimit != '' ? true : false);/* * Input Id */sOptId = 'cart_opt_' + iOpt + '_' + PKey;/* * Begin building this option */sHtml = '';/* * Append the option to the container */jQuery('#pc_cart_options_' + Num).append(sHtml);/* * Register char counter event listener */ if (bUseLimit) {jQuery('#' + sOptId).live('keyup', {optId: sOptId, optLimit: sCharLimit}, function (event) {limitChars(event.data.optId, event.data.optLimit, event.data.optId + '_limit');});}/* * Register input event listener */jQuery('#' + sOptId).live(sJsEvent, {optId: sOptId, pkey: PKey}, function (event) {buildCartOpt(event.data.pkey);});} //- for (var iOpt = 0, goTo = aCartOpts.length; iOpt < goTo; iOpt++)jQuery('#pc_cart_options_' + Num).append('');} //- function buildCartOption(PKey, sOptions, Num)function getCartOptOptions(sAnswers) {aAnswers = sAnswers.split(";");sHtml = '';for(i = 0, goTo = aAnswers.length; i < goTo; i++) {sHtml += '';}return sHtml;}//-getCartOptOptionsfunction limitChars(textid, limit, infodiv) {var text = jQuery('#' + textid).val();var textlength = text.length;if (textlength > limit) {jQuery('#' + infodiv).html('You cannot write more then '+limit+' characters!');jQuery('#' + textid).val(text.substr(0,limit));return false;} else {jQuery('#' + infodiv).html('You have '+ (limit - textlength) +' characters left.');return true;}}//-function limitCharsfunction fncProcessSizeProduct() {/* * if you need to use the thickbox for displaying, add the identifier to the list * at the bottom of this function to prevent "tb_init()" from being called multiple * times causing multiple instances of the window * @authorjohns * @since01/31/2013 * * @modifiedjohns * @since02/12/2013 * @noteIf you are just updating an anchor tag, then just add the selector * to the list at the bottom of this function. If you are actually * building the anchor tag, then call the initModalLinks/initImagePopup function *and pass the specific selector in a call to the initModalLinks/initImagePopup *function. */try{var sChildPKey = jQuery('#prod_opt2').val();var oProdInfo = window.oChildProds[sPKey];if (sPKey == '') {hideProductContainer();return false;}jQuery('#qty_box').attr('name', 'qty_' + sPKey);jQuery('#keys').val(sPKey);/* * Test if this is the "last" droplist being displayed */if (jQuery('#pc_cart_options_2').length > 0) {jQuery('#pc_cart_options_2').slideDown();/* * Change name to post item to the cart */jQuery('#cart_option_41B399B8DAF3419CA068DE1B764BB7A7').attr('name','cart_option_' + sPKey);} //- if (jQuery('#pc_cart_options_2').length > 0)/* * SKU */if (bShowSku) {jQuery('#sku_container').html(sSkuLabel + '' + oProdInfo.sku + '');}if (bShowName) {jQuery('#child_nm_container').html('Name: ' + oProdInfo.name);}if (bUseChildDescriptionMain) {jQuery('#child_ds_container').html('Description: ' + oProdInfo.description);}/* * Cart */if (oProdInfo.showCart) {jQuery('#atc_container').show();} else {jQuery('#atc_container').hide();} //- if (oProdInfo.showCart)/* * Unit of Measure */if ('uomHTML' in oProdInfo && oProdInfo.uomHTML != '') jQuery('#detail_atc_standalone').html(oProdInfo.uomHTML);/* * Price */if (oProdInfo.showPrice) {iRetailPrice= parseFloat(oProdInfo.retail_price.replace('$',''));iPrice = parseFloat(oProdInfo.price.replace('$',''));if (iPrice < iRetailPrice) { if (false) {iPercent= (iRetailPrice - iPrice) / iRetailPrice;iPercentSaved= (iPercent * 100).toFixed(2);sDollarAmtText = '';if(false){sDollarAmtText = ' (' + (FormatCurrency(iListPrice - iPrice, true)) + ')';}if (false) {jQuery('#price_container').html('
      • ' + oProdInfo.price + '
      • List Price: ' + oProdInfo.retail_price + '
      • You Save: ' + iPercentSaved + '%'+ sDollarAmtText +'
      ');} else {jQuery('#price_container').html('
      • ' + oProdInfo.price + '
      • List Price: ' + oProdInfo.retail_price + '
      • You Save: ' + iPercentSaved + '%'+ sDollarAmtText +'
      ');}} else {if (false) {jQuery('#price_container').html('
      • ' + oProdInfo.price + '
      • List Price: ' + oProdInfo.retail_price + '
      ');} else {jQuery('#price_container').html('
      • ' + oProdInfo.price + '
      • List Price: ' + oProdInfo.retail_price + '
      ');}} //- if (0)} else {jQuery('#price_container').html('
      • ' + FormatCurrency(oProdInfo.price, true) + '
      ');} //- if (iPrice < iRetailPrice)} //- if (oProdInfo.showPrice)/* *Add hidden field for qty available to check back order. *@author pijushb *@since 9/28/2011 */ if (bShowBackOrderMessage) {jQuery('.qtyavailable').remove();jQuery('#idp_container').parent().append('') } //- if (bShowBackOrderMessage)// Check for a child description overrideapplyChildDescription(oProdInfo);if (bUseProductAliases && jQuery.trim(oProdInfo.pa_key) != '') {jQuery('#pa_id').val(oProdInfo.pa_key);jQuery('#pa_id').attr('name','pa_id_' + sPKey);} //- if (bUseProductAliases && jQuery.trim(oProdInfo.pa_key) != '')/* * Inventory */if (oProdInfo.showInventory) {jQuery('#idp_container').html(oProdInfo.invMsg);} //- if (oProdInfo.showInventory)if (bShowFavoriteLink && bShowChildFavoriteLink) {addFavoritesLink(sChildPkey);}/* * Displaying Config Data * @auther - vinayakj * @since - 5/2/2012 */if (bShowProdConfig) {if ('prod_config_droplist' in oProdInfo) {jQuery('#config_sections_container').html(htmlDecode(oProdInfo.prod_config_droplist));} else {jQuery('#config_sections_container').html('');}/* * Put Config Keys */if ('config_keys' in oProdInfo) {jQuery('#config_keys').val(oProdInfo.config_keys);}/* * Put use_parent_key */if ('use_parent_key' in oProdInfo) {jQuery('#use_parent_key').val(oProdInfo.use_parent_key);}/* * Put show_config_sections */if ('show_config_sections' in oProdInfo) {jQuery('#show_config_sections').val(oProdInfo.show_config_sections);}} //- if (bShowProdConfig)/* * reinitialize Thickbox after modifying the DOM; make this call only once to * prevent multiple instances of the window from showing * @authorjohns * @since01/31/2013 */if (bInitThickbox) {initModalLinks('#idp_container,#qtypricing');initImagePopup('#detail_photo_container');bInitThickbox = false;}updateQtyControls(2);} catch (oError) {alert("fncProcessSizeProduct-" + oError.message);hideProductContainer();}}//-function fncProcessSizeProductfunction fncSelectAddon() {//Update Design Key & Qtydocument.getElementById('design_keys_' + sGroup).value = sDesignKey;document.getElementById('design_qty_' + sGroup).name = 'ED8EF1597D7F4D0797F652145C64714C_' + sDesignKey + '_qty';}function InArray(vArray, vValue) {for (var iOpt = 0; iOpt < vArray.length; iOpt++) {if (vArray[iOpt] == vValue) {return true;}}return false;}function ResizeLoadingBG(bDisableDroplistForm) {if (bDisableDroplistForm === 'undefined') fncDisableDroplistForm();var oLBG = document.getElementById('detailloadingbg');var oLPic = document.getElementById('detailloadingpic');var popwidth = 200;if (window.innerHeight && window.scrollMaxY) {oLBG.style.width = document.body.scrollWidth;oLBG.style.height = window.innerHeight + window.scrollMaxY;} else if (document.body.scrollHeight > document.body.offsetHeight) { // all but Explorer MacoLBG.style.width = document.body.scrollWidth;oLBG.style.height = document.body.scrollHeight;} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and SafarioLBG.style.width = document.body.offsetWidth;oLBG.style.height = document.body.offsetHeight;}if (self.innerHeight) {// all except ExploreroLPic.style.left = (self.innerWidth / 2) - (popwidth / 2);oLPic.style.top = self.pageYOffset + (self.innerHeight / 4);} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict ModeoLPic.style.left = (document.documentElement.clientWidth / 2) - (popwidth / 2);oLPic.style.top = document.documentElement.scrollTop + (document.documentElement.clientHeight / 4);} else if (document.body) { // other ExplorersoLPic.style.left = (document.body.clientWidth / 2) - (popwidth / 2);oLPic.style.top = document.body.scrollTop + (document.body.clientHeight / 4);}oLBG.style.display = 'block';oLPic.style.display = 'block';}function HideLoading() {document.getElementById('detailloadingbg').style.display = 'none';document.getElementById('detailloadingpic').style.display = 'none';fncEnableDroplistForm();}function createXMLDoc(XMLFile) {// code for IEif (window.ActiveXObject) {xmlDoc = new ActiveXObject("Microsoft.XMLDOM");xmlDoc.loadXML(XMLFile);// code for Mozilla, Firefox, Opera, etc.} else if (document.implementation && document.implementation.createDocument) {//xmlDoc = document.implementation.createDocument("", "", null);var parser = new DOMParser();var xmlDoc = parser.parseFromString(XMLFile, "text/xml");} else {alert('Your browser cannot handle this script.');}return(xmlDoc);}function getNodeValue(xmlDoc, tagName, index) {if (xmlDoc.getElementsByTagName(tagName)[index].childNodes[0] != null)return xmlDoc.getElementsByTagName(tagName)[index].childNodes[0].nodeValue;elsereturn '';}function MakeAJAXRequest(fncHandleData, strPage, bAsync, aShow, aHide, bDisable, errorMsg, xmlDoc, vID) {ResizeLoadingBG();xmlHttp = GetXmlHttpObject();if (xmlHttp == null) {alert ("Your browser does not support AJAX.");return;}if (bDisable == null) {bDisable = false;}var i;try{if (aShow != null) {for (i = 0; i < aShow.length; i++) {if (bDisable == true) {document.getElementById(aHide[i]).disabled = false;} else {document.getElementById(aShow[i]).style.display = 'block';}}}}catch (err) {alert(err.message);}try{if (aHide != null) {for (i = 0; i < aHide.length; i++) {if (bDisable == true) {document.getElementById(aHide[i]).disabled = true;} else {document.getElementById(aHide[i]).style.display = 'none';}}}}catch (err) {alert(err.message);}xmlHttp.open('get', strPage + '&r_id=' + genID(), bAsync);xmlHttp.onreadystatechange = function () { HandleData(fncHandleData, errorMsg, vID) };if (xmlDoc == undefined) {xmlDoc = null;}xmlHttp.send(xmlDoc);}function HandleData(fncHandleData, errorMsg, vID) {if (errorMsg == undefined || errorMsg == "") errorMsg = "An error has occured." if (xmlHttp.readyState == 4) { //Finished loading the response//var xmlDoc = xmlHttp.responseXML.documentElement;//alert(xmlHttp.responseText);xmlDoc = createXMLDoc(xmlHttp.responseText);if (xmlDoc == null){alert(errorMsg);HideLoading()} else {fncHandleData(xmlDoc, vID);}}}function NumbersOnly(myfield, e) {var key;var keychar;if (window.event) { key = window.event.keyCode;} else if (e){ key = e.which;} else { return true;}keychar = String.fromCharCode(key);// control keysif ((key == null) || (key == 0) || (key == 8) || (key == 9) || (key == 27)) {//alert('control keys');return true;// no enters} else if ((key == 13) || (key == 32)) {//alert('no enters');return false;// only one deicmal} else if ((keychar == '.' && myfield.value.indexOf('.')>-1) || (keychar == '.' && !bAllowDecimals)) {//alert('only one deicmal');return false;// numbers} else if (("0123456789.").indexOf(keychar) > -1) {//alert('numbers');return true;// isNaN} else if (isNaN(myfield.value)) {//alert('isNaN');myfield.value = '';return false;} else {//alert('Else');return false;}}// Open lightboxfunction fncDrawFindPopup(popwidth,popheight,searchtype,showsearch,key,qstring) {//document.getElementById('lb_open_type').value = searchtype;//var ckey = childkey.replace('?', '');lightbox_pageScrollX = document.body.scrollLeft;lightbox_pageScrollY = document.body.scrollTop;lightbox_bIsOpen = true;document.getElementById('popup').style.width=popwidth + 'px';document.getElementById('popup').style.height=popheight + 'px';document.getElementById('lostfocus').style.display = 'block';document.getElementById('popup').style.display = 'block';lightbox_Position();document.getElementById('searchtype').value=searchtype;//document.getElementById('lightbox_header').innerHTML=header;document.getElementById('popup_search_text').value='';document.getElementById('popupdesc').innerHTML='';if (showsearch == '0') {document.getElementById('popup_search_section').style.display='none';}// Fix IE for DTD 4.0if (ie && document.documentElement && document.compatMode == 'CSS1Compat') {document.getElementById('popup_search_results_container').style.height = (document.getElementById('popup_search_results_container').offsetHeight - 1 - (document.getElementById("popupheader").offsetHeight + document.getElementById("popupdesc").offsetHeight + document.getElementById("popup_search_section").offsetHeight)) + 'px';}document.getElementById('lostfocus').style.visibility = 'visible';document.getElementById('popup').style.visibility = 'visible';//document.getElementById('popup_search_results').innerHTML = '
  • 2'' Signature Series Lift Kit Kawasaki Mule Pro FXT/DXT/DX (2024)

    References

    Top Articles
    Latest Posts
    Article information

    Author: Tyson Zemlak

    Last Updated:

    Views: 6075

    Rating: 4.2 / 5 (63 voted)

    Reviews: 86% of readers found this page helpful

    Author information

    Name: Tyson Zemlak

    Birthday: 1992-03-17

    Address: Apt. 662 96191 Quigley Dam, Kubview, MA 42013

    Phone: +441678032891

    Job: Community-Services Orchestrator

    Hobby: Coffee roasting, Calligraphy, Metalworking, Fashion, Vehicle restoration, Shopping, Photography

    Introduction: My name is Tyson Zemlak, I am a excited, light, sparkling, super, open, fair, magnificent person who loves writing and wants to share my knowledge and understanding with you.