// source --> https://www.geyserrepairs.co.za/wp-content/plugins/wp-social/assets/js/social-front.js?ver=3.2.0 
function xs_social_sharer(t){let e=t.getAttribute("data-pid"),a=t.getAttribute("data-key"),s=t.getAttribute("data-uri_hash"),r=t.getAttribute("data-xs-href");window.open(r,"xs_feed_sharer","width=626,height=436");let i={pid:e,hash:s,social:a};jQuery.ajax({data:i,type:"post",url:window.rest_api_conf.root+"wp_social/v1/shared/url",beforeSend:function(t){t.setRequestHeader("X-WP-Nonce",window.rest_api_conf.nonce)},success:function(t){},error:function(t){}})}document.addEventListener("click",(function(t){const e=t.target.closest&&t.target.closest(".xs-share-link");e&&(t.preventDefault(),xs_social_sharer(e))}));
// source --> https://www.geyserrepairs.co.za/wp-content/plugins/wp-ultimate-review/assets/public/script/content-page.js?ver=2.3.9 
(function ($) {
    'use strict';

    $(function () {
        /**
         * Review Form
         */
        var $reviewForm = $('#xs_review_form_public_data');

        if ( $reviewForm.length && typeof Storage !== 'undefined' && localStorage.getItem('review_form') ) {
            $('html, body').animate({
                scrollTop: $('#xs-user-review-box').offset().top - 30
            }, 1200);

            localStorage.removeItem('review_form');
        }

        $reviewForm.on('submit', function () {
            var $el = $(this);

            if (typeof Storage !== 'undefined') {
                localStorage.setItem('review_form', '1');
            }
        });
    });
}(jQuery));


/* Ratting script */
jQuery(function () {

    jQuery('#xs_review_stars li').on('mouseover', function () {
        var onStar = parseInt(jQuery(this).data('value'), 10); // The star currently mouse on
        jQuery(this).parent().children('li.star-li').each(function (e) {
            if(e < onStar) {
                jQuery(this).addClass('hover');
            }
            else {
                jQuery(this).removeClass('hover');
            }
        });

    }).on('mouseout', function () {
        jQuery(this).parent().children('li.star-li').each(function (e) {
            jQuery(this).removeClass('hover');
        });
    });


    jQuery('#xs_review_stars li').on('click', function () {
        var onStar = parseInt(jQuery(this).data('value'), 10); // The star currently selected
        var stars = jQuery(this).parent().children('li.star-li');

        for(i = 0; i < stars.length; i++) {
            jQuery(stars[i]).removeClass('selected');
        }

        for(i = 0; i < onStar; i++) {
            jQuery(stars[i]).addClass('selected');
        }

        var displayId = jQuery(this).parent().parent().children('input#ratting_review_hidden');
        displayId.val(onStar);

        var msg = "";
        if(onStar > 1) {
            msg = "<strong>" + onStar + "</strong>";
        }
        else {
            msg = "<strong>" + onStar + " </strong>";
        }
        responseMessage(msg);

    });


});


function responseMessage(msg) {
    jQuery('#review_data_show').fadeIn(200);
    jQuery('#review_data_show').html("<span>" + msg + "</span>");
}


/*Slider range*/
jQuery(document).ready(function () {

    var sliderReview = jQuery("#xs_review_range");
    var outputReview = jQuery("#review_data_show");
    if(sliderReview.length > 0) {
        outputReview.html(sliderReview.val());
        sliderReview.on('change', function () {
            outputReview.html(jQuery(this).val());
        });
    }

});

jQuery(document).ready(function ($) {

    $('canvas.wur_pie').each(function (idx, elm) {

        draw_pic_chart(elm, idx);
    });

});

