File: /home/artinside/www/lhh/themes/en/assets/js/scripts.js
$(function () {
var ajaxResponseBaseTime = 3;
var ajaxResponseRequestError = "<div class='message error icon-warning'>Desculpe mas não foi possível processar sua requisição...</div>";
// scroll animate
$("[data-go]").click(function (e) {
e.preventDefault();
var goto = $($(this).data("go")).offset().top;
$("html, body").animate({scrollTop: goto}, goto / 2, "easeOutBounce");
});
// modal open
$("[data-modal]").click(function (e) {
e.preventDefault();
var modal = $(this).data("modal");
$(modal).fadeIn(200).css("display", "flex");
});
// modal close
$(".j_modal_close").click(function (e) {
e.preventDefault();
if ($(e.target).hasClass("j_modal_close")) {
$(".j_modal_close").fadeOut(200);
}
var iframe = $(this).find("iframe");
if (iframe) {
iframe.attr("src", iframe.attr("src"));
}
});
//Actions in buttons
$("[data-post]").click(function (e) {
e.preventDefault();
var clicked = $(this);
var data = clicked.data();
var load = $(".ajax_load");
if (data.confirm) {
var deleteConfirm = confirm(data.confirm);
if (!deleteConfirm) {
return;
}
}
$.ajax({
url: data.post,
type: "POST",
data: data,
dataType: "json",
beforeSend: function () {
load.fadeIn(200).css("display", "flex");
},
success: function (response) {
//redirect
if (response.redirect) {
window.location.href = response.redirect;
} else {
load.fadeOut(200);
}
//reload
if (response.reload) {
window.location.reload();
} else {
load.fadeOut(200);
}
//message
if (response.message) {
ajaxMessage(response.message, ajaxResponseBaseTime);
}
},
error: function () {
ajaxMessage(ajaxResponseRequestError, 5);
load.fadeOut();
}
});
});
$("form:not('.ajax_off')").on("submit",function (e) {
e.preventDefault();
var form = $(this);
var load = $(".ajax_load");
var url = form.attr("action");
if (typeof tinyMCE !== 'undefined') {
tinyMCE.triggerSave();
}
form.ajaxSubmit({
url: url,
type: "POST",
dataType: "json",
beforeSend: function () {
load.fadeIn(200).css("display", "flex");
},
uploadProgress: function (event, position, total, completed) {
var loaded = completed;
var load_title = $(".ajax_load_box_title");
load_title.text("Enviando (" + loaded + "%)");
if (completed >= 100) {
load_title.text("Aguarde, carregando...");
}
},
success: function (response) {
//redirect
if (response.redirect) {
window.location.href = response.redirect;
} else {
form.find("input[type='file']").val(null);
load.fadeOut(200);
}
//reload
if (response.reload) {
window.location.reload();
} else {
load.fadeOut(200);
}
//message
if (response.message) {
ajaxMessage(response.message, ajaxResponseBaseTime);
if(response.callback){
$(".div-hide").fadeOut("slow", function () {
$(".div-show").fadeIn("slow")
});
if(response.html){
$(".html-content").html(response.html);
}
}
}
//message
if (response.load) {
$(response.target).fadeOut("fast", function () {
$(response.target).load(response.path);
$(response.target).fadeIn("fast");
$(response.target).toggleClass('top-cart-open');
});
}
if(response.popup){
var target = response.target;
$(".modal-result").html(response.result);
$.magnificPopup.open({
items: {
src: target
},
type: 'inline',
mainClass: 'mfp-fade'
});
}
if (response.reset === true) {
form.trigger("reset");
}
//image by fsphp mce upload
if (response.mce_image) {
$('.mce_upload').fadeOut(200);
tinyMCE.activeEditor.insertContent(response.mce_image);
}
},
complete: function () {
if (form.data("reset") === true) {
form.trigger("reset");
}
},
error: function () {
ajaxMessage(ajaxResponseRequestError, 12);
load.fadeOut();
}
});
});
$("#login-form").on("submit",function (e) {
e.preventDefault();
var form = $(this);
var load = $(".ajax_load");
var url = form.attr("action");
form.ajaxSubmit({
url: url,
type: "POST",
dataType: "json",
beforeSend: function () {
load.fadeIn(200).css("display", "flex");
},
uploadProgress: function (event, position, total, completed) {
var loaded = completed;
var load_title = $(".ajax_load_box_title");
load_title.text("Enviando (" + loaded + "%)");
if (completed >= 100) {
load_title.text("Aguarde, carregando...");
}
},
success: function (response) {
//redirect
if (response.redirect) {
window.location.href = response.redirect;
} else {
form.find("input[type='file']").val(null);
load.fadeOut(200);
}
//reload
if (response.reload) {
window.location.reload();
} else {
load.fadeOut(200);
}
//message
if (response.message) {
ajaxMessage(response.message, ajaxResponseBaseTime);
}
},
complete: function () {
if (form.data("reset") === true) {
form.trigger("reset");
}
},
error: function () {
ajaxMessage(ajaxResponseRequestError, 12);
load.fadeOut();
}
});
});
// AJAX RESPONSE
function ajaxMessage(message, time) {
var ajaxMessage = $(message);
ajaxMessage.append("<div class='message_time'></div>");
ajaxMessage.find(".message_time").animate({"width": "100%"}, time * 1000, function () {
$(this).parents(".message").fadeOut(200);
});
$(".ajax_response").append(ajaxMessage);
ajaxMessage.effect("bounce");
}
// AJAX RESPONSE MONITOR
$(".ajax_response .message").each(function (e, m) {
ajaxMessage(m, ajaxResponseBaseTime += 1);
});
// AJAX MESSAGE CLOSE ON CLICK
$(".ajax_response").on("click", ".message", function (e) {
e.preventDefault();
$(this).effect("bounce").fadeOut(1);
});
// Método para controlar abertura e fechamento do carrinho
$(".top-cart-trigger").off( 'click' ).on( 'click', function (e) {
$(this).toggleClass('top-cart-open');
e.stopPropagation();
});
$(".mask-date").mask('00/00/0000');
$(".mask-cep").mask('00000-000');
$(".mask-datetime").mask('00/00/0000 00:00');
$(".mask-month").mask('00/0000', {reverse: true});
$(".mask-doc").mask('000.000.000-00', {reverse: true});
$(".mask-card").mask('0000 0000 0000 0000', {reverse: true});
$(".mask-money").mask('000.000.000.000.000,00', {reverse: true, placeholder: "0,00"});
$('.mask-celular').mask('(00) 0000-00009');
$('.mask-celular').blur(function (event) {
if ($(this).val().length == 15) { // Celular com 9 dígitos + 2 dígitos DDD e 4 da máscara
$('.mask-celular').mask('(00) 00000-0009');
} else {
$('.mask-celular').mask('(00) 0000-00009');
}
});
$('.mask-phone').mask('(00) 0000-00009');
$('.mask-phone').blur(function (event) {
if ($(this).val().length == 15) { // Celular com 9 dígitos + 2 dígitos DDD e 4 da máscara
$('.mask-phone').mask('(00) 00000-0009');
} else {
$('.mask-phone').mask('(00) 0000-00009');
}
});
});