
Uncategorized
Calendar Thumbcut Half Moon Semi-circle Hole Punch CTP-20 Thumb Cut
46.13 JOD
- SKU
- UBUY-2C5RILMU
- Unit
- pc
- Unit price
- 46.13 JOD
- Final price
- 46.13 JOD
UnitpcSKUUBUY-2C5RILMUStock1 availableDeliveryDelivery by store timingReturns14-day return window
Why buy this?
- Ready to order with 1 in stock.
- Delivery by store timing. 14-day return window.
Only 1 left
In stock
GLOBAL & SOCIAL SHOPPING
INT originYour destination price
Estimated landed total46.13 JOD
Product 46.13 · Duty 0.00 · Tax 0.00 · Shipping 0.00Estimated delivery: 10-24 daysDelivery by store timingView cart
Buy with confidenceOnly 1 left
Delivery promiseDelivery by store timingReturn policy14-day return window for eligible productsRewardsEarn about 46 loyalty points when you buyCustomer trustAsk for customer photos and experience before buying
Smart fit guidance
Compare with assistantCheck size, unit, and seller notes before checkout.
Product Description Have any Query? Chat with us jQuery(document).on('click','.chat_actived',function(){ spin = jQuery(this).parents('.chat-with-us').find('.fa-spin'); spin.show(); initChat('true'); setTimeout(function(){ jQuery('.chat_actived').attr('onClick','startChat()'); startChat(); spin.hide(); if(jQuery('.chat_actived').length > 0){ jQuery('.chat_actived').removeClass('.chat_actived'); } },500); }); var what_stands_out_url = 'https://catalog.ubuy.com/ubcommon/what-stands-out-section-v4'; var ajaxHeaders = {}; var already_generated = { "who_should_buy" : false, "nutritionist_take" : false } function utf8ToBase64(str) { var text = str.replace(/'/g, "'"); var utf8Bytes = new TextEncoder().encode(text); return btoa(String.fromCharCode(...utf8Bytes)); } function getWhaStandOutData(request_type, show_nutritionist_take = '') { var product_title = jQuery(document).find('#title').val(); var product_id = jQuery(document).find('#p_full_id').val(); if(typeof product_title == "undefined" || product_title == "" || typeof product_id == "undefined" || product_id == ""){ setTimeout(function() { getWhaStandOutData(request_type,show_nutritionist_take); }, 1000); return; } product_title = utf8ToBase64(product_title); var entity_id = '2C5RILMU'; var website_id = 4; var what_stands_out_data = { product_title : product_title, product_id : product_id, entity_id : entity_id, type : request_type, lng : 'en', entity_id: '2C5RILMU', nutritionist_take: show_nutritionist_take, }; what_stands_out_data = btoa(JSON.stringify(what_stands_out_data)); ajaxRequest = jQuery.ajax({ type: "GET", headers: { ...ajaxHeaders }, data: { data: what_stands_out_data }, url: what_stands_out_url, dataType: "json", success: function (response) { if(response != "" && typeof response === 'object'){ if(response.what_stands_out != ''){ jQuery(".what-stands-out").removeClass("d-none"); jQuery(".what-stands-out").html(response.what_stands_out); } if(response.who_should_buy != ''){ jQuery(".who-should-buy").removeClass("d-none"); jQuery(".who-should-buy").html(response.who_should_buy); already_generated.who_should_buy = true; } if(response.nutritionist_take != ''){ jQuery(".nutritionist-take").removeClass("d-none"); jQuery(".nutritionist-take").html(response.nutritionist_take); already_generated.nutritionist_take = true; } } if(already_generated.who_should_buy == false){ already_generated.who_should_buy = true; getWhaStandOutData("who_should_buy", show_nutritionist_take); } if(typeof show_nutritionist_take == "boolean" && (show_nutritionist_take == true) && already_generated.nutritionist_take == false){ already_generated.nutritionist_take = true; getNutritionistTakeData(); } } }); } function getNutritionistTakeData() { var product_title = jQuery(document).find('#title').val(); var product_id = jQuery(document).find('#p_full_id').val(); var entity_id = '2C5RILMU'; var website_id = 4; if(typeof product_title == "undefined" || product_title == "" || typeof product_id == "undefined" || product_id == "" && typeof entity_id == "undefined" || entity_id == ""){ setTimeout(function() { getNutritionistTakeData(); }, 1000); return; } product_title = utf8ToBase64(product_title); var nutritionist_take_url = 'https://www.ubuy.ae/en/ubcommon/what-stands-out-section-v4'; var nutritionist_take_data = { product_title : product_title, product_id : product_id, entity_id : entity_id, type: "nutritionist_take", lang : 'en', nutritionist_take: true }; nutritionist_take_data = btoa(JSON.stringify(nutritionist_take_data)); ajaxRequest = jQuery.ajax({ type: "GET", headers: { ...ajaxHeaders }, data: { data: nutritionist_take_data }, url: what_stands_out_url, dataType: "json", success: function (response) { if(response != "" && typeof response === 'object' && response.nutritionist_take != ''){ jQuery(".nutritionist-take").removeClass("d-none"); jQuery(".nutritionist-take").html(response.nutritionist_take); } } }); } var show_nutritionist_take = false; jQuery(document).ready(function () { getWhaStandOutData("what_stands_out", show_nutritionist_take); }); Product Price History 100 0 --> var myChart = ""; var price_notes = `Price is showing in %s currency.`; var yAxes_label = 'Price'; var is_pre_order = ''; function createChart(xValues, yValues, price_h_currencyCode) { var localMinimaPoints = []; for (let i = 1; i { return localMinimaPoints.includes(index) ? 'transparent' : '#FFB100'; }); myChart = new Chart("myChart", { type: "line", data: { labels: xValues, datasets: [{ fill: false, lineTension: 0, backgroundColor: "#FFB100", borderColor: "#cccccc96", data: yValues, pointRadius: 5, pointBorderColor: pointBorderColor, }] }, options: { legend: { display: false }, layout: { padding: { left: 10, right: 10, top: 10, bottom: 10 } }, scales: { xAxes: [{ display: true, ticks: { // Include a dollar sign in the ticks callback: function(value, index, ticks) { return value; } }, }], yAxes: [{ display: true, scaleLabel: { display: true, labelString: yAxes_label, fontSize: 16 // Adjust font size of the label } }] }, tooltips: { callbacks: { label: function(tooltipItem, data) { const otherData = tooltipItem.yLabel; return ` ${price_h_currencyCode} ${otherData}`; } } } } }); return myChart; } function getProductPriceHistory() { var product_id = jQuery("#p_full_id").val(); var current_price_usd = jQuery("#special_price_usd").val(); var s_price = '0'; curr_price = $('#special_price').val(); if (typeof curr_price != "undefined") { curr_price = curr_price.replace(/[^0-9]/g, ""); } if (product_id == '') { setTimeout(function() { getProductPriceHistory(); }, 1000); return; } history_url = 'https://www.ubuy.ae/en/ubcommon/product-price-history'; var history_query_params = { sa: selected_asin, pa: parent_asin, pi: product_id, lng: lang, sname: storename, sbname: substorename, current_price: curr_price, s_price:s_price, token :'MmM1cmlsbXU0fDRkYmMwMjg5MjM2M2MxMjYzNjljMzM2YWJiMDMwNmFjYjc1YzVmZjQ3YTExOWVkMzFjYmVhNjg4NTQ3NzdiZmZ8ZDYwNTljZDczOGEwMzM2YzhkNDNlMmUzZTQzNWUxMzcyNjU4MjE4N2E2ZGE3YzYxZDU0ZjZmZTc4MWJhMzk4ZA==', entity_id :'2C5RILMU' } history_query_params = btoa(JSON.stringify(history_query_params)); jQuery.ajax({ type: "GET", url: history_url, dataType: "JSON", data: { p: history_query_params, }, success: function(resp) { jQuery(".line-chart").find(".span_spinner").remove(); jQuery(".line-chart").removeClass('loading'); if (resp.status == true) { jQuery('.priceHistorySection').removeClass('d-none'); jQuery(".line-chart .content").removeClass('d-none'); var xValues = resp.xValues; var yValues = resp.yValues; if (typeof curr_price != "undefined") { curr_price = parseInt(curr_price); if(curr_price > 0 && yValues.length > 0 && yValues.at(-1) !== curr_price){ var d = new Date(); var today = `${String(d.getDate()).padStart(2,'0')}-${String(d.getMonth()+1).padStart(2,'0')}-${String(d.getFullYear()).slice(-2)}`; yValues.push(curr_price); xValues.push(today); if (yValues.length > 5) yValues = yValues.slice(-5); if (xValues.length > 5) xValues = xValues.slice(-5); // Replicated this logic from PHP Code where it is in reverse order. resp.is_good_time_to_buy = false; for (var i = yValues.length - 1; i >= 0; i--) { var single_price = yValues[i]; if (single_price !== curr_price) { if (single_price > curr_price) { resp.is_good_time_to_buy = true; } break; } } } } price_h_currencyCode = resp.currencyCode; myChart = createChart(xValues, yValues, price_h_currencyCode); price_notes = price_notes.replace('%s', ' ' + price_h_currencyCode + ' '); jQuery('.price_h_currency_note').html(` ${price_notes} `); if (resp.is_good_time_to_buy == true && is_pre_order != '1' && is_pre_order != 1) { jQuery('#priceHistoryButton').removeClass('d-none'); }else{ jQuery('.priceHistorySection').addClass('d-none'); } } else { jQuery('.priceHistorySection').addClass('d-none'); } }, }); } jQuery(document).ready(function() { //getProductPriceHistory(); }); jQuery(document).on('click', '#priceHistoryButton', function() { jQuery('html, body').animate({ scrollTop: jQuery('.priceHistorySection').offset().top - 90 }); if (typeof customEvent === 'function') { var seo_p_n = jQuery("#product_name").val(); var seo_p_id = jQuery("#p_full_id").val(); var p_url = '/productuk/2C5RILMU-calendar-thumbcut-half-moon-semi-circle-hole-punch-ctp-20-thumb-cut'; if(p_url != ""){ var ecommerceData = {name: seo_p_n,product_id: seo_p_id,url: p_url} customEvent("price_drop", ecommerceData); } } }); var tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]') var tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl)) AED 239 Limited time deal Currently unavailable. This item is currently unavailable. Check back soon for updates on its availability!. var error_timeoutIds = {}; function getCreditCardTypes() { /** * Hash with credit card types which can be simply extended in payment modules * 0 - regexp for card number * 1 - regexp for cvn * 2 - check or not credit card number trough Luhn algorithm by * function validateCreditCard which you can find below in this file */ return { 'SO': [new RegExp('^(6334[5-9]([0-9]{11}|[0-9]{13,14}))|(6767([0-9]{12}|[0-9]{14,15}))$'), new RegExp('^([0-9]{3}|[0-9]{4})?$'), true], 'VI': [new RegExp('^4[0-9]{12}([0-9]{3})?$'), new RegExp('^[0-9]{3}$'), true], 'MC': [new RegExp('^5[1-5][0-9]{5,}|222[1-9][0-9]{3,}|22[3-9][0-9]{4,}|2[3-6][0-9]{5,}|27[01][0-9]{4,}|2720[0-9]{3,}$'), new RegExp('^[0-9]{3}$'), true], 'AE': [new RegExp('^3[47][0-9]{13}$'), new RegExp('^[0-9]{4}$'), true], 'DI': [new RegExp('^(30[0-5][0-9]{13}|3095[0-9]{12}|35(2[8-9][0-9]{12}|[3-8][0-9]{13})|36[0-9]{12}|3[8-9][0-9]{14}|6011(0[0-9]{11}|[2-4][0-9]{11}|74[0-9]{10}|7[7-9][0-9]{10}|8[6-9][0-9]{10}|9[0-9]{11})|62(2(12[6-9][0-9]{10}|1[3-9][0-9]{11}|[2-8][0-9]{12}|9[0-1][0-9]{11}|92[0-5][0-9]{10})|[4-6][0-9]{13}|8[2-8][0-9]{12})|6(4[4-9][0-9]{13}|5[0-9]{14}))$'), new RegExp('^[0-9]{3}$'), true], 'JCB': [new RegExp('^(30[0-5][0-9]{13}|3095[0-9]{12}|35(2[8-9][0-9]{12}|[3-8][0-9]{13})|36[0-9]{12}|3[8-9][0-9]{14}|6011(0[0-9]{11}|[2-4][0-9]{11}|74[0-9]{10}|7[7-9][0-9]{10}|8[6-9][0-9]{10}|9[0-9]{11})|62(2(12[6-9][0-9]{10}|1[3-9][0-9]{11}|[2-8][0-9]{12}|9[0-1][0-9]{11}|92[0-5][0-9]{10})|[4-6][0-9]{13}|8[2-8][0-9]{12})|6(4[4-9][0-9]{13}|5[0-9]{14}))$'), new RegExp('^[0-9]{3,4}$'), true], 'DICL': [new RegExp('^(30[0-5][0-9]{13}|3095[0-9]{12}|35(2[8-9][0-9]{12}|[3-8][0-9]{13})|36[0-9]{12}|3[8-9][0-9]{14}|6011(0[0-9]{11}|[2-4][0-9]{11}|74[0-9]{10}|7[7-9][0-9]{10}|8[6-9][0-9]{10}|9[0-9]{11})|62(2(12[6-9][0-9]{10}|1[3-9][0-9]{11}|[2-8][0-9]{12}|9[0-1][0-9]{11}|92[0-5][0-9]{10})|[4-6][0-9]{13}|8[2-8][0-9]{12})|6(4[4-9][0-9]{13}|5[0-9]{14}))$'), new RegExp('^[0-9]{3}$'), true], 'SM': [new RegExp('(^(5[0678])[0-9]{11,18}$)|(^(6[^05])[0-9]{11,18}$)|(^(601)[^1][0-9]{9,16}$)|(^(6011)[0-9]{9,11}$)|(^(6011)[0-9]{13,16}$)|(^(65)[0-9]{11,13}$)|(^(65)[0-9]{15,18}$)|(^(49030)[2-9]([0-9]{10}$|[0-9]{12,13}$))|(^(49033)[5-9]([0-9]{10}$|[0-9]{12,13}$))|(^(49110)[1-2]([0-9]{10}$|[0-9]{12,13}$))|(^(49117)[4-9]([0-9]{10}$|[0-9]{12,13}$))|(^(49118)[0-2]([0-9]{10}$|[0-9]{12,13}$))|(^(4936)([0-9]{12}$|[0-9]{14,15}$))'), new RegExp('^([0-9]{3}|[0-9]{4})?$'), true], 'RP': [new RegExp('^(60[0-9]{14}|65[0-9]{14}|81[0-9]{14}|82[0-9]{14}|508[0-9]{13})$'), new RegExp('^[0-9]{3}$'), true], 'OT': [false, new RegExp('^([0-9]{3}|[0-9]{4})?$'), false] }; } function validateCreditCard(s) { // remove non-numerics var v = "0123456789"; var w = ""; for (i = 0; i 9 ? Math.floor(a / 10 + a % 10) : a; } for (i = 0; i \/?~]/; return specialChars.test(str); } /** * * @param {string} form_id * @param {bool} is_submit * @param {object} options.autohide type bool/number -- pass seconds in this to hide the validation message in given time * @returns {undefined} */ function validateForm(form_id, is_submit, options) { jQuery.extend(jQuery.validator.messages, { email: "Please enter a valid email address.", }); if (typeof is_submit == 'undefined') { is_submit = false; } var autohide = _getExtraOptionVal(options, 'autohide'); var fieldRequiredMsg = "This field is required."; var fieldDigitsMsg = "Please use numbers only in this field."; var fieldGreaterThanZeroMsg = "Please enter a number greater than 0 in this field."; var fieldLengthMsg = "Please enter valid value."; var fieldAlphnumMsg = "The password should contain combination of characters and numbers."; var fieldValidNameMsg = "Only letters and spaces allowed."; var fieldValidFullNameMsg = "Please enter full name separated with spaces."; var fieldValidHoldernameMsg = "Please enter a valid name."; var fieldValidNotNumeicMsg = "Only numeric not allowed."; var fieldEmailAvailabilityMsg = "This email address is not available.Please use different."; var fieldNotEqualMsg = "Please specify a different (non-default) value."; var fieldCcNumberMsg = "Please enter a valid credit card number."; var fieldCcTypeMsg = "Credit card number does not match credit card type."; var fieldCcExpMsg = "Invalid expiry date."; var fieldCcCvnMsg = "Invalid cvv."; var fieldDistrict = "Only letters allowed."; var validation_rules = {}; var validation_messages = {}; jQuery.validator.addMethod("greaterThanZero", function (value, element) { return this.optional(element) || (parseFloat(value) > 0); }, fieldGreaterThanZeroMsg); jQuery.validator.addMethod("alphanumeric", function (value, element) { return this.optional(element) || /^(?=.*[a-zA-Z])(?=.*[0-9])/i.test(value); }, fieldAlphnumMsg); jQuery.validator.addMethod("holdername", function (value, element, param) { return this.optional(element) || /^[a-z0-9' ]+$/i.test(value); }, fieldValidHoldernameMsg); jQuery.validator.addMethod("letterswithspace", function (value, element) { return this.optional(element) || /^[a-zA-Z][a-zA-Z ]/i.test(value); }, fieldValidNameMsg); jQuery.validator.addMethod("wordswithspace", function (value, element) { return this.optional(element) || /^[a-zA-Z]{2,}[\s][a-zA-Z ]+/i.test(value); }, fieldValidFullNameMsg); jQuery.validator.addMethod("notnumeric", function (value, element) { if (/^[\d\s]+$/i.test(value.replace(/\+/g, ''))) { return this.optional(element) || false; } else { return this.optional(element) || true; } }, fieldValidNotNumeicMsg); jQuery.validator.addMethod("notspecial", function (value, element) { if(containsSpecialChars(value)){ return this.optional(element) || false; } return this.optional(element) || true; }, fieldDistrict); jQuery.validator.addMethod("fullname_valid", function (value, element) { return this.optional(element) || /^[\W\w]{1,}[\s][\W\w ]+/i.test(value); //return this.optional(element) || /^([^\x00-\x7F]|[a-zA-Z]){2,}[\s]([^\x00-\x7F]|[a-zA-Z ])+/i.test(value); }, fieldValidFullNameMsg); jQuery.validator.addMethod("checkavailability", function (value, element) { this.settings.onkeyup = false; var validation; $.ajax({ url: element.getAttribute("data-checkurl"), type: 'POST', async: false, data: {value: value}, dataType: 'json', success: function (data) { if (data.success) { validation = false; } else { validation = true; } }}); return validation; }, fieldEmailAvailabilityMsg); jQuery.validator.addMethod("notEqualTo", function (value, element, param) { return this.optional(element) || value != jQuery(param).val(); }, fieldNotEqualMsg); jQuery.validator.methods.email = function (value, element) { return this.optional(element) || /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i.test(value); } jQuery.validator.addMethod("validateCcNumber", function (value, element, param) { var ccType = ''; var ccTypeContainer = jQuery("#" + element.getAttribute('id').substr(0, element.getAttribute('id').indexOf('_cc_number')) + '_cc_type'); if (ccTypeContainer) { ccType = ccTypeContainer.val(); } var creditCardTypes = getCreditCardTypes(); if (typeof creditCardTypes[ccType] != 'undefined' && creditCardTypes[ccType][2] == false) { if (!(value == '' || (value == null) || (value.length == 0) || /^\s+$/.test(value) || !/[^\d]/.test(value))) { return true; } else { return false; } } return validateCreditCard(value); }, fieldCcNumberMsg); jQuery.validator.addMethod("validateCcType", function (value, element, param) { var ccTypeContainer = jQuery("#" + element.getAttribute('id').substr(0, element.getAttribute('id').indexOf('_cc_number')) + '_cc_type'); if (!ccTypeContainer) { return true; } var ccType = ccTypeContainer.val(); var creditCardTypes = getCreditCardTypes(); if (typeof creditCardTypes[ccType] == 'undefined') { return false; } // Other card type or switch or solo card if (creditCardTypes[ccType][0] == false) { return true; } if (!value.match(creditCardTypes[ccType][0])) { return false; } return true; }, fieldCcTypeMsg); jQuery.validator.addMethod("validateCcExp", function (value, element, param) { var ccExpMonth = value; var ccExpYear = jQuery("#" + element.getAttribute('id').substr(0, element.getAttribute('id').indexOf('_expiration')) + '_expiration_yr').val(); var currentTime = new Date(); var currentMonth = currentTime.getMonth() + 1; var currentYear = currentTime.getFullYear(); if (ccExpMonth 57) && (event.which != 0 && event.which != 8))) { event.preventDefault(); } var text = jQuery(this).val(); if ((event.which == 46) && (text.indexOf('.') == -1)) { setTimeout(function () { if ($this.val().substring($this.val().indexOf('.')).length > 3) { $this.val($this.val().substring(0, $this.val().indexOf('.') + 3)); } }, 1); } if ((text.indexOf('.') != -1) && (text.substring(text.indexOf('.')).length > 2) && (event.which != 0 && event.which != 8) && (jQuery(this)[0].selectionStart >= text.length - 2)) { event.preventDefault(); } }); jQuery(fieldElm).bind("paste", function (e) { var text = e.originalEvent.clipboardData.getData('Text'); if (jQuery.isNumeric(text)) { if ((text.substring(text.indexOf('.')).length > 3) && (text.indexOf('.') > -1)) { e.preventDefault(); jQuery(this).val(text.substring(0, text.indexOf('.') + 3)); } } else { e.preventDefault(); } }); } if (jQuery(fieldElm).hasClass('validate-cpassword')) { let msg = "Please make sure your passwords match."; let equalto = '.validate-password'; if (validation_rules[fieldElm.name]) { validation_messages[fieldElm.name]['equalTo'] = msg; validation_rules[fieldElm.name]['equalTo'] = equalto; } else { validation_messages[fieldElm.name] = {equalTo: msg}; validation_rules[fieldElm.name] = {equalTo: equalto}; } } if (jQuery(fieldElm).hasClass('validate-currentpass')) { let msg = "The new password cannot be the same as the current password."; let notequalto = '.currentpass'; if (validation_rules[fieldElm.name]) { validation_messages[fieldElm.name]['notEqualTo'] = msg; validation_rules[fieldElm.name]['notEqualTo'] = notequalto; } else { validation_messages[fieldElm.name] = {notEqualTo: msg}; validation_rules[fieldElm.name] = {notEqualTo: notequalto}; } } if (jQuery(fieldElm).hasClass('validate-password')) { let minlengthval = 8; let maxlengthval = 30; let msg_min = "Please enter 8 or more characters."; let msg_max = "The Password must be a string with a maximum length of 30."; if (validation_rules[fieldElm.name]) { validation_messages[fieldElm.name]['maxlength'] = msg_max; validation_rules[fieldElm.name]['maxlength'] = maxlengthval; validation_messages[fieldElm.name]['minlength'] = msg_min; validation_rules[fieldElm.name]['minlength'] = minlengthval; } else { validation_messages[fieldElm.name] = {maxlength: msg_max}; validation_rules[fieldElm.name] = {maxlength: maxlengthval}; validation_messages[fieldElm.name] = {minlength: msg_min}; validation_rules[fieldElm.name] = {minlength: minlengthval}; } } if (jQuery(fieldElm).hasClass('validate-alphanumeric')) { if (validation_rules[fieldElm.name]) { validation_rules[fieldElm.name]['alphanumeric'] = true; } else { validation_rules[fieldElm.name] = {alphanumeric: true}; } } if (jQuery(fieldElm).hasClass('validate-holdername')) { if (validation_rules[fieldElm.name]) { validation_rules[fieldElm.name]['holdername'] = true; } else { validation_rules[fieldElm.name] = {holdername: true}; } } if (jQuery(fieldElm).hasClass('validate-name')) { if (validation_rules[fieldElm.name]) { validation_rules[fieldElm.name]['letterswithspace'] = true; } else { validation_rules[fieldElm.name] = {letterswithspace: true}; } } if (jQuery(fieldElm).hasClass('validate-fullname')) { if (validation_rules[fieldElm.name]) { validation_rules[fieldElm.name]['fullname_valid'] = true; } else { validation_rules[fieldElm.name] = {fullname_valid: true}; } validation_rules[fieldElm.name]['notnumeric'] = true; } if (jQuery(fieldElm).hasClass('validate-notnumeric')) { if (validation_rules[fieldElm.name]) { validation_rules[fieldElm.name]['notnumeric'] = true; } else { validation_rules[fieldElm.name] = {notnumeric: true}; } } if (jQuery(fieldElm).hasClass('validate-special')) { if (validation_rules[fieldElm.name]) { validation_rules[fieldElm.name]['notspecial'] = true; } else { validation_rules[fieldElm.name] = {notspecial: true}; } } if (jQuery(fieldElm).hasClass('validate-availability')) { let availabilitymsg = jQuery(fieldElm).data('checkmsg') || fieldEmailAvailabilityMsg; if (validation_rules[fieldElm.name]) { validation_messages[fieldElm.name]['checkavailability'] = availabilitymsg; validation_rules[fieldElm.name]['checkavailability'] = true; } else { validation_messages[fieldElm.name] = {checkavailability: availabilitymsg}; validation_rules[fieldElm.name] = {checkavailability: true}; } } if (jQuery(fieldElm).hasClass('validate-cc-number')) { if (validation_rules[fieldElm.name]) { validation_rules[fieldElm.name]['validateCcNumber'] = true; validation_messages[fieldElm.name]['validateCcNumber'] = fieldCcNumberMsg; } else { validation_rules[fieldElm.name] = {validateCcNumber: true}; validation_messages[fieldElm.name] = {validateCcNumber: fieldCcNumberMsg}; } } if (jQuery(fieldElm).hasClass('validate-cc-type')) { if (validation_rules[fieldElm.name]) { validation_rules[fieldElm.name]['validateCcType'] = true; validation_messages[fieldElm.name]['validateCcType'] = fieldCcTypeMsg; } else { validation_rules[fieldElm.name] = {validateCcType: true}; validation_messages[fieldElm.name] = {validateCcType: fieldCcTypeMsg}; } } if (jQuery(fieldElm).hasClass('validate-cc-exp')) { if (validation_rules[fieldElm.name]) { validation_rules[fieldElm.name]['validateCcExp'] = true; validation_messages[fieldElm.name]['validateCcExp'] = fieldCcExpMsg; } else { validation_rules[fieldElm.name] = {validateCcExp: true}; validation_messages[fieldElm.name] = {validateCcExp: fieldCcExpMsg}; } } if (jQuery(fieldElm).hasClass('validate-cc-cvn')) { if (validation_rules[fieldElm.name]) { validation_rules[fieldElm.name]['validateCcCvn'] = true; validation_messages[fieldElm.name]['validateCcCvn'] = fieldCcCvnMsg; } else { validation_rules[fieldElm.name] = {validateCcCvn: true}; validation_messages[fieldElm.name] = {validateCcCvn: fieldCcCvnMsg}; } } if (jQuery(fieldElm).hasClass('validate-expiration-date')) { if (validation_rules[fieldElm.name]) { validation_rules[fieldElm.name]['validateCcExpDate'] = true; validation_messages[fieldElm.name]['validateCcExpDate'] = fieldCcExpMsg; } else { validation_rules[fieldElm.name] = {validateCcExpDate: true}; validation_messages[fieldElm.name] = {validateCcExpDate: fieldCcExpMsg}; } } if (jQuery(fieldElm).hasClass('validate-length')) { var lengthType = ''; if ((jQuery(fieldElm).attr('class')).search('minimum-length')) { lengthType = 'minlength'; if (validation_rules[fieldElm.name]) { validation_messages[fieldElm.name][lengthType] = fieldLengthMsg; } else { validation_messages[fieldElm.name] = {'minlength': fieldLengthMsg}; } } if ((jQuery(fieldElm).attr('class')).search('maximum-length')) { lengthType = 'maxlength'; if (validation_rules[fieldElm.name]) { validation_messages[fieldElm.name][lengthType] = fieldLengthMsg; } else { validation_messages[fieldElm.name] = {'maxlength': fieldLengthMsg}; } } } if (jQuery(fieldElm).hasClass('validate-length1')) { var lengthType = ''; var lengthVal = ''; var classesStr = jQuery(fieldElm).attr('class'); var minstr = 'minimum-length'; var minstrlen = minstr.length; var maxstr = 'maximum-length'; var maxstrlen = maxstr.length; var minindexf = classesStr.search(minstr); var maxindexf = classesStr.search(maxstr); if (minindexf) { lengthType = 'minlength'; lengthVal = classesStr.slice(minindexf + minstrlen, minindexf + minstrlen + 1) if (validation_rules[fieldElm.name]) { validation_messages[fieldElm.name][lengthType] = fieldLengthMsg; // validation_rules[fieldElm.name][lengthType] = true; } else { validation_messages[fieldElm.name] = {'minlength': fieldLengthMsg}; // validation_rules[fieldElm.name] = {lengthType: true}; } } if (maxindexf) { lengthType = 'maxlength'; lengthVal = classesStr.slice(maxindexf + maxstrlen, maxindexf + maxstrlen + 1) if (validation_rules[fieldElm.name]) { validation_messages[fieldElm.name][lengthType] = fieldLengthMsg; // validation_rules[fieldElm.name][lengthType] = true; } else { validation_messages[fieldElm.name] = {'maxlength': fieldLengthMsg}; // validation_rules[fieldElm.name] = {lengthType: true}; } } } }); jQuery(form_id).validate({ errorClass: 'validation-advice', errorElement: 'div', highlight: function (element, errorClass, validClass) { //jQuery(element).removeClass('validation-advice'); }, invalidHandler: function (form, validator) { var errors = validator.numberOfInvalids(); if (errors) { validator.errorList[0].element.focus(); } }, success: function (error, element) { error.remove(); }, errorPlacement: function (error, element) { if (jQuery('.validation-advice.session-error').length) { jQuery('.validation-advice.session-error').remove(); } if (element.attr("type") == "radio" && element.parent(".radio-bubble")) { error.appendTo(element.parent(".radio-bubble").parent()); } else if (element.attr("type") == "checkbox" && element.parent(".input-checkbox")) { error.appendTo(element.parent(".input-checkbox")); } else { if (element.parent('span').length) { element.parent('span').after(error); } else { element.after(error); } } if (autohide !== false) { error_timeoutIds[element[0].id] = setTimeout(() => { error.remove(); }, autohide * 1000); } }, rules: validation_rules, messages: validation_messages, submitHandler: function (form) { if (is_submit) { if (jQuery(form).valid()) { showLoaderImage(); form.submit(); } } } }); return; } ubuy_alert = function (msg) { let modal_id = '#ubuy-alert-modal'; jQuery('body > div' + modal_id).remove(); /*added confirm modal popup html*/ let html = ` ${msg} OK .modal-open{ position: inherit !important; } `; jQuery('body').prepend(html); jQuery(modal_id).modal('show'); }; ubuy_confirm = function (msg, cb) { let modal_id = '#ubuy-confirm-modal'; jQuery('body > div' + modal_id).remove(); jQuery('body #confirm-modal-open-css').remove(); /*added css to prevent to top scroll of window*/ let htmlcss = ` .modal-open{ position: inherit !important; } `; jQuery('body').append(htmlcss); /*added confirm modal popup html*/ let html = ` Are you sure? Are you sure? Yes No `; jQuery('body').prepend(html); jQuery(modal_id + ' .modal-body').html(msg); jQuery(modal_id).modal('show'); jQuery(modal_id + ' #ubuy-confirm-modal-btn1').off('click'); jQuery(modal_id + ' #ubuy-confirm-modal-btn1').on('click', function (e) { e.preventDefault(); jQuery(modal_id).modal('hide'); cb(); }); }; function is_captcha_valid() { if (jQuery("#g-recaptcha-response").val() != '') { jQuery('#g-recaptcha-error').remove(); return true; } else { if (jQuery('#g-recaptcha-error').length Please verify that you are not a robot. "); } return false; } } function recaptchaSuccess() { is_captcha_valid(); } function showErrors(errors, formelm) { jQuery('.validation-advice').remove(); jQuery.each(errors, function (key, msg) { var errorElm = jQuery('*[name="' + key + '"]'); if (typeof formelm != 'undefined') { errorElm = jQuery('*[name="' + key + '"]', formelm); } errorElm.after(' ' + msg + ' '); }); } function submit_file_form_ajax(formelm, callback) { if (!jQuery(formelm).valid()) { return false; } var formData = new FormData(formelm); jQuery.ajax({ url: jQuery(formelm).attr('action'), type: 'POST', data: formData, cache: false, contentType: false, processData: false, dataType: 'json', beforeSend: function () { showLoaderImage(); }, success: function (resp,textStatus,jqXHR) { if(jqXHR.status === 204){ hideLoaderImage(); } if (resp.type == 'success') { if (resp.message) { success_flash_message(resp.message); } } else { if (resp.errors) { showErrors(resp.errors); } if (resp.message) { error_flash_message(resp.message); } } if (callback) { callback(resp); } if (resp.redirect) { location.href = resp.redirect; } }, complete: function (resp) { hideLoaderImage(); } }); return false; } function submit_form_ajax(formelm, callback) { if (!jQuery(formelm).valid()) { return false; } jQuery.ajax({ url: jQuery(formelm).attr('action'), dataType: 'json', type: 'POST', data: jQuery(formelm).serialize(), beforeSend: function () { showLoaderImage(); }, success: function (resp) { if (resp.type == 'success') { if (resp.message) { success_flash_message(resp.message); } } else { if (resp.errors) { showErrors(resp.errors, formelm); } if (resp.message) { error_flash_message(resp.message); } } if (callback) { callback(resp); } if (resp.redirect) { location.href = resp.redirect; } }, complete: function (resp) { hideLoaderImage(); } }); return false; } function fullnameAttribute(){ var maxlength = 64; jQuery('#newsletter-subscribe-email [name="name"]').attr('maxlength',maxlength); jQuery('#v3-name').attr('maxlength',maxlength); jQuery('#contactForm #name').attr('maxlength',maxlength); } jQuery(document).ready(function(){ fullnameAttribute(); }); Order now and get it around Saturday, August 15 Remove Restriction This item is not restrict in my country.(Please click on above link if this item is not restrict in your country, So our team will review and allow.) function show_resttict_form() { var title = 'Calendar Thumbcut Half Moon Semi-circle Hole Punch CTP-20 Thumb Cut'; var product_id = '17458516'; if (product_id == '') { product_id = jQuery("#item_id").html(); } if (jQuery('#res_submit').is(':disabled')) { if(typeof grecaptcha != "undefined"){ grecaptcha.reset(); } jQuery('#restrict_form_data').trigger('reset'); jQuery('#res_submit').removeAttr('disabled'); } if (typeof product_id == 'undefined' || product_id == '' && jQuery("#p_full_id").length > 0) { product_id = jQuery("#p_full_id").val(); } var is_form_available = jQuery("#remove-restrict_data-form").html(); if (is_form_available.trim() == '') { jQuery.ajax({ type: "POST", url: 'https://www.ubuy.ae/en/ubcommon/restrict-data-form-v4', data: {title: title, product_id: product_id}, success: function (response) { jQuery("#remove-restrict_data-form").html(response); jQuery("#remove-restrict_data-form").slideToggle("slow", "linear"); } }); } else { jQuery("#remove-restrict_data-form").slideToggle("slow", "linear"); } } QTY: - + Add to cart Buy Now Secured transaction PCI DSS compliant and ISO 27001:2022 certified, with encrypted payments and full buyer protection on every order. Our Top Logistics Partners Fastest cross-border delivery Cross-border product supplied through Ubuy. Displayed price excludes shipping, customs, and import charges; final availability and landed cost must be confirmed before order acceptance.
Customer trust
Reviews and ratings
*****0.00 reviews
No reviews yet
Be the first to share feedback after purchasing this product.
Recommended for you
Similar products
Smart matches based on product type, category, availability, brand, and price.
Uncategorized
JONATHAN Y Anya Gourd Glass Table Lamp 20.5 Mercury Silver Set of 2 | Modern White Linen Drum Shade Bedside Nightstand LED Bulbs Included Chrome Metal Base
77.78 JOD
Delivery by store timing
Uncategorized
22 Pieces Air Compressor Accessories kit 38 inch x 50 ft Hybrid Air Compressor Hose Kit 14 NPT Quick Connect Air Fittings Tire Inflator Gauge Heavy Duty Blow Gun Swivel Plugs
44.58 JOD44.58 JOD
Save 0.00 JOD
Delivery by store timing
Uncategorized
Bark2Basics Face Furst Blueberry Facial Scrub Dog Shampoo 1 Gallon | Ready to Use Pet Grooming Face Wash; Helps Remove Tear Stains Exfoliates Dead Skin Gentle Around Eyes Groomer Grade
41.88 JOD41.88 JOD
Save 0.00 JOD
Delivery by store timing
Uncategorized
Japanese Ming Aralia Tree - Polyscias fruticosa - Indoor - 6 Pot - Large Trunk
51.53 JOD51.53 JOD
Save 0.00 JOD
Delivery by store timing
Uncategorized
ASO Ankle Stabilizing Orthosis wInserts Medium - White
40.34 JOD
Delivery by store timing
Combo offer
Frequently bought together
Pick the bundle and get a small discount to make the set easier to buy.
adidas Predator 20.3 Firm Ground Sneaker Mens36.67 JOD
JONATHAN Y Anya Gourd Glass Table Lamp 20.5 Mercury Silver Set of 2 | Modern White Linen Drum Shade Bedside Nightstand LED Bulbs Included Chrome Metal Base77.78 JOD
22 Pieces Air Compressor Accessories kit 38 inch x 50 ft Hybrid Air Compressor Hose Kit 14 NPT Quick Connect Air Fittings Tire Inflator Gauge Heavy Duty Blow Gun Swivel Plugs44.58 JODVerified shopping confidence
Clear information and secure payment
Review seller, delivery, return, support, and payment details before placing your order.
Business identityMarketplace, store, branch, and seller details are visible before checkout.Customer supportCustomers can reach EJO by phone, email, WhatsApp, contact page, and social channels.Purchase termsTerms, privacy, shipping, refund, return, and cancellation pages are linked site-wide.Refund and returnsRefund and return conditions are available before customers place orders.Reviews and reputationProduct ratings and customer reviews are shown on product pages when available.Secure storeThe production store runs on HTTPS and uses PCI DSS-aligned payment gateway flows for card checkout.




