403Webshell
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/php/harmoniegolfpark.com/assets/js/main.js
// 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>&nbsp;</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
              }
            }
          ]
        });
      }    
}

Youez - 2016 - github.com/yon3zu
LinuXploit