// JavaScript Document
var lastscrollTop = 0;
var margin = 0;
var diferencia = 0;
var carro_desplegat = false;
var ajaxTimer = false;
var ajaxCall = false;
var timeOut = false;
var slide_act = 0;
var num_slides = 0;
var timeOutSlideHome = 0;
var mida_mobile = 1000;
var last_elem = "";
$(function(){
var height = $(window).height();
var width = $(window).width();
var w_scroll = 0;
/*$.magnificPopup.instance._onFocusIn = function(e) {
// Do nothing if target element is select2 input
if( $(e.target).hasClass('allow_input') ) {
return true;
}
// Else call parent method
$.magnificPopup.proto._onFocusIn.call(this,e);
};*/
$('.cycle-home').cycle();
$("#camp-recerca").keydown(function(){
if(ajaxTimer) window.clearTimeout(ajaxTimer);
if(ajaxCall) ajaxCall.abort();
});
$("#camp-recerca").keyup(function(e){
if(e.keyCode != 13)
{
ajaxTimer = setTimeout(function(){carregar_recerca()},1000);
window.ajaxTimer;
}
else
{
carregar_recerca();
}
});
$('.gallery-item').magnificPopup({
type: 'image',
gallery:{
enabled:true
}
});
$('.galeria_generica').magnificPopup({
delegate: 'a',
type: 'image',
gallery: {
enabled: true
}
});
$('.filter-popup').magnificPopup({
type: 'inline',
fixedContentPos: false,
fixedBgPos: true,
overflowY: 'auto',
closeBtnInside: true,
preloader: false,
midClick: true,
removalDelay: 100,
mainClass: 'my-mfp-slide-bottom'
});
// SLIDE PRINCIPAL HOME
if($("#sliderHome").length > 0)
{
num_slides = $("#sliderHome img").length;
timeOutSlideHome = setTimeout("canviar_slide_home()",5000);
}
// SLIDE CATÀLEGS HOME
if($("#slide_catalegs").length > 0)
{
var owl= $("#slide_catalegs");
owl.owlCarousel({
loop:false,
navigation:true,
navigationText: ['
','
'],
margin:35,
itemsDesktop : [3000,5], //5 items between 1000px and 901px
itemsDesktopSmall : [900,3], // betweem 900px and 601px
itemsTablet: [600,2], //2 items between 600 and 0
responsive: true,
responsiveRefreshRate : 200,
responsiveBaseWidth: window,
autoPlay : false,
center: true
});
}
var auth_mostrat = false;
$("#auth>span").bind("click",function(e)
{
auth_mostrat = true;
if(!$(this).hasClass('active'))
{
$('.barra_desplegat').click();
$(this).addClass('active barra_desplegat');
$("#menu_client").stop(true,true).slideDown(100);
$("#auth_user").select();
}
else
{
$(this).removeClass('active barra_desplegat');
$("#menu_client").stop(true,true).slideUp(100);
}
})
$("#idiomes > li").click(function(event){
//event.preventDefault();
$(this).find("ul:first").stop(true,true).slideToggle(100);
if(!$(this).find(".label_barra").hasClass('active'))
$('.barra_desplegat').click();
$(this).find(".bg_linear").toggleClass("active");
$(this).find(".label_barra").toggleClass("barra_desplegat");
});
$("#boto_desplega_recerca").click(function(event) {
event.preventDefault();
var elem = $(this);
if(!elem.hasClass('active'))
$('.barra_desplegat').click();
if($("#div-results").is(':visible'))
{
tancar_recerca();
}
elem.toggleClass('active barra_desplegat');
$('#recerca').toggleClass("active");
$("#camp-recerca").focus();
});
$('.see_pwd').mousedown(function(event) {
if(event.which==1)
$(this).prev().attr("type","text");
});
$('html').mouseup(function() {
$('.see_pwd').prev().attr("type","password");
});
$('.desplega_families .fa').click(function() {
if($('#cont_height').attr('style'))
$('#cont_height').removeAttr('style');
else
$('#cont_height').css('max-height',$('.column').height()+'px');
$(this).toggleClass('active');
$('.desplega_families .deg').toggleClass('toggled');
})
$(window).on('load resize',function(){
w_scroll = window.innerWidth-$(window).width();
if($(window).width() <= mida_mobile && last_elem != '#contenidor_arees')
{
$("#header").insertAfter('#contenidor_arees');
last_elem = "#contenidor_arees";
$("#columna_esq").removeAttr("style");
if($('#fixed_menu .botiga_menu').length == 0) {
clone = $('.botiga_menu').clone();
$('#botiga_menu').html(clone);
clone = $('#barra_top .desplegador_menu').clone();
$('#botiga_menu').append(clone);
clone = $('#menu').clone();
$('#botiga_menu').append(clone);
}
$('#menu .botiga_menu').removeClass('active');
$('#menu .botiga_menu').next().stop(true,true).slideUp("fast");
}
else if($(window).width() > mida_mobile && last_elem != '#barra_top')
{
$("#header").insertAfter('#barra_top');
last_elem = "#barra_top";
}
if($(window).width() <= (mida_mobile - w_scroll)) {
$('#fixed_menu').addClass('fixed');
}
else {
if($(document).scrollTop() <= 300) {
$('#fixed_menu').removeClass('fixed');
}
}
if($("#recerca.active").height()) {
//if($(window).height()!=height ||) {
height = $(window).height();
width_search = $('.contenidor_centrat').width();
if($(window).width() > 1000)
$("#recerca").css({'height':(height-70)+'px','width':(width_search)+'px'});
else
$("#recerca").css('height',(height-150)+'px');
//}
}
if($('.gallery_popup .cycle-slide-active').length) {
carrega_zoom($('.gallery_popup .cycle-slide-active'))
}
});
$(window).scroll(function(){
/*if($(document).scrollTop() > 300) {
if($('#fixed_menu .botiga_menu').length == 0) {
clone = $('.botiga_menu').clone();
$('#botiga_menu').html(clone);
}
}
else {
$("#botiga_menu > a").removeClass('active');
$("#botiga_menu > div").slideUp('fast');
}*/
if($(window).width() > mida_mobile) {
if($('#columna_esq').length)
controla_scroll();
if($(document).scrollTop() > 300 && $('#content').height()> 800) {
//if(!$("#fixed_menu").hasClass('fixed'))
$("#fixed_menu").addClass('fixed');
$("#scroll_top").fadeIn(250);
if($('#fixed_menu .botiga_menu').length == 0) {
clone = $('.botiga_menu').clone();
$('#botiga_menu').html(clone);
}
}
else {
$("#fixed_menu").removeClass('fixed');
$("#scroll_top").fadeOut(250);
$("#botiga_menu > a").removeClass('active');
$("#botiga_menu > div").slideUp('fast');
}
}
else {
if($('#columna_esq').length)
$("#columna_esq").removeAttr("style");
}
});
$('input[name="destacats"]').click(function() {
//event.preventDefault();
$('input[name="destacats"]').prop("checked",false);
$('input[name="destacats"]').not(this).removeClass("chkd");
if($(this).hasClass('chkd'))
$(this).prop("checked",false);
else
$(this).prop("checked",true);
$(this).toggleClass('chkd');
});
$("#scroll_top").click(function() {
$('html,body').animate({ scrollTop: 0 }, 'fast');
});
$('#desplegador_botiga').click(function() {
$('#menu_sup, #form_families').toggle()
});
$(".boto_compra").click(function(event){
event.preventDefault();
var id_grup=$(this).attr('id_grup');
var id_art=$(this).attr('id_subarticle');
cart_afegir_article(id_art);
anima_imatge(id_grup);
if($(window).width() > mida_mobile && !$('#desplega_cart_small').hasClass('active'))
desplegar_cart(100);
});
$(".open_modal").click(function(event) {
event.preventDefault();
p = $(this).parent();
$(p).find('.trigger_popup').click();
event.stopPropagation();
}) ;
inicia_vistes_rapides();
});
function mark_all(el) {
trigger = $(el).attr("name");
mark = false;
$('input[data-id="'+trigger+'"]').each(function(index, element) {
mark = !$(element).is(":checked");
if(mark == true) {
return false;
}
});
$('input[data-id="'+trigger+'"]').prop("checked",mark);
$(el).prop("checked",mark);
}
function inicia_vistes_rapides()
{
if($('.gallery_popup').length)
$('.gallery_popup').cycle();
$('#adv-custom-pager img, .gallery_popup #next, .gallery_popup #prev').click(function() {
setTimeout(function() {carrega_zoom($('.gallery_popup .cycle-slide-active')),500})
});
$('.ajax-popup-link').magnificPopup({
type: 'ajax',
closeOnContentClick:false,
callbacks:{
ajaxContentAdded:function(){
height = $(window).height();
if($(window).width() <= mida_mobile) {
$(".white-popup-ajax > div > div:first-child").css('height',(height-70)+'px');
}
$(".white-popup-ajax .boto_compra").click(function(event){
event.preventDefault();
var id_grup=$(this).attr('id_grup');
var id_art=$(this).attr('id_subarticle');
anima_imatge(id_grup);
cart_afegir_article(id_art);
});
carrega_zoom($(".zoom.primer"));
inicia_vistes_rapides();
},
close: function() {
$('.zoomContainer').remove();
if($('.gallery_popup .cycle-slide-active').length) carrega_zoom($('.gallery_popup .cycle-slide-active'));
}
}
});
$.magnificPopup.instance._onFocusIn = function(e) {
// Do nothing if target element
if( $(e.target).parents().hasClass('fixed') ) {
return true;
}
// Else call parent method
$.magnificPopup.proto._onFocusIn.call(this,e);
};
}
function carrega_zoom(el) {
setTimeout(function() {
$('body').removeClass('zoom-popup');
if($('.white-popup-ajax').length) $('body').addClass('zoom-popup');
},500);
$('.zoomContainer').remove();
el.elevateZoom({
zoomType: "inner",
cursor: "crosshair",
zoomWindowFadeIn: 500,
zoomWindowFadeOut: 750,
responsive : true,
}).click(function() {return false});
}
function anima_imatge(id_art)
{
//si no hi ha imatge per animar no fem res
if ($(".foto_"+id_art).length)
{
var carro = $("#carro_petit");
var foto_original = $(".foto_"+id_art).get(0);
foto_original = $(foto_original);
foto_top=foto_original.offset().top+"px";
foto_left=foto_original.offset().left+"px";
foto_width=foto_original.width()+"px";
foto_height=foto_original.height()+"px";
var foto = foto_original
.clone()
.attr('id','img_clonada')
.css({
top:foto_top,
left:foto_left,
width:foto_width,
height:foto_height,
position:"absolute",
"z-index":"9999"
})
.appendTo("body");
var marginTop = carro.offset().top - foto.offset().top;
var marginLeft = carro.offset().left - foto.offset().left;
var amplada = carro.offset().width;
foto.animate({marginTop:marginTop,marginLeft:marginLeft, opacity:0.2, width:120+"px", height:120+"px"},1000,function(){
foto.remove();
});
}
}
function controla_scroll()
{
var limitSuperat = $(document).scrollTop() > $("#content").offset().top;
if($("#columna_esq").outerHeight() < $("#columna_dre").outerHeight())
{
var limitSuperat2 = $(document).scrollTop() > $("#content").offset().top+50;
var window_bottom = $(document).scrollTop()+$(window).height();
var columna_esq_bottom = $("#columna_esq").offset().top+$("#columna_esq").outerHeight();
var condicio1;
var condicio2;
if(limitSuperat2)
{
diferencia = lastscrollTop-$(document).scrollTop();
//Estic baixant i la part inferior de la pantalla encara no ha arribat al final de la columna
condicio1=diferencia < 0 && window_bottom <= columna_esq_bottom+10;
//Estic pujant i encara no he arribat al principi de la columna
condicio2=diferencia > 0;
//Estic baixant i la columna està apunt de sobreposar-se al peu de pàgina
condicio3=diferencia < 0 && window_bottom >= $("#prefooter").offset().top;
if(condicio1 || condicio2 || condicio3) {
margin = margin+diferencia;}
if(margin > 0)
margin = 0;
$("#columna_esq").css({'position':'fixed','top':60,'margin-top':margin,'overflow':'hidden'});
}
else
{
$("#columna_esq").removeAttr("style");
margin=0;
diferencia=0;
}
lastscrollTop = $(document).scrollTop();
}
}
function desplega_menu(elem)
{
if(!elem)
var elem = "#menu";
$(elem).slideToggle("fast");
/*if($(".nav_areas .botiga_menu").hasClass('active')) {
//desplega_botiga(event,$(".nav_areas .botiga_menu"))
}*/
}
function comprova_formulari_client()
{
var frm = document.form_client;
error = "";
if(frm.nom.value.length < 3)
error += ompli_el_camp+': '+nom+'\n';
if(frm.telefon.value.length < 3)
error += ompli_el_camp+': '+telefon+'\n';
if(frm.client_mail.value.length < 3)
error += ompli_el_camp+': '+email+'\n';
else if(!(/\S+@\S+\.\S+/.test(frm.client_mail.value)))
error += email_incorrecto+'\n';
if($("#g-recaptcha-response").val() == "")
{
error +=escriu_el_codi+'\n';
}
if(error)
alert(error);
else
frm.submit();
}
function canviar_slide_home(n_slide)
{
if(n_slide >= 0)
{
slide_act = n_slide;
clearTimeout(timeOutSlideHome);
}
else
slide_act = (slide_act+1)%num_slides;
var label_act_top = $("#label_"+slide_act).position().top;
var label_act_height = $("#label_"+slide_act).outerHeight();
var contenidor_labels_height = $("#labels_home > div").outerHeight();
if(label_act_top >= contenidor_labels_height || label_act_top+label_act_height <= 0)
{
var newpos = $("#label_"+slide_act).outerHeight(true)*slide_act;
$("#labels_home > div").animate({scrollTop:(newpos)});
}
$("#sliderHome a.active,#labels_home span.active").removeClass("active");
$("#foto_"+slide_act+",#label_"+slide_act).addClass("active");
timeOutSlideHome = setTimeout("canviar_slide_home()",5000);
}
function next_slide_home()
{
canviar_slide_home((slide_act+1)%num_slides);
}
function prev_slide_home()
{
var nou_label = slide_act-1;
if(nou_label < 0)
nou_label = num_slides-1;
canviar_slide_home(nou_label);
}
function carregar_recerca(){
//$("#div-results").css('display','none').html('
');
$("#div-results").html('