'use strict';
(function($) {
var woosc_timer = 0;
// ready
$(function() {
woosc_load_color();
woosc_change_count('first');
woosc_check_buttons();
woosc_hide_empty();
woosc_hide_similarities();
woosc_highlight_differences();
if (woosc_vars.open_bar === 'yes') {
woosc_load_data('bar');
woosc_open_bar();
}
$('.woosc-settings-fields').sortable({
handle: '.move',
update: function(event, ui) {
woosc_save_settings();
},
});
if (woosc_vars.button_action === 'show_message') {
$.notiny.addTheme('woosc', {
notification_class: 'notiny-theme-woosc',
});
}
woosc_quick_table();
});
// resize
$(window).on('resize', function() {
woosc_quick_table();
});
// quick view
$(document).
on('click touch', '.woosc_table .woosq-btn, .woosc_table .woosq-link',
function(e) {
e.preventDefault();
woosc_close();
});
$(document).
on('click touch', '.woosc-sidebar .woosq-btn, .woosc-sidebar .woosq-link',
function(e) {
e.preventDefault();
woosc_close_sidebar();
});
// settings
$(document).on('click touch', '.woosc-table-settings', function(e) {
e.preventDefault();
$('.woosc-settings').toggleClass('open');
});
$(document).on('click touch', '.woosc-bar-print', function(e) {
e.preventDefault();
$.print('#woosc-area');
});
$(document).on('keydown', function(e) {
if ((e.ctrlKey == true || e.metaKey == true) && (e.which == '80')) {
//ctrl+p or command+p
if ($('.woosc-area').hasClass('woosc-area-open-table')) {
e.preventDefault();
$.print('#woosc-area');
}
}
});
$(document).on('click touch', '.woosc-bar-share', function(e) {
e.preventDefault();
$('.woosc-share').toggleClass('open');
$('.woosc-share-content').addClass('woosc-loading');
var data = {
action: 'woosc_share',
};
jQuery.post(woosc_vars.ajax_url, data, function(response) {
$('.woosc-share-content').html(response).removeClass('woosc-loading');
});
});
// copy link
$(document).
on('click touch', '#woosc_copy_url, #woosc_copy_btn', function(e) {
e.preventDefault();
woosc_copy_to_clipboard('#woosc_copy_url');
});
// search
$(document).on('click touch', '.woosc-bar-search', function(e) {
e.preventDefault();
$('.woosc-search').toggleClass('open');
if ($('.woosc-search-result').text() === '') {
if (woosc_timer != null) {
clearTimeout(woosc_timer);
}
woosc_timer = setTimeout(woosc_search, 300);
return false;
}
});
// popup
$(document).on('click touch', '.woosc-popup', function(e) {
if ($(e.target).closest('.woosc-popup-content').length === 0) {
$(this).toggleClass('open');
}
});
$(document).on('keyup', '#woosc_search_input', function() {
if ($('#woosc_search_input').val() !== '') {
if (woosc_timer != null) {
clearTimeout(woosc_timer);
}
woosc_timer = setTimeout(woosc_search, 300);
return false;
}
});
$(document).on('click touch', '.woosc-item-add', function(e) {
e.preventDefault();
var product_id = $(this).attr('data-id');
$('.woosc-search').toggleClass('open');
woosc_add_product(product_id);
woosc_load_data('table');
woosc_open_table();
});
$(document).on('click touch', '.woosc-popup-close', function(e) {
e.preventDefault();
$(this).closest('.woosc-popup').toggleClass('open');
});
// woovr
$(document).on('woovr_selected', function(e, selected) {
var id = selected.attr('data-id');
var pid = selected.attr('data-pid');
if (id > 0) {
$('.woosc-btn-' + pid).
removeClass('woosc-btn-added woosc-added').
attr('data-id', id);
} else {
$('.woosc-btn-' + pid).
removeClass('woosc-btn-added woosc-added').
attr('data-id', pid);
}
});
// found variation
$(document).on('found_variation', function(e, t) {
var product_id = $(e['target']).attr('data-product_id');
$('.woosc-btn-' + product_id).
removeClass('woosc-btn-added woosc-added').
attr('data-id', t.variation_id);
$('.woosc-btn-' + product_id + ':not(.woosc-btn-has-icon)').
html(woosc_vars.button_text);
$('.woosc-btn-has-icon.woosc-btn-' + product_id).
find('.woosc-btn-icon').
removeClass(woosc_vars.button_added_icon).
addClass(woosc_vars.button_normal_icon);
$('.woosc-btn-has-icon.woosc-btn-' + product_id).
find('.woosc-btn-text').
html(woosc_vars.button_text);
});
// reset data
$(document).on('reset_data', function(e) {
var product_id = $(e['target']).attr('data-product_id');
$('.woosc-btn-' + product_id).
removeClass('woosc-btn-added woosc-added').
attr('data-id', product_id);
$('.woosc-btn-' + product_id + ':not(.woosc-btn-has-icon)').
html(woosc_vars.button_text);
$('.woosc-btn-has-icon.woosc-btn-' + product_id).
find('.woosc-btn-icon').
removeClass(woosc_vars.button_added_icon).
addClass(woosc_vars.button_normal_icon);
$('.woosc-btn-has-icon.woosc-btn-' + product_id).
find('.woosc-btn-text').
html(woosc_vars.button_text);
});
// remove all
$(document).on('click touch', '.woosc-bar-remove', function(e) {
e.preventDefault();
var r = confirm(woosc_vars.remove_all);
if (r == true) {
woosc_remove_product('all');
woosc_load_data('table');
}
});
// add
$(document).on('click touch', '.woosc-btn', function(e) {
e.preventDefault();
var $this = $(this);
var id = $this.attr('data-id');
var pid = $this.attr('data-pid');
var product_id = $this.attr('data-product_id');
var product_name = $this.attr('data-product_name');
var product_image = $this.attr('data-product_image');
if (typeof pid !== typeof undefined && pid !== false) {
id = pid;
}
if (typeof product_id !== typeof undefined && product_id !== false) {
id = product_id;
}
$this.addClass('');
if ($this.hasClass('woosc-btn-added woosc-added')) {
if (woosc_vars.click_again === 'yes') {
// remove
woosc_remove_product(id);
if (woosc_vars.button_action === 'show_message') {
$.notiny({
theme: 'woosc',
position: woosc_vars.message_position,
image: product_image,
text: woosc_vars.message_removed.replace('{name}',
'' + product_name + ''),
});
}
} else {
if (woosc_vars.button_action === 'show_message') {
$.notiny({
theme: 'woosc',
position: woosc_vars.message_position,
image: product_image,
text: woosc_vars.message_exists.replace('{name}',
'' + product_name + ''),
});
}
}
} else {
$this.addClass('woosc-btn-adding woosc-adding');
woosc_add_product(id);
if (woosc_vars.button_action === 'show_message') {
$.notiny({
theme: 'woosc',
position: woosc_vars.message_position,
image: product_image,
text: woosc_vars.message_added.replace('{name}',
'' + product_name + ''),
});
}
}
if (woosc_vars.button_action === 'show_bar') {
// show bar only
woosc_load_data('bar');
woosc_open_bar();
}
if (woosc_vars.button_action === 'show_table') {
// show bar & table
woosc_load_data('table');
woosc_open_bar();
woosc_open_table();
}
if ((woosc_vars.button_action === 'show_message') ||
(woosc_vars.button_action === 'none')) {
// load bar again
if ($('.woosc-bar').hasClass('woosc-bar-open')) {
woosc_load_data('bar');
}
}
if (woosc_vars.button_action === 'show_sidebar') {
woosc_load_data('sidebar');
woosc_open_sidebar();
}
});
// remove on popup
$(document).
on('click touch',
'#woosc-area .woosc-bar-item-remove, #woosc-area .woosc-remove',
function(e) {
e.preventDefault();
var product_id = $(this).attr('data-id');
$(this).parent().addClass('removing');
woosc_remove_product(product_id);
woosc_load_data('table');
woosc_check_buttons();
});
// remove on page
$(document).
on('click touch', '.woosc-page .woosc-remove',
function(e) {
e.preventDefault();
var product_id = $(this).attr('data-id');
woosc_remove_product(product_id);
location.reload();
});
// remove on sidebar
$(document).on('click touch', '.woosc-sidebar-item-remove', function(e) {
e.preventDefault();
var product_id = $(this).closest('.woosc-sidebar-item').attr('data-id');
woosc_remove_product(product_id);
$(this).closest('.woosc-sidebar-item').slideUp();
woosc_check_buttons();
});
// bar button
$(document).on('click touch', '.woosc-bar-btn', function(e) {
e.preventDefault();
if (!$('.woosc-table-items').hasClass('woosc-table-items-loaded')) {
woosc_load_data('table');
}
woosc_toggle_table();
});
// close
$(document).on('click touch', function(e) {
if ((
(woosc_vars.click_outside === 'yes') ||
((woosc_vars.click_outside === 'yes_empty') &&
(parseInt($('.woosc-bar').attr('data-count')) === 0))
) && (
$(e.target).closest('.wpc_compare_count').length === 0
) && (
$(e.target).closest('.woosc-popup').length === 0
) && (
$(e.target).closest('.woosc-btn').length === 0
) && (
$(e.target).closest('.woosc-table').length === 0
) && (
$(e.target).closest('.woosc-bar').length === 0
) && (
$(e.target).closest('.woosc-menu-item a').length === 0
) && (
$(e.target).closest('.woosc-menu a').length === 0
) && (
$(e.target).closest('.woosc-sidebar-btn').length === 0
) && (
(
woosc_vars.open_button === ''
) || (
$(e.target).closest(woosc_vars.open_button).length === 0
)
)) {
woosc_close();
}
});
// close sidebar
$(document).on('click touch', '.woosc-area-open-sidebar', function(e) {
if (($(e.target).closest('.woosc-sidebar').length === 0)) {
woosc_close_sidebar();
}
});
$(document).
on('click touch', '.woosc-sidebar-close, .woosc-sidebar-continue',
function(e) {
woosc_close_sidebar();
});
// let compare
$(document).on('click touch', '.woosc-sidebar-btn', function(e) {
e.preventDefault();
woosc_close_sidebar();
woosc_toggle();
});
// close
$(document).on('click touch', '#woosc-table-close', function(e) {
e.preventDefault();
woosc_close_table();
});
// change settings
$(document).
on('change', '.woosc-settings-field, .woosc-settings-tool', function() {
woosc_save_settings();
});
// open button
if (woosc_vars.open_button !== '') {
$(document).on('click touch', woosc_vars.open_button, function(e) {
e.preventDefault();
if (woosc_vars.open_button_action === 'open_page') {
// open page
if ((woosc_vars.page_url !== '') && (woosc_vars.page_url !== '#')) {
window.location.href = woosc_vars.page_url;
}
} else {
if (woosc_vars.open_button_action === 'open_popup') {
// open compare popup
if (!$('.woosc-table-items').hasClass('woosc-table-items-loaded')) {
woosc_load_data('table');
}
woosc_open_bar();
woosc_open_table();
}
if (woosc_vars.open_button_action === 'open_sidebar') {
// open sidebar
if (!$('.woosc-sidebar-items').
hasClass('woosc-sidebar-items-loaded')) {
woosc_load_data('sidebar');
}
woosc_open_sidebar();
}
}
});
}
// menu item
$(document).
on('click touch', '.woosc-menu-item a, .woosc-menu a', function(e) {
if (woosc_vars.menu_action === 'open_popup') {
e.preventDefault();
// open compare popup
if (!$('.woosc-table-items').hasClass('woosc-table-items-loaded')) {
woosc_load_data('table');
}
woosc_open_bar();
woosc_open_table();
}
if (woosc_vars.menu_action === 'open_sidebar') {
e.preventDefault();
// open sidebar
if (!$('.woosc-sidebar-items').
hasClass('woosc-sidebar-items-loaded')) {
woosc_load_data('sidebar');
}
woosc_open_sidebar();
}
});
function woosc_search() {
$('.woosc-search-result').html('').addClass('woosc-loading');
// ajax search product
woosc_timer = null;
var data = {
action: 'woosc_search',
keyword: $('#woosc_search_input').val(),
};
$.post(woosc_vars.ajax_url, data, function(response) {
$('.woosc-search-result').
html(response).
removeClass('woosc-loading');
});
}
function woosc_set_cookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (
exdays * 24 * 60 * 60 * 1000
));
var expires = 'expires=' + d.toUTCString();
document.cookie = cname + '=' + cvalue + '; ' + expires + '; path=/';
}
function woosc_get_cookie(cname) {
var name = cname + '=';
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return decodeURIComponent(c.substring(name.length, c.length));
}
}
return '';
}
function woosc_get_products() {
var cookie_products = woosc_get_cookie_products();
if (woosc_get_cookie(cookie_products) != '') {
return woosc_get_cookie(cookie_products);
} else {
return '';
}
}
function woosc_save_products() {
var cookie_products = woosc_get_cookie_products();
var products = [];
$('.woosc-bar-item').each(function() {
var pid = $(this).attr('data-id');
if (pid !== '') {
products.push(pid);
}
});
var products_str = products.join();
woosc_set_cookie(cookie_products, products_str, 7);
woosc_load_data('table');
}
function woosc_save_settings() {
var fields = [];
var settings = [];
var cookie_fields = 'woosc_fields_' + woosc_vars.hash;
var cookie_settings = 'woosc_settings_' + woosc_vars.hash;
if (woosc_vars.user_id !== '') {
cookie_fields += '_' + woosc_vars.user_id;
cookie_settings += '_' + woosc_vars.user_id;
}
// fields
$('.woosc-settings-field').each(function() {
var _val = $(this).val();
if ($(this).prop('checked')) {
fields.push(_val);
$('.woosc_table .tr-' + _val).removeClass('tr-hide');
} else {
$('.woosc_table .tr-' + _val).addClass('tr-hide');
}
});
// tools
$('.woosc-settings-tool').each(function() {
var _val = $(this).val();
if ($(this).prop('checked')) {
settings.push(_val);
}
});
woosc_set_cookie(cookie_fields, fields.join(','), 7);
woosc_set_cookie(cookie_settings, settings.join(','), 7);
woosc_load_data('table');
}
function woosc_add_product(product_id) {
var count;
var limit = false;
var limit_notice = woosc_vars.limit_notice;
var cookie_products = woosc_get_cookie_products();
if (woosc_get_cookie(cookie_products) !== '') {
var products = woosc_get_cookie(cookie_products).split(',');
if (products.length < woosc_vars.limit) {
products = $.grep(products, function(value) {
return value != product_id;
});
if (woosc_vars.adding === 'append') {
products.push(product_id);
} else {
products.unshift(product_id);
}
var products_str = products.join();
woosc_set_cookie(cookie_products, products_str, 7);
} else {
limit = true;
limit_notice = limit_notice.replace('{limit}', woosc_vars.limit);
}
count = products.length;
} else {
woosc_set_cookie(cookie_products, product_id, 7);
count = 1;
}
woosc_change_count(count);
$(document.body).trigger('woosc_added', [count]);
if (limit) {
$('.woosc-btn[data-id="' + product_id + '"]').
removeClass('woosc-btn-adding woosc-adding');
alert(limit_notice);
} else {
$('.woosc-btn[data-id="' + product_id + '"]').
removeClass('woosc-btn-adding woosc-adding').
addClass('woosc-btn-added woosc-added');
$('.woosc-btn[data-id="' + product_id + '"]:not(.woosc-btn-has-icon)').
html(woosc_vars.button_text_added);
$('.woosc-btn-has-icon[data-id="' + product_id + '"]').
find('.woosc-btn-icon').
removeClass(woosc_vars.button_normal_icon).
addClass(woosc_vars.button_added_icon);
$('.woosc-btn-has-icon[data-id="' + product_id + '"]').
find('.woosc-btn-text').
html(woosc_vars.button_text_added);
}
}
function woosc_remove_product(product_id) {
var count = 0;
var cookie_products = woosc_get_cookie_products();
if (product_id !== 'all') {
// remove one
if (woosc_get_cookie(cookie_products) != '') {
var products = woosc_get_cookie(cookie_products).split(',');
products = $.grep(products, function(value) {
return value != product_id;
});
var products_str = products.join();
woosc_set_cookie(cookie_products, products_str, 7);
count = products.length;
}
$('.woosc-btn[data-id="' + product_id + '"]').
removeClass('woosc-btn-added woosc-added');
$('.woosc-btn[data-id="' + product_id + '"]:not(.woosc-btn-has-icon)').
html(woosc_vars.button_text);
$('.woosc-btn-has-icon[data-id="' + product_id + '"]').
find('.woosc-btn-icon').
removeClass(woosc_vars.button_added_icon).
addClass(woosc_vars.button_normal_icon);
$('.woosc-btn-has-icon[data-id="' + product_id + '"]').
find('.woosc-btn-text').
html(woosc_vars.button_text);
} else {
// remove all
if (woosc_get_cookie(cookie_products) != '') {
woosc_set_cookie(cookie_products, '', 7);
count = 0;
}
$('.woosc-btn').removeClass('woosc-btn-added woosc-added');
$('.woosc-btn:not(.woosc-btn-has-icon)').html(woosc_vars.button_text);
$('.woosc-btn-has-icon').
find('.woosc-btn-icon').
removeClass(woosc_vars.button_added_icon).
addClass(woosc_vars.button_normal_icon);
$('.woosc-btn-has-icon').
find('.woosc-btn-text').
html(woosc_vars.button_text);
}
woosc_change_count(count);
$(document.body).trigger('woosc_removed', [count]);
}
function woosc_check_buttons() {
var cookie_products = woosc_get_cookie_products();
if (woosc_get_cookie(cookie_products) != '') {
var products = woosc_get_cookie(cookie_products).split(',');
$('.woosc-btn').removeClass('woosc-btn-added woosc-added');
$('.woosc-btn:not(.woosc-btn-has-icon)').html(woosc_vars.button_text);
$('.woosc-btn.woosc-btn-has-icon').
find('.woosc-btn-icon').
removeClass(woosc_vars.button_added_icon).
addClass(woosc_vars.button_normal_icon);
$('.woosc-btn.woosc-btn-has-icon').
find('.woosc-btn-text').
html(woosc_vars.button_text);
products.forEach(function(entry) {
$('.woosc-btn-' + entry).addClass('woosc-btn-added woosc-added');
$('.woosc-btn-' + entry + ':not(.woosc-btn-has-icon)').
html(woosc_vars.button_text_added);
$('.woosc-btn-has-icon.woosc-btn-' + entry).
find('.woosc-btn-icon').
removeClass(woosc_vars.button_normal_icon).
addClass(woosc_vars.button_added_icon);
$('.woosc-btn-has-icon.woosc-btn-' + entry).
find('.woosc-btn-text').
html(woosc_vars.button_text_added);
});
}
}
function woosc_load_data(get_data) {
var data = {
action: 'woosc_load_data',
get_data: get_data,
};
if (get_data === 'table') {
$('.woosc-table-inner').addClass('woosc-loading');
}
if (get_data === 'sidebar') {
$('.woosc-sidebar').addClass('woosc-loading');
}
$.post(woosc_vars.ajax_url, data, function(response) {
if (get_data === 'bar' || get_data === 'table') {
// load bar
$('.woosc-bar-items').
html(response.bar).
addClass('woosc-bar-items-loaded');
$(document.body).trigger('woosc_bar_loaded');
}
if (get_data === 'table') {
// load table
$('.woosc-table-items').
html(response.table).
addClass('woosc-table-items-loaded');
if ($(window).width() >= 768) {
if ((woosc_vars.freeze_column === 'yes') &&
(woosc_vars.freeze_row === 'yes')) {
// freeze row and column
$('#woosc_table').tableHeadFixer({'head': true, left: 1});
} else if (woosc_vars.freeze_column === 'yes') {
// freeze column
$('#woosc_table').tableHeadFixer({'head': false, left: 1});
} else if (woosc_vars.freeze_row === 'yes') {
// freeze row
$('#woosc_table').tableHeadFixer({'head': true});
}
} else {
if (woosc_vars.freeze_row === 'yes') {
// freeze row
$('#woosc_table').tableHeadFixer({'head': true});
}
}
if (woosc_vars.scrollbar === 'yes') {
$('.woosc-table-items').perfectScrollbar({theme: 'wpc'});
}
$('.woosc-table-inner').removeClass('woosc-loading');
woosc_hide_empty();
woosc_hide_similarities();
woosc_highlight_differences();
$(document.body).trigger('woosc_table_loaded');
}
if (get_data === 'sidebar') {
// load sidebar
$('.woosc-sidebar-items').
html(response.sidebar).
addClass('woosc-sidebar-items-loaded');
$('.woosc-sidebar').removeClass('woosc-loading');
if (woosc_vars.scrollbar === 'yes') {
$('.woosc-sidebar-items').perfectScrollbar({theme: 'wpc'});
}
$(document.body).trigger('woosc_sidebar_loaded');
}
});
}
function woosc_quick_table() {
let ww = $(window).width();
if (ww >= 1024) {
$('.woosc-quick-table .woosc_table').
tableHeadFixer({'head': false, left: 2});
}
if (ww >= 768 && ww < 1024) {
$('.woosc-quick-table .woosc_table').
tableHeadFixer({'head': false, left: 1});
}
if (ww < 768) {
$('.woosc-quick-table .woosc_table').
tableHeadFixer({'head': false, left: 0});
}
}
function woosc_open_bar() {
woosc_close_sidebar();
$('#woosc-area').addClass('woosc-area-open-bar');
$('.woosc-bar').addClass('woosc-bar-open');
$('.woosc-bar-items').sortable({
handle: 'img',
update: function(event, ui) {
woosc_save_products();
},
});
$(document.body).trigger('woosc_bar_open');
}
function woosc_close_bar() {
$('#woosc-area').removeClass('woosc-area-open-bar');
$('.woosc-bar').removeClass('woosc-bar-open');
$(document.body).trigger('woosc_bar_close');
}
function woosc_open_sidebar() {
woosc_close_bar();
woosc_close_table();
$('#woosc-area').addClass('woosc-area-open-sidebar');
$('.woosc-sidebar').addClass('woosc-sidebar-open');
$(document.body).trigger('woosc_sidebar_open');
}
function woosc_close_sidebar() {
$('#woosc-area').removeClass('woosc-area-open-sidebar');
$('.woosc-sidebar').removeClass('woosc-sidebar-open');
$(document.body).trigger('woosc_sidebar_close');
}
function woosc_open_table() {
woosc_close_sidebar();
$('#woosc-area').addClass('woosc-area-open-table');
$('.woosc-table').addClass('woosc-table-open');
$('.woosc-bar-btn').addClass('woosc-bar-btn-open');
if (woosc_vars.bar_bubble === 'yes') {
$('.woosc-bar').removeClass('woosc-bar-bubble');
}
$(document.body).trigger('woosc_table_open');
}
function woosc_close_table() {
$('#woosc-area').removeClass('woosc-area-open woosc-area-open-table');
$('.woosc-table').removeClass('woosc-table-open');
$('.woosc-bar-btn').removeClass('woosc-bar-btn-open');
if (woosc_vars.bar_bubble === 'yes') {
$('.woosc-bar').addClass('woosc-bar-bubble');
}
$(document.body).trigger('woosc_table_close');
}
function woosc_toggle_table() {
if ($('.woosc-table').hasClass('woosc-table-open')) {
woosc_close_table();
} else {
woosc_open_table();
}
}
function woosc_open() {
$('#woosc-area').addClass('woosc-area-open');
woosc_load_data('table');
woosc_open_bar();
woosc_open_table();
$(document.body).trigger('woosc_open');
}
function woosc_close() {
$('#woosc-area').removeClass('woosc-area-open');
woosc_close_bar();
woosc_close_table();
$(document.body).trigger('woosc_close');
}
function woosc_toggle() {
if ($('#woosc-area').hasClass('woosc-area-open')) {
woosc_close();
} else {
woosc_open();
}
$(document.body).trigger('woosc_toggle');
}
function woosc_load_color() {
var bg_color = $('#woosc-area').attr('data-bg-color');
var btn_color = $('#woosc-area').attr('data-btn-color');
$('.woosc-table').css('background-color', bg_color);
$('.woosc-bar').css('background-color', bg_color);
$('.woosc-bar-btn').css('background-color', btn_color);
$('.woosc-sidebar-btn').css('background-color', btn_color);
}
function woosc_change_count(count) {
if (count === 'first') {
var products = woosc_get_products();
if (products != '') {
var products_arr = products.split(',');
count = products_arr.length;
} else {
count = 0;
}
}
$('.woosc-menu-item').each(function() {
if ($(this).hasClass('menu-item-type-woosc')) {
$(this).find('.woosc-menu-item-inner').attr('data-count', count);
} else {
$(this).
addClass('menu-item-type-woosc').
find('a').
wrapInner(
'');
}
});
$('#woosc-area').attr('data-count', count);
$('.woosc-bar').attr('data-count', count);
$('.woosc-sidebar-count').html(' (' + count + ')');
$('.woosc-bar-items').removeClass('woosc-bar-items-loaded');
$('.woosc-sidebar-items').removeClass('woosc-sidebar-items-loaded');
$('.woosc-table-items').removeClass('woosc-table-items-loaded');
$(document.body).trigger('woosc_change_count', [count]);
}
function woosc_hide_empty() {
$('.woosc_table > tbody > tr').each(function() {
var $tr = $(this);
var _td = 0;
var _empty = true;
$tr.children('td').each(function() {
if ((_td > 0) && ($(this).html().length > 0)) {
_empty = false;
return false;
}
_td++;
});
if (_empty) {
$tr.addClass('tr-empty').remove();
}
});
}
function woosc_highlight_differences() {
if ($('#woosc_highlight_differences').prop('checked')) {
$('.woosc_table > tbody > tr').each(function() {
var $tr = $(this);
var _td = 0;
var _val = $(this).children('td').eq(1).html();
var _differences = false;
$tr.children('td:not(.td-placeholder)').each(function() {
if ((_td > 1) && ($(this).html() !== _val)) {
_differences = true;
return false;
}
_td++;
});
if (_differences) {
$tr.addClass('tr-highlight');
}
});
} else {
$('.woosc_table tr').removeClass('tr-highlight');
}
}
function woosc_hide_similarities() {
if ($('#woosc_hide_similarities').prop('checked')) {
$('.woosc_table > tbody > tr').each(function() {
var $tr = $(this);
var _td = 0;
var _val = $(this).children('td').eq(1).html();
var _similarities = true;
$tr.children('td:not(.td-placeholder)').each(function() {
if ((_td > 1) && ($(this).html() !== _val)) {
_similarities = false;
return false;
}
_td++;
});
if (_similarities) {
$tr.addClass('tr-similar');
}
});
} else {
$('.woosc_table tr').removeClass('tr-similar');
}
}
function woosc_copy_to_clipboard(el) {
// resolve the element
el = (typeof el === 'string') ? document.querySelector(el) : el;
// handle iOS as a special case
if (navigator.userAgent.match(/ipad|ipod|iphone/i)) {
// save current contentEditable/readOnly status
var editable = el.contentEditable;
var readOnly = el.readOnly;
// convert to editable with readonly to stop iOS keyboard opening
el.contentEditable = true;
el.readOnly = true;
// create a selectable range
var range = document.createRange();
range.selectNodeContents(el);
// select the range
var selection = window.getSelection();
selection.removeAllRanges();
selection.addRange(range);
el.setSelectionRange(0, 999999);
// restore contentEditable/readOnly to original state
el.contentEditable = editable;
el.readOnly = readOnly;
} else {
el.select();
}
// execute copy command
document.execCommand('copy');
// alert
alert(woosc_vars.copied_text.replace('%s', el.value));
}
function woosc_get_cookie_products() {
return woosc_vars.user_id !== '' ?
'woosc_products_' + woosc_vars.user_id :
'woosc_products';
}
})(jQuery);