$(document).ready(function () { //placeholder if (!Modernizr.input.placeholder) { $('[placeholder]').focus(function () { var input = $(this); if (input.val() == input.attr('placeholder')) { input.val(''); input.removeClass('placeholder'); } }).blur(function () { var input = $(this); if (input.val() == '' || input.val() == input.attr('placeholder')) { input.addClass('placeholder'); input.val(input.attr('placeholder')); } }).blur().parents('form').submit(function () { $(this).find('[placeholder]').each(function () { var input = $(this); if (input.val() == input.attr('placeholder')) { input.val(''); //console.log(input.val()) //console.log(input.attr('placeholder')) } }) }); } }); //---//END Modernizir Compatabilities--------------------------- $(document).ready(function () { if ($("input.qtys").length) { $("input.qtys").TouchSpin(); } if ($('#simulate_btn').length) { setTimeout(function () { jQuery('#simulate_btn').trigger("click"); }, 1500); } if ($("#prodPhotos").length) { $("#colorStock").val($(".color ul li.active a").data('corid')); $("#sizeStock").val($(".size ul li.active a").data('sizeid')); $("#prodPhotos .carousel-inner li a.sp-current").click(function (e) { e.preventDefault(); $(".main-image img").prop('src', $(this).data('bigimg')); }) $(".color ul li").click(function (e) { e.preventDefault(); $(".color ul li").removeClass("active"); $(this).addClass("active"); $('#prodPhotos').carousel($('a', this).data('gotocarousel')); $(".main-image img").prop('src', $('a', this).data('bigimg')); $("#colorStock").val($('a', this).data('corid')); shop.check_stock_request(); }); $(".size ul li a").click(function (e) { e.preventDefault(); $(".size ul li").removeClass("active"); $(this).parent().addClass("active"); $("#sizeStock").val($(this).data('sizeid')); shop.check_stock_request(); }); } $('body').on('click', '.close-modal', function() { $('body #add-cart-modal').remove(); $('body .modal-back').remove(); }); // slidding banner if ($('.slidingBanner').length) { var bannerHeight = $('.slidingBanner').height(); $('#colunalist1').css('margin-bottom', parseInt(bannerHeight + 20)); } $("#garrafeira").mouseenter(function () { clearTimeout($(this).data('timeoutId')); $("#cart_popup").stop(true, true).slideDown(); }).mouseleave(function () { var someElement = $(this), timeoutId = setTimeout(function () { $("#cart_popup").stop(true, true).slideUp(); }, 300); someElement.data('timeoutId', timeoutId); }); if ($('.rateMe').length > 0) { $('.rateMe').raty({ cancelHint: 'remover pontuação', cancelPlace: 'right', showCancel: true, path: 'components/jraty/img/' }); } $('.sendbtn').click(function (e) { var clickedObj = e.target; var rate = $('.rateMe input[name="score"]').val(); var prod_id = $(clickedObj).parent().find(".prod_id").val(); var comment = $(clickedObj).parent().find(".comment").val(); var client_id = $(clickedObj).parent().find(".client_id").val(); if (rate == "" || rate == undefined) { $("label#score_error").show(); $('.rateMe input[name="score"]').focus(); return false; } else { $("label#score_error").hide(); } /* if (comment == "" || comment == undefined) { $("label#comment_error").show(); $(".comment").focus(); return false; }else{ $("label#comment_error").hide(); } */ var dataString = 'action=submitRank&rate=' + rate + '&prod_id=' + prod_id + '&comment=' + comment + '&client_id=' + client_id; $.ajax({ type: "POST", url: "includes/ajax.shop.php", data: dataString, beforeSend: function (xhr) { $("#submit_btn").attr('src', 'themes/regular/images/loading.gif'); }, success: function (result) { result = jQuery.parseJSON(result); if (result.status = 'ok') { $("label#score_error").hide(); $("#submit_btn").remove(); $(".rateMe").remove(); location.reload(); $("#score_success").css('visibility', 'visible'); } } }); return false; }); // address stuff $('.submitAddress').click(function (e) { if ($('input[name="selectDatShop"]').is(':checked') && !$('input[name="selectingShop"]').is(':checked')) { $('.selectingShopError').fadeIn(); return false; } else { $('.selectingShopError').hide(); } if ($('input[name="selectDatShop"]').is(':checked') && $('input[name="selectingShop"]').is(':checked')) { $('input[name="deliver"]').attr('checked', false); $('.elPickers').attr('checked', false); $('.showMySelectedPick').hide(); } }); if ($("#cancelThisOrder").length > 0) { $("#cancelThisOrder").click(function () { if (confirm('Tem a certeza que pretende cancelar a encomenda?')) { $("#formCancelOrder").submit(); } else { return false; } }); } $(".selectQty").change(function () { var selectedOption = $(this).val(); var priceOneBottle = $(this).parent().find('.priceOneBottle').val(); var priceSixBottle = $(this).parent().find('.priceSixBottle').val(); var savingMoney = $(this).parent().find('.savingMoney').val(); //console.log(priceOneBottle + ' | ' + priceSixBottle + ' | ' + savingMoney) if (selectedOption == 1) { // 1 bottle $(this).parent().parent().parent().find('.totalPrice').html(priceOneBottle + " €"); $(this).parent().parent().parent().find('.inputquantidade').val(1); } else if (selectedOption == 2) { // 3 bottles $(this).parent().parent().parent().find('.totalPrice').html((priceOneBottle * 3).toFixed(2) + " €"); /* if(savingMoney > 0){ $(this).parent().parent().parent().find('.saveMoney').html("Poupa " + savingMoney + " €"); } */ $(this).parent().parent().parent().find('.inputquantidade').val(3); } else if (selectedOption == 3) { // 6 bottles $(this).parent().parent().parent().find('.totalPrice').html(priceSixBottle + " €"); /* if(savingMoney > 0){ $(this).parent().parent().parent().find('.saveMoney').html("Poupa " + savingMoney + " €"); } */ $(this).parent().parent().parent().find('.inputquantidade').val(6); } }); //function to update $_SESSION['USER_PTS'] updatePts(); var upPts = setInterval('updatePts', 120000); //home slide if ($('.banners').length) { $('.banners').cycle({ fx: 'fade', speed: 500, timeout: 3500, pager: '#banners_nav' }); } //click tr $(".cli_wishlist_list tr").click(function () { window.location.href = $(this).find("a").attr("href"); }); //faq if ($('#faqs').length > 0) { $('#faqs').accordion({autoHeight: false}); } //send to a friend if ($('#prod_sendFriend').length > 0) { $('#prod_sendFriend').fancybox({ 'titleShow': true, 'scrolling': 'no' }) } //invite friends msg if ($('#inviteFriendsMsg').length > 0) { $('#inviteFriendsMsg').fancybox({ 'titleShow': true, 'scrolling': 'no' }) } if ($("#link_terms").length) { $("#link_terms").fancybox({ 'speedIn': 600, 'speedOut': 200, 'overlayShow': false, 'titleShow': false }); } if ($('#externalVisaPage').length > 0) { var timeOut = setTimeout("send_order_to_visa", 3000); } if ($('.radiobtn_press').length > 0) { $('.radiobtn_press').click(function (e) { var clickedobj = e.target; $('.radiobtn_press').next().find('a').removeClass('active') $(clickedobj).next().find('a').addClass('active') }) } $(function () { $('.error').hide(); $(".sendbtn").click(function () { var my_name = $("input#my_name").val(); var my_email = $("input#my_email").val(); var friend_email = $("input#friend_email").val(); var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/; if (my_name == "") { $("label#my_name_error").fadeIn(1000); $("input#my_name").focus(); return false; } if (my_email == "" || !emailReg.test(my_email)) { $("label#my_email_error").show(); $("input#my_email").focus(); return false; } if (friend_email == "" || !emailReg.test(friend_email)) { $("label#friend_email_error").show(); $("input#friend_email").focus(); return false; } }); $("input#my_name").blur(function () { var my_name = $("input#my_name").val(); if (my_name != "") { $("label#my_name_error").hide(); } }); $("input#my_email").blur(function () { var my_email = $("input#my_email").val(); if (my_email != "") { $("label#my_email_error").hide(); } }); $("input#friend_email").blur(function () { var friend_email = $("input#friend_email").val(); if (friend_email != "") { $("label#friend_email_error").hide(); } }); }); //tabber $('#coolMenu').find('> li').hover(function () { $(this).find('ul') .removeClass('noJS') .stop(true, true).slideToggle('fast'); }); /* if($(".scroll-bar" ).length > 0){ $(function() { //scrollpane parts var scrollPane = $( ".scroll-pane" ), scrollContent = $( ".scroll-content" ); //build slider var scrollbar = $( ".scroll-bar" ).slider({ slide: function( event, ui ) { if ( scrollContent.width() > scrollPane.width() ) { scrollContent.css( "margin-left", Math.round( ui.value / 100 * ( scrollPane.width() - scrollContent.width() ) ) + "px" ); } else { scrollContent.css( "margin-left", 0 ); } } }); //append icon to handle var handleHelper = scrollbar.find( ".ui-slider-handle" ) .mousedown(function() { scrollbar.width( handleHelper.width() ); }) .mouseup(function() { scrollbar.width( "100%" ); }) .append( "" ) .wrap( "
" ).parent(); //change overflow to hidden now that slider handles the scrolling scrollPane.css( "overflow", "hidden" ); //size scrollbar and handle proportionally to scroll distance function sizeScrollbar() { var remainder = scrollContent.width() - scrollPane.width(); var proportion = remainder / scrollContent.width(); var handleSize = scrollPane.width() - ( proportion * scrollPane.width() ); scrollbar.find( ".ui-slider-handle" ).css({ width: handleSize, "margin-left": -handleSize / 2 }); handleHelper.width( "" ).width( scrollbar.width() - handleSize ); } //reset slider value based on scroll content position function resetValue() { var remainder = scrollPane.width() - scrollContent.width(); var leftVal = scrollContent.css( "margin-left" ) === "auto" ? 0 : parseInt( scrollContent.css( "margin-left" ) ); var percentage = Math.round( leftVal / remainder * 100 ); scrollbar.slider( "value", percentage ); } //if the slider is 100% and window gets larger, reveal content function reflowContent() { var showing = scrollContent.width() + parseInt( scrollContent.css( "margin-left" ), 10 ); var gap = scrollPane.width() - showing; if ( gap > 0 ) { scrollContent.css( "margin-left", parseInt( scrollContent.css( "margin-left" ), 10 ) + gap ); } } //change handle position on window resize $( window ).resize(function() { resetValue(); sizeScrollbar(); reflowContent(); }); //init scrollbar size setTimeout( sizeScrollbar, 10 );//safari wants a timeout }); } // hide slider if width < 976px if($('.scroll-content').length > 0){ var sliderWidth = $('.scroll-content').width(); if(sliderWidth < 976) $('#scrollMe').hide(); } */ /* $('.cartWrapper').mouseout(function(){ $('#cart_popup').slideUp(); }); */ /* RELATED PRODS: show prod info */ // first time if ($('#prodsRelatedStuff').length > 0) { loadProduto($('.divproduto:first')); } if ($('#prodsRelatedStuff').length > 0) { $('.divproduto').click(function (e) { e.preventDefault(); $("html, body").animate({scrollTop: $('#outrosvinhos').offset().top}, "slow"); loadProduto($(this)); }); } var atualSubTotal = $('.actualSubTotal').text(); atualizaGarrafas(atualSubTotal); //se tiver portes gratis, atualiza as despesas de envio para "Portes Gratis" if ($('#shipping_costs').length) { if (atualSubTotal >= 55) { //$('.despesasEnvio').css('display', 'table-row'); //$('#shipping_costs').html('Portes Grátis') } } function loadProduto(obj) { $('.divproduto').removeClass('active'); obj.addClass('active'); var idProd = $('.related_id', obj).val(); var name = $('.related_name', obj).val(); var img = $('.related_img', obj).val(); var url = $('.related_url', obj).val(); var produtor = $('.related_produtor', obj).val(); var regiao = $('.related_regiao', obj).val(); var ano = $('.related_ano', obj).val(); var pais = $('.related_pais', obj).val(); var preco = $('.related_preco', obj).val(); var award = $('.related_award', obj).val(); var descricao = $('.related_desc', obj).val(); var oldprice = $('.related_oldprice', obj).val(); var has_discount = $('.related_has_discount', obj).val(); $('.caixabranca').hide(); $('.titulocaract').html(name); $('.prod_info_img').attr('src', img); $('.btn_3').attr('href', url); $('.rel_link').attr('href', url); //$('.prod_info_produtor').html(produtor); $('.prod_info_regiao').html(regiao); $('.prod_info_ano').html(ano); $('.prod_info_pais').html(pais); $('.prod_info_produtor').html(preco + ' €'); $('.rel_medalha').attr('src', award); $('#idProdutoCart').attr('value', idProd); $('.descProdPls').html(descricao); if (has_discount == 1) $('.prod_oldPrice').html("" + oldprice + " €"); $('.caixabranca').fadeIn(1000); } //slider related prods if ($("#prodsRelatedStuff").length > 0) { $('#contentRel').css('display', 'block'); $('#prodsRelatedStuff').jCarouselLite({ btnNext: "#next", btnPrev: "#prev", visible: 6, circular: false, auto: 0, speed: 300, scroll: 1 }); } if ($('.lesPickerz').length > 0) { //$('.lesPickerz').fancybox(); $('.lesPickerz').fancybox({ helpers : { title : { type : 'inside' } }, // helpers afterLoad : function() { this.title = (this.title ? '' + this.title + '
' : '') + 'Imagem ' + (this.index + 1) + ' de ' + this.group.length; } // afterLoad }); // fancybox } if ($('.deliverable').length > 0) { $('.deliverable').click(function () { $.post('includes/ajax.shop.php', 'action=reset_point', function (response) { try { response = jQuery.parseJSON(response) //update points if (response.status = 'ok') $.fancybox.close(); } catch (err) { console.log(err) } }) $('.lesPickerz').slideUp(); $(this).next().next().slideDown(); }); } }) function submitPickMe(id) { $('.picker' + id).each(function () { if ($(this).is(':checked')) { var theId = $(this).val(); $.post('includes/ajax.shop.php', 'action=user_point&id=' + theId, function (response) { try { response = jQuery.parseJSON(response) //update points if (response.status = 'ok') { $.fancybox.close(); $('.showMySelectedPick').html(' ') $('.showMySelectedPick').html(response.selected) } } catch (err) { console.log(err) } }) } }); } function updatePts() { $.post('includes/ajax.shop.php', 'action=update_pts', function (response) { try { response = jQuery.parseJSON(response) //console.log(response) //update points if (response.status = 'ok') atualizaPoints(response.pts); } catch (err) { console.log(err) } }) } var animations = { window_height: $(window).height(), window_width: $(window).width(), topLogin: function () { if ($('.login_btn').length > 0) { //login click $('.login_btn').click(function (e) { e.preventDefault(); $('#top_login_register').slideToggle('slow', function () { $('html, body').animate({scrollTop: 0}, 'fast'); }); //mark as opened or not $('.login_btn').toggleClass('opened'); }); //close btn $('#top_login_register .close_top_login').click(function (e) { e.preventDefault(); $('#top_login_register').slideToggle('slow'); $('.login_btn').toggleClass('opened'); }); } }, init: function () { $(document).ready(function () { animations.topLogin(); }) } } animations.init() var product = { form_el: $('#prod_form'), color_selectd_id: null, attr2_active_select: null, //submit to cart add_to_cart: function () { }, //select color [link button] color_select: function () { product.form_el.find('.colors').find('a').click(function (e) { e.preventDefault(); //check if not selected if (!$(this).hasClass('selected')) { //deselect all product.form_el.find('.colors').find('a').removeClass('selected'); //mark as selected $(this).addClass('selected'); //get color id to input var color_id = product.color_selectd_id = $(this).attr('data-color-id'); //var color_id = product.color_selectd_id product.form_el.find('input[name="attr1"]').val(color_id); //show attr2 related if ($('select.attr2_' + color_id).length > 0) { //hide all selects product.form_el.find('.attr2').find('select').addClass('hidden'); //show attr2 select related $('select.attr2_' + color_id).removeClass('hidden'); //set default attr2 to null $('#attr2_val').val($('select.attr2_' + color_id).val()); //set active attr2 select //product.attr2_active_select = $('.attr2_'+color_id) } //check stock //shop.check_stock_request() } else return false; }); }, //change attr2 if exist attr1_select: function () { if ($('select[name="attr1"]').length > 0) { $('select[name="attr1"]').change(function (e) { //get attr1 id var val = $(this).val() //show attr2 related if ($('select.attr2_' + val).length > 0) { //hide all selects product.form_el.find('.attr2').find('select').addClass('hidden'); //show attr2 select related $('select.attr2_' + val).removeClass('hidden'); //set default attr2 to null $('#attr2_val').val($('select.attr2_' + val).val()); } //check stock //shop.check_stock_request() }); } }, //set attr 2 to hidden input setAttr2: function () { if ($('.attr2_select').length > 0) { $('.attr2_select').change(function (e) { //set attr2 val var value = $(this).val(); if (value) $('#attr2_val').val(value); //validate attr2 product.form_el.validate().element('#attr2_val'); }) } }, validate: function () { this.form_el.validate({ rules: { attr1: { required: true, number: true, }, attr2: { required: true, number: true, }, attr3: { required: true, number: true, valueNotEquals: "default" }, qty: { required: true, number: true, min: 1, } }, messages: { attr1: { required: 'This field is required', number: 'Invalid number' }, attr2: { required: 'This field is required', number: 'Invalid number', }, attr3: { required: 'This field is required', number: 'Invalid number', valueNotEquals: "This field is required" }, cf_msg: { required: 'This field is required', number: 'Invalid number', min: 'Invalid minimum', } }, success: function (label) { label.html('OK').removeClass('error').addClass('ok'); setTimeout(function () { label.fadeOut(500); }, 2000) } }); }, //image zoom zoom_img: function () { $('.img_zoom').jqzoom({ zoomType: 'innerzoom', title: false }); }, init: function () { $(document).ready(function () { //select color method product.color_select() //show/hide attr2 related to attr1 product.attr1_select() //validate prod form //product.validate() //set attr2 product.setAttr2() //select color method //product.color_select() //zoom_img //product.zoom_img() }) } } product.init() // click out > close mini cart $(document).mouseup(function (e) { var container = $("#cart_popup"); if (container.has(e.target).length === 0) { container.hide(); } }); //---AJAX FORMS REQUESTS--------------------------------------- var ajaxRequests = { settings: {url: 'includes/adds.ajax.php', 'type': 'POST', 'datatype': 'json'}, elements: {cf: null, mlist: null}, request: function (type, data, datatype, callback) { $.ajax({ type: type, url: this.settings.url, data: data, datatype: datatype, error: function (error) { console.log(error); //debug //verificar como vamos processar os erros callback(data); }, success: function (data) { //console.log("response: " + data); //debug callback(data); } }); }, validateMainCF: function () { this.elements.cf_main.validate({ //errorElement: this.elements.cf_main.find("input"), rules: { cf_name: { required: true, minlength: 3 }, cf_company: { minlength: 3 }, cf_phone: { number: true, minlength: 6 }, cf_email: { required: true, email: true }, cf_msg: { required: true } }, messages: { cf_name: { required: 'Este campo é de preenchimento obrigatório', minlength: 'Número mínimo de caracteres: 3' }, cf_company: { required: 'Este campo é de preenchimento obrigatório', minlength: 'LANG_MINIMO_JS: 3' }, cf_phone: { number: 'Este campo é de preenchimento obrigatório', minlength: 'LANG_MINIMO_JS: 6' }, cf_email: 'Endereço de email inválido', cf_msg: { required: 'Este campo é de preenchimento obrigatório' } }, success: function (elem) { var leInput = elem.prev(); leInput.css("border", "1px solid #0A0"); elem.fadeOut(500); /* elem.html('OK').removeClass('error').addClass('ok'); setTimeout(function() { label.fadeOut(500); }, 2000) */ } }); }, contactFormMain: function () { var dataType = 'json' var type = 'POST' var data = null // check if valid and request if (this.elements.cf_main.valid()) { //serialize data data = this.elements.cf_main.serialize() //console.log(data) //debug // loading this.elements.cf_main.find('fieldset').addClass('hidden') this.elements.cf_main.find('span').removeAttr('class').html('').addClass('form_loading') this.request(type, data, dataType, this.cfMainProcessRequest) } }, cfMainProcessRequest: function (response) { try { response = jQuery.parseJSON(response) //error or sucess msg if (response.status == 'ok') { $('#cf_main_output').html(response.msg) .removeAttr('class') .addClass('form_sucess'); } else { //show error message $('#cf_main_output').html(response.msg) .removeAttr('class') .addClass('form_error') //show form $('#cf_main').find('fieldset').removeClass('hidden') } } catch (err) { console.log(err) //internal error $('#cf_main_output').html('Internal error. Please try again later.') .removeAttr('class') .addClass('form_error') } }, mlist: function () { var dataType = 'json' var type = 'POST' var data = null //serialize data data = this.elements.mlist.serialize() console.log(data) //debug // loading this.elements.mlist.find('input,div').addClass('hidden') this.elements.mlist.find('span').removeClass('class').removeClass('hidden').html('').addClass('form_loading') //request this.request(type, data, dataType, this.mlistProcessRequest) }, mlistProcessRequest: function (response) { try { response = jQuery.parseJSON(response) //erro ou msg sucess if (response.status == 'ok') { this.ajaxRequests.elements.mlist.css({'color': '#FFFFFF', 'padding': '10px'}).html(response.msg); } else { this.ajaxRequests.elements.mlist.find('input').css('border', '1px solid red') } } catch (err) { console.log(err) //js error this.ajaxRequests.elements.mlist.find('span') .html('Internal error. Please try again later.') .removeAttr('class') .addClass('form_error') } }, init: function () { $(document).ready(function ($) { var ajaxobj = ajaxRequests ajaxobj.elements.cf_main = $('form#cf_main') ajaxobj.elements.mlist = $('form#mlist_register') //validate main CF ajaxRequests.validateMainCF() //main contact form listener ajaxobj.elements.cf_main.submit(function (event) { event.preventDefault() //process contact form request ajaxRequests.contactFormMain() }) //mlist listener ajaxobj.elements.mlist.submit(function (event) { event.preventDefault() //process mlist request ajaxRequests.mlist() }) }) } } ajaxRequests.init() //---/END AJAX FORMS REQUESTS----------------------------------- //---CHECKOUT------------------------------------ var shop = { prod_add_form: $('#prod_form'), prod_add_form_custom: $('#prod_form_custom'), minicart: $('.dropdown-menu.cart-dropdown'), simulate_costs: $('.simulate_costs_container'), contact_shop_container: $('.contact_shop'), pre_order_container: $('.pre_order'), costsMobile: $(".costsMobile"), //show hide new billing address on checkout add_billing_address: function () { $('#order_address_show_billing').click(function (e) { if ($(this).is(':checked')) $('.billing_address').addClass('hidden') else $('.billing_address').removeClass('hidden') }); }, scroll_to: function () { $("html, body").animate({scrollTop: $('.scroll_here').offset().top}, "slow"); }, add_to_cart: function () { shop.prod_add_form.submit(function (e) { e.preventDefault(); //_gaq.push('_trackEvent', 'Carrinho', 'Adicionar produto ao carrinho'); //console.log(e.target) var clickedobj = e.target; //show loading shop.minicart.find('.loading').removeClass('hide'); $(clickedobj).parent().find('.loading').removeClass('hide'); //hide error msgs visible shop.minicart.find('.alert.alert-warning').addClass('hide'); $.post('includes/ajax.shop.php', $(this).serialize(), function (response) { try { response = jQuery.parseJSON(response); //scroll to top shop.minicart.addClass('scroll_here'); $("html, body").animate({scrollTop: 0}, "slow"); //add ok if (response.status == 'ok') { if ($(window).width() <= 991) { $modal = ''; $('body').append($modal); $('#add-cart-modal').fadeIn('slow'); }; $('.noStock').hide(); //update subtotal shop.minicart.find('.total_value').html(response.data.subtotal + '€').parent('tr').removeClass('hide'); //update subtotalpts shop.minicart.find('.total_value_pts').parent('tr').removeClass('hideMePls'); shop.minicart.find('.total_value_pts').html(response.data.subTotalPts + ' pts').parent('tr').removeClass('hide'); //update top banner items e value //$('#cart_itens').html(response.data.texts.LANG_ITENS + ' (' + response.data.n_itens + ') ' + response.data.subtotal + ' €') //update garrafeira price $('.actualSubTotal').html(response.data.subtotal); //update points se fez update a um produto de pontos if (response.data.prod.isPts == 1) { var subPoints = (response.data.prod.pts * 1) * (response.data.prod.qty * 1); atualizaPts(subPoints, 'sub'); } $('.items-counter').html(response.data.n_itens); //update garrafas atualizaGarrafas(response.data.subtotal); //prod data var html = '
  • '; html += '
    ' + response.data.prod.name + '
    '; html += '
    '; html += '' + response.data.prod.price + '€'; html += '
    '; html += '
    '; html += ''; html += '
    '; html += '
  • '; //show pop cart if not visible if (!shop.minicart.is(':visible')) { // shop.minicart.slideToggle(600, function() { //add product & anim if doesnt exist if (response.data.prod.isProdInCart != 1) { $(html).insertBefore('li.cart-button').fadeIn('slow'); //add bind to remove btn shop.minicart_remove(); //update qty } else { if (response.data.prod.isPts == 1) { shop.minicart.find('#line_n_' + response.data.prod.line_n).find('.minicart_qty').html(response.data.prod.qty).fadeIn('slow') shop.minicart.find('#line_n_' + response.data.prod.line_n).find('.minicart_pricez').html(response.data.prod.pts * response.data.prod.qty + ' pts').fadeIn('slow') } else { shop.minicart.find('#line_n_' + response.data.prod.line_n).find('.minicart_qty').html(response.data.prod.qty).fadeIn('slow') shop.minicart.find('#line_n_' + response.data.prod.line_n).find('.minicart_pricez').html(response.data.prod.price + '€').fadeIn('slow') } } $("#minicart_rm").addClass("open"); // }); } else { //add product & anim if doesnt exist if (response.data.prod.isProdInCart != 1) { $(html).insertBefore('li.cart-button').fadeIn('slow') //update qty } else { shop.minicart.find('#line_n_' + response.data.prod.line_n).find('.minicart_qty').html(response.data.prod.qty).fadeIn('slow') shop.minicart.find('#line_n_' + response.data.prod.line_n).find('.minicart_pricez').html(response.data.prod.price + '€').fadeIn('slow') } } //error adding to cart } else if (response.status === 'error_pts') { $('.subPts').html(' (Não tem pontos suficientes)').css('color', '#FF0000') var elem = $('.subPts'); var counter = 0; var myInterval = setInterval(function () { counter++; if (counter > 5) { elem.css('color', '#CCC'); clearInterval(myInterval); } if (elem.css('visibility') == 'hidden') { elem.css('visibility', 'visible'); } else { elem.css('visibility', 'hidden'); } }, 400); //error adding to cart } else if (response.status === 'no_stock') { //$('.noStock').fadeIn(); alert(response.msg); } else if (response.status === 'custom_prods') { //$('.noStock').fadeIn(); alert(response.msg); } else { //show pop cart if not visible if (!shop.minicart.is(':visible')) { shop.minicart.slideToggle(600, function () { shop.minicart.find('.alert.alert-warning').html(response.msg).removeClass('hide'); }); } else { shop.minicart.find('.alert.alert-warning').html(response.msg).removeClass('hide'); } } //hide loading shop.minicart.find('.loading').addClass('hide'); $('.add-cart .loading').addClass('hide'); } catch (err) { console.log(err) } }) }) }, add_to_cart_custom: function () { var productId = $(".add_to_basket_custom").data('id'); var qty = $("#productLines tr").length/1 - 1; //show loading shop.minicart.find('.loading').removeClass('hide'); $(".add-cart .loading").removeClass('hide'); //hide error msgs visible shop.minicart.find('.alert.alert-warning').addClass('hide'); $.post( 'includes/ajax.shop.php?action=add_to_cart_custom&id='+productId+'&qty='+qty, $("#prod_form_custom").serialize(), function (response) { response = jQuery.parseJSON(response); //scroll to top shop.minicart.addClass('scroll_here'); $("html, body").animate({scrollTop: 0}, "slow"); //add ok if (response.status == 'ok') { $('.noStock').hide(); //update subtotal shop.minicart.find('.total_value').html(response.data.subtotal + '€').parent('tr').removeClass('hide'); //update subtotalpts shop.minicart.find('.total_value_pts').parent('tr').removeClass('hideMePls'); shop.minicart.find('.total_value_pts').html(response.data.subTotalPts + ' pts').parent('tr').removeClass('hide'); //update top banner items e value //$('#cart_itens').html(response.data.texts.LANG_ITENS + ' (' + response.data.n_itens + ') ' + response.data.subtotal + ' €') //update garrafeira price $('.actualSubTotal').html(response.data.subtotal); //update points se fez update a um produto de pontos if (response.data.prod.isPts == 1) { var subPoints = (response.data.prod.pts * 1) * (response.data.prod.qty * 1); atualizaPts(subPoints, 'sub'); } $('.items-counter').html(response.data.n_itens); //update garrafas atualizaGarrafas(response.data.subtotal); //prod data var html = '
  • '; html += '
    ' + response.data.prod.name + '
    '; html += '
    '; html += '' + response.data.prod.price + '€'; html += '
    '; html += '
    '; html += ''; html += '
    '; html += '
  • '; //show pop cart if not visible if (!shop.minicart.is(':visible')) { // shop.minicart.slideToggle(600, function() { //add product & anim if doesnt exist if (response.data.prod.isProdInCart != 1) { $(html).insertBefore('li.cart-button').fadeIn('slow'); //add bind to remove btn shop.minicart_remove(); //update qty } else { if (response.data.prod.isPts == 1) { shop.minicart.find('#line_n_' + response.data.prod.line_n).find('.minicart_qty').html(response.data.prod.qty).fadeIn('slow') shop.minicart.find('#line_n_' + response.data.prod.line_n).find('.minicart_pricez').html(response.data.prod.pts * response.data.prod.qty + ' pts').fadeIn('slow') } else { shop.minicart.find('#line_n_' + response.data.prod.line_n).find('.minicart_qty').html(response.data.prod.qty).fadeIn('slow') shop.minicart.find('#line_n_' + response.data.prod.line_n).find('.minicart_pricez').html(response.data.prod.price + '€').fadeIn('slow') } } $("#minicart_rm").addClass("open"); // }); } else { //add product & anim if doesnt exist if (response.data.prod.isProdInCart != 1) { $(html).insertBefore('li.cart-button').fadeIn('slow') //update qty } else { shop.minicart.find('#line_n_' + response.data.prod.line_n).find('.minicart_qty').html(response.data.prod.qty).fadeIn('slow') shop.minicart.find('#line_n_' + response.data.prod.line_n).find('.minicart_pricez').html(response.data.prod.price + '€').fadeIn('slow') } } //error adding to cart } else { //show pop cart if not visible if (!shop.minicart.is(':visible')) { shop.minicart.slideToggle(600, function () { shop.minicart.find('.alert.alert-warning').html(response.msg).removeClass('hide'); }); } else { shop.minicart.find('.alert.alert-warning').html(response.msg).removeClass('hide'); } } //hide loading shop.minicart.find('.loading').addClass('hide'); $('.add-cart .loading').addClass('hide'); } ); }, remove_minicart_line: function () { $('#minicart_rm').submit(function (e) { e.preventDefault(); //show loading shop.minicart.find('.loading').removeClass('hidden'); $.post('includes/ajax.shop.php', $(this).serialize(), function (response) { try { response = jQuery.parseJSON(response); //scroll to top shop.minicart.addClass('scroll_here'); $("html, body").animate({scrollTop: 0}, "slow"); //update subtotal // shop.minicart.find('.total_value').html(response.data.subtotal + '€').parent('tr').removeClass('hidden'); //update subtotalpts // shop.minicart.find('.total_value_pts').html(response.data.subTotalPts + ' pts').parent('tr').removeClass('hidden'); //update top banner items e value $('.items-counter').html(response.data.n_itens); //update garrafeira price // $('.actualSubTotal').html(response.data.subtotal); //update points if (response.data.removedPts != null) atualizaPts(response.data.removedPts, 'add'); //update garrafas atualizaGarrafas(response.data.subtotal); //remove line shop.minicart.find('li#line_n_' + response.data.line_removed_n).remove() if (shop.minicart.find('li.product-list').length == 0) $(".dropdown-menu.cart-dropdown").prop("style", ""); /* $('.whiteMe').each(function(i) { $(this).attr("id","line_n_"+i); $(this).children().find('.minicart_remove').attr("data-cart-line",i); }); */ //hide loading shop.minicart.find('.loading').addClass('hidden') } catch (err) { console.log(err) } }) }) }, show_minicart: function () { $('.btncesto').hover( function () { if (!shop.minicart.is(':visible')) { // shop.minicart.stop(true, true).slideToggle(350, function() { }); $("#minicart_rm").addClass("open"); $('html, body').animate({scrollTop: 0}, 'fast'); $('#cart_itens').toggleClass('opened'); //close top login if opened if ($('.login_btn').hasClass('opened')) { $('#top_login_register').slideToggle('slow') $('.login_btn').toggleClass('opened'); } } } ) }, close_minicart: function () { //close btn $('.close_cart').click(function (e) { e.preventDefault(); if (shop.minicart.is(':visible')) shop.minicart.slideToggle(350); $('#cart_itens').removeClass('opened'); }); //login click $('.login_btn').click(function (e) { e.preventDefault(); if (shop.minicart.is(':visible')) shop.minicart.slideToggle(350); $('#cart_itens').removeClass('opened'); }); }, //submit remove minicart form minicart_remove: function () { $('.minicart_remove').click(function (e) { e.preventDefault(); //add line number var line_n = $(this).attr('data-cart-line') $('#minicart_rm input[name="line_n"]').val(line_n) //submit form $('#minicart_rm').submit() }); }, //simulate shipping costs simulate_shipping_costs: function () { //calculate value $('#simulate_btn').click(function (e) { console.log("click simulate shipping"); e.preventDefault(); //show loading shop.simulate_costs.find('.loading').removeClass('hidden'); //get values var country_val = shop.simulate_costs.find('select[name="country"]').val(); var postalcode_val = shop.simulate_costs.find('input[name="postal_code"]').val(); $.post('includes/ajax.shop.php', {action: 'simulate_shipping_costs', country: country_val, postal_code: postalcode_val}, function (response) { try { response = jQuery.parseJSON(response); //console.log(response) if (response.status == 'ok') { $('.despesasEnvio').css('display', 'table-row'); //update shipping costs if (response.data.shipping_costs == 0) { var Traduzido=$('.custoPortes').val(); var html=''+Traduzido+'' $('#shipping_costs').html(html); $('#custosEnvioSimulator').html(html).removeClass("hidden"); } else { $('#shipping_costs').html(response.data.shipping_costs + ' €'); console.log($('.custo').val()); $('#custosEnvioSimulator').html($('.custo').val()+': '+ response.data.shipping_costs + ' €').removeClass("hidden"); } //hide loading shop.simulate_costs.find('.loading').addClass('hidden'); $('#msg_extra_portes').html(response.msg); } else { $('.despesasEnvio').css('display', 'none'); $('#custosEnvioSimulator').html(''); //hide loading shop.simulate_costs.find('.loading').addClass('hidden'); alert(response.msg); } //update total $('.cart_total').html(response.data.total + ' €'); //hide div /*if($('.simulate_costs_container').is(':visible')) $('.simulate_costs_container').slideToggle(600,function(){});*/ } catch (err) { console.log(err); } }); }); }, btns_cart: function () { $('.quantity .bootstrap-touchspin-down, .quantity .bootstrap-touchspin-up').click(function (e) { e.preventDefault(); var clickedobj = e.target; var newQty = 0; //get btn class var btnName = $(this).attr('name'); //get line info var line = $(this).parent().parent().find('.cart_qty'); var lineQtyName = line.attr('name'); var lineQtyValue = line.attr('value'); var cartLine = $(this).parent().parent().parent().parent() // $.post('includes/ajax.shop.php', 'action=update_qty&lineQtyName=' + lineQtyName + '&lineQtyValue=' + lineQtyValue + '&btnName=' + btnName, function (response) { try { response = jQuery.parseJSON(response); //update success if (response.status == 'ok') { // hide no-stock msg $('.noStock').hide(); //update mini cart shop.minicart.find('#line_n_' + response.line_n).find('.minicart_qty').html(response.newQty); //test if its a prod pts if (response.isProdPts == 1) shop.minicart.find('#line_n_' + response.line_n).find('.minicart_pricez').html(response.lineSubtotal + 'pts'); else shop.minicart.find('#line_n_' + response.line_n).find('.minicart_pricez').html(response.lineSubtotal + '€'); shop.minicart.find('.total_value').html(response.subtotal + '€').parent('tr').removeClass('hidden'); shop.minicart.find('.total_value_pts').html(response.subTotalPts + ' pts').parent('tr').removeClass('hidden'); //update garrafeira price $('.actualSubTotal').html(response.subtotal); //update garrafas // atualizaGarrafas(response.subtotal); //line subtotal if (response.isProdPts == 1) cartLine.next().next().html(response.lineSubtotal + ' pts'); else { cartLine.parent().parent().find("td em.total").html(response.lineSubtotal + ' €'); cartLine.parent().parent().find("td span.retail").html(response.prodPrice + ' €'); } //update top pts if (response.isProdPts == 1) { // if (response.btnName == 'btn_plus') atualizaPts(response.prodPts, 'sub'); // else if (response.btnName == 'btn_less') atualizaPts(response.prodPts, 'add'); } //total & pts $("#no-iva-subtotal").html(response.subtotal + ' €'); $('.cartTotal').html(response.subtotal + ' €'); $('.cartTotalPts').html(response.subTotalPts + ' pts'); $('.futurePtsSpan').html(response.awardedPts); //get shipping costs var selectedCountry = $('#selectCountryPls').val(); if (selectedCountry == "") $('#selectCountryPls').val(1); $('#simulate_btn').trigger("click"); //update qty line.attr('value', response.newQty); //update fail } else if (response.status == 'no_stock') { $('.noStock').fadeIn(); } else if (response.status == 'flash_sale_min_qty') { console.log('no flashy min qty'); } else if (response.status == 'flash_sale_max_qty') { console.log('no flashy max qty'); } else { console.log(response.msg); $('.subPts').html(' (Não tem pontos suficientes)').css('color', '#FF0000'); } } catch (err) { console.log(err); } }); }); }, //simulate shipping costs check_stock: function () { //size changed shop.prod_add_form.find('input[name="size"]').change(function (e) { shop.check_stock_request(); }); //color changed shop.prod_add_form.find('input[name="color"]').change(function (e) { shop.check_stock_request(); }); //qty changed shop.prod_add_form.find('input[name="qty"]').change(function (e) { shop.check_stock_request(); }); }, check_stock_request: function () { //remove prev stock msgs shop.prod_add_form.find('.share .alert.alert-danger').remove(); //show loading shop.prod_add_form.find('.checking_stock_msg').removeClass('hidden'); //disable submit btn shop.prod_add_form.find('input[type="submit"]').attr('disabled', 'disabled'); //get values var data = {}; data.id = shop.prod_add_form.find('input[name="id"]').val(); data.size = shop.prod_add_form.find('input[name="size"]').val(); data.qty = shop.prod_add_form.find('input[name="qty"]').val(); data.color = shop.prod_add_form.find('input[name="color"]').val(); data.action = 'check_stock'; $.post('includes/ajax.shop.php', data, function (response) { try { response = jQuery.parseJSON(response); //hide loading shop.prod_add_form.find('.checking_stock_msg').addClass('hidden'); //stock ok if (response.status == 'ok') { //enable submit btn shop.prod_add_form.find('input[type="submit"]').removeAttr('disabled'); //hide no stock form if open $(".share > .alert-danger").slideUp(); if (shop.contact_shop_container.is(':visible')) { shop.contact_shop_container.slideToggle(350, function () {}); } //no stock } else { //show no stock msg if($('.alert-danger').size()==0){ $('').prependTo('.share').slideDown(); }else{ $('.alert-danger').show(); } //show form to ask the shop if (!shop.contact_shop_container.is(':visible')) { shop.contact_shop_container.slideToggle(350, function () {}); } } } catch (err) { console.log(err); } }); }, //send mail to shop about stock contact_shop: function () { $('.submit_contact').click(function (e) { e.preventDefault(); //show loading shop.contact_shop_container.find('.loading').removeClass('hidden'); //change form actions shop.prod_add_form.find('input[name="action"]').val('contact_shop'); //disable submit btn $(this).attr('disabled', 'disabled'); //request $.post('includes/ajax.shop.php', shop.prod_add_form.serialize(), function (response) { try { response = jQuery.parseJSON(response); //hide loading shop.contact_shop_container.find('.loading').addClass('hidden'); //sucess if (response.status == 'ok') { //hide inputs/labels shop.contact_shop_container.find('input').parent('li').hide(); shop.contact_shop_container.find('textarea').parent('li').hide(); shop.contact_shop_container.find('a.submit_contact').parent('li').hide(); //show msg shop.contact_shop_container.find('.output').removeClass('hidden').html('

    ' + response.msg + '

    '); //error } else { //enable submit btn shop.contact_shop_container.find('input[type="submit"]').removeAttr('disabled'); //show error msg shop.contact_shop_container.find('.output').removeClass('hidden').html('

    ' + response.msg + '

    '); } //change form action back to add_to_cart shop.prod_add_form.find('input[name="action"]').val('add_to_cart'); } catch (err) { console.log(err); } }); }); //close contact form $('.close_contact_shop').click(function (e) { e.preventDefault(); if (shop.contact_shop_container.is(':visible')) { shop.contact_shop_container.slideToggle(350, function () { //reset inputs shop.contact_shop_container.find('input').val('') shop.contact_shop_container.find('textarea').val('') shop.contact_shop_container.find('.submit_contact').removeAttr('disabled') //show li shop.contact_shop_container.find('li').show() shop.contact_shop_container.find('li.output').addClass('hidden') //remove error/sucess msgs shop.contact_shop_container.find('li.output').html() }) } }); }, //send mail about pre_order pre_order: function () { $('.submit_pre_order').click(function (e) { e.preventDefault() //show loading shop.pre_order_container.find('.loading').removeClass('hidden') //change form actions shop.prod_add_form.find('input[name="action"]').val('pre_order') //disable submit btn $(this).attr('disabled', 'disabled') //request $.post('includes/ajax.shop.php', shop.prod_add_form.serialize(), function (response) { try { response = jQuery.parseJSON(response) //hide loading shop.pre_order_container.find('.loading').addClass('hidden') //sucess if (response.status == 'ok') { //hide inputs/labels shop.pre_order_container.find('input').parent('li').hide() shop.pre_order_container.find('textarea').parent('li').hide() shop.pre_order_container.find('a.submit_pre_order').parent('li').hide() //show msg shop.pre_order_container.find('.output').removeClass('hidden').html('

    ' + response.msg + '

    ') //error } else { if (response.errors.name) shop.pre_order_container.find('input[name="name"]').parent('li').append('

    ' + response.errors.name + '

    ') if (response.errors.email) shop.pre_order_container.find('input[name="email"]').parent('li').append('

    ' + response.errors.email + '

    ') if (response.errors.phone) shop.pre_order_container.find('input[name="phone"]').parent('li').append('

    ' + response.errors.phone + '

    ') //show error msg shop.pre_order_container.find('.output').removeClass('hidden').html('

    ' + response.msg + '

    ') } //change form action back to add_to_cart shop.prod_add_form.find('input[name="action"]').val('add_to_cart') } catch (err) { //console.log(err) } }) }); }, //submit form to paypal send_order_to_paypal: function () { if ($('form[name="order_paypal"]').length > 0) { $('form[name="order_paypal"]').submit(); } }, //submit form to visa send_order_to_visa: function () { if ($('#externalVisaPage').length > 0) { var url = $('#externalVisaPage').text(); window.open(url, '_self'); } }, show_new_address: function () { $('input[name="new_address"]').click(function (e) { //show new address fomr if ($(this).is(':checked')) { $('.order_new_address').removeClass('hide'); //hide new address form } else { $('.order_new_address').addClass('hide'); } }); }, selectShop: function () { $('input[name="selectDatShop"]').click(function (e) { if ($(this).is(':checked')) { $('input[name="selectingShop"]:first').attr('checked', true); $('.datShops').fadeIn(); } else { $('.selectingShopError').hide(); $('input[name="selectingShop"]').attr('checked', false); $('.datShops').hide(); } }); }, paymentMethod: function () { if ($('.payment_type_btn').length > 0) { $('.payment_type_btn').click(function (e) { e.preventDefault(); $(this).parents('td').children('input').attr('checked', 'checked'); $('a.payment_type_btn').removeClass('active'); $(this).addClass('active'); }); } }, add_to_basket_validation: function () { $('.add_to_basket').click(function (e) { var id = $(this).data('id'); var minQty = $('.minQty_' + id).data('value'); var maxQty = $('.maxQty_' + id).data('value'); var currentQty = $('.inputQty_' + id).val(); //console.log(currentQty) //console.log(maxQty) $.post('includes/ajax.shop.php', 'action=checkFlashSaleStock&id=' + id + '¤tqty=' + currentQty + '&maxqty=' + maxQty, function (response) { try { response = jQuery.parseJSON(response); if (response.status == 'ok') { //console.log('ok') if (maxQty > 0 && (currentQty > maxQty || currentQty < minQty)) { $('.qtys_' + id).effect("pulsate", {times: 2}, 2000); $('.inputQty_' + id).focus(); return false; } $('.form_' + id).submit(); } else { //console.log('error') $('.qtys_' + id).effect("pulsate", {times: 2}, 2000); $('.inputQty_' + id).focus(); return false; } } catch (err) { //console.log(err); } }); return false; }); }, add_to_basket_custom_validation: function () { $('.add_to_basket_custom').click(function (e) { e.preventDefault(); if( $("#productLines table tr").length > 1 ){ var theProductId = $(this).data('id'); var theCategoryId = $(this).data('catid'); $.post( 'includes/ajax.shop.php?action=verifyAddCustom&id=' + theCategoryId, $('#productLines').serialize(), function (carrinho) { carrinho = jQuery.parseJSON(carrinho); //console.log(carrinho); if (carrinho.status == 'ok') { shop.add_to_cart_custom(); return false; } else { alert(carrinho.status); return false; } } ); }else{ alert("Por favor, adicione a quantidade"); } }); }, scrollBanner: function () { if ($(".slidingBanner").length) { var $sidebar = $(".slidingBanner"), $window = $(window), offset = $sidebar.offset(), topPadding = 15; $window.scroll(function () { if ($window.scrollTop() > offset.top) { $sidebar.stop().animate({ marginTop: $window.scrollTop() - offset.top + topPadding }, 400); } else { $sidebar.stop().animate({ marginTop: 0 }, 400); } }); } }, //promo codes applyPromocodes: function () { $('.buttonCodeMobile').click(function (e) { e.preventDefault(); //show loading shop.simulate_costs.find('.loading').removeClass('hidden'); //get values var country_val = shop.simulate_costs.find('select[name="country"]').val(); var promocode_val = $('input[id="promoCode"]').val(); $.post('includes/ajax.shop.php', { action: 'apply_promo_code', promoCode: promocode_val, dataType: "json", }, function (response) { console.log("processing your code: " + promocode_val ); console.log( response ); if( response.status == undefined){ response = JSON.parse(response); //RFC } try { if (response.status == 'ok') { console.log(response.costs); console.log(shop.costsMobile.find("#shipping_costs")); if (response.subTotal) { shop.costsMobile.find("#no-iva-subtotal").html(response.subTotal); } if (response.total) { shop.costsMobile.find(".grand-total-price").html(response.total); } if (response.costs) { shop.costsMobile.find("#shipping_costs").html(response.costs); } shop.costsMobile.find("#promo-code--description").html(response.promoCode); shop.costsMobile.find("#promo-code--subtotal").html(response.discountValue); shop.costsMobile.find(".sub-total--promocode").removeClass("hidden"); /* $('.despesasEnvio').css('display', 'table-row'); if (response.data.shipping_costs == 0) { var Traduzido = $('.custoPortes').val(); var html = '' + Traduzido + '' $('#shipping_costs').html(html); $('#custosEnvioSimulator').html(html).removeClass("hidden"); } else { $('#shipping_costs').html(response.data.shipping_costs + ' €'); console.log($('.custo').val()); $('#custosEnvioSimulator').html($('.custo').val() + ': ' + response.data.shipping_costs + ' €').removeClass("hidden"); } shop.simulate_costs.find('.loading').addClass('hidden'); $('#msg_extra_portes').html(response.msg); */ } else { if (response.subTotal) { shop.costsMobile.find("#no-iva-subtotal").html(response.subTotal); } if (response.total) { shop.costsMobile.find(".grand-total-price").html(response.total); } if (response.costs) { shop.costsMobile.find("#shipping_costs").html(response.costs); } shop.costsMobile.find(".sub-total--promocode").addClass("hidden"); /* $('.despesasEnvio').css('display', 'none'); $('#custosEnvioSimulator').html(''); //hide loading shop.simulate_costs.find('.loading').addClass('hidden'); alert(response.msg); */ } //update total //$('.cart_total').html(response.data.total + ' €'); //hide div /*if($('.simulate_costs_container').is(':visible')) $('.simulate_costs_container').slideToggle(600,function(){});*/ } catch (err) { console.log(err); } }); }); }, init: function () { $(document).ready(function ($) { shop.add_billing_address(); shop.show_minicart(); shop.close_minicart(); shop.minicart_remove(); shop.remove_minicart_line(); shop.simulate_shipping_costs(); shop.check_stock(); //shop.contact_shop() shop.send_order_to_paypal(); shop.send_order_to_visa(); //shop.pre_order() shop.show_new_address(); shop.selectShop(); shop.paymentMethod(); if ($('.scroll_here').length > 0) shop.scroll_to(); //add to cart if (shop.prod_add_form.length > 0) shop.add_to_cart(); //qty cart shop.btns_cart(); shop.add_to_basket_validation(); shop.add_to_basket_custom_validation(); shop.scrollBanner(); shop.applyPromocodes(); }); } }; shop.init(); function atualizaGarrafas(actSubTotal) { var n_garrafas_total = 0; var garrafas_falta = 0; $.post('includes/ajax.shop.php', 'action=multiplosPortesGratis', function (response) { response = jQuery.parseJSON(response); n_garrafas_total = response.n_garrafas; garrafas_falta = response.garrafas_falta; if (actSubTotal >= 55 && garrafas_falta == 0 || actSubTotal >= 250) { $('.garrafa').removeClass('garrafa_verde'); $('.garrafa').addClass('garrafa_verde'); for (i = 1; i <= 4; i++) { bloco = i * 6; if (n_garrafas_total >= bloco) { $('#leBottle_' + i).removeClass('garrafa_off'); $('#leBottle_' + i).addClass('garrafa_on'); } } $('#garrafeirainterior .info').css('color', '#34c804'); $('#garrafeirainterior .info').html('A sua encomenda terá portes grátis!

    (para Portugal Continental)

    '); } else { $('#garrafeirainterior .info').css('color', '#CE181E'); $('#garrafeirainterior .info').html('Portes grátis a partir de 55€ e em múltiplos de 6

    (para Portugal Continental)

    '); for (i = 1; i <= 4; i++) { bloco = i * 6; $('#leBottle_' + i).removeClass('garrafa_on'); $('#leBottle_' + i).removeClass('garrafa_off'); $('#leBottle_' + i).removeClass('garrafa_verde'); $('#leBottle_' + i).addClass('garrafa_off'); //$('#garrafeirainterior .info').css('color', '#CE181E'); //$('#garrafeirainterior .info').html('Portes grátis a partir de 55€

    (para Portugal Continental)

    '); if (n_garrafas_total >= bloco) { $('#leBottle_' + i).removeClass('garrafa_off'); $('#leBottle_' + i).addClass('garrafa_on'); } /* if (n_garrafas_total == bloco) { $('#leBottle_' + i).addClass('garrafa_verde'); } */ } } }); } function atualizaPts(pts, operation) { var currPts = $('.myPoints').html() if (operation == 'add') var newPts = currPts * 1 + pts * 1 else if (operation == 'sub') var newPts = currPts * 1 - pts * 1 $('.myPoints').html(newPts) if (operation == 'add') $('.subPts').html(' ( + ' + pts + ' )').css('color', '#35c704') else if (operation == 'sub') $('.subPts').html(' ( - ' + pts + ' )').css('color', '#FF0000') var elem = $('.myPoints'); var counter = 0; var myInterval = setInterval(function () { counter++; if (counter > 5) { elem.css('color', '#FFF'); clearInterval(myInterval); } if (elem.css('visibility') == 'hidden') { elem.css('visibility', 'visible'); } else { elem.css('visibility', 'hidden'); } }, 400); } function atualizaPoints(pts) { var newPts = pts * 1; $('.myPoints').html(newPts) } function mudaTotal(newValue) { $('#replacerTotal').html(newValue); } function PrintElem(elem) { Popup($(elem).html()); } function Popup(data) { console.log(data) var style = ""; var mywindow = window.open('', 'my div', 'height=900,width=900'); mywindow.document.write('Imprimir'); mywindow.document.write(style); mywindow.document.write(''); mywindow.document.write(data); mywindow.document.write(''); mywindow.print(); mywindow.close(); return true; }