$(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 = 'Produto adicionado ao carrinho X
';
$('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 += '';
//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 += '';
//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){
$(' ' + response.msg + ' ').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;
}
|