/* * DTG options JS * This controls all the functions of the single DTG page */ $(document).ready(function () { initDtgOptions(); }); function initDtgOptions() { if ($("#mrp-dtgitem-wrap").length > 0) { $('[data-mrp-click="addtocart"]').on('click', function (e) { $('[data-mrp-selected="cartstyle"]').val(dtg_getStyleId()); $('[data-mrp-selected="cartcolor"]').val(dtg_getColorId()); $('[data-mrp-selected="cartsize"]').val(dtg_getSizeId()); }); dtg_setupView(); } } function dtg_setupView() { $('[data-mrp-click="style"]').on('click', function (e) { $('[data-mrp-click="style"]').removeClass("active"); $(this).addClass("active"); dtg_reloadData(); }); $('[data-mrp-click="color"]').on('click', function (e) { $('[data-mrp-click="color"]').removeClass("active"); $(this).addClass("active"); dtg_reloadData(); }); $('[data-mrp-click="size"]').on('click', function (e) { $('[data-mrp-click="size"]').removeClass("active"); $(this).addClass("active"); dtg_enableButton(); dtg_updateName(); }); dtg_enableButton(); dtg_updateName(); $("#mrp-loading-screen").hide(); $('[data-toggle="tooltip"]').tooltip(); } function dtg_reloadData() { var style = dtg_getStyleId(); var color = dtg_getColorId(); var size = dtg_getSizeId(); $("#mrp-loading-screen").show(); // Remove the tooltips so they don't accidentally stick around after reloading the data. $('[data-toggle="tooltip"]').tooltip('dispose'); // create a URL to ajax load the new options from. var ajaxUrl = MRP.Url.DtgOptionsUrl + "/?style=" + style + "&color=" + color + "&size=" + size; // reload the data for the selected variation. $("#mrp-dtg-options").load(ajaxUrl, function () { dtg_setupView(); }); } function dtg_updateName() { var sizePrice = 0; var sizeName = ""; var foundSize = $('[data-mrp-click="size"]').filter(".active").first(); if (foundSize.length > 0) { sizeName = " | " + $(foundSize).attr('data-mrp-name'); var tempPrice = parseFloat($(foundSize).attr('data-mrp-add')); if (!isNaN(tempPrice)) { sizePrice = tempPrice; } } var basePrice = parseFloat($('[data-mrp-container="basePrice"]').val(), 10); $('[data-mrp-container="dtgPrice"]').text(toCurrency(basePrice + sizePrice)); $('[data-mrp-container="variationName"]').text($('[data-mrp-container="styleColorName"]').val() + sizeName); } function dtg_enableButton() { var style = dtg_getStyleId(); var color = dtg_getColorId(); var size = dtg_getSizeId(); if (size != "" && color != "" && style != "") { $('[data-mrp-click="addtocart"]').prop('disabled', false); $('[data-mrp-click="addtocart"]').text("Add to Cart"); } else { $('[data-mrp-click="addtocart"]').prop('disabled', true); $('[data-mrp-click="addtocart"]').text("Select Size Above"); } } function dtg_getStyleId() { var foundStyle = $('[data-mrp-click="style"]').filter(".active").first(); if (foundStyle.length > 0) { return $(foundStyle).attr('data-mrp-id'); } return ""; } function dtg_getColorId() { var foundColor = $('[data-mrp-click="color"]').filter(".active").first(); if (foundColor.length > 0) { return $(foundColor).attr('data-mrp-id'); } return ""; } function dtg_getSizeId() { var foundSize = $('[data-mrp-click="size"]').filter(".active").first(); if (foundSize.length > 0) { return $(foundSize).attr('data-mrp-id'); } return ""; } function dtg_getItemId() { var foundItem = $('[data-mrp-container="item"]').first(); if (foundItem.length > 0) { return $(foundItem).val(); } return 0; } /* * END DTG Options */