function draw_pic_chart(elm, color_index) {

    var idx = color_index % 10;
    var color_set = [
        '#1f77b4',
        '#ff7f0e',
        '#2ca02c',
        '#d62728',
        '#9467bd',
        '#8c564b',
        '#e377c2',
        '#7f7f7f',
        '#bcbd22',
        '#17becf'
    ];

    var base_color = '#555';
    var arc_color = '#f00';
    var stroke_wd = 10;

    var x = elm.width / 2;
    var y = elm.height / 2;

    var base = elm.dataset.base;
    var point = elm.dataset.rating;

    var radius = elm.dataset.rad || 40;

    var fill_up_angle = 360 * point / base;

    var s_angle = -90;
    var e_angle = s_angle + fill_up_angle;

    var startAngle = s_angle / 180 * Math.PI;
    var endAngle = e_angle / 180 * Math.PI;
    var counterClockwise = false;


    var context = elm.getContext('2d');

    context.beginPath();
    context.lineWidth = 3;
    context.strokeStyle = '#fff';
    context.arc(x, y, radius, 0, 360);
    context.stroke();

    context.beginPath();
    context.lineWidth = 3;
    context.strokeStyle = color_set[idx];
    context.arc(x, y, radius, startAngle, endAngle, counterClockwise);
    context.stroke();

    return true;
};
// source --> https://www.geyserrepairs.co.za/wp-content/plugins/shopengine/assets/js/shopengine-modal.js?ver=4.8.9 
jQuery((function(o){"use strict";var e=o(".se-modal-wrapper");e.on(o.modal.OPEN,(function(o,e){if(!0!==e.options.ifIframe)return;let t=e.$elm.find("iframe");t.on("load",(function(){t.contents().find("head").append('<base target="_parent" />'),e.$elm.addClass("se-loaded iframeLoaded")}))})),e.on(o.modal.AFTER_CLOSE,(function(o,e){e.$elm.removeClass("se-loaded iframeLoaded ajaxLoaded")}))})),function(o){"object"==typeof module&&"object"==typeof module.exports?o(require("jquery"),window,document):o(jQuery,window,document)}((function(o,e,t,i){var s=[],l=function(){return s.length?s[s.length-1]:null},n=function(){var o,e=!1;for(o=s.length-1;o>=0;o--)s[o].$blocker&&(s[o].$blocker.toggleClass("current",!e).toggleClass("behind",e),e=!0)};o.modal=function(e,t){var i,n;if(this.$body=o("body"),this.options=o.extend({},o.modal.defaults,t),this.options.doFade=!isNaN(parseInt(this.options.fadeDuration,10)),this.$blocker=null,this.options.closeExisting)for(;o.modal.isActive();)o.modal.close();if(s.push(this),e.is("a"))if(n=e.attr("href"),this.anchor=e,/^#/.test(n)){if(this.$elm=o(n),1!==this.$elm.length)return null;this.$body.append(this.$elm),this.open()}else this.$elm=o("<div>"),this.$body.append(this.$elm),i=function(o,e){e.elm.remove()},this.showSpinner(),e.trigger(o.modal.AJAX_SEND),o.get(n).done((function(t){if(o.modal.isActive()){e.trigger(o.modal.AJAX_SUCCESS);var s=l();s.$elm.empty().append(t).on(o.modal.CLOSE,i),s.hideSpinner(),s.open(),e.trigger(o.modal.AJAX_COMPLETE)}})).fail((function(){e.trigger(o.modal.AJAX_FAIL),l().hideSpinner(),s.pop(),e.trigger(o.modal.AJAX_COMPLETE)}));else this.$elm=e,this.anchor=e,this.$body.append(this.$elm),this.open()},o.modal.prototype={constructor:o.modal,open:function(){var e=this;this.block(),this.anchor.blur(),this.options.doFade?setTimeout((function(){e.show()}),this.options.fadeDuration*this.options.fadeDelay):this.show(),o(t).off("keydown.modal").on("keydown.modal",(function(o){var e=l();27===o.which&&e.options.escapeClose&&e.close()})),this.options.clickClose&&this.$blocker.click((function(e){e.target===this&&o.modal.close()}))},close:function(){s.pop(),this.unblock(),this.hide(),o.modal.isActive()||o(t).off("keydown.modal")},block:function(){this.$elm.trigger(o.modal.BEFORE_BLOCK,[this._ctx()]),this.$doc=o(t),this.$prevWidth=this.$doc.width(),this.$body.css("overflow","hidden").css("padding-right",this.$doc.width()-this.$prevWidth),this.$blocker=o('<div class="'+this.options.blockerClass+' se-blocker current"></div>').appendTo(this.$body),n(),this.options.doFade&&this.$blocker.css("opacity",0).animate({opacity:1},this.options.fadeDuration),this.$elm.trigger(o.modal.BLOCK,[this._ctx()])},unblock:function(e){!e&&this.options.doFade?this.$blocker.fadeOut(this.options.fadeDuration,this.unblock.bind(this,!0)):(this.$blocker.children().appendTo(this.$body),this.$blocker.remove(),this.$blocker=null,n(),o.modal.isActive()||this.$body.css({overflow:"","padding-right":""}))},show:function(){this.$elm.trigger(o.modal.BEFORE_OPEN,[this._ctx()]),this.options.showClose&&(this.closeButton=o('<a title="Close Modal" href="#close-modal" rel="modal:close" class="se-close-modal '+this.options.closeClass+'">'+this.options.closeText+"</a>"),this.$elm.append(this.closeButton)),this.$elm.addClass(this.options.modalClass).appendTo(this.$blocker),this.options.doFade?this.$elm.css({opacity:0,display:"inline-block"}).animate({opacity:1},this.options.fadeDuration):this.$elm.css("display","inline-block"),this.$elm.trigger(o.modal.OPEN,[this._ctx()])},hide:function(){this.$elm.trigger(o.modal.BEFORE_CLOSE,[this._ctx()]),this.closeButton&&this.closeButton.remove();var e=this;this.options.doFade?this.$elm.fadeOut(this.options.fadeDuration,(function(){e.$elm.trigger(o.modal.AFTER_CLOSE,[e._ctx()])})):this.$elm.hide(0,(function(){e.$elm.trigger(o.modal.AFTER_CLOSE,[e._ctx()])})),this.$elm.trigger(o.modal.CLOSE,[this._ctx()])},showSpinner:function(){this.options.showSpinner&&(this.spinner=this.spinner||o('<div class="se-'+this.options.modalClass+'-spinner"></div>').append(this.options.spinnerHtml),this.$body.append(this.spinner),this.spinner.show())},hideSpinner:function(){this.spinner&&this.spinner.remove()},_ctx:function(){return{elm:this.$elm,$elm:this.$elm,$blocker:this.$blocker,options:this.options,$anchor:this.anchor}}},o.modal.close=function(e){if(o.modal.isActive()){e&&e.preventDefault();var t=l();return t.close(),t.$elm}},o.modal.isActive=function(){return s.length>0},o.modal.getCurrent=l,o.modal.defaults={closeExisting:!0,escapeClose:!0,clickClose:!0,closeText:"Close",closeClass:"",modalClass:"se-modal",blockerClass:"jquery-modal",spinnerHtml:'<div class="rect1"></div><div class="rect2"></div><div class="rect3"></div><div class="rect4"></div>',showSpinner:!0,showClose:!0,fadeDuration:null,fadeDelay:1},o.modal.BEFORE_BLOCK="modal:before-block",o.modal.BLOCK="modal:block",o.modal.BEFORE_OPEN="modal:before-open",o.modal.OPEN="modal:open",o.modal.BEFORE_CLOSE="modal:before-close",o.modal.CLOSE="modal:close",o.modal.AFTER_CLOSE="modal:after-close",o.modal.AJAX_SEND="modal:ajax:send",o.modal.AJAX_SUCCESS="modal:ajax:success",o.modal.AJAX_FAIL="modal:ajax:fail",o.modal.AJAX_COMPLETE="modal:ajax:complete",o.fn.seModal=function(e){return 1===this.length&&new o.modal(this,e),this},o.fn.modal&&o.fn.modal.Constructor||(o.fn.modal=o.fn.seModal),o(t).on("click.semodal",'a[rel~="modal:close"]',o.modal.close),o(t).on("click.semodal",'a[rel~="modal:open"]',(function(e){e.preventDefault(),o(this).seModal()}))}));