﻿
/* ======================================
POPUP FUNCTION
=========================================*/
function popupCenter(url, title, w, h) {
    var left = (screen.width / 2) - (w / 2);
    var top = 50;
    return window.open(url, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);
}

function sharepop(url, title, w, h) {

    var winObj;

    var screenLeft = 0, screenTop = 0;
    var windowWidth = 0, windowHeight = 0;
    var center_left = 0, center_top = 0;

    if (typeof window.screenLeft !== 'undefined') {
        screenLeft = window.screenLeft;
        screenTop = window.screenTop;
    }
    else if (typeof window.screenX !== 'undefined') {
        screenLeft = window.screenX;
        screenTop = window.screenY;
    }

    windowWidth = window.screen.width;
    windowHeight = window.screen.height;

    if (window.navigator.userAgent.indexOf("MSIE") > -1) {
        center_left = screenLeft - (w / 2);
        center_top = screenTop - (h / 2);
    }
    else if (window.navigator.userAgent.indexOf("Edge") > -1) {
        center_left = screenLeft - windowWidth;
        center_top = screenTop - windowHeight;
    } else {
        center_left = screenLeft + (windowWidth / 2) - (w / 2);
        screenTop + (windowHeight / 2);
        center_top = (window.screen.height / 2) - (h / 2)
    }

    if (winObj == null) {
        winObj = window.open(url, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=' + w + ', height=' + h + ', top=' + center_top + ', left=' + center_left);
        winObj.moveTo(center_left, center_top);
    }
    else {
        if (winObj.closed) {
            winObj = null;
            winObj = window.open(url, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=' + w + ', height=' + h + ', top=' + center_top + ', left=' + center_left);
        }
        else {
            winObj.moveTo(center_left, center_top);
        }
    }
    winObj.moveTo(center_left, center_top);
    winObj.focus();

    var loop = setInterval(function () {
        if (winObj.closed) {
            clearInterval(loop);
            $('.connect-popup-overlay').fadeOut();
            if (window.navigator.userAgent.indexOf("MSIE ") > 0) location.reload();
        }
    }, 500);


    // open overlay
    $('.connect-popup-overlay').fadeIn();

    // re-focus popup window on click
    $('.connect-popup-overlay a#continue-overlay-btn').click(function () {
        var x = (window.innerWidth / 2);
        var xx = (w / 2);
        var h = (window.innerHeight / 2);
        var hh = (h / 2);
        var position = { "event": "reposition", "top": center_top, "left": center_left };
        winObj.postMessage(JSON.stringify(position), '*');

        if ($('body.ios').length > -1) {
            if (window.focus) {
                winObj.focus();
            }
        } else {
            winObj.focus();
        }
    })

    $('.connect-popup-overlay a#close-overlay-btn').click(function () {
        $('.connect-popup-overlay').fadeOut();
    })
}

$(document).ready(function () {

    (function (d, s, id) {
        var js, fjs = d.getElementsByTagName(s)[0];
        if (d.getElementById(id)) { return; }
        js = d.createElement(s); js.id = id;
        js.src = "//connect.facebook.net/en_US/sdk.js#version=v2.6&appId=" + $('#main-frp').data('facebookappid') + "&status=true&cookie=true&xfbml=true";
        fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));

    applyVisionEventStyles();

    var defaultTab = $('.fundometer-tab').attr('data');
    toggleActiveFundometer(defaultTab);

    $('#left-controls button').each(function () {
        if (!$(this).hasClass('loginbtn')) {
            var x = $(this).attr('data-link');
            $(this).attr('data-link', x + '?iframe=true')
        }
    });


    /* ======================================
    GET JS SOCIALS
    =========================================*/
    // IF WINDOW LOCATION ORIGIN IS NOT SUPPORTED
    if (!window.location.origin) {
        window.location.origin = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ':' + window.location.port : '');
    }
    $.getScript("https://cdn.jsdelivr.net/jquery.jssocials/1.2.1/jssocials.min.js")
        .done(function (script, textStatus) {

            var creatorName = $('#page-params').attr('data-creatorname');
            var pagetitle = $('#page-params').attr('data-pagetitle');
            var pageurl = $('#page-params').attr('data-pageurl');
            var eventname = $('#page-params').attr('data-eventname');
            var smsurl;
            var twittertext = "Hey, I am helping a great cause. Check out ";
            var charityName = $('#page-params').attr('data-charity');

            if ($('body.ios').length > 0) {
                smsurl = "sms://&body=Hey,%20I%20am%20helping%20a%20great%20cause.%20Check%20out%20" + window.location.origin + window.location.pathname + "";
            } else {
                smsurl = "sms:?body=Hey,%20I%20am%20helping%20a%20great%20cause.%20Check%20out%20" + window.location.origin + window.location.pathname + "";
            }

            //set custom popup for share
            jsSocials.shareStrategies["my_popup"] = function (args) {
                return $("<div>").click(function () {
                    window.open(args.shareUrl, 'Share', 500, 400);
                });
            };

            jsSocials.shareStrategies["share-pop"] = function (args) {
                return $("<div>").click(function () {
                    sharepop(args.shareUrl, 'Share', 850, 550);
                });
            };


            //set email share subject and body text
            jsSocials.shares.email.shareUrl = "mailto:{to}?subject=" + encodeURIComponent(eventname) + " - " + "Help Support My Go Fundraise Page&body=Hi, please help make a difference for " + encodeURIComponent(charityName) + " by supporting my Go Fundraise page at " + pageurl + ". Any contribution large or small is greatly appreciated.";

            jsSocials.shares.sms = {
                label: "Share via SMS",
                logo: "fa fa-comment-o",
                shareUrl: smsurl
            };

            jsSocials.shares.copylink = {
                label: "Copy Link",
                logo: "fa fa fa-link",
                shareUrl: 'javascript:;'
            };

            $("#shareRoundIcons").jsSocials({
                showCount: false,
                showLabel: false,
                url: window.location.origin + window.location.pathname,
                shares: [
                    {
                        share: "facebook",
                        shareIn: 'share-pop',
                        label: 'Share via Facebook'
                    },
                    {
                        share: "linkedin",
                        shareIn: 'share-pop',
                        label: 'Share via LinkedIn'
                    },
                    {
                        share: "twitter",
                        shareIn: 'share-pop',
                        label: 'Share via Twitter',
                        text: twittertext
                    },
                    {
                        share: "email",
                        shareIn: 'self',
                        label: 'Share via Email'
                    },

                    {
                        share: "copylink",
                        shareIn: 'self'
                    }
                ]
            });

            $("#share").jsSocials({
                showCount: false,
                showLabel: function (screenWidth) {
                    return (screenWidth > 100);
                },
                url: window.location.origin + window.location.pathname,
                shares: [
                    {
                        share: "sms",
                        shareIn: 'blank'
                    },
                    {
                        share: "facebook",
                        shareIn: 'share-pop',
                        label: 'Share via Facebook'
                    },
                    {
                        share: "linkedin",
                        shareIn: 'share-pop',
                        label: 'Share via LinkedIn'
                    },
                    {
                        share: "twitter",
                        shareIn: 'share-pop',
                        label: 'Share via Twitter',
                        text: twittertext
                    },
                    {
                        share: "email",
                        shareIn: 'self',
                        label: 'Share via Email'
                    },

                    {
                        share: "copylink",
                        shareIn: 'self'
                    }
                ]
            });

            $('.jssocials-share-copylink').addClass('copycl');
            $('.jssocials-share-copylink').attr('data-clipboard-text', window.location.origin + window.location.pathname);

            $('.jssocials-share-copylink').click(function () {
                if ($('body.ios').length) {
                    selectTextArea();
                }
            });

            $.getScript("https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.5.10/clipboard.min.js").done(function (script, textStatus) {
                var clipboard = new Clipboard('.copycl');

                clipboard.on('success', function (e) {
                    e.clearSelection();

                    $('span.copied').fadeIn();
                    setTimeout(function () {
                        $('span.copied').fadeOut();
                    }, 2000)
                });

                clipboard.on('error', function (e) {
                });
            });

            function selectTextArea() {
                var t = $('.ios-share-link textarea');
                $('.ios-share-link').show();
                setTimeout(function () {
                    t.focus();
                    t.select();
                    document.execCommand('copy');
                }, 1);
            }

            function openShareDialog() {
                $('.share-wrap').addClass('share-open');
                $('.share-overlay').show();
            }

            $('.frp-mobile-share-btn').click(function () {
                openShareDialog();
            });

            $('.share-btn').each(function () {
                $(this).click(function () {
                    openShareDialog();
                })
            })

            $('.share-overlay').click(function () {
                $('.share-wrap').removeClass('share-open');
                $('.share-overlay').hide();
                $('.ios-share-link').hide();
            })

            $('.close-share').click(function () {
                $('.share-wrap').removeClass('share-open');
                $('.share-overlay').hide();
                $('.ios-share-link').hide();
            })

            $(window).resize(function () {
                $('.share-wrap').removeClass('share-open');
                $('.share-overlay').hide();
                $('.ios-share-link').hide();
            })
        });


    $("a[rel*=read-more]").click(function (e) {
        e.preventDefault();
        var $this = $(this);
        $('#' + $this.data('ref')).css('height', 'auto');
        $this.hide();
    });

	$('#donate-team-grid').dialog({
		dialogClass: "no-titlebar",
        width: 812,
        height: 930,
        draggable: false,
        resizable: false,
        modal: true,
        autoOpen: false,
		position: { my: "center center", at: "center center", of: $(window) },
		open: function (event, ui) {
			$('#donate-team-grid').css('overflow', 'hidden');
            $('.ui-widget-overlay').bind('click', function () { $('#donate-team-grid').dialog('close'); });
		}
	});

    /* ======================================
    GET FITNESS ACTIVITIES
    =========================================*/

    if (($("#activity-container").length > -1) && displayFitnessData === 'True') {
        if (isTeamPage) {
            getFitnessActivitySummary("team");
            getFitnessActivitySummary();
            $('#page-params').addClass('team-act-loaded');
        }
        else if (isMemberPage) {
            getFitnessActivitySummary();
            getFitnessActivitySummary("member");
            $('#page-params').addClass('team-act-loaded');
        } else {
            getFitnessActivitySummary();
            $('#page-params').addClass('ind-act-loaded');
        }
    }
});

function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
        window.onload = func;
    } else {
        window.onload = function () {
            if (oldonload) {
                oldonload();
            }
            func();
        }
    }
}

