- Shop Wigs & Toppers (Ready To Wear)
- Shop Human hair wigs
- Shop Human Hair Toppers
- Shop Men's Hair Toupee (Pre made)
- Shop Men's Toupee
-
All Collections
New Arrivals
GIFT CARDS
All Collections
New Arrivals
GIFT CARDS
- READY TO WEAR
- Classic Clip In Hair Extensions
- Classic Halo Weft Hair Extensions
- Ponytail Hair Extensions
- Seamless Clip In Hair Extensions
- Clip In Fringes Hair Extensions
- Clip In Bun Hair Extensions
- SEMI-PERMANENT EXTENSIONS
- Ultra Seamless Tape In Hair Extensions
- Invisi-tape Skin Weft Hair Extensions
- Nano Tip Hair Extensions
- Hot Fusion U-Tip Hair Extensions
- Traditional Weft Hair Extensions
- Genius Weft Hair Extensions
- Hair Extensions Tools (All You Need)
- Colour Rings
- Tape-In Sample Pack
- AFRO TEXTURED HAIR
- Clip In Extensions
- Ponytail Extensions
- Weave Extensions
- Closure Extensions
- Human Hair Wigs
- READY TO WEAR
- Classic Clip In Hair Extensions
- Classic Halo Weft Hair Extensions
- Ponytail Hair Extensions
- Seamless Clip In Hair Extensions
- Clip In Fringes Hair Extensions
- Clip In Bun Hair Extensions
- SEMI-PERMANENT EXTENSIONS
- Ultra Seamless Tape In Hair Extensions
- Invisi-tape Skin Weft Hair Extensions
- Nano Tip Hair Extensions
- Hot Fusion U-Tip Hair Extensions
- Traditional Weft Hair Extensions
- Genius Weft Hair Extensions
-
- Hair Extensions Tools (All You Need)
- Colour Rings
- Tape-In Sample Pack
- AFRO TEXTURED HAIR
- Clip In Extensions
- Ponytail Extensions
- Weave Extensions
- Closure Extensions
- Human Hair Wigs
-
stocks
-
All Collections
New Arrivals
GIFT CARDS
- NEED SOME ADVICE? CONTACT OUR EXPERTS
- Trade, Stockist and Partnership Account Information
- Trade Account Sign-up (Salon/ Stylist discounts)
- Take Your Brand To New Levels!
- Online Training Academy
- Trade, Stockist and Partnership Account Information
- Trade Account Sign-up (Salon/ Stylist discounts)
- Take Your Brand To New Levels!
- Online Training Academy
- My Account
- FAQs
- Contact Us
- Hair Care Guide
- Shipping and Delivery
- Exchange and Refund
- Our Hair Blog
- My Account
- Contact Us
- Shipping and Delivery
- Exchange and Refund
- FAQs
- Hair Care Guide
- Rewards Program
- Our Hair Blog
$99.99 - $249.99
Wholesale discount available. SIGN UP TODAY!
Select your Colour
Colour - #Dark Brown Balayage Genius Weft Extensions Colour Guide?
PRODUCT INFORMATION
1 bundle of wefts per pack
Ready To Ship
20 Inch | 50g | 80cm wide
24-Inch | 50g | 80cm wide
Custom Order (MOQ 10)
14-Inch | 50g | 90cm wide
18-Inch | 50g | 80cm wide
22-Inch | 60g | 80cm wide
26-Inch | 60g | 80cm wide
The Genius Hand-Tied extensions are a brilliant new weft design that can be cut directly anywhere on the seam without the weft unravelling! They are virtually undetectable, seamless, and super blendable. The track is minuscule compared to machine-made wefts making this option ideal for people with thin to medium hair. The Genius Weft extensions give you the freedom to customize every sew-in hair transformation.
Genius weft hair extensions are strong and anti-shedding, which means they last a long time when cared for properly. They add length and volume to your natural hair with ease.
These hair extensions are available from 14-Inch to 26-Inch and over 35+ colours, lasting up to a year if cared for well.
These extensions must be installed by a salon professional.
All Superior Hair products are made with 100% Remy human hair. Genius weft extensions are made using the highest quality virgin hair in the market, which is our top premium grade hair as the hair cuticles are intact and aligned.
Shop our Traditional Weft Collection here!
ALWAYS AND NEVER’S
Always
✓ Use a sulphate-free shampoo.
✓ Use alcohol-free hair products.
✓ Use a extensions friendly brush.
✓ Avoid applying heat or styling tools to your roots and extension bonds.
✓ Loosely braid or gather your hair into a pony at bedtime.
✓ Use a heat protectant when styling your hair.
✓ Make sure your hair fresh washed and no product on before applied.
Never
• Brush wet hair. this will pull out the extensions.
• Wash hair daily – use a dry shampoo if needed.
• Use conditioner near roots and bonds.
• Use coconut oil-based products on your extensions. Argan oil products are OK.
• Towel dry hair or pull at your extensions.
• Tie your hair up in the week following application. Your hair and your roots need time to adjust to their new style. Pulling and tugging may damage your hair and extensions.
• Don't bleach or lighten the extensions.
• Remember all hair extensions have already been through a chemical process; it is at your own risk if you decide to dye them as it may affect the quality of the hair.
• Don't use products containing alcohol as they can dry out the extensions and you don't want that happening!
• Don't use shampoo designed for volume or for dyed hair.
• Don't wear your extensions when swimming.
HOW DO YOU APPLY GENIUS WEFT EXTENSIONS?
At Superior Hair, we’ve got a few different application styles for weft hair extensions. These include micro-bead and sewing in - it all depends on the hair we are working with.
Installation by a salon professional take approximately 2-3 hours.
SHIPPING AND RETURNS
SAME DAY SHIPPING
We ship fast! Place your order before 2pm during weekdays and we will ship the same day.
180 DAYS RETURNS AND EXCHANGE
We are very happy to accommodate returns and exchanges within 180 days of your product purchase provided that the product has not been opened, worn, or tampered. The seal should not be broken on the product packaging.
View out full shipping and returns policy here.
REVIEWS
Customer Reviews
Be the first to write a review
0%
(0)
0%
(0)
0%
(0)
0%
(0)
0%
(0)
Before and After
Before
Before Superior Hair Extensions
After
After Superior Hair Extensions
Before
Before Superior Hair Extensions
After
After Superior Hair Extensions
Quantity Guide
Before
After Extensions 26-Inch
2 Packs
3 Packs
4 Packs
You may also like
FAQ
-
Our traditional weft hair extension is our original weft product and is machine made. Alternatively, our hand- tied weft is hand sewn with a much finer track. Traditional wefts can be cut to size, where hand-tied wefts come pre-cut. Superior Hair recommends our hand tied weft for finer hair as it is discreet and lightweight on the scalp.
-
At Superior Hair, we’ve got a few different application styles for weft hair extensions . These include micro-bead and sewing in - it all depends on the hair we are working with.
Installation by a salon professional takes approximately 2-3 hours.
-
4 x 20” extension at 25cm width and 50g
-
No - as long as they are installed by a professional. Many customers report that the wefts actually protect their natural hair and allow for a healthier regrowth period.
It is highly recommended that you have these extensions installed by a professional. You do run a risk of damaging your hair or the product itself if you attempt to install them yourself.
-
The number of packs you need depends on the volume effect you wish to achieve.
Two to four packs is recommended for a full application.
Our refund policy allows you to return products that you do not open, so we suggest buying one more packs than you think you need - just in case. You can return the unused packs for a full refund of the purchase price.
-
Don’t wash your hair for at least 48-72 hours after installation. After this period, you are free to wash your hair as usual, but follow these tips.
✓ Never use products that contain parabens, sulphates, or alcohol.
✓ Only wash your hair 2-3 times per week - the less the better for the life of your extensions.
✓ Only condition the ends and mids of your hair.
✓ Wash your hair in one direction and try to avoid getting knots or snags in your extensions.
✓ After washing, wait for hair to become completely dry before brushing.
✓ Use a weekly deep conditioning treatment on your mids and ends.
-
Our hair extensions are made from Remy 100% human hair, so you can style them with hot tools as often as you would style your own hair. It is super important to always use a heat protector on both your extension and your natural hair to prevent damage.
-
Find an extension colour that is as close as possible to your natural hair around half way down the strand, rather than at the root or tip.
We always recommend you get in touch with our team for a colour matching service to ensure you get extensions that look flawless. We can colour match you online. Find out more here.
-
Professional installations of Hand-tied weft hair extensions should last between 6 and 8 weeks before requiring repositioning given that you have properly cared for your extensions. This may vary due to your natural scalp production of sebum and hair growth rate.
You can re-use these extensions up to four times if you care for them well.
-
An industry professional can remove and reinstall these extensions quickly and easily. Then, they are able to reinstall these tape in extensions into your natural hair.
-
No, this must be done by a salon professional. You are able to learn how to install them using one of our Superior Hair training courses. However, it is still recommended that you do not install extensions on yourself, even if you are fully qualified.
-
Avoid putting your hair underneath the water when you have hair extensions. Ocean water salt and swimming pool chemicals causes tangles and takes moisture out of your hair, plus it can negatively affect the adhesive bonds of your extensions.
If you do accidentally get your hair extensions wet while swimming, rinse your hair with fresh water as soon as possible, and apply a leave in conditioner or spray in condition to alleviate the impact.
Customer Reviews
Be the first to write a review
0%
(0)
0%
(0)
0%
(0)
0%
(0)
0%
(0)
×
You are trying to purchase more products than available in stock.
×
' + WSAIO.applied_shipping.final_ship_rule.message + "
"); } /* ==================Show Checkout button =============================== */ if(typeof WSAIO.isShowCheckout == 'undefined'){ $(WSAIO.checkout_selector+','+WSAIO.duplicate_checkout_selector).removeClass('wsaio_hideCheckout') }else{ $(WSAIO.checkout_selector+','+WSAIO.duplicate_checkout_selector).addClass('wsaio_hideCheckout') } $('.wsaio_coupon_group, .wsaio_coupon_link').css('cssText','display:block !important') /* ==================Append all Alerts =============================== */ $('.wsaio-alerts').remove(); $('.waio_agree_message').remove() if(typeof window.MOQ_alert != 'undefined' && window.MOQ_alert!=''){ WSAIO.checkoutAlert = window.MOQ_alert; }else{ if($('.wsaio-alerts').length == 0 && WSAIO.checkoutAlert != undefined){ $(WSAIO.checkout_message_selector).after(WSAIO.checkoutAlert); } } WSAIO.cartLevelUpSell(); $('.wsaioUsellMessage,.Shipping_msg').remove(); if(WSAIO.wsaioUpSell_msg != undefined && WSAIO.wsaioUpSell_msg!= '' && $('.wsaioUsellMessage').length == 0){ if(typeof WSAIO.cart_level_upsell_message_select == 'undefined' || WSAIO.cart_level_upsell_message_select == ''){ $(WSAIO.checkout_message_selector).before('' + WSAIO.wsaioUpSell_msg + "
"); }else{ $(WSAIO.cart_level_upsell_message_select).before('' + WSAIO.wsaioUpSell_msg + "
"); } } if(WSAIO.applied_shipping != undefined && WSAIO.applied_shipping.apply_shipping_charges && $('.Shipping_msg').length == 0 && WSAIO.shipping_message_applied){ $(WSAIO.checkout_message_selector).after('' + WSAIO.applied_shipping.final_ship_rule.message + "
"); } if($('.wsaio-alerts').length == 0 && WSAIO.checkoutAlert != undefined && typeof window.MOQ_alert != 'undefined' && WSAIO.checkoutAlert.indexOf('- -1){ $(WSAIO.checkout_message_selector).after(WSAIO.checkoutAlert); } /* ==================Disabled Enable Checkout =============================== */ if(WSAIO.disable_checkout || window.disable_checkout_MOQ || window.isAgree == false){ if(WSAIO.agrrement_alert_message != '' && $('.waio_agree_message').length == 0 && typeof window.isAgree != 'undefined' && window.isAgree == false){ $(WSAIO.checkout_message_selector).after('
'+WSAIO.agrrement_alert_message+'
'); } if((typeof WSAIO.allow_normal_checkout__OC != 'undefined' && WSAIO.allow_normal_checkout__OC) && ((!window.disable_checkout_MOQ || $('.moq_error').length == 0) && (typeof window.isAgree == 'undefined' || window.isAgree))){ $(WSAIO.netTerm_checkout_selector).addClass('checkout-disabled').attr('disabled','disabled').css({'pointer-events': 'none','cursor': 'default'}) }else{ $(WSAIO.checkout_selector+','+WSAIO.duplicate_checkout_selector+','+WSAIO.netTerm_checkout_selector).addClass('checkout-disabled').attr('disabled','disabled').css({'pointer-events': 'none','cursor': 'default'}) } }else{ $(WSAIO.checkout_selector+','+WSAIO.duplicate_checkout_selector+','+WSAIO.netTerm_checkout_selector).removeClass('checkout-disabled').removeAttr('disabled').css({'pointer-events': 'auto','cursor': 'pointer'}) } /* ==================================== =============================== */ $('.wsaio_loader_checkout').hide(); } } window.addEventListener("load",function(){ if(typeof WSAIO != 'undefined' && window.wsaio_involved != undefined && window.wsaio_involved == true && typeof WSAIO.preCheckout == 'undefined' && WSAIO.app_mode_applied){ WSAIO.preloadCheckout = function (){ WSAIO.showCheckoutLoader(); try { "undefined" === typeof window.waioMOC && (window.waioMOC = {}); "undefined" === typeof waioMOC.cart && (waioMOC.cart = {}); try { window.cart_data = WSAIO.cart_object; waioMOC.cart["item_count"] = WSAIO.cart_object.item_count; waioMOC.cart["original_total_price"] = WSAIO.cart_object.original_total_price; WSAIO.order_control() setTimeout(function(){ if(typeof WSAIO.loadcartQuantityControllers != 'undefined' && typeof WSAIO.load_checkout_restriction != 'undefined'){ WSAIO.load_checkout_restriction(); WSAIO.loadcartQuantityControllers([],function(e){setTimeout(function(){WSAIO.run_checkout()},1000)});}else{WSAIO.run_checkout()} },1000) } catch (e) {} } catch (e) {} }; WSAIO.preCheckout = function (){ if(typeof WSAIO.run_checkout != 'undefined'){ WSAIO.showCheckoutLoader() $.getJSON(WSAIO.local_param +'cart',function(e){ window.cart_data = e; try { "undefined" === typeof window.waioMOC && (window.waioMOC = {}); "undefined" === typeof waioMOC.cart && (waioMOC.cart = {}); try { waioMOC.cart["item_count"] = e.item_count; waioMOC.cart["original_total_price"] = e.original_total_price; WSAIO.order_control() if(typeof WSAIO.cartQuantityControllers != 'undefined' && typeof WSAIO.checkout_restriction != 'undefined'){ WSAIO.checkout_restriction(); WSAIO.cartQuantityControllers([],function(e){setTimeout(function(){WSAIO.run_checkout()},500)});}else{WSAIO.run_checkout()} } catch (e) {} } catch (e) {} }) } }; WSAIO.preloadCheckout(); } }) };
'+message+'
' + ' ' ; return _HTML; } // Variant table html design function prepare_variant_table_html(table_rules,moq_product,config_param,number_of_rule){ var check_if_applicable = false; if(number_of_rule == 'merge_rules'){ var ids = []; for(var i = 0 ;i< moq_product.variants.length; i++){ ids.push(moq_product.variants[i].id) } if(table_rules.length){ var rows_data = ''; $(moq_product.variants).each(function(e){ var variant = moq_product.variants[e]; $(table_rules).each(function(ee){ $(table_rules[ee].variants).each(function(eee){ if(variant.id == table_rules[ee].variants[eee].id){ var qty__attrs = 'class="waio_qty-input" data-min="0" data-method="variant_level" data-max="0" data-default="0" data-inc="1"'; var indxx = ids.findIndex(function(e){if(e==table_rules[ee].variants[eee].id){return e}}) ids = ids.filter(function(elem){ return elem != ids[indxx]; }); if(table_rules[ee].minimum_quantity_method == 'variant_level'){ var message = table_rules[ee].message.replace("[[mul]]",table_rules[ee].quantity_increment).replace("[[min]]",table_rules[ee].minimum_quantity).replace('"',''); _fLavel = table_rules[ee].minimum_quantity_method; max_qty = table_rules[ee].maximum_quantity==""?0:table_rules[ee].maximum_quantity; _qtyInc = parseInt(table_rules[ee].quantity_increment) || 1; _qtyMin = parseInt(table_rules[ee].minimum_quantity) || 0; _qtyMax = parseInt(max_qty) || 0; var message = table_rules[ee].message; if(table_rules[ee].default_quantity == 0){ _qtyDefault = parseInt(table_rules[ee].default_quantity); }else{ _qtyDefault = parseInt(table_rules[ee].default_quantity) || 1; } var qty__attrs = ''; if(config_param.variant_inventory_info == undefined){ qty__attrs = 'class="waio_qty-input waio_qty-input__applicable" template="'+config_param.template+'" is_table="'+table_rules[ee].selector_for_individual_variant+'" data-method="'+_fLavel+'" data-min="'+_qtyMin+'" data-max="'+_qtyMax+'" data-default="'+_qtyDefault+'" data-inc="'+_qtyInc+'" parent_element="'+config_param.parent_product_selector+'" '; }else{ qty__attrs = 'class="waio_qty-input waio_qty-input__applicable" template="'+config_param.template+'" is_table="'+table_rules[ee].selector_for_individual_variant+'" variant_inventory_management="'+config_param.variant_inventory_info.variant_inventory_management+'" variant_inventory_policy="'+config_param.variant_inventory_info.variant_inventory_policy+'" variant_inventory_quantity="'+config_param.variant_inventory_info.variant_inventory_quantity+'" data-method="'+_fLavel+'" data-min="'+_qtyMin+'" data-max="'+_qtyMax+'" data-default="'+_qtyDefault+'" data-inc="'+_qtyInc+'" parent_element="'+config_param.parent_product_selector+'" '; } } if(variant.available){ input_html = ''+ '' + ' ' + ' ' + ' ' + '
'+message+'
'; }else{ input_html = 'Out of stock'; } check_if_applicable = true; var img = moq_product.featured_image; if(variant.featured_image != null) img = variant.featured_image.src; rows_data +=''+ '' + '
' + ' ' + '
' + ' ' + '
' + '
'+variant.title+'
' + ' ' + '
' + '
' + ' ' + ' ' + ' ' + '
'+message+'
'; }else{ input_html = 'Out of stock'; } var img = moq_product.featured_image; if(row.featured_image != null) img = row.featured_image.src; rows_data +=''+ '' + '
' + ' ' + '
' + ' ' + '
' + '
'+row.title+'
' + ' ' + '
' + '
' + ' ' + ' ' + ' ' + '
'+message+'
'; }else{ input_html = 'Out of stock'; } var img = moq_product.featured_image; if(row.featured_image != null) img = row.featured_image.src; rows_data +=''+ '' + '
' + ' ' + '
' + ' ' + '
' + '
'+row.title+'
' + ' ' + '
' + '
' + ' ' + ' ' + ' ' + '
'+message+'
'; }else{ input_html = 'Out of stock'; } rows_data +=''+ '' + '
' + ' ' + '
' + ' ' + '
' + '
'+row.title+'
' + ' ' + '
' + '
Variants | ' + 'Qty | ' + '
---|
'+available_qty_msg+'
'); setTimeout(function(){$('.available_qty_msg').remove();},3500) } $input.val(val); if(is_table_enable == 'false'){ if(_this.parents(parent_element).find('[name="quantity"]').length){ _this.parents(parent_element).find('[name="quantity"]').val(val) } } // enable disable buy now button var check_MOQ_applied = [{ '_qtyDefault':_qdefault, '_qtyInc':_qInc, '_qtyMin':_qMin, '_qtyMax':_qMax }] if(typeof check_MOQ_applied != 'undefined' && check_MOQ_applied.length > 0 && is_table_enable != 'true'){ check_restriction_Buynow($input.val(),check_MOQ_applied); } update_qof_qty(); }) // input change function $('.input_moq').on('change', function(e) { e.preventDefault(); e.stopImmediatePropagation(); e.stopPropagation(); var _this = $(this); var $input = _this; if($input.val().trim()=='') return; var val = parseInt($input.val()); var qty_wrapper = $input.parents('.waio_qty-input'); var _qMin = parseInt(qty_wrapper.attr('data-min')), _qMax = parseInt(qty_wrapper.attr('data-max')), _qInc = parseInt(qty_wrapper.attr('data-inc')); _qdefault = parseInt(qty_wrapper.attr('data-default')); var _fLavel = qty_wrapper.attr('data-method'); var product_id = $input.attr('product_id'); var parent_element = qty_wrapper.attr('parent_element'); var is_table_enable = qty_wrapper.attr('is_table'); var variant_inventory_management = qty_wrapper.attr('variant_inventory_management'), variant_inventory_policy = qty_wrapper.attr('variant_inventory_policy'), variant_inventory_quantity = parseInt(qty_wrapper.attr('variant_inventory_quantity')); var available_qty_msg = ''; if (val < _qMin) { // val = 0; }else if (val > _qMax && _qMax!==0) { val = _qMax; } else{ if(_fLavel == 'variant_level'){ if(val%_qInc !== 0){ val = (val-(val%_qInc))+_qInc; } }else{ val = val; } } // stop increament if inventory not available further if(variant_inventory_management != undefined && variant_inventory_management != ''){ if(variant_inventory_policy == 'deny'){ if(val > variant_inventory_quantity){ val = variant_inventory_quantity; available_qty_msg = 'Only '+val+' quantity available in stock'; } } } if($('.available_qty_msg').length == 0 && available_qty_msg != ''){ qty_wrapper.after(''+available_qty_msg+'
'); setTimeout(function(){$('.available_qty_msg').remove();},3500) } if(val >= 0){ $input.val(val); if(is_table_enable == 'false'){ if(_this.parents(parent_element).find('[name="quantity"]').length){ _this.parents(parent_element).find('[name="quantity"]').val(val) } } } // enable disable buy now button var check_MOQ_applied = [{ '_qtyDefault':_qdefault, '_qtyInc':_qInc, '_qtyMin':_qMin, '_qtyMax':_qMax }] if(typeof check_MOQ_applied != 'undefined' && check_MOQ_applied.length > 0 && is_table_enable != 'true'){ check_restriction_Buynow($input.val(),check_MOQ_applied); } update_qof_qty() }) function check_restriction_Buynow(qty,check_MOQ_applied){ if((qty%check_MOQ_applied[0]._qtyInc) == 0 && qty >= check_MOQ_applied[0]._qtyMin){ if(check_MOQ_applied[0]._qtyMax != 0 && qty <= check_MOQ_applied[0]._qtyMax){ $('.shopify-payment-button__button').removeClass('checkout-disabled').removeAttr('disabled') }else{ $('.shopify-payment-button__button').removeClass('checkout-disabled').removeAttr('disabled') } }else{ $('.shopify-payment-button__button').addClass('checkout-disabled').attr('disabled','disabled') } } var check_MOQ_applied = MOQ_applied; if(typeof check_MOQ_applied != 'undefined' && check_MOQ_applied.length > 0){ check_restriction_Buynow(check_MOQ_applied[0]._qtyDefault,check_MOQ_applied); } } // append add to cart button function function append_add_to_cart_btn(moq_product,config_param,variant,is_for_table){ if(!is_for_table){ var _atcBtn = ''+ ' ' ; if(config_param.template != 'page'){ $('.wsaio_'+moq_product.id).parents(config_param.parent_product_selector).find(config_param.add_to_cart).siblings('.moq_atc').remove(); $('.wsaio_'+moq_product.id).parents(config_param.parent_product_selector).find(config_param.add_to_cart).before(_atcBtn); }else{ $(config_param.parent_product_selector+'[vid="'+variant.id+'"]').find(config_param.add_to_cart).siblings('.moq_atc').remove(); $(config_param.parent_product_selector+'[vid="'+variant.id+'"]').find(config_param.add_to_cart).before(_atcBtn); $(config_param.parent_product_selector+'[vid="'+variant.id+'"]').find(config_param.add_to_cart+'[type="submit"]').hide(); } }else{ var _atcBtn = ''+ ' ' ; $('.wsaio_'+moq_product.id).parents(config_param.parent_product_selector).find(config_param.add_to_cart).siblings('.moq_atc').remove(); $('.wsaio_'+moq_product.id).parents(config_param.parent_product_selector).find(config_param.add_to_cart).before(_atcBtn); } $('.wsaio_'+moq_product.id).parents(config_param.parent_product_selector).find(config_param.add_to_cart).hide(); } // Add to cart button event when variant table is enable function Table_addToCart_event(moq_product,config_param,variant){ $('[name="moq_addToCart_forTable"]').on('click',function(e){ e.preventDefault(); e.stopImmediatePropagation(); e.stopPropagation(); var _this = $(this); var _queue = []; _this.find('.moq_loading-spinner').show(); _this.find('[data-waio-atc-text]').hide(); var error_found = false; $('.waio_moq_tableError').remove(); if(_this.parents('form').find('.waio_qty-input').length){ _this.parents('form').find('.waio_qty-input').each(function(){ var $this=$(this); var error_string = ''; var _value = parseInt($this.find('input').val()); var _qMin = parseInt($this.attr('data-min')), _qMax = parseInt($this.attr('data-max')), _qInc = parseInt($this.attr('data-inc')); var _fLavel = $this.attr('data-method'); if(_fLavel != 'selected_product_level' && _fLavel != "product_level" && _value != 0){ if(_value > _qMax && _qMax != 0){ error_found = true; if(error_string == '')error_string = 'Must be maximum '+_qMax+' items'; else error_string = error_string + ' AND Must be maximum '+_qMax+' items'; } if(_value < _qMin){ error_found = true; if(error_string == '')error_string = 'Must be minimum '+_qMin+' items'; else error_string = error_string + ' AND Must be minimum '+_qMin+' items'; } if(_value % _qInc !==0){ error_found = true; if(error_string == '')error_string = 'Must be multiple of '+_qInc; else error_string = error_string + ' AND Must be multiple of '+_qInc; } } if(_value>0){ _queue.unshift({ quantity:_value, id: $this.find('input').attr('data-qc-variant') }); } if(error_string != ''){ $this.after(''+error_string+'
0){ any_item_added = true; var item = atc_queue.pop(); $.ajax({ type: 'POST', url: '/cart/add.js', cache: false, dataType: 'json', data: item, success: function(result){ _moveAlong(atc_queue); }, error: function(err){ console.error(err); if(err.status && err.status===422){ _moveAlong(atc_queue); } } }); }else{ if(any_item_added)_this.parents('.moq_atc').find('.moq_success_msg').show(); setTimeout(function(){_this.parents('.moq_atc').find('.moq_success_msg').hide();},5000) _this.find('[data-waio-atc-text]').show(); _this.find('.moq_loading-spinner').hide(); } } if(!error_found){ _moveAlong(_queue); }else{ _this.find('.moq_loading-spinner').hide(); } }) } // Add to cart button event without variant table is enable function without_table_addToCart_event(moq_product,config_param,variant){ $('[name="moq_addToCart"]').on('click',function(e){ e.preventDefault(); e.stopImmediatePropagation(); e.stopPropagation(); var _this = $(this); _this.find('.moq_loading-spinner').show(); _this.find('[data-waio-atc-text]').hide(); var qty_div = _this.parents(_this.attr('parent_select')).find('.waio_qty-input'); var _qMin = parseInt(qty_div.attr('data-min')), _qMax = parseInt(qty_div.attr('data-max')), _qInc = parseInt(qty_div.attr('data-inc')); var _fLavel = qty_div.attr('data-method'); var template = qty_div.attr('template'); var error_found = false; var $input = _this.parents(_this.attr('parent_select')).find('.input_moq'); var qty = $input.val(); var error_string = ''; if(qty > _qMax && _qMax != 0){ error_found = true; if(error_string == '')error_string = 'You cannot buy more than '+_qMax+' items'; else error_string = error_string + ' AND You cannot buy more than '+_qMax+' items'; } if(qty < _qMin){ if(_fLavel != 'selected_product_level' && _fLavel != "product_level"){ error_found = true; if(error_string == '')error_string = 'You cannot buy less than '+_qMin+' items'; else error_string = error_string + ' AND You cannot buy less than '+_qMin+' items'; } } if(qty%_qInc !==0){ if(_fLavel != 'selected_product_level' && _fLavel != "product_level"){ error_found = true; if(error_string == '')error_string = 'All quantities must be multiple of '+_qInc; else error_string = error_string + ' AND All quantities must be multiple of '+_qInc; } } _this.siblings('.waio__ErrorMsg').remove(); if(!error_found){ if(template != 'page'){ _this.parents(_this.attr('parent_select')).find(config_param.add_to_cart).trigger('click'); }else{ _this.parents(_this.attr('parent_select')).find(config_param.add_to_cart+'[type="submit"]').trigger('click'); } }else{ _this.after(''+error_string+'
0 && qc_ctrl[0].selector_for_individual_variant){ if(qc_ctrl[0].selector_for_individual_variant && moq_product.id == qc_ctrl[0].productId){ table_rules = qc_ctrl; var variant_table_html = ''; if(qc_ctrl.length > 1){ variant_table_html = prepare_variant_table_html(table_rules,moq_product,config_param,'merge_rules'); }else{ variant_table_html = prepare_variant_table_html(table_rules,moq_product,config_param,'single_rule'); } if(variant_table_html != ''){ // append add to cart button if(config_param.add_to_cart != '' && config_param.parent_product_selector != ''){ append_add_to_cart_btn(moq_product,config_param,variant,true); $('.wsaio_'+moq_product.id).parents(config_param.parent_product_selector).find(config_param.removeableSelector_qty).hide(); $('.wsaio_'+moq_product.id).parents(config_param.parent_product_selector).find(config_param.removeableSelector_variants).hide(); Table_addToCart_event(moq_product,config_param,variant); }else{ waio_moq_log('waio moq some selectors missing 1') } // append qty html if(config_param.add_to_cart != '' && config_param.parent_product_selector != ''){ $('.wsaio_'+moq_product.id).parents(config_param.parent_product_selector).find('.moq_atc').siblings('.waio__qc-table,.waio_moq_qty').remove(); $('.wsaio_'+moq_product.id).parents(config_param.parent_product_selector).find('.moq_atc').before(variant_table_html); $('.wsaio_'+moq_product.id).parents(config_param.parent_product_selector).find(config_param.removeableSelector_qty).hide(); qty_function(); }else{ waio_moq_log('waio moq some selectors missing 2') } } } }else{ var rule = qc_ctrl[0] var variant = moq_product.variants.find(function(x){return x.id==_selected_variant_id}); var variant_inventory_info = default_product_variant.find(function(x){return x.variant_id== variant.id}); config_param['variant_inventory_info'] = variant_inventory_info; var Applicable = qc_ctrl.find(function(x){return x.applies_to!="variants"||(x.variants && x.variants.findIndex(function(y){return parseInt(y.id)===parseInt(variant.id)})!==-1)}); if(typeof Applicable !== "undefined"){ // append add to cart button if(config_param.add_to_cart != '' && config_param.parent_product_selector != ''){ append_add_to_cart_btn(moq_product,config_param,variant,Applicable.selector_for_individual_variant); without_table_addToCart_event(moq_product,config_param,variant); }else{ waio_moq_log('waio moq some selectors missing 1') } var qty_html = prepare_individual_qty_html(config_param,Applicable,variant,moq_product); // append qty html if(config_param.add_to_cart != '' && config_param.parent_product_selector != ''){ if(config_param.template == 'page'){ if($(config_param.parent_product_selector+'[vid="'+variant.id+'"]').find(config_param.removeableSelector_qty).css('display') != 'none'){ $(config_param.parent_product_selector+'[vid="'+variant.id+'"]').find(config_param.removeableSelector_qty).siblings('.waio_moq_qty').remove(); $(config_param.parent_product_selector+'[vid="'+variant.id+'"]').find(config_param.removeableSelector_qty).before(qty_html); $(config_param.parent_product_selector+'[vid="'+variant.id+'"]').find(config_param.removeableSelector_qty).hide(); } }else{ $('.wsaio_'+moq_product.id).parents(config_param.parent_product_selector).find('.moq_atc').siblings('.waio_moq_qty,.waio__qc-table').remove(); $('.wsaio_'+moq_product.id).parents(config_param.parent_product_selector).find('.moq_atc').before(qty_html); $('.wsaio_'+moq_product.id).parents(config_param.parent_product_selector).find(config_param.removeableSelector_qty).hide(); } qty_function(); }else{ waio_moq_log('waio moq some selectors missing 2') } } } } }else{ $('.wsaio_'+config.productId).parents(config.parent_product_selector).find(config.add_to_cart).show(); $('.wsaio_'+config.productId).parents(config.parent_product_selector).find('.waio_moq_qty,.moq_atc').remove(); $('.wsaio_'+config.productId).parents(config.parent_product_selector).find(config.removeableSelector_qty).show(); $('.shopify-payment-button__button').removeClass('checkout-disabled').removeAttr('disabled') } }) } // ============================================================================================================ // ---------------------------------------------------------------------------------------- // ============================for cart page function start==================================================== WSAIO.quantityControllers = function(config, callback){ if("undefined"===typeof config)var config={}; null===config&&(config={}); if(config.productHandle){ WSAIO.getProductByHandle(config.productHandle, function(e,product){ if(product){ config.productId = product.id; if(!config.variantId){ try{ config.variantId = product.variants[0].id; }catch(e){log(e)} } } WSAIO.quantity_controllers(config, callback); }); } else{ WSAIO.quantity_controllers(config, callback); } } function quantityControls__carts(config, callback){ if("undefined"===typeof config)var config={}; null===config&&(config={}); var elementSelector = config.elementSelector || ".responsive-table__row"; var variantIdAttribute = config.variantIdAttribute || "data-variant-id"; var productIdAttribute = config.productIdAttribute || "data-product-id"; if($(elementSelector).length > 0){ $(elementSelector).each(function(e,a){ var $variantId = $(this).attr(variantIdAttribute); var $productId = $(this).attr(productIdAttribute); config.variantId = $variantId; if($productId){ config.productId = $productId; } WSAIO.quantityControllers(config, function(e,quantity_controls){ if(e){ log(e); callback(e, null); } else{ callback(null, { quantity_controls: quantity_controls, elementSelector: "["+variantIdAttribute+"='"+$variantId+"']" }); }; }); }); } else{ callback("elementSelector could not found any nodeElement. Config elementSelector for Quantity controller to work on cart template.", null); } } WSAIO.cartQuantityControllers = function(){ WSAIO.loadcartQuantityControllers() } WSAIO.loadcartQuantityControllers = function(config,callback){ quantityControls__carts(config,callback) } $(document).ready(function(){ if(typeof WSAIO != 'undefined'){ WSAIO.loadcartQuantityControllers = function(config,callback){ if("undefined"===typeof config)var config={}; window.MOQ_alert = ''; window.disable_checkout_MOQ = false; null===config&&(config={}); var _errorMsg = ''; var _limitsUl = $('Order requirements not met.
- '+_limitsUl.html()+'
Order requirements not met.
- '+_limitsUl.html()+'