{"title":"Meditation Media","description":"\u003cscript\u003e\/\/ \u003c![CDATA[\n\/*\n * jQuery Shorten plugin 1.1.0\n *\n * Copyright (c) 2014 Viral Patel\n * http:\/\/viralpatel.net\n *\n * Licensed under the MIT license:\n *   http:\/\/www.opensource.org\/licenses\/mit-license.php\n *\/\n\n\/*\n** updated by Jeff Richardson\n** Updated to use strict,\n** IE 7 has a \"bug\" It is returning underfined when trying to reference string characters in this format\n** content[i]. IE 7 allows content.charAt(i) This works fine in all modern browsers.\n** I've also added brackets where they werent added just for readability (mostly for me).\n*\/\n\n(function($) {\n    $.fn.shorten = function(settings) {\n        \"use strict\";\n\n        var config = {\n            showChars: 0,\n            ellipsesText: \"\",\n            moreText: \"LEARN MORE + \",\n            lessText: \"Read Less\",\n            errMsg: null,\n            force: false\n        };\n\n        if (settings) {\n            $.extend(config, settings);\n        }\n\n        if ($(this).data('jquery.shorten') \u0026\u0026 !config.force) {\n            return false;\n        }\n        $(this).data('jquery.shorten', true);\n\n        $(document).off(\"click\", '.morelink');\n\n        $(document).on({\n            click: function() {\n\n                var $this = $(this);\n                if ($this.hasClass('less')) {\n                    $this.removeClass('less');\n                    $this.html(config.moreText);\n                    $this.parent().prev().prev().show(); \/\/ shortcontent\n                    $this.parent().prev().hide(); \/\/ allcontent\n\n                } else {\n                    $this.addClass('less');\n                    $this.html(config.lessText);\n                    $this.parent().prev().prev().hide(); \/\/ shortcontent\n                    $this.parent().prev().show(); \/\/ allcontent\n                }\n                return false;\n            }\n        }, '.morelink');\n\n        return this.each(function() {\n            var $this = $(this);\n\n            var content = $this.html();\n            var contentlen = $this.text().length;\n            if (contentlen \u003e config.showChars) {\n                var c = content.substr(0, config.showChars);\n                if (c.indexOf('\u003c') \u003e= 0) \/\/ If there's HTML don't want to cut it\n                {\n                    var inTag = false; \/\/ I'm in a tag?\n                    var bag = ''; \/\/ Put the characters to be shown here\n                    var countChars = 0; \/\/ Current bag size\n                    var openTags = []; \/\/ Stack for opened tags, so I can close them later\n                    var tagName = null;\n\n                    for (var i = 0, r = 0; r \u003c= config.showChars; i++) {\n                        if (content[i] == '\u003c' \u0026\u0026 !inTag) {\n                            inTag = true;\n\n                            \/\/ This could be \"tag\" or \"\/tag\"\n                            tagName = content.substring(i + 1, content.indexOf('\u003e', i));\n\n                            \/\/ If its a closing tag\n                            if (tagName[0] == '\/') {\n\n\n                                if (tagName != '\/' + openTags[0]) {\n                                    config.errMsg = 'ERROR en HTML: the top of the stack should be the tag that closes';\n                                } else {\n                                    openTags.shift(); \/\/ Pops the last tag from the open tag stack (the tag is closed in the retult HTML!)\n                                }\n\n                            } else {\n                                \/\/ There are some nasty tags that don't have a close tag like \u003cbr\/\u003e\n                                if (tagName.toLowerCase() != 'br') {\n                                    openTags.unshift(tagName); \/\/ Add to start the name of the tag that opens\n                                }\n                            }\n                        }\n                        if (inTag \u0026\u0026 content[i] == '\u003e') {\n                            inTag = false;\n                        }\n\n                        if (inTag) { bag += content.charAt(i); } \/\/ Add tag name chars to the result\n                        else {\n                            r++;\n                            if (countChars \u003c= config.showChars) {\n                                bag += content.charAt(i); \/\/ Fix to ie 7 not allowing you to reference string characters using the []\n                                countChars++;\n                            } else \/\/ Now I have the characters needed\n                            {\n                                if (openTags.length \u003e 0) \/\/ I have unclosed tags\n                                {\n                                    \/\/console.log('They were open tags');\n                                    \/\/console.log(openTags);\n                                    for (j = 0; j \u003c openTags.length; j++) {\n                                        \/\/console.log('Cierro tag ' + openTags[j]);\n                                        bag += '\u003c\/' + openTags[j] + '\u003e'; \/\/ Close all tags that were opened\n\n                                        \/\/ You could shift the tag from the stack to check if you end with an empty stack, that means you have closed all open tags\n                                    }\n                                    break;\n                                }\n                            }\n                        }\n                    }\n                    c = $('\u003cdiv\/\u003e').html(bag + '\u003cspan class=\"ellip\"\u003e' + config.ellipsesText + '\u003c\/span\u003e').html();\n                }else{\n                    c+=config.ellipsesText;\n                }\n\n                var html = '\u003cdiv class=\"shortcontent\"\u003e' + c +\n                    '\u003c\/div\u003e\u003cdiv class=\"allcontent\"\u003e' + content +\n                    '\u003c\/div\u003e\u003cspan\u003e\u003ca href=\"javascript:\/\/nop\/\" class=\"morelink\"\u003e' + config.moreText + '\u003c\/a\u003e\u003c\/span\u003e';\n\n                $this.html(html);\n                $this.find(\".allcontent\").hide(); \/\/ Hide all text\n                $('.shortcontent p:last', $this).css('margin-bottom', 0); \/\/Remove bottom margin on last paragraph as it's likely shortened\n            }\n        });\n\n    };\n\n})(jQuery);\n\n$(document).ready(function() {\n$(\".text-collapse\").shorten();\n});\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cdiv class=\"text-collapse\"\u003e\n\u003ch2\u003eMediation Videos, DVDs, and Media\u003c\/h2\u003e\n\u003cp\u003eFor beginner meditators, sometimes silence can be deafening. A too-quiet room, the dull ringing in your ears, or the hum of the dishwasher takes your Zen and throws it off a ten-story cliff. Sometimes you need guidance, a lead-in, or quiet music to focus on in order to let your mind fully relax. With beginner meditators in mind, we offer several meditation videos to guide you into a relaxed, neutral state—no cliffs involved.\u003c\/p\u003e\n\u003cp\u003eBut before we get to the guided meditation DVDs, let’s take a moment to talk about two important things in our meditation practice: our breath and our body. Breathing is something we do every second of every day of our lives. But how many of us really pay attention to the way we breathe? How many of us can explain the nuances of our breath at rest, at work, or while we’re doing something strenuous? There’s a direct connection between relaxation and breathing; to breathe fully, it’s necessary to be relaxed. And to be relaxed requires full, deep breathing. See the cycle, here?\u003c\/p\u003e\n\u003cp\u003eWhen you begin a meditation practice, one of the first things you bring your attention to is your breath: moving your short, shallow breaths into longer, deeper, more conscious breaths. And guess what? The deeper you breathe, the more oxygen you get. And the more oxygen you get, the better you feel. And then comes your body: how do you feel physically in this meditation? Are you comfortable? Tense? Cramped? Jittery? By creating a dialogue with your legs, your spine, your hands, your lungs and eventually your mind, you’ll find where the unease lies and tap into the resources needed to achieve alert-yet-calm relaxation.\u003c\/p\u003e\n\u003cp\u003eWith our meditation media, the breath and the body take center stage. In Rodney Yee’s Daily Meditation DVD, he leads you through an energizing AM practice, a relaxing PM practice, and a seated meditation practice focused on releasing tension. In Maritza’s Meditation for Beginners, she guides you through three 20-minute sessions, including a gentle yoga practice that prepares your body for meditation. And in Rodney Yee’s Relaxation and Breathing for Meditation DVD, he teaches simple breathing techniques and relaxation methods to bring the mind and body into a state of stillness.\u003c\/p\u003e\n\u003c\/div\u003e","products":[],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1728\/2157\/collections\/X-MeditationMedia-300_03.jpg?v=1552600166","url":"https:\/\/www.gaiam.com\/collections\/meditation-media.oembed?q=wellness+dvd","provider":"Gaiam","version":"1.0","type":"link"}