$(function () {
// SideNav Initialization
//$('.button-collapse').sideNav();
// Geolocation
//getLocation();
/*
$('body').scrollspy({
target: '.nav-categories', offset: 50
});
*/
/*
//OK SI ACTIVAR
$('.nav-categories').sticky({
topSpacing: 0, zIndex: 10, stopper: "#YourStopperId"
});
*/
/*
$('.col-info .col-inner').sticky({
topSpacing: 80,
zIndex: 10,
stopper: '.full-width-wrapper'
});
*/
/*
$('.items-site').sticky({
topSpacing: 80,
zIndex: 10,
stopper: '.full-width-wrapper'
});
*/
/*
//OK SI ACTIVAR
$('.sticky').sticky({
topSpacing: 80,
zIndex: 10,
stopper: '.full-width-wrapper'
});
*/
// Tooltips Initialization
// $('[data-toggle="tooltip"]').tooltip();
//return;
//loadNavbarExplorer();
setLazyJS();
setItemsBehavior('');
setItemSlides();
setTooltip();
a11y_tools();
setShopCartBehaviour();
setRefreshPage();
setSignupControls();
$('.nav-categories .nav-title').on('click', function () {
window.scrollTo(0, 0);
});
setGalleryEvents();
initResponsiveDivs();
//BN POPUP
$('#popup-bn .close').off();
$('#popup-bn .close').on('click', function (e) {
e.preventDefault();
//$(this).parent().remove();
$('#popup-bn').remove();
});
setShareLinks();
//setAdSpaces();
function socialWindow(url) {
var left = (screen.width - 570) / 2;
var top = (screen.height - 570) / 2;
var params = 'menubar=no,toolbar=no,status=no,width=570,height=570,top=' + top + ',left=' + left;
// Setting 'params' to an empty string will launch
// content in a new tab or window rather than a pop-up.
// params = "";
window.open(url, 'NewSocialWindow', params);
}
function setShareLinks() {
var pageUrl = encodeURIComponent(document.URL);
var title = encodeURIComponent($('meta[property="og:title"]').attr('content'));
var image = encodeURIComponent($('meta[property="og:image"]').attr('content'));
var description = encodeURIComponent($('meta[property="og:description"]').attr('content'));
var baseDiv = '#item-sharer ';
$(baseDiv + '.facebook').on('click', function () {
url = 'https://www.facebook.com/sharer.php?u=' + pageUrl;
socialWindow(url);
});
$(baseDiv + '.twitter').on('click', function () {
url = 'https://twitter.com/intent/tweet?url=' + pageUrl + '&text=' + title;
socialWindow(url);
});
$(baseDiv + '.whatsapp').on('click', function () {
//url = 'https://api.whatsapp.com/send?text=' + pageUrl + '&text=' + tweet;
url = 'https://api.whatsapp.com/send?text=' + title + ' ' + pageUrl;
socialWindow(url);
});
$(baseDiv + '.pinterest').on('click', function () {
url = 'https://pinterest.com/pin/create/bookmarklet/?media=' + image + '&url=' + pageUrl + '&url=' + title + '&description=' + description;
socialWindow(url);
});
$(baseDiv + '.linkedin').on('click', function () {
url = 'https://www.linkedin.com/shareArticle?mini=true&ro=true&trk=GoRaymi&title=' + title + '&url=' + pageUrl;
socialWindow(url);
});
$(baseDiv + '.email').on('click', function () {
url = 'mailto:?Subject=' + title + '&Body=' + pageUrl;
socialWindow(url);
});
$(baseDiv + '.dropdown').hover(function () {
$(this).find('.dropdown-menu').stop(true, true).delay(100).fadeIn(100);
}, function () {
$(this).find('.dropdown-menu').stop(true, true).delay(100).fadeOut(100);
});
}
/* OLD JS LIB */
//header-search
/*
// nav bar
$('body').scrollspy({target: '#navbar-example'});
$('body').scrollspy({
target: '.dotted-scrollspy'
});
*/
// Sidebar toggle behavior
$('#sidebarCollapse').on('click', function () {
$('#sidebar, #content').toggleClass('active');
$('footer, .footer-logos').toggleClass('active');
});
$('#overlay').on('click', function () {
$('#sidebar, #content').toggleClass('active');
$('footer, .footer-logos').toggleClass('active');
});
$('#helperbarCollapse').on('click', function () {
$('#helperbar, #content').toggleClass('active');
$('footer, .footer-logos').toggleClass('active');
});
});
function setTooltip() {
$('[data-toggle="tooltip"]').tooltip();
}
function setRefreshPage() {
//timer = setTimeout('refreshPage()', 10000);
//timer = setTimeout('refreshPage()', 10000);
//setTimeout('refreshPage()', 10000);
}
function setGalleryEvents() {
let item_gallery = $('.item-gallery');
item_gallery.slick({
lazyLoad: 'ondemand',
infinite: false,
slidesToShow: 1,
slidesToScroll: 1,
arrows: true,
fade: true,
dots: true,
autoplay: true,
autoplaySpeed: 12000,
});
item_gallery.on('click', function () {
item_gallery.slick('slickPause');
});
item_gallery.find('.media.video').each(function (index) {
let media = $(this);
media.on('click', function (e) {
let node = $(this);
let src = node.data('src');
let video = $('');
node.removeClass('init');
video.attr('src', src);
node.find('.embed-responsive').html(video);
});
//node.removeClass('st-0').removeClass('st-1').addClass('st-' + node.find('option:selected').val());
});
}
function initResponsiveDivs() {
setResponsiveDivs();
$(window).resize(function () {
setResponsiveDivs()
});
}
function setResponsiveDivs() {
let width = $(window).width();
let width_993 = (width < 993);
let width_769 = (width < 769);
//setResponsiveGallery(width_993);
setResponsiveHelperNav(width_769);
}
function setResponsiveGallery(mobile) {
let gallery_wrapper = $('.gallery-wrapper');
let item_stats = $('#item-stats');
let item_sharer = $('#item-sharer');
if (gallery_wrapper.length) {
if (mobile) {
if (item_stats.length) {
item_stats.after(gallery_wrapper);
gallery_wrapper.data('moved', 1);
}
} else {
if (gallery_wrapper.data('moved') == 1) {
if (item_sharer.length) {
item_sharer.after(gallery_wrapper);
}
}
}
}
}
function setResponsiveHelperNav(mobile) {
let nav_language = $('.nav-language');
let nav_user = $('#navbarUserWrapper');
let helper = $('#helperbar > .inner');
if (mobile) {
if (helper.length) {
helper.after(nav_language);
helper.after(nav_user);
helper.data('moved', 1);
}
} else {
if (helper.data('moved') == 1) {
/*
if (item_sharer.length) {
item_sharer.after(gallery_wrapper);
}
*/
}
}
}
function setResponsiveGallery_OLD(mobile) {
let gallery_wrapper = $('.gallery-wrapper');
if (mobile) {
if (gallery_wrapper.length) {
let item_description = $('.item-description');
if (item_description.length) {
let body_site = $('body.site');
if (body_site.length) {
let item_wrap = $('.item-wrap');
if (item_wrap.length) {
item_wrap.after(gallery_wrapper);
}
} else {
item_description.before(gallery_wrapper);
}
}
}
} else {
}
}
//var timer = null;
function refreshPage() {
//window.location = 'http://domain.com/page.php';
window.location = window.location.href;
}
function setItemSlides() {
var header_slides_wrapper = $('.item-slides-wrapper');
//return;
if (header_slides_wrapper.length) {
var item_slides_header = $('#item-slides-header');
if (header_slides_wrapper.length) {
item_slides_header.append(header_slides_wrapper);
item_slides_header.fadeIn();
}
var body_slides = $('body');
//body_slides.addClass('has-slides');
var nav_main = $('body.has-slides .nav-main .wrapper');
var nav_main_h_init = nav_main.height();
var temp_h = 0;
var scroll_top = 0;
$(window).scroll(function () {
scroll_top = $(window).scrollTop();
temp_h = nav_main_h_init - scroll_top;
if (scroll_top > 0) {
if (temp_h > 84) {
nav_main.height(temp_h);
item_slides_header.height(temp_h);
body_slides.addClass('scrolling');
body_slides.removeClass('scrolled');
} else {
body_slides.addClass('scrolled');
body_slides.removeClass('scrolling');
}
body_slides.removeClass('scroll-init');
} else {
body_slides.removeClass('scrolled');
body_slides.removeClass('scrolling');
body_slides.addClass('scroll-init');
nav_main.height(nav_main_h_init);
item_slides_header.height(nav_main_h_init);
}
});
var item_slides = $('.item-slides');
//HEADER SLIDES
item_slides.slick({
lazyLoad: 'ondemand',
infinite: false,
slidesToShow: 1,
slidesToScroll: 1,
dots: true,
speed: 300,
fade: true,
autoplay: true,
autoplaySpeed: 12000,
responsive: [
{
breakpoint: 768,
settings: {
arrows: false,
}
}
// You can unslick at a given breakpoint now by adding:
// settings: "unslick"
// instead of a settings object
]
});
}
/*
$(window).height(); // returns height of browser viewport
$(document).height(); // returns height of HTML document
*/
}
/* Navigator */
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition, showError);
//navigator.geolocation.watchPosition(showPosition, showError);
}
}
function showPosition(position) {
var user_coords = $('#user_coords').val();
var update = false;
if (user_coords !== position.coords.latitude + ',' + position.coords.longitude) {
update = true;
}
//alert(user_coords + ' - ' + update);
var x = document.getElementById("demo");
x.innerHTML = "LAT: " + position.coords.latitude + " LON: " + position.coords.longitude;
if (update) {
$.ajax({
type: 'POST', url: GR_URL_API, dataType: 'json', async: true,
data: {
option: 'page', action: 'updateUserLocation',
latitude: position.coords.latitude, longitude: position.coords.longitude, url: window.location.href
}, beforeSend: function (xhr) {
$('#app-preloader').show();
}, success: function (data) {
if (data.errorCode) {
alert(data.errorMessage);
return;
}
if (data.source === 'geo-ip') {
if (data.html !== '') {
var node = $('.main-content');
node.removeClass();
node.html(data.html);
}
}
$('#app-preloader').hide();
}
});
}
}
/*
function showPosition(position) {
var latlon = position.coords.latitude + "," + position.coords.longitude;
//var img_url = "https://maps.googleapis.com/maps/api/staticmap?center="+latlon+"&zoom=14&size=400x300&sensor=false&key=YOUR_:KEY";
var img_url = "https://maps.googleapis.com/maps/api/staticmap?center="+latlon+"&zoom=18&size=400x300&sensor=false&key=AIzaSyDEOo-Z2crJO6D6Q2w6yL3gNPlHV0piltM";
document.getElementById("mapholder").innerHTML = "";
x.innerHTML = "Latitude: " + position.coords.latitude +
"
Longitude: " + position.coords.longitude;
}
*/
/*
function showPosition(position) {
x.innerHTML = "Latitude: " + position.coords.latitude +
"
Longitude: " + position.coords.longitude;
var lat = position.coords.latitude;
var lon = position.coords.longitude;
var latlon = new google.maps.LatLng(lat, lon)
var mapholder = document.getElementById('mapholder')
mapholder.style.height = '250px';
mapholder.style.width = '500px';
var myOptions = {
center:latlon,zoom:14,
mapTypeId:google.maps.MapTypeId.ROADMAP,
mapTypeControl:false,
navigationControlOptions:{style:google.maps.NavigationControlStyle.SMALL}
}
var maps = new google.maps.Map(document.getElementById("mapholder"), myOptions);
var marker = new google.maps.Marker({position:latlon,maps:maps,title:"You are here!"});
}
*/
function showError(error) {
var x = document.getElementById("demo");
switch (error.code) {
case error.PERMISSION_DENIED:
x.innerHTML = "User denied the request for Geolocation.";
break;
case error.POSITION_UNAVAILABLE:
x.innerHTML = "Location information is unavailable.";
break;
case error.TIMEOUT:
x.innerHTML = "The request to get user location timed out.";
break;
case error.UNKNOWN_ERROR:
x.innerHTML = "An unknown error occurred.";
break;
}
}
function googleTranslateElementInit() {
$.when(
new google.translate.TranslateElement({
pageLanguage: GR_LANG_DEFAULT, includedLanguages: GR_LANG,
autoDisplay: true, layout: google.translate.TranslateElement.FloatPosition.TOP_LEFT,
gaTrack: true, gaId: GR_GA_ID
}, 'google_translate_element')
).done(function () {
var select = document.getElementsByClassName('goog-te-combo')[0];
select.selectedIndex = 1;
select.addEventListener('click', function () {
select.dispatchEvent(new Event('change'));
});
select.click();
select.click();
});
}
function initAutocomplete() {
}
function setLazyJS() {
$('.lazy-js').lazy({
threshold: 200,
visibleOnly: true,
// loads instantly
loadExplorer: function (element) {
loadExplorer(element);
},
loadItemsNearby: function (element) {
loadItemsNearby(element);
},
loadItemsFeatured: function (element) {
loadItemsFeatured(element);
}
});
/*
,
loadItemsRelated: function (element) {
loadItemsRelated(element);
}
*/
}
function setItemsBehavior(target) {
if (target.length) {
target.find('.lazy').lazy({
threshold: 0,
visibleOnly: true
});
} else {
$('.lazy').lazy({
threshold: 0,
visibleOnly: true
});
}
/*
effect: 'fadeIn',
effectTime: '0',
threshold: 0,
visibleOnly: true
*/
}
function showEvents() {
var target = $('.item-events-wrapper');
var item = $('#item-data');
$.ajax({
method: 'POST', url: GR_URL_API, dataType: 'json', async: true,
data: {
'id': item.data('id'),
'lang': GR_LANG,
'option': 'ajax',
'action': 'getEvents'
}, beforeSend: function (xhr) {
//target.html('').addClass('loading'); //validar solo item tenga
}, success: function (data) {
target.html(data.html).removeClass('loading');
},
error: function (data) {
//target.html('ERROR').removeClass('loading');
}
});
}
function loadItemsSite(hash) {
var ref = $('.item-site-wrapper .col-children');
var item = $('#item-data');
var client = $('#client-data');
var client_data = '';
if (client.length) {
client_data = client.data('type') + '|' + client.data('id');
}
//return;
if (ref.length) {
$.ajax({
method: 'POST', url: GR_URL_API, dataType: 'json', async: true,
data: {
'lang': GR_LANG,
'ref': hash,
'coords': item.data('pos'),
'client': client_data,
// 'user_id': $(this).data('user_id'),
'option': 'ajax',
'action': 'getItemsSite'
}, success: function (data) {
//if (data.errorCode) { alert(data.errorMessage); return; }
//ref.hide();
ref.html(data.html);
setSiteListCarousel();
setItemsBehavior(ref);
}, error:
function (data) {
// $('.raymi-list-wrapper').html(data);
// $('.item-site-wrapper').html('ERROR');
// $('body').addClass('site raymi');
}
});
}
}
function setSiteListCarousel() {
$('.items-site').slick({
infinite: false,
rows: 2,
slidesPerRow: 3,
//slidesToShow: 8,
//slidesToScroll: 8,
autoplay: true,
autoplaySpeed: 12000,
dots: true,
lazyLoad: 'ondemand',
responsive: [
{
breakpoint: 1024,
settings: {
rows: 2,
slidesPerRow: 3,
dots: true
}
},
{
breakpoint: 600,
settings: {
rows: 3,
slidesPerRow: 2,
}
},
{
breakpoint: 480,
settings: {
rows: 3,
slidesPerRow: 2,
//slidesToShow: 4,
//slidesToScroll: 4,
arrows: false,
}
}
// You can unslick at a given breakpoint now by adding:
// settings: "unslick"
// instead of a settings object
]
});
}
function loadItemsRaymi() {
var ref = $('.item-raymi-wrapper > .container > .row');
var item = $('#item-data');
var client = $('#client-data');
var id = item.data('id');
var hash_parent = item.data('hash');
var hash_active = item.data('hash');
var hash_title = 0;
var client_data = '';
if (client.length) {
client_data = client.data('type') + '|' + client.data('id');
}
if (window.location.hash) {
hash_parent = window.location.hash.replace('#', '');
hash_title = 1;
if (!ref.length) {
$('.item-raymi-wrapper').append(getRaymiListPreview());
ref = $('.item-raymi-wrapper > .container > .row');
}
}
if (ref.length) {
$.ajax({
method: 'POST', url: GR_URL_API, dataType: 'json', async: true,
data: {
'hash': hash_parent,
'hash_active': hash_active,
'client': client_data,
'lang': GR_LANG,
// 'user_id': $(this).data('user_id'),
'option': 'ajax',
'action': 'getItemsRaymi'
}, success: function (data) {
if (data.html.length > 0) {
ref.hide();
ref.html(data.html);
ref.fadeIn();
setRaymiListCarousel();
setItemsBehavior(ref);
} else {
ref.remove();
}
}, error: function (data) {
ref.remove();
}
});
}
}
function getRaymiListPreview() {
var html = '';
var num = 6;
html += '
Pago electrónico pendiente, referencia " + data.txt.reference + ".
"; $("#modal-advice .modal-body p").prepend(pending_ref_msg); } } }, error: function (data) { console.log('error'); } }); } function validateEmail(email) { var re = /\S+@\S+\.\S+/; return re.test(email); } function setSignupControls() { var username = $("#user_name"); var email = $("#user_email"); username.keyup(function () { this.value = this.value.replace(/[^A-Z\u00C0-\u00DC\u00f1\u00d1 a-z\u00E0-\u00FC\u00f1\u00d1]/g,''); }); email.keyup(function () { if (validateEmail(email.val())) { email.removeClass("email-validation"); } else { email.addClass("email-validation"); } }); }