{"version":3,"sources":["main.js","onveos-ajax.js"],"names":["window","jQuery","obx","onRecaptchaSubmit","token","$","submit","start_date","analyze_popup","calendar","table_sort","ticket_popup","form_expand","timer","fancybox","upmodal","usemodal","scroll","info_bar","select2","disable_pager_btns","home_carousel","home_brands","header_account_nav","video_scroll","img_gallery","product_option_image","product_radio_image","product_bundle_dropdown","product_tiered_pricing","subcat_filter","wishlists","add_field","faq_sidebar","filter_close_btn","radio_group","shipping_button","machine_dropdowns","country_state_dropdowns","landing_carousel","phone_input","init","inputmask","mask","clearIncomplete","each","i","e","loadStates","document","on","callback","this","$countryDropdown","loadInitialValue","$stateDropdown","data","val","post","countryId","html","length","state","append","Value","Text","daterangepicker","singleDatePicker","showDropdowns","minYear","maxYear","parseInt","moment","format","start","end","label","hide","opens","locale","click","tablesorter","dateFormat","headers","0","sorter","textExtraction","node","table","cellIndex","attr","2","css","close","hasClass","show","estTime","deadline","valueOf","timeDST","isDST","parseZone","utcOffset","x","setInterval","now","Date","getTime","hours","minutes","seconds","timeRemaining","deadlineDay","getDay","Math","floor","toString","removeClass","addClass","clearInterval","event","preventDefault","trigger","openEffect","closeEffect","beforeLoad","href","hasAttribute","get","update","maxWidth","maxHeight","fitToView","width","height","autoSize","closeClick","link","offset","top","scrollTo","minimumResultsForSearch","Infinity","minimumInputLength","tags","ajaxComplete","slick","dots","infinite","speed","autoplaySpeed","slidesToShow","slidesToScroll","responsive","breakpoint","settings","$trigger","$info_bar","visibilityPoint","scrollTop","delegateInfoButton","$target","$theLink","$theNav","fadeOut","fadeIn","onAfter","easytabs","$fancyGallery","clone","find","after","$clicked","remove","$newImage","imagesLoaded","index","eq","selectOrRadio","theGroup","is","$curGroup","children","changeImage","imageSource","type","dataMed","dataLrg","alreadyExists","imageLength","$newImg","text","$newThumb","$newLi","product_carousel","imageChange","$origImage","$curGroupID","$selectedOption","undefined","curID","prop","$parentGroup","parent","removeProp","groupPartial","openDropdown","theTrigger","siblings","slideDown","closeDropdown","slideUp","calculateGroupPrice","thePrice","defaultPrice","priceDifference","toFixed","resetSelectedBundleItems","substring","resetDropdown","theParentGroup","showBundleGroup","bundleOption","grandParentGroup","bundleOptionVal","ajax","url","success","value","$newGroups","parseHTML","$newGroupsContainer","$newGroupsOnPage","$group","$input","parsley","error","complete","removeBundleGroup","conditionalGroup","getPriceStock","groupID","curPrice","oldPrice","discount","serializedForm","serializeObject","response","currentPrice","priceJson","code","price","parseFloat","$qtyAndCart","prepend","msg","form","count","item","$defaultInput","$theTrigger","$curBundleItem","optionPrice","$curInput","parents","$grandParentGroup","$thePriceArea","calculatedPrice","next","hideCSS","position","opacity","left","display","showCSS","$siblingRows","closest","toggleClass","slideToggle","appendTo","insertAfter","first","last","displayFilterBreadcrumb","display_filters","clearFilters","listId","ebs","paging","loadList","$theSelect","buildSelection","destroySelection","$theFilter","$ID","$newSelection","$link","$inputs","lastField","newId","split","newColumn","$newField","inputType","inputId","inputClass","inputName","nameName","placeholder","id","class","newField","setTimeout","activateInputs","$theInput","$clickedLabel","$focusLabel","_selector","dropdownChanged","$dropdown","initialLoad","locationDropdownId","$machineDropdown","locationId","onlyActive","initialValue","list","push","join","addressHtml","address","header","s","CompanyName","Name","Address1","Address2","CityStateZip","Phone","Extension","ready","delegate","prototype","dropdown","dropdownHover","instantlyCloseOthers","change","image","search_suggestions","wishlist_add","product_review","product_options","product_ajax_cart","product_listing_ajax_cart","product_preview","product_question","newsletter_signup","sort_form","quick_order","cart_total","product_related","rocket_loader","$loading","ajaxStart","insertBefore","ajaxStop","theSlider","sliderSettings","easing","minSlides","maxSlides","pager","controls","nextText","prevText","bxSlider","mobile_enter","destroySlider","mobile_exit","$window","$sliderContainer","reconstructCarousel","unbind","prod_listing_height","removeHeight","resize","clearTimeout","json","suggestions","typewatch","ms","closeSearchEvents","keyCode","clicked","target","validElems","querySelectorAll","closeSearch","isEqualNode","keyup","navigateResults","up","$results","$active","activeElement","focus","searchString","maxCount","searchMatch","pattern","RegExp","replace","match","$msgContainer","$loginMsg","$successMsg","$errorMsg","$existsMsg","$optionsMsg","productId","isValid","serialize","rating","readonly","ga","groupsError","setActiveStyles","removeActiveStyles","removeChildGroups","parentGroup","parentContainer","generateImageURL","curImage","path","generateImageGroup","group","$theGroup","grpName","grpDescription","grpOptions","key","option","galImage","optionImage","optionImg","optionGalImg","optionParentGroups","optionID","grpID","optionVal","optionCaption","generateImageDescGroup","$theLabel","optionName","generateDropDrownGroup","parentRequired","data-parsley-required","data-parsley-trigger","medImage","lrgImage","$curOption","optionChildGroups","generateTextGroup","theOptionId","$textBox","$hidden","getOptionGroups","dataToSend","ProductId","SelectedOption","OptionId","ParentGroupIds","groups","grpType","$groupsErr","getStock","SelectedOptions","getOptionsObj","quantity","stock","validate","getPath","obj","parentOpt","prev","opt","opt2","selectedOpts","not","getImgObj","imgOpts","Img","getTxtObj","txtOpts","console","log","Txt","getPrice","OptionImg","priceTitle","basePrice","newDiscount","selectedProductOptions","prepareOptions","$form","opts","img","txt","optionsSelected","child_products","self","selectedOption","selection","child_product","validObject","name","sku","shippingType","isNaN","getOtherDetails","otherDetails","childProduct","method","resp","description","trim","checkMinQty","open_ajax_modal","onComplete","open","content","minWidth","autoWidth","wrapCSS","padding","autoCenter","beforeShow","done","updateTotal","minQty","currentQty","$theBtn","qty","location","pathname","cache","afterShow","values","QuestionUrl","ProductName","Email","Message","replaceWith","showMsg","msgtype","newsletter_signup_home","textClass","submit_form","formIsValid","fieldIsValid","field","valid","test","fieldNum","$quantity","y","z","alert"],"mappings":"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","file":"main.min.js","sourcesContent":["// Onveos - main javascript functions\r\n\r\n// remap jQuery to $\r\n(function ($) { })(window.jQuery);\r\n\r\n//New Default Functions\r\nvar obx = obx || {};\r\n\r\nobx.start_date = obx.start_date || {};\r\nobx.analyze_popup = obx.analyze_popup || {};\r\nobx.calendar = obx.calendar || {};\r\nobx.table_sort = obx.table_sort || {};\r\nobx.ticket_popup = obx.ticket_popup || {};\r\nobx.form_expand = obx.form_expand || {};\r\nobx.timer = obx.timer || {};\r\nobx.fancybox = obx.fancybox || {};\r\nobx.upmodal = obx.upmodal || {};\r\nobx.usemodal = obx.usemodal || {};\r\nobx.scroll = obx.scroll || {};\r\nobx.info_bar = obx.info_bar || {};\r\nobx.select2 = obx.select2 || {};\r\nobx.disable_pager_btns = obx.disable_pager_btns || {};\r\nobx.home_carousel = obx.home_carousel || {};\r\nobx.home_brands = obx.home_brands || {};\r\nobx.header_account_nav = obx.header_account_nav || {};\r\nobx.video_scroll = obx.video_scroll || {};\r\nobx.img_gallery = obx.img_gallery || {};\r\nobx.product_option_image = obx.product_option_image || {};\r\nobx.product_radio_image = obx.product_radio_image || {};\r\nobx.product_bundle_dropdown = obx.product_bundle_dropdown || {};\r\nobx.product_tiered_pricing = obx.product_tiered_pricing || {};\r\nobx.subcat_filter = obx.subcat_filter || {};\r\nobx.wishlists = obx.wishlists || {};\r\nobx.add_field = obx.add_field || {};\r\nobx.faq_sidebar = obx.faq_sidebar || {};\r\nobx.filter_close_btn = obx.filter_close_btn || {};\r\nobx.radio_group = obx.radio_group || {};\r\nobx.shipping_button = obx.shipping_button || {};\r\nobx.machine_dropdowns = obx.machine_dropdowns || {};\r\nobx.country_state_dropdowns = obx.country_state_dropdowns || {};\r\nobx.landing_carousel = obx.landing_carousel || {};\r\nobx.phone_input = obx.phone_input || {};\r\n\r\nobx.phone_input = {\r\n init: function () {\r\n $(\"#Phone\").inputmask({ \"mask\": \"(999) 999-9999\", \"clearIncomplete\": true });\r\n $(\"#CompanyPhone\").inputmask({ \"mask\": \"(999) 999-9999\", \"clearIncomplete\": true });\r\n }\r\n}\r\n\r\nobx.country_state_dropdowns = {\r\n init: function () {\r\n $(\"select.country-dropdown[data-state-dropdown]\").each(function (i, e) {\r\n obx.country_state_dropdowns.loadStates($(e), true);\r\n });\r\n\r\n $(document).on(\"change\",\r\n \"select.country-dropdown[data-state-dropdown]\",\r\n function (e, callback) {\r\n obx.country_state_dropdowns.loadStates($(this), true, callback);\r\n });\r\n },\r\n\r\n loadStates: function ($countryDropdown, loadInitialValue, callback) {\r\n\r\n var $stateDropdown = $(\"#\" + $countryDropdown.data(\"stateDropdown\"));\r\n if (!$countryDropdown.val()) {\r\n return;\r\n }\r\n $.post($countryDropdown.data(\"requestUrl\"),\r\n { countryId: $countryDropdown.val() },\r\n function (data) {\r\n if (!data)\r\n return;\r\n $stateDropdown.html(\"\");\r\n for (var i = 0; i < data.length; i++) {\r\n var state = data[i];\r\n $stateDropdown.append(\"\");\r\n }\r\n if (loadInitialValue && $stateDropdown.data(\"initialValue\")) {\r\n $stateDropdown.val($stateDropdown.data(\"initialValue\"));\r\n }\r\n if (typeof callback === \"function\") {\r\n callback($stateDropdown);\r\n }\r\n\r\n });\r\n }\r\n\r\n}\r\n\r\nobx.start_date =\r\n {\r\n init: function () {\r\n //var currentYear = (new Date).getFullYear();\r\n var $pickers = $('input.date-range-picker');\r\n\r\n $pickers.daterangepicker({\r\n singleDatePicker: true,\r\n showDropdowns: true,\r\n minYear: 1901,\r\n maxYear: parseInt(moment().format('YYYY'), 10)\r\n }, function (start, end, label) {\r\n });\r\n\r\n\r\n }\r\n };\r\n\r\n\r\nobx.analyze_popup =\r\n {\r\n init: function () {\r\n $('#analyze-fancy').hide();\r\n $('#open-fancy').fancybox();\r\n }\r\n };\r\n\r\n\r\nobx.calendar =\r\n {\r\n\r\n init: function () {\r\n\r\n $('input[name=\"daterange\"]').daterangepicker({\r\n opens: 'right',\r\n locale: {\r\n format: 'MMMM DD, YYYY'\r\n }\r\n }, function (start, end, label) {\r\n });\r\n $('#calendar-icon').on('click', function () {\r\n $('input[name=\"daterange\"]').click();\r\n });\r\n\r\n $('input[name=\"daterange\"]').val('select date range');\r\n\r\n $('.drp-buttons .applyBtn').on('click', function () {\r\n $('#calendar-icon').hide();\r\n });\r\n\r\n }\r\n\r\n };\r\n\r\n\r\nobx.table_sort =\r\n {\r\n init: function () {\r\n $('.tablesorter').tablesorter({\r\n dateFormat: \"mmddyyyy\", // set the default date format\r\n\r\n // or to change the format for specific columns, add the dateFormat to the headers option:\r\n headers: {\r\n 0: { sorter: \"shortDate\" }, //, dateFormat will parsed as the default above\r\n },\r\n textExtraction: {\r\n // columnIndex : function ( original method )\r\n 0: function (node, table, cellIndex) {\r\n // console.log($(node));\r\n return $(node).attr('data-date');\r\n }\r\n }\r\n });\r\n\r\n $(\"#order-history\").tablesorter({\r\n dateFormat: \"mmddyyyy\", // set the default date format\r\n\r\n headers: {\r\n 0: { sorter: \"shortDate\" }, //, dateFormat will parsed as the default above\r\n 2: { sorter: \"monetaryValue\" }\r\n },\r\n textExtraction: {\r\n // columnIndex : function ( original method )\r\n 0: function(node, table, cellIndex) {\r\n // console.log($(node));\r\n return $(node).attr(\"data-date\");\r\n },\r\n 2: function(node) {\r\n return $(node).attr(\"data-money\");\r\n }\r\n }\r\n });\r\n }\r\n };\r\n\r\n\r\nobx.ticket_popup =\r\n {\r\n init: function () {\r\n $('#new-message').css('display', 'none');\r\n $('#open-ticket').fancybox();\r\n $('.close-fancy').on('click', function () {\r\n $.fancybox.close();\r\n });\r\n }\r\n };\r\n\r\n\r\nobx.form_expand =\r\n {\r\n init: function () {\r\n $('.form-expand .radio-group label').on('click', function () {\r\n if ($('.form-expand .radio-group label').hasClass('checked')) {\r\n $('.tech-expand').hide();\r\n } else {\r\n $('.tech-expand').show();\r\n }\r\n\r\n });\r\n }\r\n };\r\n\r\n\r\nobx.timer =\r\n {\r\n init: function () {\r\n if ($('#header-date').val().length > 0) {\r\n deadline = moment($('#header-date').val()).valueOf();\r\n timeDST = moment(deadline).isDST();\r\n\r\n if(timeDST == true) {\r\n var estTime = moment.parseZone(deadline).utcOffset(-4, true);\r\n } else if (timeDST == false) {\r\n var estTime = moment.parseZone(deadline).utcOffset(-5, true);\r\n }\r\n }\r\n\r\n var x = setInterval(function () {\r\n var nowDate = new Date();\r\n var now = nowDate.getTime();\r\n\r\n var hours = 0;\r\n var minutes = 0;\r\n var seconds = 0;\r\n var timeRemaining = -1;\r\n\r\n var deadlineDay = new Date(estTime).getDay();\r\n var isWeekend = deadlineDay === 0 || deadlineDay === 6;\r\n\r\n // There will be no timer on the weekend\r\n // Assign the times if it is not the weekend.\r\n if(!isWeekend) {\r\n timeRemaining = estTime - now;\r\n hours = Math.floor((timeRemaining % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));\r\n minutes = Math.floor((timeRemaining % (1000 * 60 * 60)) / (1000 * 60));\r\n seconds = Math.floor((timeRemaining % (1000 * 60)) / 1000);\r\n\r\n if (hours.toString().length == 1) {\r\n hours = \"0\" + hours;\r\n }\r\n\r\n if (minutes.toString().length == 1) {\r\n minutes = \"0\" + minutes;\r\n }\r\n\r\n if (seconds.toString().length == 1) {\r\n seconds = \"0\" + seconds;\r\n }\r\n\r\n\r\n $('#hours').html(hours);\r\n $('#minutes').html(minutes);\r\n $('#seconds ').html(seconds);\r\n }\r\n \r\n\t\t\t\tif (hours < 1) {\r\n // If there is less than 1 hour left in the deadline, display a different color\r\n\t\t\t\t\t$('#hours, #minutes, #seconds').removeClass(\"bg-info\").addClass(\"bg-danger\");\r\n $(\"#info-nav span.text-info\").removeClass(\"text-info\").addClass(\"text-danger\");\r\n\t\t\t\t}\r\n\r\n if (timeRemaining < 0) {\r\n clearInterval(x);\r\n $('#hours').html('00');\r\n $('#minutes').html('00');\r\n $('#seconds').html('00');\r\n }\r\n }, 1000);\r\n }\r\n };\r\n\r\nobx.filter_close_btn =\r\n {\r\n init: function () {\r\n\r\n $('body').on('click', '.viewallclose', function(event) {\r\n event.preventDefault();\r\n $('.fancybox-close').trigger('click');\r\n });\r\n }\r\n };\r\n\r\n\r\n\r\n\r\n\r\n/* Fancybox http://fancyapps.com/fancybox/ */\r\nobx.fancybox =\r\n {\r\n init: function () {\r\n\r\n //Wishlist specific\r\n $(\".btn-wishlist\").fancybox({\r\n openEffect: 'none',\r\n closeEffect: 'none',\r\n beforeLoad: function () {\r\n var href = this.href;\r\n\r\n if (href == \"#wishlistdialog\" && $(href)[0].hasAttribute(\"data-url\")) {\r\n $.get($(href).attr(\"data-url\"), function (data) {\r\n $(href).html(data);\r\n $.fancybox.update();\r\n });\r\n }\r\n else {\r\n // do nothing\r\n }\r\n }\r\n });\r\n\r\n // Everything else\r\n $(\".fancybox\").fancybox({\r\n openEffect: 'none',\r\n closeEffect: 'none'\r\n });\r\n }\r\n };\r\n\r\n\r\n\r\nobx.upmodal =\r\n {\r\n init: function () {\r\n\r\n $(\".upl-btn\").fancybox({\r\n maxWidth: 400,\r\n maxHeight: 200,\r\n fitToView: false,\r\n width: '100%',\r\n height: '100%',\r\n autoSize: false,\r\n closeClick: false,\r\n openEffect: 'none',\r\n closeEffect: 'none'\r\n });\r\n }\r\n };\r\n/* END fancybox */\r\n\r\nobx.usemodal =\r\n {\r\n init: function () {\r\n\r\n $(\".use-btn\").fancybox({\r\n maxWidth: 770,\r\n maxHeight: 400,\r\n fitToView: false,\r\n width: '70%',\r\n height: '70%',\r\n autoSize: false,\r\n closeClick: false,\r\n openEffect: 'none',\r\n closeEffect: 'none'\r\n });\r\n }\r\n };\r\n/* END fancybox */\r\n\r\n\r\n\r\n/* Adds javascript to allow .scroll links to scroll */\r\nobx.scroll =\r\n {\r\n init: function () {\r\n $('body').on('click', 'a.scroll', function (e) {\r\n e.preventDefault();\r\n var link = $(this).attr('href');\r\n\r\n if ($('body').hasClass('page-product') && $(window).width() > 767) {\r\n // if the info bar is present, allow enough space for full content to be shown\r\n $(link).offset().top > $('.info-bar-trigger').offset().top ? $.scrollTo($(link).offset().top - 60, 500) : $.scrollTo(link, 500);\r\n }\r\n else {\r\n $.scrollTo(link, 500);\r\n }\r\n });\r\n }\r\n }\r\n/* END scroll */\r\n\r\n/* Create generic class for select2 plugin */\r\nobx.select2 =\r\n {\r\n init: function () {\r\n $('.select2DisabledSearch').select2({\r\n minimumResultsForSearch: Infinity\r\n });\r\n\r\n $('.select2EnabledSearch').select2({\r\n\r\n });\r\n\r\n $('.select2EnabledSearchNoDropDown').select2({\r\n minimumInputLength: 1,\r\n tags: true\r\n });\r\n\r\n $(document).ajaxComplete(function () {\r\n $('.select2DisabledSearch').select2({\r\n minimumResultsForSearch: Infinity\r\n });\r\n });\r\n\r\n $(document).ajaxComplete(function () {\r\n $('.select2EnabledSearch').select2({\r\n });\r\n });\r\n\r\n }\r\n }\r\n/* END select2 */\r\n\r\n/* Disable pager buttons (either prev or next) when appropriate class is added */\r\nobx.disable_pager_btns = {\r\n init: function () {\r\n var disabled = '.paging .prev.disabled a, .paging .next.disabled a';\r\n $('body').on('click', disabled, function (e) {\r\n e.preventDefault();\r\n });\r\n }\r\n};\r\n/* END disable_pager_btns */\r\n\r\n\r\n/* Initialize the main carousel / banner on the homepage - Slick Slider */\r\nobx.home_carousel =\r\n {\r\n init: function () {\r\n $('#home-carousel .slide-item').removeClass('visuallyhidden'); //Remove the non-js fallback\r\n\r\n $(\"#home-carousel\").slick({\r\n dots: true,\r\n infinite: true,\r\n speed: 300,\r\n autoplaySpeed: 10000,\r\n slidesToShow: 1\r\n });\r\n\r\n }\r\n };\r\n/* END home_carousel */\r\n\r\nobx.landing_carousel =\r\n {\r\n init: function () {\r\n\r\n $('#featured-parts-carousel').slick({\r\n dots: false,\r\n infinite: true,\r\n speed: 300,\r\n slidesToShow: 4,\r\n slidesToScroll: 4,\r\n responsive: [\r\n {\r\n breakpoint: 1079,\r\n settings: {\r\n slidesToShow: 3,\r\n slidesToScroll: 3,\r\n infinite: true,\r\n dots: false\r\n }\r\n },\r\n {\r\n breakpoint: 766,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1\r\n }\r\n }\r\n // You can unslick at a given breakpoint now by adding:\r\n // settings: \"unslick\"\r\n // instead of a settings object\r\n ]\r\n });\r\n\r\n }\r\n };\r\n/* END landing_carousel */\r\n\r\n\r\n\r\n/* Initialize the brands carousel - Slick Slider */\r\nobx.home_brands =\r\n {\r\n init: function () {\r\n $(\".featured-brands\").slick({\r\n dots: false,\r\n infinite: true,\r\n speed: 300,\r\n slidesToShow: 4,\r\n slidesToScroll: 4,\r\n responsive: [\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 3,\r\n slidesToScroll: 3,\r\n infinite: true,\r\n dots: false\r\n }\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 2\r\n }\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1\r\n }\r\n }\r\n // You can unslick at a given breakpoint now by adding:\r\n // settings: \"unslick\"\r\n // instead of a settings object\r\n ]\r\n });\r\n }\r\n };\r\n/* END home_brands */\r\n\r\n\r\n/* functionality for fixed-header style info-bar */\r\nobx.info_bar =\r\n {\r\n /**\r\n * Logic for displaying the info-bar based on how far the user has scrolled\r\n * @param {jQuery} trigger - The point to scroll in which the info bar will become visible\r\n */\r\n init: function ($trigger) {\r\n if ($trigger.length > 0 && $('#info-bar').length > 0) {\r\n var $info_bar = $('#info-bar');\r\n var visibilityPoint = $trigger.offset().top;\r\n\r\n $trigger.addClass('info-bar-trigger');\r\n\r\n $(window).on('scroll', function () {\r\n if ($(window).scrollTop() > visibilityPoint) {\r\n\r\n if ($info_bar.hasClass('open')) {\r\n // already open\r\n }\r\n else {\r\n // open the info bar\r\n $info_bar.addClass('open');\r\n }\r\n }\r\n else if ($(window).scrollTop() < visibilityPoint) {\r\n\r\n if ($info_bar.hasClass('open')) {\r\n // closing the info bar\r\n $info_bar.removeClass('open');\r\n }\r\n else {\r\n // do nothing, it's closed\r\n }\r\n }\r\n });\r\n }\r\n },\r\n\r\n /**\r\n * Points a button contained within the info bar to another button on the page.\r\n * @param {jQuery} target - button to click\r\n */\r\n delegateInfoButton: function ($target) {\r\n $('body').on('click', '#info-bar .btn', function (e) {\r\n e.preventDefault();\r\n $target.click();\r\n });\r\n }\r\n }\r\n\r\n\r\n/* Functionality for displaying account nav in the header */\r\nobx.header_account_nav =\r\n {\r\n init: function () {\r\n $('#ha-link.logged-in').click(function (e) {\r\n e.preventDefault();\r\n\r\n $theLink = $(this);\r\n $theNav = $('#ha-nav ul');\r\n\r\n if (!$(this).hasClass('active')) {\r\n $theNav.fadeIn('fast', function () {\r\n $theLink.addClass('active');\r\n });\r\n }\r\n else {\r\n $theNav.fadeOut('fast', function () {\r\n $theLink.removeClass('active');\r\n });\r\n }\r\n });\r\n }\r\n }\r\n/* END header_account_nav */\r\n\r\n\r\n\r\n/* Product Page: Adds javascript to the write reviews link */\r\nobx.video_scroll =\r\n {\r\n init: function () {\r\n $('a.product-video-link').click(function (e) {\r\n e.preventDefault();\r\n var link = $(this).attr('href');\r\n\r\n $.scrollTo('#product-tabs', 500, {\r\n onAfter: function () {// Scroll to the tabs area\r\n $('#product-tabs').easytabs('select', link);// Open the review tab\r\n }\r\n });\r\n });\r\n }\r\n }\r\n/* END video_scroll */\r\n\r\n\r\n\r\n/* Product Page gallery */\r\nobx.img_gallery =\r\n {\r\n init: function () {\r\n\r\n /*\r\n Create a hidden gallery for fancybox to reference.\r\n Set all but the first anchor to have class=\"fancybox\"\r\n Insert it right after the real thumbs\r\n */\r\n $fancyGallery = $('#product-thumbs').clone();\r\n $fancyGallery.attr('id', 'product-thumbs-fancy');\r\n $fancyGallery.hide();\r\n $fancyGallery.find('a:not(:first)').addClass('fancybox fancybox.image');\r\n $fancyGallery.find('a').attr('rel', 'gallery1');\r\n $('#product-thumbs').after($fancyGallery);\r\n\r\n $('#product-thumbs a').click(function (e) {\r\n e.preventDefault();\r\n $clicked = $(this);\r\n\r\n if (!$clicked.hasClass('active') && !$clicked.hasClass(\"360-link\")) {//Only fire the event on non-active images\r\n\r\n $('#product-image').css('min-height', $('#product-image').height()); // Prevent jumping with min-height\r\n\r\n $('#product-image img').fadeOut('400', function () {//Fade out the old image\r\n $('#product-image img').remove();\r\n\r\n //Create a new image, set the src, and hide it\r\n var $newImage = $('');\r\n $newImage.attr('src', $clicked.attr('data-med'));\r\n $newImage.hide();\r\n\r\n $('#product-image').attr('href', $clicked.attr('href'));\r\n $('#product-image').append($newImage);\r\n\r\n $('#product-image img').imagesLoaded(function () {//Once image is loaded, bring it back in\r\n $('#product-image img').fadeIn('400', function () {\r\n $('#product-image').css('min-height', '0');\r\n });\r\n });\r\n });\r\n\r\n //Cleanup with thumb classes\r\n $('#product-thumbs a').removeClass('active');\r\n $clicked.addClass('active');\r\n\r\n //Adjusting the hidden fancy gallery so as not to have duplicates\r\n var index = $('#product-thumbs a').index($clicked);\r\n $('#product-thumbs-fancy a').addClass('fancybox fancybox.image');\r\n $('#product-thumbs-fancy a').eq(index).removeClass('fancybox');\r\n }\r\n });\r\n\r\n $('a.larger').on('click', function (e) {\r\n e.preventDefault();\r\n $('#product-image').click();\r\n });\r\n\r\n\r\n $('#product-thumbs').slick({\r\n infinite: true,\r\n slidesToShow: 4,\r\n slidesToScroll: 4,\r\n responsive: [\r\n {\r\n breakpoint: 1079,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 2,\r\n }\r\n },\r\n {\r\n breakpoint: 767,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1\r\n }\r\n }\r\n ]\r\n });\r\n }\r\n };\r\n/* END img_gallery */\r\n\r\n\r\n\r\n/* Product Option Images */\r\nobx.product_option_image =\r\n {\r\n // Return the current selected value: either an option or a input\r\n selectOrRadio: function (theGroup) {\r\n if (theGroup.is('select')) { // Select Group\r\n return $curGroup.children('option:selected');\r\n }\r\n else { // Radio Group\r\n return $curGroup;\r\n }\r\n },\r\n\r\n changeImage: function (imageSource, type) {\r\n var dataMed = imageSource.attr('data-med'); // Work for both options and original image\r\n var dataLrg = '';\r\n\r\n if (type === 'Option') {\r\n dataLrg = imageSource.attr('data-lrg');\r\n }\r\n else if (type === 'Original') {\r\n dataLrg = imageSource.attr('href');\r\n }\r\n\r\n $('#product-image').css('min-height', $('#product-image').height()); // Prevent jumping with min-height\r\n\r\n $('#product-image img').fadeOut('400', function () {//Fade out the old image\r\n $('#product-image img').remove();\r\n\r\n //Create a new image, set the src, and hide it\r\n var $newImage = $('
');\r\n $newImage.attr('src', dataMed);\r\n $newImage.hide();\r\n\r\n $('#product-image').attr('href', dataLrg);\r\n $('#product-image').append($newImage);\r\n\r\n $('#product-image img').imagesLoaded(function () {//Once image is loaded, bring it back in\r\n $('#product-image img').fadeIn('400', function () {\r\n $('#product-image').css('min-height', '0');\r\n });\r\n });\r\n });\r\n\r\n // Add hidden fancybox items\r\n var alreadyExists = true; // flag determining whether the image already exists as a thumbnail\r\n var imageLength = $('#product-thumbs-fancy li:not(.bx-clone) a[href=\"' + dataLrg + '\"]').length + $('#product-thumbs-fancy li:not(.bx-clone) a[href=\"' + dataMed + '\"]').length; //how many instances of the image exist?\r\n\r\n if (imageLength < 1) {\r\n // add image to hidden fancybox thumbnail if it doesn't exists\r\n if (imageLength == 0) {\r\n alreadyExists = false;\r\n\r\n var $newImg = $('
')\r\n .attr('src', dataLrg)\r\n .attr('alt', imageSource.text())\r\n\r\n var $newThumb = $('')\r\n .attr('href', dataLrg)\r\n .attr('data-med', dataMed)\r\n .attr('class', 'fancybox fancybox.image')\r\n .attr('rel', 'gallery1')\r\n .append($newImg);\r\n\r\n var $newLi = $('
' + address.CompanyName + '
';\r\n }\r\n\r\n s +=\r\n '' +\r\n address.Name +\r\n '
';\r\n s +=\r\n '' +\r\n address.Address1 +\r\n '
';\r\n if (address.Address2) {\r\n s +=\r\n '' +\r\n address.Address2 +\r\n '
';\r\n }\r\n s +=\r\n '' +\r\n address.CityStateZip +\r\n '
';\r\n if (address.Phone) {\r\n s +=\r\n '' +\r\n address.Phone;\r\n }\r\n\r\n if (address.Extension) {\r\n s +=\r\n \" x\" +\r\n address.Extension +\r\n '
'\r\n } else {\r\n s += '';\r\n }\r\n\r\n return s;\r\n }\r\n}\r\n\r\n/* Initialize all the functions */\r\n$(document).ready(function () {\r\n //Global Initializations\r\n $('input, textarea').placeholder(); //Placeholders - jquery.placeholder.js\r\n obx.fancybox.init(); //Fancybox - jquery.fancybox.js\r\n obx.scroll.init();\r\n obx.select2.init();\r\n obx.header_account_nav.init();\r\n obx.disable_pager_btns.init();\r\n obx.radio_group.init();\r\n obx.timer.init();\r\n obx.table_sort.init();\r\n obx.start_date.init();\r\n obx.landing_carousel.init();\r\n obx.phone_input.init();\r\n\r\n if ($('body').hasClass('page-cart')) {\r\n obx.form_expand.init();\r\n }\r\n\r\n if ($('body').hasClass('page-checkout-shipping')) {\r\n obx.form_expand.init();\r\n }\r\n\r\n //Product Page - Initializations\r\n if ($('body').hasClass('page-product')) {\r\n obx.video_scroll.init();\r\n obx.img_gallery.init();\r\n obx.product_tiered_pricing.init();\r\n obx.product_option_image.init();\r\n obx.product_radio_image.init();\r\n obx.upmodal.init();\r\n obx.usemodal.init();\r\n }\r\n\r\n if ($('body').hasClass('page-ticket-detail')) {\r\n obx.ticket_popup.init();\r\n }\r\n\r\n //Home Page - Initializations\r\n if ($('body').hasClass('page-home')) {\r\n obx.home_carousel.init();\r\n obx.home_brands.init();\r\n }\r\n\r\n // Subcategory Page - Initializations\r\n if ($('body').hasClass('page-subcategory')) {\r\n obx.subcat_filter.display_filters();\r\n obx.filter_close_btn.init();\r\n }\r\n\r\n\r\n //Product Bundle Page - Initializations\r\n if ($('body').hasClass('page-product-bundle')) {\r\n obx.product_bundle_dropdown.init();\r\n }\r\n\r\n //Quick Order - Initializations\r\n if ($('body').hasClass('page-quick-order')) {\r\n obx.add_field.init();\r\n }\r\n\r\n // FAQ Page\r\n if ($('body').hasClass('page-faq')) {\r\n obx.faq_sidebar.init();\r\n }\r\n\r\n if ($('body').hasClass('page-analyze-cost')) {\r\n obx.calendar.init();\r\n obx.analyze_popup.init();\r\n }\r\n\r\n obx.machine_dropdowns.init();\r\n obx.country_state_dropdowns.init();\r\n});\r\n\r\n$(function()\r\n{\r\n\t$(document).delegate('.disabled', 'click', function(e)\r\n\t{\r\n\t\te.preventDefault();\r\n });\r\n \r\n if ($.prototype.dropdown) {\r\n $('.dropdown-toggle').dropdown();\r\n }\r\n\r\n if ($.prototype.dropdownHover) {\r\n $(\".dropdown-toggle\").dropdownHover({ instantlyCloseOthers: true });\r\n }\r\n \r\n\t$('.auto-post').change(function()\r\n\t{\r\n\t\t$(this).parents(\"form\").submit();\r\n\t});\r\n\r\n\t$('#main-image').click(function(e)\r\n\t{\r\n\t\te.preventDefault();\r\n\t\tvar image = $('.additional-image').first();\r\n\t\tif (image != undefined && image != null)\r\n\t\t{\r\n\t\t\timage.trigger('click');\r\n\t\t}\r\n\t});\r\n\r\n\t$('.nav-tabs [data-toggle=tab]').first().trigger('click');\r\n});\r\n\r\nfunction onRecaptchaSubmit(token) {\r\n $(\".recaptcha-form\").submit();\r\n}\r\n","// Onveos base ajax functions\r\n\r\n// remap jQuery to $\r\n(function ($) { })(window.jQuery);\r\n\r\n//New Default Functions\r\nvar obx = obx || {};\r\n\r\nobx.search_suggestions = obx.search_suggestions || {};\r\nobx.wishlist_add = obx.wishlist_add || {};\r\nobx.product_review = obx.product_review || {};\r\nobx.product_options = obx.product_options || {};\r\nobx.product_ajax_cart = obx.product_ajax_cart || {};\r\nobx.product_listing_ajax_cart = obx.product_listing_ajax_cart || {};\r\nobx.product_preview = obx.product_preview || {};\r\nobx.product_question = obx.product_question || {};\r\n\r\nobx.newsletter_signup = obx.newsletter_signup || {};\r\nobx.sort_form = obx.sort_form || {};\r\nobx.quick_order = obx.quick_order || {};\r\nobx.cart_total = obx.cart_total || {};\r\nobx.product_related = obx.product_related || {};\r\n\r\nobx.rocket_loader = obx.rocket_loader || {};\r\n\r\n\r\nobx.rocket_loader = \r\n{\r\n init: function() {\r\n var $loading = $('Please try another search term
Advanced Search');\r\n $('#search-suggestions').fadeIn('fast');\r\n\r\n closeSearchEvents();\r\n }\r\n },\r\n error: function () {\r\n // Populate error message \r\n $('#search-suggestions').html('Please try another search term
Advanced Search');\r\n $('#search-suggestions').fadeIn('fast');\r\n\r\n closeSearchEvents();\r\n }\r\n });// END Ajax\r\n }\r\n\r\n }, 300); // END typewatch\r\n } // END else\r\n }); // END keyup function\r\n }\r\n};\r\n/* END search_suggestions */\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/* Add product to the wishlist */\r\nobx.wishlist_add =\r\n{\r\n\tinit: function () {\r\n\r\n\t\tfunction delayedRemove() {\r\n\r\n\t\t\tsetTimeout(function () { //Remove the message after a delay\r\n\t\t\t\t$('.wishlist-msg span').fadeOut('slow', function () {\r\n\t\t\t\t\t$clicked.removeClass('active');\r\n\t\t\t\t\t$(this).remove();\r\n\t\t\t\t});\r\n\t\t\t}, 3000);\r\n\t\t}\r\n\r\n\t\tfunction msgAdd(curMsg) {// Add a new message (no existing message)\r\n\t\t\t$msgContainer.prepend(curMsg);\r\n\t\t\t$('.wishlist-msg span').fadeIn('slow', function () {\r\n\t\t\t\tdelayedRemove();\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t$msgContainer = $('.wishlist-msg');\r\n\t\t$loginMsg = ' ';\r\n\t\t$successMsg = ' ';\r\n\t\t$errorMsg = ' ';\r\n\t\t$existsMsg = ' ';\r\n\t\t$optionsMsg = ' ';\r\n\r\n\t\t//$(\".btn-wishlist\").click(function (e) {\r\n\t\t//\te.preventDefault();\r\n\t\t//\t$clicked = $(this);\r\n\r\n\t\t//\tif (!$('.wishlist-msg span').length > 0 && !$clicked.hasClass('active')) { // Link hasn't just been clicked & there ISNT already a message out there.\r\n\r\n\t\t//\t\tif ($('#product-form').parsley.isValid() ) { // Is the form valid\r\n\r\n\t\t//\t\t\t$clicked.addClass('active');\r\n\r\n\t\t//\t\t\t// See if the user is logged in\r\n\t\t//\t\t\tvar userid = $(\"#Userid\").val();\r\n\t\t//\t\t\tif (userid == \"False\") {\r\n\t\t//\t\t\t\tmsgAdd($loginMsg);\r\n\t\t//\t\t\t\treturn;\r\n\t\t//\t\t\t}\r\n\r\n\t\t//\t\t\t// Get form data to pass\r\n\t\t//\t\t\tvar productId = $(\"#ProductId\").val();\r\n\t\t//\t\t\tvar selectedOptions = obx.product_options.getOptionsObj();\r\n\r\n\t\t//\t\t\t// Add item to wishlist\r\n\t\t//\t\t\t$.ajax({\r\n\t\t//\t\t\t\ttype: \"POST\",\r\n\t\t//\t\t\t\turl: \"/Cart/AddtoWishlist\",\r\n\t\t//\t\t\t\tdata: { productId: productId, selectedOptions: selectedOptions },\r\n\r\n\t\t//\t\t\t\tsuccess: function (data) {\r\n\t\t//\t\t\t\t\tvar code = parseInt(data.code);\r\n\r\n\t\t//\t\t\t\t\tif (code == 1) { // Success\r\n\t\t//\t\t\t\t\t\tmsgAdd($successMsg);\r\n\r\n // if ( typeof ga != 'undefined') { // Confirm GA is present and Send Event\r\n // ga('send', 'event', 'Wishlist', 'Item Added', 'Product ID: ' + productId);\r\n // }\r\n\t\t//\t\t\t\t\t}\r\n\t\t//\t\t\t\t\telse if (code == 2) { // Already in the list\r\n\t\t//\t\t\t\t\t\tmsgAdd($existsMsg);\r\n\r\n // if ( typeof ga != 'undefined') { ga('send', 'event', 'Wishlist', 'Already Added'); }\r\n\t\t//\t\t\t\t\t}\r\n\t\t//\t\t\t\t\telse { // Unknown error\r\n\t\t//\t\t\t\t\t\tmsgAdd($errorMsg);\r\n\r\n // if ( typeof ga != 'undefined') { ga('send', 'event', 'Wishlist', 'Ajax Failure'); }\r\n\t\t//\t\t\t\t\t}\r\n\t\t//\t\t\t\t}\r\n\t\t//\t\t\t});\r\n\t\t//\t\t}\r\n\t\t//\t\telse { // Form isn't valid, show validation\r\n\t\t//\t\t\t$('#product-form').parsley().validate();\r\n\t\t//\t\t\tmsgAdd($optionsMsg);\r\n\r\n // if ( typeof ga != 'undefined') { ga('send', 'event', 'Wishlist', 'Validation Failure'); }\r\n\t\t//\t\t}\r\n\t\t//\t}\r\n\t\t//\telse {\r\n\t\t//\t\t//If the message already exists, don't do anything.\r\n\t\t//\t\t//This helps to prevent ajax spamming and weird display effects. \r\n\t\t//\t}\r\n\t\t//});\r\n\t}\r\n};\r\n/* END wishlist_add */\r\n\r\n\r\n\r\n\r\n/* Product review submission */\r\nobx.product_review =\r\n{\r\n\tjson: [{ 'msg': 'Thanks for submitting a product review' }],\r\n\tinit: function () {\r\n\r\n\t\t$('#review-form').submit(function (e) {\r\n\t\t\te.preventDefault();\r\n\r\n\t\t\tvar productId = 0;\r\n\t\t\tproductId = $('#review-form-id').val();\r\n\r\n\t\t\tif (!$('#review-form button').hasClass('active') && $(this).parsley().isValid() ) {\r\n\r\n\t\t\t\t$('#review-form button').addClass('active');\r\n\r\n\t\t\t\t$.ajax({\r\n\t\t\t\t\turl: '/products/addreview/' + productId,\r\n\t\t\t\t\ttype: 'POST',\r\n\t\t\t\t\tdata: $('#review-form').serialize(),\r\n\r\n\t\t\t\t\tsuccess: function (data) {\r\n\t\t\t\t\t\tvar code = parseInt(data.code);\r\n\t\t\t\t\t\t$('#review-form .form-response').html('');\r\n\t\t\t\t\t\tif (code == 1) {\r\n\t\t\t\t\t\t\t//Successfully submitted the review\r\n\t\t\t\t\t\t\t$('#review-form button').removeClass('active');\r\n\r\n\t\t\t\t\t\t\t$('#review-form button').fadeOut('slow', function (e) {\r\n\t\t\t\t\t\t\t\t$('#review-form input, #review-form textarea').attr({\r\n\t\t\t\t\t\t\t\t\treadonly: 'readonly'\r\n\t\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\t\t// if (data.pointsAwarded > 0) {\r\n // data.msg += ' You have been awarded ' + data.pointsAwarded + ' points.'\r\n\t\t\t\t\t\t\t\t// }\r\n\r\n\t\t\t\t\t\t\t\t$('#review-form .form-response').append(''+ group.grpDescription +'
');\r\n }\r\n\r\n var i = 0;\r\n\r\n // Go through each option within the group and create the HTML to be inserted\r\n $.each(group.grpOptions , function(key, option){\r\n\r\n \tvar optionImage = \"\", galImage, medImage, lrgImage = '';\r\n\r\n if( option.optionImg != null && option.optionImg != ''){ // Get the option image\r\n optionImage = obx.product_options.generateImageURL(option.optionImg, 30, 30);\r\n }\r\n\r\n if( option.optionGalImg != null && option.optionGalImg != ''){ // Get the gallery image\r\n medImage = obx.product_options.generateImageURL(option.optionGalImg, 280, 0);\r\n lrgImage = obx.product_options.generateImageURL(option.optionGalImg, 1024, 0);\r\n galImage = 'data-med=\"' + medImage + '\"' + 'data-lrg =\"' + lrgImage + '\"'; // Added to the input later\r\n }\r\n\r\n $theGroup.append('');\r\n $theGroup.append('');\r\n \r\n i++;\r\n });\r\n\r\n return $theGroup;\r\n\r\n }, //END generateImageGroup\r\n\r\n\r\n // Generate Image w/ Description Option Group\r\n generateImageDescGroup: function(group){\r\n\r\n var $theGroup = $('');\r\n $theGroup.addClass('product-group prod-group-image-desc row');\r\n\r\n $theGroup.append('');\r\n if( group.grpDescription != '' ){\r\n $theGroup.append(''+ group.grpDescription +'
');\r\n }\r\n\r\n var i = 0;\r\n\r\n // Go through each option within the group and create the HTML to be inserted\r\n $.each(group.grpOptions , function(key, option){\r\n\r\n // The Label\r\n var $theLabel = $('');\r\n\r\n // Image setup\r\n var optionImage, galImage, medImage, lrgImage = '';\r\n\r\n if( option.optionImg != null && option.optionImg != ''){ // Get the option image\r\n \r\n optionImage = obx.product_options.generateImageURL(option.optionImg, 30, 30);\r\n \r\n if( option.optionCaption == null){ \r\n \toption.optionCaption = \"\"; \r\n }\r\n\r\n $theLabel.append(''+ group.grpDescription +'
');\r\n }\r\n\r\n // Creating the select and adding primary attributes\r\n var $theSelect = $('');\r\n $theSelect.attr('class', 'select2DisabledSearch');\r\n $theSelect.attr('name', 'prod-group-'+ group.grpID +'');\r\n $theSelect.attr('id', 'prod-group-'+ group.grpID +'');\r\n if( parentRequired ){ // Is required?\r\n $theSelect.attr({ 'data-parsley-required' : true, 'data-parsley-trigger' : 'change' });\r\n }\r\n\r\n\r\n // Adding the first option\r\n $theSelect.append('');\r\n\r\n var i = 0;\r\n\r\n // Go through each option within the group and create the HTML to be inserted\r\n $.each(group.grpOptions , function(key, option){\r\n var $curOption = $('');\r\n\r\n // Does the option have a gallery image? If so, set it up\r\n var medImage, lrgImage = '';\r\n if( option.optionGalImg != null && option.optionGalImg != '' ){ \r\n\r\n medImage = obx.product_options.generateImageURL(option.optionGalImg, 280, 0);\r\n $curOption.attr('data-med', medImage);\r\n \r\n lrgImage = obx.product_options.generateImageURL(option.optionGalImg, 1024, 0);\r\n $curOption.attr('data-lrg', lrgImage);\r\n }\r\n \r\n\t\t\t// Go through optional attributes\r\n if( option.optionParentGroups.length != 0 ){\r\n $curOption.attr('data-parentGroups', option.optionParentGroups);\r\n }\r\n\r\n if( option.optionChildGroups.length != 0 ){\r\n $curOption.attr('data-childGroups', option.optionChildGroups);\r\n }\r\n\r\n $curOption.attr('value', option.optionVal); // Add the value\r\n $curOption.html(option.optionName); // Add the caption\r\n\r\n $theSelect.append($curOption); // Add option to the select\r\n\r\n i++;\r\n });\r\n\r\n $theGroup.append($theSelect);\r\n\r\n return $theGroup;\r\n }, //END generateDropDrownGroup\r\n\r\n\r\n // Generate Text Option Group\r\n generateTextGroup: function(group, parentRequired){\r\n\r\n var $theGroup = $('');\r\n $theGroup.addClass('product-group prod-group-text row');\r\n\r\n $theGroup.append('');\r\n if( group.grpDescription != '' ){\r\n $theGroup.append(''+ group.grpDescription +'
');\r\n }\r\n\r\n var theOptionId = '';\r\n theOptionId = group.grpOptions[0].optionVal;\r\n\r\n // Creating the textbox and adding primary attributes\r\n var $textBox = $('');\r\n $textBox.attr('type', 'text');\r\n $textBox.attr('name', 'txt-'+ theOptionId +'');\r\n $textBox.attr('id', 'txt-'+ theOptionId +'');\r\n\r\n if( parentRequired ){ // Is required?\r\n $textBox.attr({ 'data-parsley-required' : true, 'data-parsley-trigger' : 'change' });\r\n }\r\n\r\n // Hidden ID input - to associate text input to its group\r\n var $hidden = $('');\r\n $hidden.attr('type', 'hidden');\r\n $hidden.attr('name', 'prod-group-'+ group.grpID +'');\r\n $hidden.attr('id', 'prod-group-'+ group.grpID +'-'+ theOptionId +'');\r\n $hidden.val(theOptionId);\r\n $hidden.attr('rel', 'txt');\r\n\r\n $theGroup.append($hidden);\r\n $theGroup.append($textBox);\r\n\r\n return $theGroup;\r\n }, //END generateTextGroup\r\n\r\n\r\n // Retrieve and display child groups for the passed parent\r\n getOptionGroups: function(parentGroup)\r\n {\r\n // Get the form data\r\n var parentContainer = parentGroup.closest('.product-group-container');\r\n var productId = $(\"#ProductId\").val();\r\n var option = parentGroup.val();\r\n var parentGroups = parentGroup.attr('data-parentGroups');\r\n\r\n if (!parentGroups)\r\n \tparentGroups = $(parentGroup).find(\"option:selected\").attr(\"data-parentGroups\");\r\n \r\n if (option == null || option == undefined) {\r\n option = '';\r\n }\r\n\r\n var dataToSend = { \"ProductId\" : productId, \"SelectedOption\" : {\"OptionId\": option, \"ParentGroupIds\": parentGroups} } ;\r\n\r\n //var dataToSend = {productId: productId, selectedOptionId: option, parentGroupIds: dataGroups};\r\n\r\n //setTimeout(function() { // Delayed for testing - remove for final;\r\n $.ajax({\r\n url: '/products/getgroups/' + productId, // Final Version\r\n //url: 'sample-images/brand-logo.png', //Remove for final - change to a \"bad file\" to test the error\r\n type: 'POST', //Change to POST for final?\r\n data: dataToSend,\r\n\r\n success: function (response) { // Instead of using the static JSON variable below, response would contain the values\r\n\r\n var code = parseInt(response.code); // Final Version\r\n //var code = parseInt(obx.product_options.groupJson.code); // Remove in final\r\n\r\n if(code == 1){ // Child Groups Found\r\n\r\n var $newGroups = $('');\r\n $newGroups.addClass('product-group-container');\r\n $newGroups.hide();\r\n\r\n var groups = response.groups; // Final Version\r\n //var groups = obx.product_options.groupJson.groups; // Remove in final\r\n\r\n // Is parent required\r\n var parentRequired = false;\r\n if( parentGroup.is('[data-parsley-required]') ){\r\n parentRequired = true;\r\n }\r\n\r\n // Go through each child group and create the HTML to be inserted\r\n for (var i = 0; i < groups.length; i++) { \r\n\r\n $theGroup = \"\";\r\n\r\n if( groups[i].grpType == 1 ){ // Dropdown Group\r\n $theGroup = obx.product_options.generateDropDrownGroup(groups[i], parentRequired);\r\n }\r\n if( groups[i].grpType == 2){ // Image Group\r\n $theGroup = obx.product_options.generateImageGroup(groups[i]);\r\n }\r\n if( groups[i].grpType == 3){ // Image w/ txt Group\r\n $theGroup = obx.product_options.generateImageDescGroup(groups[i]);\r\n }\r\n if( groups[i].grpType == 5){ // Text Group\r\n $theGroup = obx.product_options.generateTextGroup(groups[i], parentRequired);\r\n }\r\n\r\n $newGroups.append($theGroup);\r\n }\r\n\r\n \r\n // What to do with the new groups\r\n if( parentContainer.children('div.product-group-container').length == 0 ){ // There are no child groups already\r\n parentContainer.append($newGroups);\r\n $newGroups.fadeIn('slow');\r\n }\r\n else{\r\n parentContainer.children('.product-group-container').fadeOut('slow', function(){\r\n $(this).remove();\r\n\r\n parentContainer.append($newGroups);\r\n $newGroups.fadeIn('slow');\r\n });\r\n }\r\n\r\n // Go through and require the inputs within the new groups\r\n // if( parentRequired ){\r\n // $newGroups.find('select, input').each(function(){\r\n // $('#product-form').parsley('addItem', $(this));\r\n // })\r\n // }\r\n }\r\n\r\n if(code == 2){ // No Child Groups\r\n obx.product_options.removeChildGroups(parentGroup);\r\n }\r\n\r\n if (code > 2) { // Error retrieving Groups\r\n obx.product_options.removeChildGroups(parentGroup);\r\n\r\n var $groupsErr = $('');\r\n $groupsErr.addClass('product-group-container row').append(obx.product_options.groupsError);\r\n $groupsErr.hide();\r\n\r\n parentContainer.append($groupsErr);\r\n $groupsErr.fadeIn('slow'); \r\n }\r\n },\r\n\r\n error: function (data){\r\n $qtyAndCart.fadeOut('fast', function(){\r\n $('#pc-stock').fadeOut('fast', function() {\r\n $(this).html(obx.product_options.groupsError).fadeIn('fast');\r\n });\r\n });\r\n },\r\n\r\n complete: function(data){\r\n obx.product_options.removeActiveStyles(parentGroup.attr('id'));\r\n }\r\n });\r\n //}, 2000);// Delayed for testing - remove for final;\r\n\r\n },//END getOptionGroups\r\n \r\n\r\n // Get Stock of the current product based on all of product form data\r\n getStock: function(groupID)\r\n {\r\n // Get the form data\r\n var serializedForm = $('#product-form').serializeObject();\r\n serializedForm.SelectedOptions = this.getOptionsObj();\r\n \r\n\r\n $.ajax({\r\n url: '/products/getproductstockinformation',\r\n type: 'POST',\r\n data: serializedForm,\r\n\r\n success: function (response) {\r\n\r\n var code = parseInt(response.code);\r\n\r\n if(code == 1){ // In stock\r\n var quantity = response.stock.quantity;\r\n\r\n $('#pc-stock').fadeOut('fast', function() {\r\n $(this).attr('content', 'in_stock');\r\n $(this).html('' + quantity + ' In Stock!').fadeIn('fast', function() {\r\n $qtyAndCart.fadeIn('fast');\r\n $('#pform-qty').attr( 'data-parsley-max', quantity );\r\n\r\n if( $('#pform-qty').val() > 0 ){ //If qty already has a value when option changes\r\n $('#pform-qty').val(''); \r\n $('#pform-qty').parsley().validate(); \r\n }\r\n });\r\n });\r\n }\r\n\r\n if(code == 2){ // Out of Stock\r\n $qtyAndCart.fadeOut('fast', function(){\r\n $('#pc-stock').fadeOut('fast', function() {\r\n $(this).attr('content', 'out_of_stock');\r\n $(this).html('Product out of Stock').fadeIn('fast');\r\n });\r\n });\r\n }\r\n\r\n if (code > 2) { // General Error\r\n $qtyAndCart.fadeOut('fast', function () {\r\n $('#pc-stock').fadeOut('fast', function () {\r\n $(this).attr('content', 'out_of_stock');\r\n $(this).html('Error retrieving stock amount. Please refresh and try again.').fadeIn('fast');\r\n });\r\n });\r\n }\r\n },\r\n\r\n error: function (data){\r\n $qtyAndCart.fadeOut('fast', function(){\r\n $('#pc-stock').fadeOut('fast', function() {\r\n $(this).attr('content', 'out_of_stock');\r\n $(this).html('Error retrieving stock amount. Please refresh and try again.').fadeIn('fast');\r\n });\r\n });\r\n },\r\n\r\n complete: function(data){\r\n obx.product_options.removeActiveStyles(groupID);\r\n }\r\n });\r\n },\r\n\r\n getPath: function(obj) {\r\n var parentOpt = $(obj).closest(\".product-group-container\").prev(\".product-group.row\");\r\n if(parent.length > 0) {\r\n var opt = parentOpt.find(\"select[name^='prod-group'] option[data-childgroups='true']:selected\");\r\n if(opt.length > 0)\r\n return this.getPath(opt) + \",\" + opt.val();\r\n var opt2 = parentOpt.find(\"input[name^='prod-group'][data-childgroups='true']:checked\");\r\n if(opt2.length > 0)\r\n return this.getPath(opt2) + \",\" + opt.val();\r\n }\r\n return \"\";\r\n },\r\n\r\n getOptionsObj: function () {\r\n var selectedOpts = [];\r\n\r\n var pThis = this;\r\n \r\n // Don't return selected options for parent/child products\r\n if ($('select.child-products').length > 0) { return; }\r\n\r\n $(\"select[name^='prod-group'] option[data-childgroups='false']:selected\").each(function (index,obj) {\r\n selectedOpts.push({ OptionId: $(obj).val(), ParentGroupIds: $(obj).attr(\"data-parentgroups\") });\r\n });\r\n\r\n $(\"input[name^='prod-group']:checked\").not(\"[data-childgroups='true']\").each(function (index, obj) {\r\n selectedOpts.push({ OptionId: $(obj).val(), ParentGroupIds: $(obj).attr(\"data-parentgroups\") });\r\n });\r\n\r\n $(\"input[rel^='img']\").each(function (index, obj)\r\n {\r\n if ($(\"#img-\" + $(obj).attr(\"value\")).length > 0)\r\n {\r\n selectedOpts.push({ OptionId: $(obj).val(), ParentGroupIds: $(obj).attr(\"data-parentgroups\") });\r\n }\r\n });\r\n $(\"input[rel^='txt']\").each(function (index, obj) {\r\n if ($(\"#txt-\" + $(obj).attr(\"value\")).length > 0) {\r\n selectedOpts.push({ OptionId: $(obj).val(), ParentGroupIds: $(obj).attr(\"data-parentgroups\") });\r\n }\r\n });\r\n return selectedOpts;\r\n },\r\n getImgObj: function () {\r\n var imgOpts = [];\r\n\r\n var pThis = this;\r\n\r\n $(\"input[rel^='img']\").each(function (index, obj) {\r\n if ( $(this).val() != \"\")\r\n {\r\n imgOpts.push({ OptionId: $(obj).val(), Img: $(\"#img-\" + $(obj).attr(\"value\")).val() });\r\n }\r\n else{\r\n imgOpts.push({OptionId: $(obj).val(), Img: false})\r\n }\r\n });\r\n return imgOpts;\r\n },\r\n\r\n getTxtObj: function () {\r\n var txtOpts = [];\r\n\r\n var pThis = this;\r\n\r\n\r\n $(\"input[rel^='txt']\").each(function (index, obj) {\r\n if ($(\"#txt-\" + $(obj).attr(\"value\")).val() != \"\")\r\n {\r\n console.log(\"adding\" + $(obj).val() + \"-\" + $(\"#txt-\" + $(obj).attr(\"value\")).val());\r\n txtOpts.push({ OptionId: $(obj).val(), Txt: $(\"#txt-\" + $(obj).attr(\"value\")).val() });\r\n }\r\n });\r\n return txtOpts;\r\n },\r\n // Get Price of the current product based on all of product form data\r\n getPrice: function(groupID)\r\n {\r\n curPrice = '';\r\n oldPrice = '';\r\n discount = '';\r\n\r\n $('.data-selected-options').remove(); // Remove old selected options\r\n var serializedForm = $('#product-form').serializeObject();\r\n serializedForm.SelectedOptions = this.getOptionsObj();\r\n serializedForm.OptionImg = this.getImgObj();\r\n\r\n $.ajax({\r\n url: '/products/getproductpriceinformation/',\r\n type: 'POST',\r\n data: serializedForm,\r\n\r\n success: function (response) { // Instead of using the static JSON variable below, data would contain the values\r\n var code = 0;\r\n var priceJson = null;\r\n\r\n code = parseInt(response.code); // Final version\r\n //code = parseInt(obx.product_options.priceJson.code); // Remove in final\r\n\r\n if(code == 1){ // In stock\r\n priceJson = response.price; // Final Version\r\n\r\n var priceTitle = 'Rocket Plus Price';\r\n var currentPrice = parseFloat(priceJson.currentPrice).toFixed(2);\r\n var basePrice = parseFloat(priceJson.oldPrice).toFixed(2);\r\n var newDiscount = (parseFloat(priceJson.discount) * 100).toFixed(0);\r\n\r\n if( currentPrice ){\r\n curPrice = '$' + currentPrice + '';\r\n }\r\n\r\n //Not getting a discount\r\n if (basePrice == currentPrice) {\r\n priceTitle = \"\";\r\n }\r\n\r\n if( newDiscount && newDiscount > 0 ){\r\n discount = 'You Save ' + newDiscount + '%';\r\n }\r\n\r\n $('#priceval').html(priceTitle + \" \" + curPrice + '