/* Responsive videos. */ (function() { var _debounce, _each, _filter, _resize, iframes, isVideo, resizeVideos, videos;
resizeVideos = function() {
_each(videos, function(video) { var newWidth; newWidth = video.parentElement.offsetWidth; _resize(video, newWidth); });
};
_each = function(items, action) {
var i, len; i = 0; len = items.length; while (i < len) { action(items[i], i); i++; }
};
_filter = function(items, test) {
var filtered, i, item; filtered = []; i = 0; while (i < items.length) { item = items[i]; if (test(item, i)) { filtered.push(item); } i++; } return filtered;
};
_resize = function(video, newWidth) {
var ASPECT_RATIO, newHeight; ASPECT_RATIO = 9 / 16; newHeight = ASPECT_RATIO * newWidth; video.setAttribute('width', newWidth.toString()); video.setAttribute('height', newHeight.toString());
};
_debounce = function(func, wait, immediate) {
var timeout; timeout = void 0; return function() { var args, callNow, context, later; context = this; args = arguments; later = function() { timeout = null; if (!immediate) { func.apply(context, args); } }; callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait); if (callNow) { func.apply(context, args); } };
};
iframes = document.getElementsByTagName('iframe');
isVideo = /(youtube)|(vimeo)|(cloudup)|(spotify)|(twitch)/i;
videos = _filter(iframes, function(iframe) {
return isVideo.test(iframe.getAttribute('src'));
});
resizeVideos();
}).call(this);