Trigger Example with Cookie

In this example, the Scotch Panel will appear after 2 seconds and set a cookie that the user has seen it already. This way if they refresh, they won't see the popup again.

                
                // Copied from https://developer.mozilla.org/en-US/docs/Web/API/document.cookie
                var docCookies = {
                  getItem: function (sKey) {
                    return decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*" + encodeURIComponent(sKey).replace(/[\-\.\+\*]/g, "\\$&") + "\\s*\\=\\s*([^;]*).*$)|^.*$"), "$1")) || null;
                  },
                  setItem: function (sKey, sValue, vEnd, sPath, sDomain, bSecure) {
                    if (!sKey || /^(?:expires|max\-age|path|domain|secure)$/i.test(sKey)) { return false; }
                    var sExpires = "";
                    if (vEnd) {
                      switch (vEnd.constructor) {
                        case Number:
                          sExpires = vEnd === Infinity ? "; expires=Fri, 31 Dec 9999 23:59:59 GMT" : "; max-age=" + vEnd;
                          break;
                        case String:
                          sExpires = "; expires=" + vEnd;
                          break;
                        case Date:
                          sExpires = "; expires=" + vEnd.toUTCString();
                          break;
                      }
                    }
                    document.cookie = encodeURIComponent(sKey) + "=" + encodeURIComponent(sValue) + sExpires + (sDomain ? "; domain=" + sDomain : "") + (sPath ? "; path=" + sPath : "") + (bSecure ? "; secure" : "");
                    return true;
                  },
                  removeItem: function (sKey, sPath, sDomain) {
                    if (!sKey || !this.hasItem(sKey)) { return false; }
                    document.cookie = encodeURIComponent(sKey) + "=; expires=Thu, 01 Jan 1970 00:00:00 GMT" + (sDomain ? "; domain=" + sDomain : "") + (sPath ? "; path=" + sPath : "");
                    return true;
                  },
                  hasItem: function (sKey) {
                    return (new RegExp("(?:^|;\\s*)" + encodeURIComponent(sKey).replace(/[\-\.\+\*]/g, "\\$&") + "\\s*\\=")).test(document.cookie);
                  },
                  keys: /* optional method: you can safely remove it */ function () {
                    var aKeys = document.cookie.replace(/((?:^|\s*;)[^\=]+)(?=;|$)|^\s*|\s*(?:\=[^;]*)?(?:\1|$)/g, "").split(/\s*(?:\=[^;]*)?;\s*/);
                    for (var nIdx = 0; nIdx < aKeys.length; nIdx++) { aKeys[nIdx] = decodeURIComponent(aKeys[nIdx]); }
                    return aKeys;
                  }
                };

                // Check if Cookie Exists
                if (docCookies.getItem('has_seen_video') != 1) {

                    // Init Scotch Panel
                    $('#scotch-panel').scotchPanel({
                        type: 'video',
                        youtubeID: 'ePbKGoIGAXY',
                        minHeight: '500px',
                        startOpened: true,
                        startOpenedDelay: 2000,
                        enableEscapeKey: true,
                        clickSelector: '.toggle-panel',
                        beforePanelOpen: function() {
                            // Set Cookie! (This only works if ran from a server. So if you have file:// in your URL, it's not going to work for you.)
                            docCookies.setItem('has_seen_video', 1);
                        }
                    });

                }