// source --> https://vardobatvarv.ax/wp-content/plugins/woo-product-barcode-label-printing-premium/js/scripts-actions.js?ver=1.2.9 
/**
 * @package 	WPBLP_NAME
 * @version 	WPBLP_VERSION
 *
 * Custom JS Actions Scripts
 *
 **/


jQuery(document).ready(function (e) {
	"use strict";
	
	var t = new Map,
		t_l = e('#wpblp_support_link').parent();
	
	if (typeof t_l != 'undefined') {
		t_l.prop('target', '_blank')
	}
	
	e(".wpblp_button_print").on("click", function () {
		window.print()
	}),
		e(".wpblp_button_back").on("click", function () {
			history.go(-1)
		}),
		e("#wpblp_additional_button_set_quantity").on("click", function () {
			e(".wpblp_select_products_box input.wpblp_product_quantity").each(function () {
				e(this).val(e(this).attr("data-quantity"));
				e(this).attr("data-sel-quantity", e(this).attr("data-quantity"));
			})
		}),
		e(".wpblp_select_products_box input.wpblp_product_quantity").on('input', function () {
			var pq_sel_val = e(this).val();
			e(this).attr("data-sel-quantity", pq_sel_val);
		}),
		e('body').on("click", ".wpblp_select_products_box a.wpblp_stock", function () {
			e(this).siblings('input.wpblp_product_quantity').val(e(this).siblings('input.wpblp_product_quantity').attr("data-quantity")),
				e(this).siblings('input.wpblp_product_quantity').attr("data-sel-quantity", e(this).siblings('input.wpblp_product_quantity').attr("data-quantity"))
		}),
		e("#woolabel_reset_button").on("click", function () {
			if (e(this).hasClass("fullreset")) {
				t.clear(),
					wpblp_update_selected_items(),
					e("#wpblp_date_from_field").val(''),
					e("#wpblp_date_to_field").val('').change(),
					e(this).removeClass("fullreset");
			} else {
				t.clear(),
					wpblp_update_selected_items()
			}
		}),
		window.wpblp_select_all = function () {
			var p = document.querySelectorAll(".wpblp_select_list > .wpblp_select_products_box");
			
			[].forEach.call(p, function (p) {
				var item = e(p), item_button = item.find(".wpblp_sel_icon"), item_num = item.attr("data-wpblp_num");
				
				item_button.addClass("wpblp_selected");
				t.set(item_num, item);
			})
		},
		e("#wpblp_additional_select_all").on("click", function () {
			var p = e(this),
				_ = document.querySelectorAll(".wpblp_select_list > .wpblp_select_products_box");
			
			[].forEach.call(_, function (_) {
				var item = e(_),
					item_button = item.find(".wpblp_sel_icon"),
					item_num = item.attr("data-wpblp_num");
				
				if (p.hasClass("wpblp_active")) {
					item_button.removeClass("wpblp_selected");
					t.delete(item_num);
				} else {
					item_button.addClass("wpblp_selected");
					t.set(item_num, item);
				}
			});
			
			if (p.hasClass("wpblp_active")) {
				p.removeClass("wpblp_active wpblp_red");
				p.addClass("wpblp_green");
			} else {
				p.addClass("wpblp_active wpblp_red");
				p.removeClass("wpblp_green")
			}
		}),
		e("#woolabel_available_24_generate_button").on("click", function () {
			// Yesterday Date
			var av_24i = new Date;
			av_24i.setDate(av_24i.getDate() - 1);
			var av_24o = ("0" + av_24i.getDate()).slice(-2),
				av_24g = ("0" + (av_24i.getMonth() + 1)).slice(-2),
				av_24n = av_24i.getFullYear() + "-" + av_24g + "-" + av_24o;
			
			e("#wpblp_date_from_field").val(av_24n).change();
			e("#woolabel_reset_button").addClass('fullreset');
		}),
		e(document).on("click", ".wpblp_sel_icon", function () {
			var p = e(this),
				_ = p.parent(".wpblp_select_products_box"),
				l = _.attr("data-wpblp_num");
			p.hasClass("wpblp_selected") ? (p.removeClass("wpblp_selected"), t.delete(l)) : (p.addClass("wpblp_selected"), t.set(l, _))
		}),
		e("#wpblp_additional_button_selected").on("click", function () {
			var p = e("#wpblp_filter_form"),
				_ = e("#wpblp_select_list"),
				l = e("#wpblp_ajax_load_more"),
				s = e(this),
				i = "";
			
			if (s.hasClass("wpblp_active")) {
				s.removeClass("wpblp_active"),
					l.text(wpblp.load_more_btn_text),
					l.addClass("wpblp_disabled"),
					_.removeClass("wpblp_select_list_draggable"),
					e.ajax({
						url: wpblp.ajaxurl,
						data: p.serialize() + "&wpblp_posts_per_page=" + p.attr("data-ppp") + "&wpblp_products_status=" + p.attr("data-ps"),
						type: p.attr("method"),
						beforeSend: function (e) {
							l.addClass("wpblp_loading")
						},
						success: function (e) {
							e.length ? (_.append(e), l.removeClass("wpblp_disabled")) : (_.html(""), l.addClass("wpblp_disabled"), l.text(wpblp.no_more_btn_text)), l.removeClass("wpblp_loading")
						},
						error: function (e) {
							l.removeClass("wpblp_loading")
						}
					})
			} else {
				s.addClass("wpblp_active"),
					t.forEach(function (e, t, p) {
						i += e.prop("outerHTML")
					}),
					_.html(i),
					_.addClass("wpblp_select_list_draggable"),
					e(".wpblp_select_products_box input.wpblp_product_quantity").each(function () {
						e(this).val(e(this).attr("data-sel-quantity"))
					}),
					e(".wpblp_select_list_draggable").sortable({
						items: "> li",
						connectWith: ".wpblp_select_list_draggable",
						update: function (p, _) {
							var l = new Map,
								s = e(this).sortable("toArray", {
									attribute: "data-wpblp_num"
								});
							e.each(s, function (e, p) {
								l.set(parseInt(p), t.get(parseInt(p)))
							}),
								t = l
						}
					})
			}
		}),
		window.wpblp_update_selected_items = function () {
			var current_items = document.querySelectorAll(".wpblp_select_list > .wpblp_select_products_box");
			
			[].forEach.call(current_items, function (p) {
				var current_item = e(p),
					current_item_id = current_item.attr("data-wpblp_num"),
					sel_btn = current_item.find(".wpblp_sel_icon");
				
				if (t.has(current_item_id)) {
					sel_btn.addClass("wpblp_selected")
				} else {
					sel_btn.removeClass("wpblp_selected")
				}
			})
		},
		e("#wpblp_select_products_form").submit(function () {
			if (0 != t.size) {
				var p = [];
				
				t.forEach(function (e, t, _) {
					p.push(t)
				}),
					e("#wpblp_selected_products").val(p)
			}
		})
});