addLoadEvent(function () {

    if ($('body').hasClass('mobile-frp')) {
        var x = $('#DonationGrid table tbody tr').length;
        if (x > 0) {
            $('#DonationGrid table tbody tr').each(function () {
                $('td:nth-child(4)', this).insertAfter($('td:last-child', this));
            })
        }

        $('#DonationGrid').addClass('moved');
    }


    function gplusStyling() {
        $('.custom-gplus').css({ 'display': 'none', 'float': 'left', 'width': '60px' });
        $('.custom-gplus').insertAfter($('.addthis_button_linkedin'));
    }

    gplusStyling();


    // google plus fix
    var customGplus = document.getElementsByClassName('custom-gplus');
    if (customGplus.length > 0) {
        $('.custom-gplus').each(function () {
            $(this).hide();
        })
    }


    // remove second instance just in case there are two custom-gplus icons
    if (customGplus.length > 1) {
        $('a.custom-gplus').eq(1).remove();
        // ----
        $('.custom-gplus').each(function () {
            $(this).hide();
        })
    }

    // change date
    var d = $('#page-expiry span').text();
    $.date = function (dateObject) {
        var d = new Date(dateObject);
        var day = d.getDate();
        var month = d.getMonth() + 1;
        var year = d.getFullYear();
        if (day < 10) {
            day = "0" + day;
        }
        if (month < 10) {
            month = "0" + month;
        }
        var date = day + "/" + month + "/" + year;

        return date;
    };
    var newDate = $.date(d);
    $('#page-expiry span').text(newDate);
    $('#page-expiry').show();

    if ($('.loginbtn').length) {
        var x = $('.loginbtn').attr('data-link');
        var y = $('.loginbtn').attr('data-home');
        var yy = y.replace('http:', 'https:')
        var a = "https://" + window.location.host + x
        var z = "?ReturnUrl=" + yy;
        $('.loginbtn').attr('data-link', a + z)
    }

    // -------- frp buttons
    var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
    var eventer = window[eventMethod];
    var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message";

    // CLOSE IFRAME ON CLOSE BUTTON CLICK
    // WHEN RELOAD IS TRUE (SET FROM CONNECT FITBIT) -- DISPLAY CONFIRM MESSAGE
    // ELSE IT WILL JUST CLOSE THE IFRAME
    $('span#left-controls-modal-close').click(function () {
        if (reload == true) {
            //location.reload(true);
            childClose();
            confirmSave('Successfully Connected to FitBit, please wait while the page is being reloaded.');
        } else {
            childClose();
        }
    });

    function childClose() {
        $('.left-controls-modal').fadeOut();
        $('#editFrame').fadeOut();
        $('#lfmModal').show();
        $('#editFrame').remove();
        $('span#left-controls-modal-close').hide();
        $('.savedchanges').fadeIn();
    }

    function frpDeleted() {
        childClose();
        confirmFrpDelete('Fundraising page successfully closed, please wait while we redirect you to your accounts page.');
    }

    function confirmFrpDelete(text) {
        $('#loader div > span').text(text);
        $('#loader').fadeIn();

        if (!window.location.origin) {
            window.location.origin = "https://" + window.location.hostname + (window.location.port ? ':' + window.location.port : '');
        }

        setTimeout(function () {
            window.location = window.location.origin + '/pages/my-pages';
        }, 3000);
    }

    function confirmSave(text) {
        $('#loader div > span').text(text);
        $('#loader').fadeIn();
        setTimeout(function () {
            window.location.reload(true);
        }, 3000);
    }

    function redirectTo(text, url) {
        $('#loader div > span').text(text);
        $('#loader').fadeIn();
        setTimeout(function () {
            window.location = url;
        }, 3000);
    }

    // Listen to message from child window
    eventer(messageEvent, function (e) {
        var key = e.message ? "message" : "data";
        var data = e[key];

        switch (data) {
            case "login from iframe successful":
                childClose();
                confirmSave('Login successful, please wait while the page is being reloaded.');
                break;
            case "redirect":
                childClose();
                redirectTo('Please wait while we redirect you to another page.', '/account/register');
                break;
            case "edit from iframe saved":
                childClose();
                confirmSave('Page successfully updated, applying changes..');
                break;
            case "frp deleted":
                frpDeleted();
                break;
            case "edit from popup saved":
                break;
            case "email edit from iframe saved":
                childClose();
                confirmSave('Email successfully sent.');
                break;
            case "cancelled iframe":
                childClose();
                break;
            case "convert to team":
                break;
            case "connected via frp":
                reload = true;
                $.ajax({
                    type: "PUT",
                    url: "/account/display-fitness-data",
                    data: { pageId: pageId, display: true },
                    dataType: "json",
                    success: function (data) {
                    }
                });
                break;
            case "iframe resize":
                var x = $('.left-controls-modal-wrap iframe').attr('id');
                setTimeout(function () {
                    var iFrameID = document.getElementById(x);
                    if (iFrameID) {
                        var Fheight = iFrameID.contentWindow.document.getElementById('main-wrapper').offsetHeight;
                        var wHeight = $(window).height();
                        var wHp = wHeight * .10;
                        if (Fheight >= wHeight) {
                            iFrameID.height = (wHeight - wHp) + 'px';
                        } else {
                            iFrameID.height = Fheight + 'px';
                        }
                    }
                },
                    1000);
                break;
        }

        if (data.indexOf && data.indexOf("frp_url") !== -1) {
            var newUrl = data.split(":")[1];
            childClose();
            confirmSave('Url has been updated. Please wait while the page is reloaded');
            document.location.replace('/page/' + newUrl);
        }
    }, false);



    $('.btnpopup').each(function () {
        var x = $(this).prev().attr('href');
        $(this).click(function (e) {
            e.preventDefault();
            openPopUp(x, 'popup', 450, 530)
        })
    })

    var popups = new Array();
    function destroyPopUps() {
        if (popups.length == 0) return;

        for (i = 0; i < popups.length; i++) {
            popups[i].close();
        }
    }

    document.body.onunload = function () {
        destroyPopUps()
    }

    function openPopUp(url, title, w, h) {
        var winObj;
        var center_left = (screen.width / 2) - (w / 2);
        var center_top = (screen.height / 2) - (h / 2);

        winObj = window.open(url, title, "scrollbars=1, width=" + w + ", height=" + h + ", left=" + center_left + ", top=" + center_top);
        winObj.focus();

        popups.push(winObj);

        if (winObj) {
            winObj.onload = function () {
                window.onmessage = function (e) {
                    if (e.data === 'deleted frp') {
                        $('.connect-popup-overlay').fadeOut();
                        setTimeout(function () {
                            window.location.pathname = '/pages/my-pages';
                            destroyPopUps();
                        }, 1000)
                    }
                };

                // check if popup has redirection in mobile
                var loop = setInterval(function () {
                    if ($('body').hasClass('mobile-frp') && isMobile == 'False' && winObj.location.href.indexOf('page/my-pages') < 0) {
                        clearInterval(loop);
                        alert('test')
                        winObj.close();

                        $('.savedchanges').fadeIn();

                        setTimeout(function () {
                            window.location.reload();
                        }, 2000)

                    }
                }, 200);
            };
        }

        // check if the pop up is still open
        var loop = setInterval(function () {
            if (winObj.closed) {
                clearInterval(loop);
                $('.connect-popup-overlay').fadeOut();
            }
        }, 500);

        // open overlay
        $('.connect-popup-overlay').fadeIn();

        // re-focus popup window on click
        $('.connect-popup-overlay a#continue-overlay-btn').click(function () {
            var x = (window.innerWidth / 2);
            var xx = (w / 2);
            var h = (window.innerHeight / 2);
            var hh = (h / 2);
            var position = { "event": "reposition", "top": center_top, "left": center_left };
            winObj.postMessage(JSON.stringify(position), '*');
            winObj.focus();
        })

        $('.connect-popup-overlay a#close-overlay-btn').click(function () {
            $('.connect-popup-overlay').fadeOut();
        })
    }




    function recenterIframe() {
        var container = $(window);
        var content = $('.left-controls-modal-wrap');
        content.css("top", (container.height() - content.height()) / 2);
    }

    function iframeLoaded(id) {
        var iFrameID = document.getElementById(id);
        if (iFrameID) {
            // here you can make the height, I delete it first, then I make it again
            // iFrameID.height = "";
            var Fheight = iFrameID.contentWindow.document.body.scrollHeight;
            var wHeight = $(window).height();
            var wHp = wHeight * .10;

            if (Fheight >= wHeight) {
                iFrameID.height = (wHeight - wHp) + 'px';
            } else {
                iFrameID.height = Fheight + 'px';
            }
        }
    }

    $(window).resize(function () {
        recenterIframe();
    });

    $('#left-controls button').click(function () {
        if ($('body').hasClass('ios') || $('body').hasClass('android')) {

            if ($(this).hasClass('loginbtn')) {
                var x = $(this).attr('data-link');
                window.location = x;
            } else {
                var x = $(this).attr('data-link');
                openPopUp(x, 'popup', 450, 530)
            }

        } else {
            var iframeloaded = 0;

            $('#floating-toolbar').removeClass('vis');

            $('#editFrame').hide();
            $('span#left-controls-modal-close').hide();
            $('#lfmModal').show();

            var x = $(this).attr('data-link');

            //set width of iframe to be same as the main window content width
            var wrapperWidth = $('#main-wrapper').width() + 'px';

            $('.left-controls-modal-wrap').append('<iframe scrolling="yes" width="100%"  style="visibility:hidden;border-radius:15px;" src="' + x + '" id="editFrame" name="editFrame">')

            iframeLo();

            $('.left-controls-modal').fadeIn();
            recenterIframe();

            function iframeLo() {
                $('.left-controls-modal-wrap iframe').load(function () {
                    $('#lfmModal').hide();
                    var x = $(this).attr('id');
                    //console.log(x)
                    iframeLoaded(x);

                    setTimeout(function () {
                        iframeLoaded(x);
                        $('.left-controls-modal-wrap iframe').css({ 'visibility': 'visible', 'border-radius': '15px;' });
                        $('span#left-controls-modal-close').fadeIn();
                    }, 2000)


                });
            }
        }

    })





    // override bootstraps important hide class
    $('.hide').each(function () {
        $(this).addClass('hidden-div').removeClass('hide');
    })

    // reload fb comment box widget with the right data-width
    $('.fb-comments').removeAttr('data-width').attr('data-width', '100%');


    if ($('#fundometer-tabs').length > -1) {
        var fundoBG = $('.fundometer-header').css('backgroundColor');
        var fundoFF = $('.fundometer-header').css('fontFamily');
        var fundoFC = $('.fundometer-header').css('color');

        var fundoTabStyle = document.createElement('style');
        fundoTabStyle.type = "text/css";
        fundoTabStyle.id = "jointeammodal-btn-theme";

        // browser detection (based on prototype.js)
        if (!!(window.attachEvent && !window.opera)) {
            fundoTabStyle.styleSheet.cssText = '#fundometer-tabs > div {font-family:' + fundoFF + ';} #fundometer-tabs > div.active{color:' + fundoFC + ';background:' + fundoBG + ';}';
        } else {
            var fundoTabStyleText = document.createTextNode('#fundometer-tabs > div {font-family:' + fundoFF + ';} #fundometer-tabs > div.active{color:' + fundoFC + ';background:' + fundoBG + ';}');
            fundoTabStyle.appendChild(fundoTabStyleText);
        }

        document.body.appendChild(fundoTabStyle)

        $('#fundometer-tabs > div').each(function () {
            $(this).click(function () {
                $(this).siblings().removeClass('active');
                $(this).addClass('active');
            })
        })
    }
})

