358 lines
14 KiB
JavaScript
358 lines
14 KiB
JavaScript
/**
|
|
* Last updated: 20/04/2016
|
|
*/
|
|
|
|
jQuery(document).ready(function($) {
|
|
var $body = $('body');
|
|
|
|
(function() {
|
|
$('.sf-menu, .fansub-superfish-menu > ul').each(function() {
|
|
var $element = $(this),
|
|
options = {
|
|
hoverClass: 'sf-hover',
|
|
delay: 100,
|
|
cssArrows: false,
|
|
dropShadows: false
|
|
};
|
|
if(!$element.hasClass('sf-menu')) {
|
|
$element.addClass('sf-menu');
|
|
}
|
|
if($element.hasClass('slide')) {
|
|
options.animation = {
|
|
height: 'show',
|
|
marginTop: 'show',
|
|
marginBottom: 'show',
|
|
paddingTop: 'show',
|
|
paddingBottom: 'show'
|
|
};
|
|
options.animationOut = {
|
|
height: 'hide',
|
|
marginTop: 'hide',
|
|
marginBottom: 'hide',
|
|
paddingTop: 'hide',
|
|
paddingBottom: 'hide'
|
|
};
|
|
}
|
|
if($element.hasClass('arrow')) {
|
|
options.cssArrows = true;
|
|
}
|
|
$element.superfish(options);
|
|
});
|
|
})();
|
|
|
|
(function() {
|
|
$('.fansub-go-top').fansubScrollTop();
|
|
})();
|
|
|
|
(function() {
|
|
$('input[type="file"].fansub-field-upload').each(function() {
|
|
fansub.limitUploadFile($(this));
|
|
});
|
|
})();
|
|
|
|
(function() {
|
|
$('.fansub .comment-tools .comment-likes').on('click', function(e) {
|
|
e.preventDefault();
|
|
var $element = $(this),
|
|
$container = $element.closest('.comment'),
|
|
$count = $element.find('.count'),
|
|
comment_id = parseInt($container.attr('data-comment-id')),
|
|
likes = parseInt($element.attr('data-likes'));
|
|
$element.addClass('disabled');
|
|
$element.css({'text-decoration' : 'none'});
|
|
$.ajax({
|
|
type: 'POST',
|
|
dataType: 'json',
|
|
url: fansub.ajax_url,
|
|
data: {
|
|
action: 'fansub_comment_likes',
|
|
comment_id: comment_id,
|
|
likes: likes
|
|
},
|
|
success: function(response){
|
|
likes++;
|
|
$element.attr('data-likes', likes);
|
|
$count.html(response.likes);
|
|
}
|
|
});
|
|
return false;
|
|
});
|
|
|
|
$('.fansub .comment-tools .comment-report').on('click', function(e) {
|
|
e.preventDefault();
|
|
var $element = $(this),
|
|
$container = $element.closest('.comment'),
|
|
comment_id = parseInt($container.attr('data-comment-id'));
|
|
$element.addClass('disabled');
|
|
$element.css({'text-decoration' : 'none'});
|
|
$.ajax({
|
|
type: 'POST',
|
|
dataType: 'json',
|
|
url: fansub.ajax_url,
|
|
data: {
|
|
action: 'fansub_comment_report',
|
|
comment_id: comment_id
|
|
},
|
|
success: function(response){
|
|
|
|
}
|
|
});
|
|
return false;
|
|
});
|
|
|
|
$('.fansub .comment-tools .comment-share').on('click', function(e) {
|
|
e.preventDefault();
|
|
var $element = $(this);
|
|
$element.css({'text-decoration' : 'none'});
|
|
$element.toggleClass('active');
|
|
return false;
|
|
});
|
|
|
|
$('.fansub .comment-tools .comment-share .list-share .fa').on('click', function(e) {
|
|
e.preventDefault();
|
|
var $element = $(this);
|
|
$element.css({'text-decoration' : 'none'});
|
|
window.open($element.attr('data-url'), 'ShareWindow', 'height=450, width=550, toolbar=0, location=0, menubar=0, directories=0, scrollbars=0');
|
|
});
|
|
})();
|
|
|
|
(function() {
|
|
fansub.iconChangeCaptchaExecute();
|
|
})();
|
|
|
|
(function() {
|
|
$('.fansub.fansub-google-maps .fansub-field-maps').fansubGoogleMaps();
|
|
})();
|
|
|
|
(function() {
|
|
$('.vote .vote-post').on('click', function(e) {
|
|
e.preventDefault();
|
|
var $element = $(this),
|
|
$parent = $element.parent(),
|
|
vote_type = $element.attr('data-vote-type'),
|
|
post_id = $parent.attr('data-post-id');
|
|
$element.addClass('disabled');
|
|
$.ajax({
|
|
type: 'POST',
|
|
dataType: 'json',
|
|
url: fansub.ajax_url,
|
|
data: {
|
|
action: 'fansub_vote_post',
|
|
post_id: post_id,
|
|
vote_type: vote_type,
|
|
value: $element.attr('data-vote')
|
|
},
|
|
success: function(response){
|
|
if(response.success) {
|
|
$element.attr('data-vote', response.value);
|
|
$parent.addClass('disabled');
|
|
}
|
|
}
|
|
});
|
|
});
|
|
})();
|
|
|
|
(function() {
|
|
var $cart_preview = $('#fansubCart');
|
|
if($cart_preview.length) {
|
|
$cart_preview.on('click', '.fansub-post .fa-remove', function(e) {
|
|
e.preventDefault();
|
|
var $element = $(this),
|
|
post_id = $element.attr('data-id'),
|
|
$item = $element.closest('.fansub-post'),
|
|
$cart_contents = $element.closest('.fansub-cart-contents');
|
|
$element.addClass('disabled');
|
|
$.ajax({
|
|
type: 'POST',
|
|
dataType: 'json',
|
|
url: fansub.ajax_url,
|
|
data: {
|
|
action: 'fansub_wc_remove_cart_item',
|
|
post_id: post_id
|
|
},
|
|
success: function(response){
|
|
$item.fadeOut();
|
|
$item.remove();
|
|
if(response.updated) {
|
|
$cart_contents.html(response.cart_contents);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
}
|
|
})();
|
|
|
|
// Tab widget
|
|
(function() {
|
|
var $tabber_widgets = $('.fansub-tabber-widget');
|
|
if($tabber_widgets.length) {
|
|
$tabber_widgets.each(function() {
|
|
var $element = $(this),
|
|
$list_tabs = $element.find('ul.nav-tabs');
|
|
$element.find('.tab-item').each(function() {
|
|
var widget = $(this).attr('id');
|
|
$(this).find('a.tab-title').attr('href', '#' + widget).wrap('<li></li>').parent().detach().appendTo($list_tabs);
|
|
});
|
|
$list_tabs.find('li:first').addClass('active');
|
|
$list_tabs.fadeIn();
|
|
$element.find('.tab-pane:first').addClass('active');
|
|
});
|
|
$tabber_widgets.on('click', '.nav-tabs li a', function(e) {
|
|
e.preventDefault();
|
|
var $element = $(this),
|
|
id = $element.attr('href').replace('#', ''),
|
|
$widget = $element.closest('.fansub-tabber-widget'),
|
|
$pane = $widget.find('div[id^="' + id + '"]');
|
|
$widget.find('.tab-pane').removeClass('active');
|
|
$pane.addClass('active');
|
|
});
|
|
}
|
|
})();
|
|
|
|
// Product fast buy
|
|
(function() {
|
|
var $modal = $('.single-product.woocommerce .modal.product-fast-buy');
|
|
if($modal.length) {
|
|
$modal.on('click', '.customer-info form button', function(e) {
|
|
e.preventDefault();
|
|
var $element = $(this),
|
|
$modal_body = $element.closest('.modal-body'),
|
|
$attributes_form = $modal_body.find('.attributes-form'),
|
|
attributes = [],
|
|
$form = $element.closest('form'),
|
|
$full_name = $form.find('.full-name'),
|
|
$phone = $form.find('.phone'),
|
|
$email = $form.find('.email'),
|
|
$address = $form.find('.address'),
|
|
$message = $form.find('.message');
|
|
if($full_name.prop('required') && !$.trim($full_name.val())) {
|
|
$full_name.focus();
|
|
} else if($phone.prop('required') && !$.trim($phone.val())) {
|
|
$phone.focus();
|
|
} else if($email.prop('required') && !$.trim($email.val())) {
|
|
$email.focus();
|
|
} else if($address.prop('required') && !$.trim($address.val())) {
|
|
$address.focus();
|
|
} else if($message.prop('required') && !$.trim($message.val())) {
|
|
$message.focus();
|
|
} else {
|
|
$element.addClass('disabled');
|
|
if($attributes_form.length) {
|
|
$attributes_form.find('select').each(function() {
|
|
var $select = $(this),
|
|
attribute = {name: $select.attr('data-attribute_name'), value: $select.val()};
|
|
attributes.push(attribute);
|
|
});
|
|
}
|
|
$.ajax({
|
|
type: 'POST',
|
|
dataType: 'json',
|
|
url: fansub.ajax_url,
|
|
data: {
|
|
action: 'fansub_wc_order_item',
|
|
post_id: $element.attr('data-id'),
|
|
name: $full_name.val(),
|
|
phone: $phone.val(),
|
|
email: $email.val(),
|
|
message: $message.val(),
|
|
address: $address.val(),
|
|
attributes: attributes
|
|
},
|
|
success: function(response){
|
|
if($.trim(response.html_data)) {
|
|
$modal_body.html(response.html_data);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
});
|
|
}
|
|
})();
|
|
|
|
// User subscribe widget
|
|
(function() {
|
|
var $fansub_widget_subscribe = $('.fansub-subscribe-widget');
|
|
if($fansub_widget_subscribe.length) {
|
|
$fansub_widget_subscribe.find('.fansub-subscribe-form').on('submit', function(e) {
|
|
e.preventDefault();
|
|
var $element = $(this),
|
|
$messages = $element.find('.messages'),
|
|
use_captcha = $element.attr('data-captcha'),
|
|
register = $element.attr('data-register'),
|
|
$submit = $element.find('input[type="submit"]'),
|
|
$email = $element.find('.input-email'),
|
|
$name = $element.find('.input-name'),
|
|
$phone = $element.find('.input-phone'),
|
|
$captcha = $element.find('.fansub-captcha-code'),
|
|
captcha = '';
|
|
if($name.length && $name.prop('required') && !$.trim($name.val())) {
|
|
$name.focus();
|
|
} else if($phone.length && $phone.prop('required') && !$.trim($phone.val())) {
|
|
$phone.focus();
|
|
} else if($email.length && $email.prop('required') && !$.trim($email.val())) {
|
|
$email.focus();
|
|
} else if($captcha.length && $captcha.prop('required') && !$.trim($captcha.val())) {
|
|
$captcha.focus();
|
|
} else {
|
|
if($captcha.length) {
|
|
captcha = $captcha.val();
|
|
}
|
|
$submit.addClass('disabled');
|
|
$element.find('.img-loading').show();
|
|
$.ajax({
|
|
type: 'POST',
|
|
dataType: 'json',
|
|
url: fansub.ajax_url,
|
|
data: {
|
|
action: 'fansub_widget_subscribe',
|
|
name: $name.val(),
|
|
phone: $phone.val(),
|
|
email: $email.val(),
|
|
use_captcha: use_captcha,
|
|
captcha: captcha,
|
|
register: register
|
|
},
|
|
success: function(response){
|
|
$element.find('.img-loading').hide();
|
|
$captcha.next().next().trigger('click');
|
|
$messages.html(response.message);
|
|
if(response.success) {
|
|
|
|
} else {
|
|
$submit.removeClass('disabled');
|
|
}
|
|
}
|
|
});
|
|
}
|
|
});
|
|
}
|
|
})();
|
|
|
|
(function() {
|
|
$('.fansub').on('click', '.save-post, .favorite-post, .interest-post, .love-post', function(e) {
|
|
e.preventDefault();
|
|
if($body.hasClass('fansub-user')) {
|
|
var $element = $(this),
|
|
post_id = $element.attr('data-post-id');
|
|
$element.addClass('disabled');
|
|
$.ajax({
|
|
type: 'POST',
|
|
dataType: 'json',
|
|
url: fansub.ajax_url,
|
|
data: {
|
|
action: 'fansub_favorite_post',
|
|
post_id: post_id
|
|
},
|
|
success: function(response){
|
|
if(response.success) {
|
|
$element.html(response.html_data);
|
|
$element.removeClass('disabled');
|
|
}
|
|
}
|
|
});
|
|
} else {
|
|
window.location.href = fansub.login_url;
|
|
}
|
|
});
|
|
})();
|
|
}); |