(function($) {
$(function() {
// js geral que serA! carregado em todo site
//
var active_class = 'active';
// navegacao lateral - accordion
var $nav_lateral = $('.nav-lateral');
if ($nav_lateral.length) {
$nav_lateral.on('click', 'span', function(e) {
var $el = $(this).parent();
if ($el.hasClass(active_class)) {
$el.removeClass(active_class);
} else {
if ($el.find('ul').length) {
$nav_lateral.find('li.' + active_class).removeClass(active_class); // caso seja preciso deixar apenas um item aberto
$el.addClass('active');
}
}
});
}
// tabs
var $tabs = $('.tabs');
if ($tabs.length) {
$tabs.on('click', '[data-toggle="tab"]', function(e) {
e.preventDefault();
var $el = $(this);
var $li = $el.parent('li');
if (!$li.hasClass(active_class)) {
var hre = $el.attr('href');
var $cn = $el.parents('.tabs');
var $tg = $cn.find(hre);
if ($tg.length) {
$cn.find('.' + active_class).removeClass(active_class);
$li.addClass(active_class);
$tg.addClass(active_class);
}
}
});
}
var active_marca = 'activeMarca';
// tabs
var $tabsMarca = $('.nav-lateral');
var $tabsProduto = $('.tabsProduto');
if ($tabsMarca.length) {
$tabsMarca.on('click', '[data-toggle="tab"]', function(e) {
e.preventDefault();
var $el = $(this);
var $li = $el.parent('li');
if (!$li.hasClass(active_marca)) {
var hre = $el.attr('data-href');
var $tg = $tabsProduto.find(hre);
if ($tg.length) {
$tabsProduto.find('.tabsInformacoes.' + active_marca).removeClass(active_marca);
$tabsMarca.find('.' + active_marca).removeClass(active_marca);
$li.addClass(active_marca);
$tg.addClass(active_marca);
}
}
});
}
// carousel receitas
var $car_receitas = $('.carousel-receitas');
var $cont = $car_receitas.find('.receitas');
if ($cont.length) {
$cont.slick({
dots: true,
infinite: true,
speed: 300,
slidesToShow: 4,
adaptiveHeight: true
});
}
// carousel produtos
var $car_produtos = $('.carousel-produtos');
var $cont = $car_produtos.find('.grid-produtos');
if ($cont.find('.produto').length >= 4) {
$cont.slick({
dots: true,
infinite: true,
speed: 300,
slidesToShow: 4,
adaptiveHeight: true
});
}
// home slider
var $home_slider_cont = $('.home-slider-container');
var $home_slider_dots = $('#home-slider-dots');
if ($home_slider_cont.length) {
if ($home_slider_cont.find('.slide').length > 1) {
var slick_home = $home_slider_cont.slick({
autoplay: true,
autoplaySpeed: 6000,
pauseOnHover: true,
dots: false,
infinite: true,
speed: 300,
prevArrow: '',
nextArrow: '',
slidesToShow: 3,
centerMode: true,
adaptiveHeight: true,
variableWidth: true,
responsive: [
{
breakpoint: 2561,
settings: {
slidesToShow: 1,
centerMode: false,
variableWidth: false
}
}
]
});
$home_slider_cont.on('beforeChange', function(event, slick, currentSlide, nextSlide) {
$home_slider_dots.find('.slick-active').removeClass('slick-active');
$home_slider_dots.find('li:eq(' + nextSlide + ')').addClass('slick-active');
});
$home_slider_dots.on('click', 'button', function(e) {
var ind = parseInt($(this).parent('li').index());
$home_slider_cont.slick('slickGoTo', ind);
});
}
}
// carousel fotos
var $car_fotos = $('.carousel-fotos');
var $car_fotos_cont = $car_fotos.find('.wrap');
var $car_fotos_ind = $car_fotos.find('.indicador .current');
if ($car_fotos_cont.length) {
if ($car_fotos_cont.find('.foto').length > 1) {
$car_fotos_cont.slick({
autoplay: true,
autoplaySpeed: 6000,
pauseOnHover: true,
dots: true,
dotsClass: 'dots',
infinite: true,
speed: 300,
slidesToShow: 1,
adaptiveHeight: true,
prevArrow: '',
nextArrow: '',
customPaging: function(slider, i) {
//return '';
return '';
},
});
$car_fotos_cont.on('beforeChange', function(event, slick, currentSlide, nextSlide) {
$car_fotos_ind.html(nextSlide + 1);
});
}
}
// Receita slider
var $receita_slider_cont = $('.receita-slider-container');
var $receita_indicador = $('#slider-Receitas .indicador-wrap');
var $receita_indicador_current = $receita_indicador.find('.current');
if ($receita_slider_cont.length) {
if ($receita_slider_cont.find('.slide').length > 1) {
var slick_receita = $receita_slider_cont.slick({
autoplay: true,
autoplaySpeed: 10000,
pauseOnHover: true,
dots: false,
infinite: true,
speed: 300,
prevArrow: '',
nextArrow: '',
slidesToShow: 1,
appendArrows: $receita_indicador,
/*centerMode: true,
adaptiveHeight: true,
variableWidth: true,
responsive: [
{
breakpoint: 2561,
settings: {
slidesToShow: 1,
centerMode: false,
variableWidth: false
}
}
]*/
});
$receita_slider_cont.on('beforeChange', function(event, slick, currentSlide, nextSlide) {
$receita_indicador_current.html(nextSlide + 1);
});
}
}
// anchor link
var $anchor_link = $('.anchor-link');
$anchor_link.on('click', function(e) {
var $elem = $(this);
var data = $elem.data();
if (data.target)
$targ = $(data.target);
if ($targ.length) {
e.preventDefault();
$('html, body').animate({
scrollTop: ($targ.offset().top - 70)
}, 300);
}
});
// carousel historia
$('.carousel-historia').slick({
dots: true,
infinite: false,
speed: 300,
slidesToShow: 3,
adaptiveHeight: true,
responsive: [
{
breakpoint: 768,
settings: {
slidesToShow: 2
}
},
{
breakpoint: 580,
settings: {
slidesToShow: 1
}
}
]
});
var class_is_active = 'is-active';
var class_menu_open = 'menu-open';
// btn toggle menu
$('.btn-toggle-menu').on('click', function(e){
var $hd = $(this).parents('#header');
$(this).toggleClass(class_is_active);
$hd.toggleClass('menu-visible');
});
// btn toggle sub menu
var $navegacao_lateral = $('.col-navegacao');
var $cont_principal = $('.conteudo-2-cols .cont-principal');
var $btn_toggle_sub_menu = $('.btn-toggle-sub-menu');
$btn_toggle_sub_menu.on('click', function(e){
e.stopPropagation();
$(this).toggleClass(class_is_active);
$navegacao_lateral.toggleClass(class_is_active);
$cont_principal.toggleClass(class_menu_open);
});
function hide_side_menu(){
$navegacao_lateral.removeClass(class_is_active); // hide side nav
$cont_principal.removeClass(class_menu_open); // hide side nav
$btn_toggle_sub_menu.removeClass(class_is_active); // hide side nav
}
// btn toggle form busca
var $form_busca = $('.form-busca');
if( $form_busca.length ){
$form_busca.on('click', '[type="submit"]', function(e){
var ww = $(window).width();
var $e = $(this);
if( ww <= 724 ){
if( $form_busca.hasClass(class_is_active) ){
$form_busca.removeClass(class_is_active);
} else {
e.preventDefault();
hide_side_menu();
$form_busca.addClass(class_is_active);
}
}
});
}
/*$navegacao_lateral.on('click', function(e){
e.stopPropagation();
});*/
$form_busca.on('click', function(e){
$form_busca.hasClass(class_is_active)
e.stopPropagation();
});
// click fora dos elementos
$(document).on('click', function(e){
$form_busca.removeClass(class_is_active); // hide search
if( $navegacao_lateral.hasClass(class_is_active) ){
hide_side_menu();
}
});
/*Cadastro email2easy*/
function DinamizeValidateForm(){
var enviar = true;
var elem = document.getElementById("formIntegration").elements;
var dateElements = new Array();
var floatElements = new Array();
for(var i = 0; i < elem.length; i++){
if( elem[i].type != "hidden" ){
var classList = elem[i].className.split(" ");
removeClass("field-error", elem[i]);
// validaA§ALo
if(classList.indexOf("type_EMAIL") != -1){
if(!validateEmail(elem[i].value) ){
addClass("field-error", elem[i]);
enviar = false;
}
}
// obrigatoriedade
if( classList.indexOf("field-required") != -1 ){
//se o campo for multi valor, verificar suas checkboxes
if(classList.indexOf("type_LVM") != -1){
var nameChks = elem[i].getAttribute("id");
var ok = false;
var checkboxes = document.getElementsByClassName("chk_"+nameChks);
removeClass("field-error", document.getElementById("containerMultiple_"+nameChks) );
if (checkboxes.length != 0){
for(var j=0; j < checkboxes.length; j++){
if(checkboxes[j].checked == true){
ok = true;
break;
}
}
}
if(!ok){
addClass("field-error", document.getElementById("containerMultiple_"+nameChks) );
enviar = false;
}
}else{
//os outros campos podem ser verificados assim
if( elem[i].value.trim() == "" ){
addClass("field-error", elem[i]);
enviar = false;
}
}
}
}
}
// colocar todos estes valores em inputs hidden
return enviar;
} // fechamento da funcao js
function validateEmail(email) {
var re = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
return re.test(email);
}
function addClass( classname, element ) {
var cn = element.className;
if( cn.indexOf( classname ) != -1 ) {
return;
}
if( cn != "" ) {
classname = " "+classname;
}
element.className = cn+classname;
}
function removeClass( classname, element ) {
var cn = element.className;
var rxp = new RegExp( "\\s?\\b"+classname+"\\b", "g" );
cn = cn.replace( rxp, "" );
element.className = cn;
}
/**/
});
})(jQuery);