| Server IP : 14.225.204.176 / Your IP : 216.73.216.252 Web Server : nginx/1.24.0 System : Linux nodejs-ybgk 6.8.0-40-generic #40-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul 5 10:34:03 UTC 2024 x86_64 User : root ( 0) PHP Version : 8.1.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/html/php/harmoniegolfpark.com/assets/js/ |
Upload File : |
// Avoid `console` errors in browsers that lack a console.
(function() {
var method;
var noop = function() {};
var methods = [
'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error',
'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log',
'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd',
'timeStamp', 'trace', 'warn'
];
var length = methods.length;
var console = (window.console = window.console || {});
while (length--) {
method = methods[length];
// Only stub undefined methods.
if (!console[method]) {
console[method] = noop;
}
}
}());
// Global debug logger
var debug = true,
log = function(s){
if(debug) {
console.log(s);
}
};
var GOLF = GOLF || {};
var Modernizr = Modernizr || {};
$win = $(window);
$doc = $(document);
function loadGoogleScript() {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'https://maps.googleapis.com/maps/api/js?key=AIzaSyAO4IhMHMy6U_neFtpUr7iWUQFH5OcnsAA&libraries=places&callback=initHomeMap';
document.body.appendChild(script);
};
var initHomeMap = function(){
if(document.getElementById('map-canvas')){
var myLatLng = new google.maps.LatLng(11.0292435,106.6685588);
var mapOptions = {
zoom: 16,
center: myLatLng,
scrollwheel: false,
streetViewControl: false,
zoomControl: true,
zoomControlOptions: {
style: google.maps.ZoomControlStyle.DEFAULT
}
};
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var image = '/assets/images/icons/icon-golf.png';
var cMarker = new google.maps.Marker({
position: myLatLng,
map: map,
icon: image
});
}
if($('#sbm_direction').length){
var geocoder = new google.maps.Geocoder();
document.getElementById('sbm_direction').addEventListener('click', function() {
geocodeAddress(geocoder, map);
});
}
};
function geocodeAddress(geocoder, resultsMap) {
var address = document.getElementById('txt_direction').value;
geocoder.geocode({'address': address}, function(results, status) {
if (status === 'OK') {
resultsMap.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
map: resultsMap,
position: results[0].geometry.location
});
} else {
alert('Geocode was not successful for the following reason: ' + status);
}
});
};
var accordion = function () {
$('.link-view-more').on('click', function (e) {
e.preventDefault();
if ($(this).closest('.short-desc').hasClass('open')) {
$('.short-desc').removeClass('open');
} else {
$('.short-desc').removeClass('open');
$(this).closest('.short-desc').addClass('open');
}
// Show the content
$('.short-desc .drawer').slideToggle('300');
});
};
$doc.ready(function(){
GOLF.initCollapseMenu();
GOLF.initComponents();
GOLF.hero_slider();
GOLF.photo_slider();
GOLF.driving_range_slider();
GOLF.tournament_slider();
GOLF.handicap();
GOLF.newsmember();
GOLF.holeTooltip();
GOLF.scrollToElements();
// GOLF.holesDetailPopup();
GOLF.initTabs();
loadGoogleScript();
// Accordion
accordion();
//tab (index.html)
tabControl();
//slide last news
GOLF.news_slider();
GOLF.slidePopup();
});
GOLF.initCollapseMenu = function(){
$( '.toogle-nav .toogle-nav__link' ).on( 'click' , function() {
$( this ).addClass( 'is-current' );
$( '.header' ).addClass( 'is-opening' );
} );
// $('.js-btn-close').on('click' , function() {
// $('.header').removeClass( 'is-opening' );
// $('.toogle-nav__link').toggleClass( 'is-current' );
// });
$(document).bind('click', function(e){
if ($('.header__nav-m').find(e.target).length > 0 || $('.header__nav-m')[0] == e.target) {
if($(e.target).hasClass('js-btn-close') || $(e.target).parent().hasClass('js-btn-close')){
$('.header').removeClass( 'is-opening' );
$('.toogle-nav__link').toggleClass( 'is-current' );
}
return;
} else {
if($('.header').hasClass('is-opening') && !$(e.target).hasClass('toogle-nav__link')){
$('.header').removeClass( 'is-opening' );
$('.toogle-nav__link').toggleClass( 'is-current' );
}
}
});
}
/* ==================================================
Replace all SVG images with inline SVG that have "svg" class
================================================== */
$('img.svg').each(function(){
var $img = jQuery(this);
var imgID = $img.attr('id');
var imgClass = $img.attr('class');
var imgURL = $img.attr('src');
var imgTitle = $img.attr('title');
jQuery.get(imgURL, function(data) {
// Get the SVG tag, ignore the rest
var $svg = jQuery(data).find('svg');
// Add replaced image's ID to the new SVG
if(typeof imgID !== 'undefined') {
$svg = $svg.attr('id', imgID);
}
// Add replaced image's classes to the new SVG
if(typeof imgClass !== 'undefined') {
$svg = $svg.attr('class', imgClass+' replaced-svg');
}
// Remove any invalid XML tags as per http://validator.w3.org
$svg = $svg.removeAttr('xmlns:a');
// Replace image with new SVG
$img.replaceWith($svg);
$svg.find('title').remove();
}, 'xml');
});
/* ==================================================
hero-slider
================================================== */
GOLF.initComponents = function(){
//datepicker
if($('.form-row-date input').length){
$('.form-row-date input').Zebra_DatePicker({
direction: 1,
default_position: 'below'
});
}
//select menu
if($('#txt_time_to, #txt_time_from').length){
$('#txt_time_to, #txt_time_from').selectmenu({
icons: { button: "fa fa-clock-o" }
});
}
//nav category
if($('.nav-category').length){
$('.header').css('position', 'absolute');
$(window).scroll(function(){
if ($(window).scrollTop() > 300) {
$('.nav-category').css({
'position': 'fixed',
top: 0,
left: 0,
right: 0,
'z-index': 1000
});
} else {
$('.nav-category').css('position', 'initial');
}
});
}
}
/* ==================================================
hero-slider
================================================== */
GOLF.hero_slider = function() {
var hero_slider = $('.js-hero-slider');
hero_slider.slick({
dots: true,
autoplay: true,
autoplaySpeed: 8000,
mobileFirst: true,
fade: true,
arrows:false
});
}
/* ==================================================
hero-slider
================================================== */
GOLF.photo_slider = function() {
var photo_slider = $('.js-hm-photos__slider');
photo_slider.slick({
dots: true,
autoplay: true,
autoplaySpeed: 8000,
mobileFirst: true,
fade: true,
arrows:false
});
}
/* ==================================================
hero-slider
================================================== */
GOLF.driving_range_slider = function() {
var driving_range_slider = $('.js-slider-driving-range');
driving_range_slider.slick({
dots: true,
autoplay: true,
autoplaySpeed: 8000,
mobileFirst: true,
fade: true,
arrows:false
});
}
/* ==================================================
hero-slider
================================================== */
GOLF.tournament_slider = function() {
var tournament_slider = $('.js-slider-tournament');
tournament_slider.slick({
dots: true,
autoplay: true,
autoplaySpeed: 8000,
mobileFirst: true,
fade: true,
arrows:false
});
}
/* ==================================================
hero-slider
================================================== */
GOLF.handicap = function() {
var handicap = $('.js-slider-handicap');
handicap.slick({
dots: true,
autoplay: true,
autoplaySpeed: 8000,
mobileFirst: true,
fade: true,
arrows:false
});
}
/* ==================================================
hero-slider
================================================== */
GOLF.newsmember = function() {
var newsmember = $('.js-slider-new-member');
newsmember.slick({
dots: true,
autoplay: true,
autoplaySpeed: 8000,
mobileFirst: true,
fade: true,
arrows:false
});
}
/* ==================================================
tooltip
================================================== */
GOLF.holeTooltip = function() {
if($('.hole-tooltip').length > 0 && $(window).width() > 768) {
new $.Zebra_Tooltips($('.hole-tooltip'), {
background_color: '#1a2b42',
color: '#FFF'
});
//Onclick link -> show WEST button
var btnWestZones = $('.btn-west-course');
var btnEastZones = $('.btn-east-course');
GOLF.initWestHoldDetailPopup = false;
btnWestZones.on('click', function (e) {
e.preventDefault();
var _this = $(this);
_this.removeClass('block-show').addClass('block-hide');
btnEastZones.removeClass('block-hide').addClass('block-show');
$('.content-golf__desc').find('.btn-hole-west').removeClass('block-hide').addClass('block-show');
$('.content-golf__desc').find('.btn-hole-east').removeClass('block-show').addClass('block-hide');
if (!GOLF.initWestHoldDetailPopup) {
GOLF.holesDetailPopup('.btn-hole-west');
GOLF.initWestHoldDetailPopup = true;
}
});
//Onclick link -> show WEST button
GOLF.initEastHoldDetailPopup = false;
btnEastZones.on('click', function (e) {
e.preventDefault();
var _this = $(this);
_this.removeClass('block-show').addClass('block-hide');
btnWestZones.removeClass('block-hide').addClass('block-show');
$('.content-golf__desc').find('.btn-hole-east').removeClass('block-hide').addClass('block-show');
$('.content-golf__desc').find('.btn-hole-west').removeClass('block-show').addClass('block-hide');
if (!GOLF.initEastHoldDetailPopup) {
GOLF.holesDetailPopup('.btn-hole-east');
GOLF.initEastHoldDetailPopup = true;
}
});
}
}
/* ==================================================
Scroll to ID
================================================== */
GOLF.scrollToElements = function() {
$("a.nav-category__link").click(function (event) {
var _linkScrollTo = $(this).attr("href");
event.preventDefault();
$('html, body').animate({
scrollTop: $(_linkScrollTo).offset().top - 50
}, 1000);
});
}
/* ==================================================
colorbox
================================================== */
GOLF.holesDetailPopup = function(holeSelector){
if($.colorbox){
var setDescription = function(pos){
// var holes = $('.btn-hole-west, .btn-hole-east');
var holes = $(holeSelector);
var desc = $('#cboxDescription');
if(!desc.length){
$('#cboxContent').append('<div id="cboxDescription"></div>');
desc = $('#cboxDescription');
}
if(isNaN(pos)){
desc.html($(pos).attr('data-desc'));
} else {
desc.html($(holes[pos]).attr('data-desc'));
}
};
var setHoleInfo = function(pos){
// var holes = $('.btn-hole-west, .btn-hole-east');
var holes = $(holeSelector);
var tblInfo = $('#cboxHoleInfo');
if(isNaN(pos)){
eval('var dataMen = ' + $(pos).attr('data-men-info'));
eval('var dataLadies = ' + $(pos).attr('data-ladies-info'));
} else {
eval('var dataMen = ' + $(holes[pos]).attr('data-men-info'));
eval('var dataLadies = ' + $(holes[pos]).attr('data-ladies-info'));
}
if(!tblInfo.length){
$('#cboxContent').append('<div id="cboxHoleInfo">'+
'<div class="hole-info">'+
'<div class="title">Men</div>'+
'<div class="yards"></div>'+
'<div class="meters"></div>'+
'<div class="par"></div>'+
'</div>'+
'<div class="line"></div>'+
'<div class="hole-info">'+
'<div class="title">Ladies</div>'+
'<div class="yards"></div>'+
'<div class="meters"></div>'+
'<div class="par"></div>'+
'</div>'+
'</div>');
tblInfo = $('#cboxHoleInfo');
}
var infos = tblInfo.find('.hole-info');
$(infos[0]).find('.yards').html(dataMen.yards + ' yards');
$(infos[0]).find('.meters').html(dataMen.meters + ' meters');
$(infos[0]).find('.par').html('Par ' + dataMen.par);
$(infos[1]).find('.yards').html(dataLadies.yards + ' yards');
$(infos[1]).find('.meters').html(dataLadies.meters + ' meters');
$(infos[1]).find('.par').html('Par ' + dataLadies.par);
}
var stringHole = ''
if (holeSelector == '.btn-hole-east') {
stringHole = 'Dani'
} else {
stringHole = 'Lani'
}
var cboxOptions = {
rel: 'holes-group',
width: '95%',
height: '95%',
maxWidth: 760,
maxHeight: 560,
current: stringHole + ' {current} of '+ $(holeSelector).length,
}
// var button = $('.btn-hole-west, .btn-hole-east').colorbox(cboxOptions);
var button = $(holeSelector).colorbox(cboxOptions);
$(button).colorbox({
// rel: 'holes-group',
// width: 650,
// height: 560,
// current: 'Holes {current} of {total}',
onLoad: function(){
//insert logo
var logo = $('#cboxlogo');
if(!logo.length){
$('#cboxContent').append('<div id="cboxlogo"><img src="/assets/images/logo.png"/></div>');
}
//insert title
$('#cboxTitle').html($(this).attr('title'));
//insert description
setDescription(this);
//insert info
setHoleInfo(this);
//insert navigation
var holeNav = $('#cboxHoleNav');
holeNav.remove();
//append dots
var pos = -1;
if (holeSelector == '.btn-hole-east') {
pos = $(this).attr('data-pos') - $('.btn-hole-west').length;
} else {
pos = $(this).attr('data-pos');
}
var total = $(holeSelector).length;
var strNav = '';
for(var i=0; i<total; i++){
strNav += '<span> </span>';
}
$('#cboxCurrent').html(stringHole + ' ' + pos + ' of ' + $(holeSelector).length);
$('#cboxContent').append('<div id="cboxHoleNav">'+
strNav +
'</div>');
holeNav = $('#cboxHoleNav');
//set event
holeNav.find('span').each(function(index, el){
if(pos == index){
$(el).addClass('current');
}
$(el).unbind().bind('click', function(e){
$.colorbox.launchAt(index);
holeNav.find('span').removeClass('current');
$(this).addClass('current');
});
});
$('#cboxContent button').click(function(){
var holeNav = $('#cboxHoleNav');
var pos = $.colorbox.element().attr('data-pos');
holeNav.find('span').each(function(index, el){
if(pos == index){
holeNav.find('span').removeClass('current');
$(el).addClass('current');
}
});
});
}
});
$(window).resize(function(){
$.colorbox.resize({
width: window.innerWidth > parseInt(cboxOptions.maxWidth) ? cboxOptions.maxWidth : cboxOptions.width,
height: window.innerHeight > parseInt(cboxOptions.maxHeight) ? cboxOptions.maxHeight : cboxOptions.height
});
});
}
}
/* ==================================================
Tabs
================================================== */
//tabs
GOLF.initTabs = function () {
if($('.nav-news').length){
var tabs = $('.nav-news .nav-news__item');
var tabContents = $('.content-news .container');
var curPos = 0;
if (!tabs.length) return;
// $(tabContents[0]).parent().height($(tabContents[0]).height());
tabs.each(function (index, el) {
$(el).unbind().bind('click', function (e) {
e.preventDefault();
$(tabContents).hide();
$(tabContents[index]).show();
$(tabs[curPos]).removeClass('current');
$(tabs[index]).addClass('current');
curPos = index;
});
});
}
}
var tabControl = function(){
var $feature = $('.tab-controls');
$feature.on('click', 'a', function(e) {
e.preventDefault();
var $this = $(this),
classTabActive = 'current',
classContentActive = 'current',
$target = $($this.attr('href')),
$parent = $this.parent(),
$group = $($this.data('group')).find('.tab-container');
if(!$parent.hasClass(classTabActive)) {
$parent.siblings('li').removeClass(classTabActive);
$parent.addClass(classTabActive);
$group.removeClass(classContentActive);
$target.addClass(classContentActive);
}
});
};
GOLF.news_slider = function() {
var $status = $('.paging-info');
var $slickElement = $('.slide-news');
$slickElement.on('init reInit afterChange', function (event, slick, currentSlide, nextSlide) {
var i = (currentSlide ? currentSlide : 0) + 1;
$status.text(i + '/' + slick.slideCount);
});
$slickElement.slick({
dots: false,
autoplay: false,
autoplaySpeed: 8000,
mobileFirst: true,
arrows:true,
});
}
GOLF.slidePopup = function() {
$('.btn-popup-restaurant').magnificPopup({
type: 'inline',
preloader: false,
closeBtnInside: true
});
if ($(".slider-for").length > 0) {
$('.slider-for').slick({
slidesToShow: 1,
slidesToScroll: 1,
arrows: true,
autoplay: false,
fade: true,
asNavFor: '.slider-nav'
});
$('.slider-nav').slick({
slidesToShow: 4,
slidesToScroll: 1,
asNavFor: '.slider-for',
dots: false,
arrows: false,
focusOnSelect: true,
responsive: [
{
breakpoint: 992,
settings: {
slidesToShow: 4,
slidesToScroll: 4
}
},
{
breakpoint: 768,
settings: {
slidesToShow: 3,
slidesToScroll: 3
}
},
{
breakpoint: 576,
settings: {
slidesToShow: 2,
slidesToScroll: 2
}
}
]
});
}
}