/* ======================================
    VISION EVENT STYLES
=========================================*/
function applyVisionEventStyles() {
    // IF VISION EVENT -- VISION EVENTS HAVE SPECIFIC eventStyles element
    if ($('style#eventStyles').length || $('style#widgetStyles').length) {

        $('body').addClass('vision-event');

        if (!$('.window-bg-image').length) {
            $('body').addClass('window-bg-image');
        }

        // GOOGLE FONT API
        $('head').append('<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.16/webfont.js" integrity="sha256-ooOWiARwoo4FJb3A6jJv+4Ed594TZi0C91MNu+PxLZA= sha384-0bIyOfFEbXDmR9pWVT6PKyzSRIx8gTXuOsrfXQA51wfXn3LRXt+ih6riwq9Zv2yn sha512-WCbE8xnc4A7Vi2Joj76itRur2N/R9xB/eQ74pUU+tNK9OXbcxiNQRrR8H5EqhuNUYCeWSHCII0XGrbJxzcMEuw==" crossorigin="anonymous"></script>')

        // APPLY :VISITED MENU LINK COLOR
        var menuColor = $('.menu-text').css('color');
        $('body.vision-event').append('<style type="text/javascript">.widget-main-menu a:visited {color:' + menuColor + ';}</style>');

        loadcss = document.createElement('link');
        loadcss.setAttribute("rel", "stylesheet");
        loadcss.setAttribute("type", "text/css");
        loadcss.setAttribute("href", "/Content/GoFundraise/EventCreator/EventCreatorVisionEventDefaults.css");
        document.getElementById("header").appendChild(loadcss);

        loadcss2 = document.createElement('link');
        loadcss2.setAttribute("rel", "stylesheet");
        loadcss2.setAttribute("type", "text/css");
        loadcss2.setAttribute("href", "/content/css?v=5HxuyYK9-RNNWwOflS3_ygqsRc-9NQ7GmYvRMrkzgMw1");
        document.getElementById("header").appendChild(loadcss2);

        loadcss3 = document.createElement('link');
        loadcss3.setAttribute("rel", "stylesheet");
        loadcss3.setAttribute("type", "text/css");
        loadcss3.setAttribute("href", "/content/themes/base/css?v=ZJBMte-neVNB6O0FXbX7iD4djlcEaXDyRa8WJyTykIU1");
        document.getElementById("header").appendChild(loadcss3);

        loadcss4 = document.createElement('link');
        loadcss4.setAttribute("rel", "stylesheet");
        loadcss4.setAttribute("type", "text/css");
        loadcss4.setAttribute("href", "/Content/GoFundraise/gofundraise.fundraisingpage.view.css");
        document.getElementById("header").appendChild(loadcss4);


        loadcss5 = document.createElement('link');
        loadcss5.setAttribute("rel", "stylesheet");
        loadcss5.setAttribute("type", "text/css");
        loadcss5.setAttribute("href", "/Content/GoFundraise/EventCreator/EventCreatorVisionFonts.css");
        document.getElementById("header").appendChild(loadcss5);

        loadcss9 = document.createElement('link');
        loadcss9.setAttribute("rel", "stylesheet");
        loadcss9.setAttribute("type", "text/css");
        loadcss9.setAttribute("href", "/Content/GoFundraise/EventCreator/EventCreatorVisionButtons.css");
        document.getElementById("header").appendChild(loadcss9);

        /* BOOSTRAP AND PLUGIN CSS */
        $('head').append('<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.0.0-beta.3/assets/owl.theme.default.min.css">');
        $('head').append('<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">')
        $('head').append('<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.0.0-beta.3/assets/owl.carousel.css">')
        $('head').append('<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap-theme.min.css">')
        $('head').append('<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">')


        //ADD ELEMENTS TO HOUSE PRIMARY AND SECONDARY CLASSES
        $('body').append('<span id="pri" class="primary-color primary-text"></span>');
        $('body').append('<span id="sec" class="secondary-color secondary-text"></span>');

        $('body').append('<span id="menutextsample" class="menu-text"></span>');
        $('body').append('<span id="h1sample" class="heading-1"></span>');
        $('body').append('<span id="h2sample" class="heading-2"></span>');
        $('body').append('<span id="h3sample" class="heading-3"></span>');
        $('body').append('<span id="bodytextsample" class="body-text"></span>');

        $('span#pri.primary-color').hide();
        $('span#sec.secondary-color').hide();

        $('span#menutextsample').hide();
        $('span#h1sample').hide();
        $('span#h2sample').hide();
        $('span#h3sample').hide();
        $('span#bodytextsample').hide();


        // GET CSS
        var priC = $('span#pri.primary-color').css('backgroundColor');
        var secC = $('span#sec.secondary-color').css('backgroundColor');

        var priff = $('span#pri.primary-text').css('fontFamily');
        var prifs = $('span#pri.primary-text').css('fontSize');
        var prifc = $('span#pri.primary-text').css('color');

        var secff = $('span#sec.secondary-text').css('fontFamily');
        var secfs = $('span#sec.secondary-text').css('fontSize');
        var secfc = $('span#sec.secondary-text').css('color');

        // GET ALL EVENT FONTS
        var eventfonts = [];
        var efmt = $('span#menutextsample').css('fontFamily');
        var efh1 = $('span#h1sample').css('fontFamily');
        var efh2 = $('span#h2sample').css('fontFamily');
        var efh3 = $('span#h3sample').css('fontFamily');

        var efbt = $('span#bodytextsample').css('fontFamily');
        var efbtfs = $('span#bodytextsample').css('fontSize');
        var efbtfc = $('span#bodytextsample').css('color');

        var efsec1 = $('span#sec.secondary-text').css('fontFamily');
        var efpri1 = $('span#pri.primary-text').css('fontFamily');

        efh1 = efh1.split(',');
        efh1.forEach(function (obj, index) {
            eventfonts.push(obj)
        })

        efh2 = efh2.split(',');
        efh2.forEach(function (obj, index) {
            eventfonts.push(obj)
        })

        efh3 = efh3.split(',');
        efh3.forEach(function (obj, index) {
            eventfonts.push(obj)
        })

        efmt = efmt.split(',');
        efmt.forEach(function (obj, index) {
            eventfonts.push(obj)
        })

        efbt = efbt.split(',');
        efbt.forEach(function (obj, index) {
            eventfonts.push(obj)
        })

        efsec1 = efsec1.split(',');
        efsec1.forEach(function (obj, index) {
            eventfonts.push(obj)
        })

        efpri1 = efpri1.split(',');
        efpri1.forEach(function (obj, index) {
            eventfonts.push(obj)
        })

        //-----------------
        var unFonts = [];
        var fontsToLoad = [];
        var allfonts = [];

        $('body').append('<style>.slick-dots li.slick-active button:before{color:' + priC + ';}</style>');

        $('body').append('<style>.slick-dots li.slick-pre-active button:before{color:' + secC + ';}</style>');
        $('body').append('<style>.slick-dots li.slick-ne-active button:before{color:' + secC + ';}</style>');

        $.each(eventfonts, function (i, el) {
            if ($.inArray(el, unFonts) === -1) unFonts.push(el);
        });

        unFonts.forEach(function (obj, index) {
            var x = obj.replace(/['"]+/g, '');
            var y = $.trim(x);
            allfonts.push(y);
        })

        $.each(allfonts, function (i, el) {
            if ($.inArray(el, fontsToLoad) === -1) fontsToLoad.push(el);
        });

        fontsToLoad.forEach(function (obj, index) {
            if (obj == 'Arial' ||
                obj == 'Helvetica' ||
                obj == 'Times New Roman' ||
                obj == 'Sans Serif' ||
                obj == 'sans-serif' ||
                obj == 'sansserif' ||
                obj == 'Verdana') {

            } else {
                WebFont.load({
                    google: {
                        families: [obj]
                    },
                    classes: false
                });
            }
        });
        //-------------------


        // APPLY CSS
        $('#fundraising-description').addClass('body-text').css({
            'color': efbtfc,
            'font-size': efbtfs,
            'font-family': efbt
        })

        var frpPrimary = ['.donate-button-large', '.donate-button-small'];
        var x = frpPrimary.join(", ");
        $(x).addClass('primary-color').addClass('primary-text');
        $(x).css({
            'background-color': priC,
            'font-size': prifs,
            'color': prifc,
            'font-family': priff
        })

        var frpSecondary = ['.gf-menu-container', '.beneficiary-header', '#teaminfo-header', '#sponsorinfo-header', '.fundometer-header', '#fundometer-footer', '.frp-section-header', '.share-header'];
        var y = frpSecondary.join(", ");
        $(y).addClass('secondary-color').addClass('secondary-text');
        $(y).css({
            'background-color': secC,
            'font-size': secfs,
            'color': secfc,
            'font-family': secff
        })

        $('#main-left-inner-right > h1').addClass('secondary-text').css({
            'font-size': secfs,
            'font-family': secff
        })

        $('.frp-section-header a.flexi-button').addClass('primary-color').css({
            'font-size': prifs,
            'color': '#777',
            'font-family': priff,
        });

        $('.lnkJoinTeam').addClass('secondary-text').css({
            'font-size': secfs,
            'color': '#868686',
            'font-family': secff
        });

        $('#main-frp').addClass('page-bg-color');
        $('html,body').addClass('window-bg-color');

        //override bootstrap's "hide" class
        $('.hide').each(function () {
            $(this).addClass('hidden-div').removeClass('hide');
        })

        //override bootstrap's "hidden" class
        $('.hidden').each(function () {
            $(this).addClass('hidden-div').removeClass('hidden');
        })

        $('#jointhisteam .small.joinTeam.flexi-button').addClass('primary-color').css({
            'background-color': secC,
            'font-size': prifs,
            'color': prifc,
            'font-family': priff, 'background': priC
        });

        $('#jointhisteam .small.leaveTeam.flexi-button').addClass('primary-color').css({
            'background-color': secC,
            'font-size': prifs,
            'color': prifc,
            'font-family': priff, 'background': priC
        });


        $('.frp-section-header a.flexi-button').addClass('primary-color').css({
            'background-color': secC,
            'font-size': prifs,
            'color': prifc,
            'font-family': priff, 'background': priC
        });

        // ADD MAIN SEARCH STYLE THEME
        var styleNodeJt = document.createElement('style');
        styleNodeJt.type = "text/css";
        styleNodeJt.id = "jointeammodal-btn-theme";
        // browser detection (based on prototype.js)
        if (!!(window.attachEvent && !window.opera)) {
            styleNodeJt.styleSheet.cssText = '#jointhisteam .small.joinTeam.flexi-button {background-color:' + secC + ' !important; font-size:' + prifs + ' !important; color:' + prifc + ' !important; font-family:' + priff + '!important; background:' + priC + '!important;} #jointhisteam .small.leaveTeam.flexi-button {background-color:' + secC + ' !important; font-size:' + prifs + ' !important; color:' + prifc + ' !important; font-family:' + priff + '!important; background:' + priC + '!important;}#modal-wrapper #jointhisteam a.lnkEventHome.button-gray {background-color:' + secC + ' !important; font-size:' + prifs + ' !important; color:' + prifc + ' !important; font-family:' + priff + '!important; background:' + priC + '!important;} #modal-wrapper #jointhisteam a.lnkEventHome.button-gray span {background-color:' + secC + ' !important; font-size:' + prifs + ' !important; color:' + prifc + ' !important; font-family:' + priff + '!important; background:' + priC + '!important;}';
        } else {
            var styleTextJt = document.createTextNode('#jointhisteam .small.joinTeam.flexi-button {background-color:' + secC + ' !important; font-size:' + prifs + ' !important; color:' + prifc + ' !important; font-family:' + priff + '!important; background:' + priC + '!important;} #jointhisteam .small.leaveTeam.flexi-button {background-color:' + secC + ' !important; font-size:' + prifs + ' !important; color:' + prifc + ' !important; font-family:' + priff + '!important; background:' + priC + '!important;}#modal-wrapper #jointhisteam a.lnkEventHome.button-gray {background-color:' + secC + ' !important; font-size:' + prifs + ' !important; color:' + prifc + ' !important; font-family:' + priff + '!important; background:' + priC + '!important;} #modal-wrapper #jointhisteam a.lnkEventHome.button-gray span {background-color:' + secC + ' !important; font-size:' + prifs + ' !important; color:' + prifc + ' !important; font-family:' + priff + '!important; background:' + priC + '!important;}#TeamDonationGrid .donate-button-large{background-color:' + secC + '; font-size:' + prifs + ';color:' + prifc + '; font-family:' + priff + '; background:' + priC + ';}');
            styleNodeJt.appendChild(styleTextJt);
        }

        if ($('#top-nav').length > 0 && !$('.admin-toggle').length) {
            //$('#top-nav').append('<div class="admin-toggle fa fa-ellipsis-v"></div>')
            $('#top-nav').append('<div class="admin-toggle fa fa-bars"></div>')
        }

        $(".admin-toggle").off('click').on('click', function () {
            $("#top-nav ul").stop().slideToggle();
        })

        $(".menu-toggle").off('click').on('click', function () {
            $("nav.widget-main-menu ul").stop().slideToggle();
        })
    } else {
        $('body').addClass('designer-pro');
    }

}

function hideShowPager() {
    if (this.dataSource.totalPages() <= 1) {
        $(this.pager.element).hide();
    }
    else {
        $(this.pager.element).show();
    }

    $('.team-members #TeamMembersGrid').slick({
        infinite: true,
        slidesToShow: 3,
        slidesToScroll: 3,
        autoplay: false,
        arrows: true
    });
}


$(".donate-team").bind("click", function (e) {
    e.preventDefault();
    $('#donate-team-grid').dialog("open");
});


function changeDonationLink() {
    if ($("#TeamMembersGrid").data("kendoListView").dataSource.total() > 0) {
        $(".donate-team").bind("click", function (e) {
            e.preventDefault();
            $('#donate-team-grid').dialog("open");
        });
    }
}

/* ======================================
    FUNCTION - GET FITNESS ACTIVITIES
=========================================*/
var totalActivities = 0;

/* ======================================
    FUNCTION - GET FITNESS ACTIVITY SUMMARY
=========================================*/
function getFitnessActivitySummary(type) {

    var url = "https://" + baseApiDomainName.concat("/Odata/FitnessActivitySummary") + "?frp=" + webTag;
    if (type == "team") {
        url = url + "&type=Team&size=20";
    } else if (type == "member") {
        url = url + "&type=Team&member=true&size=20";
    }

    var activityTrackerContext = {
        "Steps": 0,
        "Distance": 0,
        "Calories": 0,
        "Duration": 0
    }

    activityTrackerContext["Steps"] = 0;
    activityTrackerContext["Distance"] = parseFloat(0);
    activityTrackerContext["Calories"] = 0;
    activityTrackerContext["Duration"] = parseFloat(0);
    initActivityTracker(type, activityTrackerContext);
    toggleActivityTrackerDisplay(true);
}

/* ======================================
    FUNCTION - REWRAP BOTTOM TOOLBAR
=========================================*/
function reWrapBottomFrp() {
    $('#bottom-frp .fg-static-block .fit-tracker-title').each(function () {
        $(this).wrap('<div class="fit-tracker-details"></div>');
    })
    $('#bottom-frp .fg-static-block .track-value').each(function () {
        $(this).insertBefore($(this).prev().find($('.fit-tracker-title')))
    })
    $('.bottom-team').each(function () {
        $(this).hide();
    })

    $('.bottom-frp-toggles > span').each(function () {
        $(this).click(function () {
            var x = $(this).attr('data-bottomtoggle');

            $('.bottom-frp-toggles > span').each(function () {
                $(this).removeClass('active');
            })
            $(this).addClass('active');

            $('.bottom-ind').each(function () {
                $(this).hide();
            })

            $('.bottom-team').each(function () {
                $(this).hide();
            })

            $('.' + x).each(function () {
                $(this).show();
            })
        })

    })
    $('.bottom-frp-wrap > img.bottom-loader').hide();
    $('.bottom-frp-wrap > div').show();
}


/* ======================================
    FUNCTION - INIT ACTIVITY TRACKER
=========================================*/
function initActivityTracker(type, activityTrackerContext) {
    activityTrackerContext.Distance = activityTrackerContext.Distance.toFixed(2)
    activityTrackerContext.Duration = activityTrackerContext.Duration.toFixed(2)
    activityTrackerContext.KCalories = (activityTrackerContext.Calories / 1000).toFixed(2);
    var source = $("#activity-tracker-template").html();
    var template = Handlebars.compile(source);
    var html = template(activityTrackerContext);

    setTimeout(function () {
        if (type == "team" || type == "member") {
            $("#team-activity-tracker").html(html)
            $('.bottom-team-tracker').html(html)
        } else {
            $("#activity-tracker").html(html)
            $('.bottom-individual-tracker').html(html)
        }
        $('#frp-mobile-bottom div#activity-tracker').addClass('active')
        reWrapBottomFrp();
    }, 2500)
}

//Desktop activity tabs
$(".activity-tab").click(function (e) {
    var target = $(e.currentTarget);
    toggleActiveActivityList(target.attr('data'));
});

//Mobile activity tabs
$('#mobile-team-activity .tab').click(function (e) {
    var target = $(e.currentTarget);
    target.siblings().removeClass('active')
    target.addClass('active');
    toggleActiveActivityList(target.attr('data'));
})

//Desktop tracker tabs
$(".activity-tracker-tab").click(function (e) {
    var target = $(e.currentTarget);
    toggleActiveActivityTracker(target.attr('data'));
});

//Desktop fundometer tabs
$(".fundometer-tab.fundometer-toggle").click(function (e) {
    var target = $(e.currentTarget);
    toggleActiveFundometer(target.attr('data'));
});

//Mobile tracker tabs
$('#mobile-team-activity-bottom .tab').click(function (e) {
    $("#mobile-team-activity-bottom .tab").removeClass("active");
    var target = $(e.currentTarget);
    target.addClass("active");
    toggleActiveMobileTracker(target.attr('data'));
});


function toggleActivityDisplay(type, success) {
    $(".spinner-loading").hide();

    //toggle which tab is active
    if (isTeamPage) {
        $("#team-activities").removeClass("area-hidden");
    } else {
        $("#individual-activities").removeClass("area-hidden");
    }

    //toggle display within the tabs
    if (success) {
        $(".activity-mobile-container").show();

        if (type == "team" || type == "member") {
            $("#team-activities .activity-empty").hide();
            $("#team-activities .activity-container").show();
        } else {
            $("#individual-activities .activity-empty").hide();
            $("#individual-activities .activity-container").show();
        }
    } else {
        $(".activity-mobile-container").hide();

        if (type == "team" || type == "member") {
            $("#team-activities .activity-empty").show();
            $("#team-activities .activity-container").hide();
        } else {
            $("#individual-activities .activity-empty").show();
            $("#individual-activities .activity-container").hide();
        }
    }
}

function toggleActiveActivityList(type) {
    $("#individual-activities").removeClass("area-hidden");
    $("#team-activities").removeClass("area-hidden");
    $("#activity-leaderboard").removeClass("area-hidden");
    if (type == "team") {
        $("#activity-leaderboard").hide();
        $("#individual-activities").hide();
        $("#team-activities").show();

        $("#team-activities .slick-slider").slick('setPosition');
    } else if (type == "owner") {
        $("#activity-leaderboard").hide();
        $("#team-activities").hide();
        $("#individual-activities").show();

        $("#individual-activities .slick-slider").slick('setPosition');
    } else {
        $("#activity-leaderboard").show();
        $("#team-activities").hide();
        $("#individual-activities").hide();

        $("#activity-leaderboard .slick-slider").slick('setPosition');
    }
}


function toggleActivityTrackerDisplay(success) {
    if (success) {
        if (isTeamPage) {
            $("#team-activity-tracker").show();
            $("#activity-tracker").hide();
        } else {
            $("#activity-tracker").show();
            $("#team-activity-tracker").hide();
        }
    } else {
        $(".activity-tracker-empty").show();
    }
}

function toggleActiveActivityTracker(type) {
    if (type == "team") {
        $("#team-activity-tracker").show();
        $("#activity-tracker").hide();
    } else {
        $("#team-activity-tracker").hide();
        $("#activity-tracker").show();
    }
}

function toggleActiveMobileTracker(type) {
    if (type == "team") {
        $("#team-activity-tracker").show();
        $("#teamraised").show();
        $("#individualraised").hide();
        $("#activity-tracker").hide();
    } else {
        $("#team-activity-tracker").hide();
        $("#teamraised").hide();
        $("#individualraised").show();
        $("#activity-tracker").show();
    }
}

function toggleActiveFundometer(type) {
    if (type == "team") {
        $(".team-fundometer").show();
        $(".owner-fundometer").hide();
        $(".owner-fundo-meter").addClass("hidden");
        $(".team-fundo-meter").removeClass("hidden");
        $(".team-fundo-meter").removeClass("hidden-div");
    } else {
        $(".team-fundometer").hide();
        $(".owner-fundometer").show();
        $(".owner-fundo-meter").removeClass("hidden");
        $(".owner-fundo-meter").removeClass("hidden-div");
        $(".team-fundo-meter").addClass("hidden");
    }
}



$(window).resize(function () {
    if (($('style#eventStyles').length || $('style#widgetStyles').length) && $(window).width() > 974) {
        $("nav.widget-main-menu ul").removeAttr('style');
        $("#top-nav ul").removeAttr('style');
    }
});


// DETECT IF IOS -- THEN ADD CLASS ios TO BODY
if (/iPhone|iPad|iPod/i.test(navigator.userAgent)) { document.body.className += " ios"; }
// DETECT IF ANDROID -- THEN ADD CLASS android TO BODY
if (/Android/i.test(navigator.userAgent)) { document.body.className += " android";; }
// DETECT IF BLACKBERRY -- THEN ADD CLASS blackberry TO BODY
if (/BlackBerry/i.test(navigator.userAgent)) { document.body.className += " blackberry";; }
// DETECT IF IE MOBILE THEN ADD ie-mobile CLASS TO BODY
if (/IEMobile/i.test(navigator.userAgent)) { document.body.className += " ie-mobile";; }
// DETECT IF OPERA MINI THEN ADD opera-mini CLASS TO BODY
if (/Opera Mini/i.test(navigator.userAgent)) { document.body.className += " opera-mini";; }

var reload = false;

var ua = window.navigator.userAgent;
var edge = ua.indexOf("Edge");
var msie = ua.indexOf("MSIE ");
var msie11 = ua.indexOf("Trident/7.0");
var chr = ua.indexOf("Chrome");
var ff = ua.toLowerCase().indexOf('firefox');
var safari = ua.indexOf("Safari");


var userAgent = navigator.userAgent.toLowerCase(),
    browser = '',
    version = 0;

// If Internet Explorer
// IE 7 - 10
if (msie > 0) {
    var ieVer = parseInt(ua.substring(msie + 5, ua.indexOf(".", msie)));
    document.body.className += " ie";
    document.body.className += " ie" + ieVer;
}
//ie 11
if (msie11 > 0) {
    var ieVer = parseInt(ua.substring(msie + 5, ua.indexOf(".", msie)));
    document.body.className += " ie11";
}

if (edge > -1) {
    document.body.className += " edge";
}
//detect chrome
if (chr > 0) {
    document.body.className += " chrome";
}
//detect firefox
if (ff > 0) { document.body.className += " firefox"; }
//detect safari
if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1) {
    userAgent = userAgent.substring(userAgent.indexOf('version/') + 8);
    userAgent = userAgent.substring(0, userAgent.indexOf('.'));
    version = userAgent;
    browser = "safari";
    document.body.className += " " + browser + version;
    //$('body').addClass(browser + version);
}

//detect edge
if (edge > -1 && chr > -1) {
    document.body.classList.remove('chrome')
}


if ($('body.android').length || $('body.ios').length) {
    (function ($) {
        $.fn.flowtype = function (options) {

            // Establish default settings/variables
            // ====================================
            var settings = $.extend({
                maximum: 9999,
                minimum: 1,
                maxFont: 9999,
                minFont: 1,
                fontRatio: 35
            }, options),

                // Do the magic math
                // =================
                changes = function (el) {
                    var $el = $(el),
                        elw = $el.width(),
                        width = elw > settings.maximum ? settings.maximum : elw < settings.minimum ? settings.minimum : elw,
                        fontBase = width / settings.fontRatio,
                        fontSize = fontBase > settings.maxFont ? settings.maxFont : fontBase < settings.minFont ? settings.minFont : fontBase;
                    $el.css('font-size', fontSize + 'px');
                };

            // Make the magic visible
            // ======================
            return this.each(function () {
                // Context for resize callback
                var that = this;
                // Make changes upon resize
                $(window).resize(function () { changes(that); });
                // Set changes on load
                changes(this);
            });
        };
    }(jQuery));
}


; (function ($) {

    "use strict";

    var instance, proto;

    function UserScrollDisabler($container, options) {
        // spacebar: 32, pageup: 33, pagedown: 34, end: 35, home: 36
        // left: 37, up: 38, right: 39, down: 40
        this.opts = $.extend({
            handleWheel: true,
            handleScrollbar: true,
            handleKeys: true,
            scrollEventKeys: [32, 33, 34, 35, 36, 37, 38, 39, 40]
        }, options);

        this.$container = $container;
        this.$document = $(document);
        this.lockToScrollPos = [0, 0];

        this.disable();
    }

    proto = UserScrollDisabler.prototype;

    proto.disable = function () {
        var t = this;

        if (t.opts.handleWheel) {
            t.$container.on(
                "mousewheel.disablescroll DOMMouseScroll.disablescroll touchmove.disablescroll",
                t._handleWheel
            );
        }

        if (t.opts.handleScrollbar) {
            t.lockToScrollPos = [
                t.$container.scrollLeft(),
                t.$container.scrollTop()
            ];
            t.$container.on("scroll.disablescroll", function () {
                t._handleScrollbar.call(t);
            });
        }

        if (t.opts.handleKeys) {
            t.$document.on("keydown.disablescroll", function (event) {
                t._handleKeydown.call(t, event);
            });
        }
    };

    proto.undo = function () {
        var t = this;
        t.$container.off(".disablescroll");
        if (t.opts.handleKeys) {
            t.$document.off(".disablescroll");
        }
    };

    proto._handleWheel = function (event) {
        event.preventDefault();
    };

    proto._handleScrollbar = function () {
        this.$container.scrollLeft(this.lockToScrollPos[0]);
        this.$container.scrollTop(this.lockToScrollPos[1]);
    };

    proto._handleKeydown = function (event) {
        for (var i = 0; i < this.opts.scrollEventKeys.length; i++) {
            if (event.keyCode === this.opts.scrollEventKeys[i]) {
                event.preventDefault();
                return;
            }
        }
    };


    // Plugin wrapper for object
    $.fn.disablescroll = function (method) {

        // If calling for the first time, instantiate the object and save
        // reference. The plugin can therefore only be instantiated once per
        // page. You can pass options object in through the method parameter.
        if (!instance && (typeof method === "object" || !method)) {
            instance = new UserScrollDisabler(this, method);
        }

        // Instance created, no method specified. Call disable again
        if (instance && typeof method === "undefined") {
            instance.disable();
        }

        // Instance already created, and a method is being explicitly called,
        // e.g. .disablescroll('undo');
        else if (instance && instance[method]) {
            instance[method].call(instance);
        }

    };

    // Global access
    window.UserScrollDisabler = UserScrollDisabler;

})(jQuery);



