{"version":3,"sources":["webpack:///./node_modules/vimeo-froogaloop2/javascript/froogaloop.js"],"names":["Froogaloop","iframe","fn","init","eventCallbacks","isReady","playerOrigin","Array","prototype","slice","postMessage","method","params","target","contentWindow","data","JSON","stringify","value","onMessageReceived","event","parse","e","test","origin","eventData","target_id","player_id","callback","eventName","getCallback","undefined","push","length","apply","call","storeCallback","isFunction","obj","constructor","element","document","getElementById","this","api","valueOrCallback","id","addEvent","removeEvent","removed","removeCallback","window","addEventListener","attachEvent","$f"],"mappings":"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","file":"167.js","sourcesContent":["// Init style shamelessly stolen from jQuery http://jquery.com\nvar Froogaloop = (function(){\n // Define a local copy of Froogaloop\n function Froogaloop(iframe) {\n // The Froogaloop object is actually just the init constructor\n return new Froogaloop.fn.init(iframe);\n }\n\n var eventCallbacks = {},\n hasWindowEvent = false,\n isReady = false,\n slice = Array.prototype.slice,\n playerOrigin = '*';\n\n Froogaloop.fn = Froogaloop.prototype = {\n element: null,\n\n init: function(iframe) {\n if (typeof iframe === \"string\") {\n iframe = document.getElementById(iframe);\n }\n\n this.element = iframe;\n\n return this;\n },\n\n /*\n * Calls a function to act upon the player.\n *\n * @param {string} method The name of the Javascript API method to call. Eg: 'play'.\n * @param {Array|Function} valueOrCallback params Array of parameters to pass when calling an API method\n * or callback function when the method returns a value.\n */\n api: function(method, valueOrCallback) {\n if (!this.element || !method) {\n return false;\n }\n\n var self = this,\n element = self.element,\n target_id = element.id !== '' ? element.id : null,\n params = !isFunction(valueOrCallback) ? valueOrCallback : null,\n callback = isFunction(valueOrCallback) ? valueOrCallback : null;\n\n // Store the callback for get functions\n if (callback) {\n storeCallback(method, callback, target_id);\n }\n\n postMessage(method, params, element);\n return self;\n },\n\n /*\n * Registers an event listener and a callback function that gets called when the event fires.\n *\n * @param eventName (String): Name of the event to listen for.\n * @param callback (Function): Function that should be called when the event fires.\n */\n addEvent: function(eventName, callback) {\n if (!this.element) {\n return false;\n }\n\n var self = this,\n element = self.element,\n target_id = element.id !== '' ? element.id : null;\n\n\n storeCallback(eventName, callback, target_id);\n\n // The ready event is not registered via postMessage. It fires regardless.\n if (eventName != 'ready') {\n postMessage('addEventListener', eventName, element);\n }\n else if (eventName == 'ready' && isReady) {\n callback.call(null, target_id);\n }\n\n return self;\n },\n\n /*\n * Unregisters an event listener that gets called when the event fires.\n *\n * @param eventName (String): Name of the event to stop listening for.\n */\n removeEvent: function(eventName) {\n if (!this.element) {\n return false;\n }\n\n var self = this,\n element = self.element,\n target_id = element.id !== '' ? element.id : null,\n removed = removeCallback(eventName, target_id);\n\n // The ready event is not registered\n if (eventName != 'ready' && removed) {\n postMessage('removeEventListener', eventName, element);\n }\n }\n };\n\n /**\n * Handles posting a message to the parent window.\n *\n * @param method (String): name of the method to call inside the player. For api calls\n * this is the name of the api method (api_play or api_pause) while for events this method\n * is api_addEventListener.\n * @param params (Object or Array): List of parameters to submit to the method. Can be either\n * a single param or an array list of parameters.\n * @param target (HTMLElement): Target iframe to post the message to.\n */\n function postMessage(method, params, target) {\n if (!target.contentWindow.postMessage) {\n return false;\n }\n\n var data = JSON.stringify({\n method: method,\n value: params\n });\n\n target.contentWindow.postMessage(data, playerOrigin);\n }\n\n /**\n * Event that fires whenever the window receives a message from its parent\n * via window.postMessage.\n */\n function onMessageReceived(event) {\n var data, method;\n\n try {\n data = JSON.parse(event.data);\n method = data.event || data.method;\n }\n catch(e) {\n //fail silently... like a ninja!\n }\n\n if (method == 'ready' && !isReady) {\n isReady = true;\n }\n\n // Handles messages from the vimeo player only\n if (!(/^https?:\\/\\/player.vimeo.com/).test(event.origin)) {\n return false;\n }\n\n if (playerOrigin === '*') {\n playerOrigin = event.origin;\n }\n\n var value = data.value,\n eventData = data.data,\n target_id = target_id === '' ? null : data.player_id,\n\n callback = getCallback(method, target_id),\n params = [];\n\n if (!callback) {\n return false;\n }\n\n if (value !== undefined) {\n params.push(value);\n }\n\n if (eventData) {\n params.push(eventData);\n }\n\n if (target_id) {\n params.push(target_id);\n }\n\n return params.length > 0 ? callback.apply(null, params) : callback.call();\n }\n\n\n /**\n * Stores submitted callbacks for each iframe being tracked and each\n * event for that iframe.\n *\n * @param eventName (String): Name of the event. Eg. api_onPlay\n * @param callback (Function): Function that should get executed when the\n * event is fired.\n * @param target_id (String) [Optional]: If handling more than one iframe then\n * it stores the different callbacks for different iframes based on the iframe's\n * id.\n */\n function storeCallback(eventName, callback, target_id) {\n if (target_id) {\n if (!eventCallbacks[target_id]) {\n eventCallbacks[target_id] = {};\n }\n eventCallbacks[target_id][eventName] = callback;\n }\n else {\n eventCallbacks[eventName] = callback;\n }\n }\n\n /**\n * Retrieves stored callbacks.\n */\n function getCallback(eventName, target_id) {\n if (target_id) {\n return eventCallbacks[target_id][eventName];\n }\n else {\n return eventCallbacks[eventName];\n }\n }\n\n function removeCallback(eventName, target_id) {\n if (target_id && eventCallbacks[target_id]) {\n if (!eventCallbacks[target_id][eventName]) {\n return false;\n }\n eventCallbacks[target_id][eventName] = null;\n }\n else {\n if (!eventCallbacks[eventName]) {\n return false;\n }\n eventCallbacks[eventName] = null;\n }\n\n return true;\n }\n\n function isFunction(obj) {\n return !!(obj && obj.constructor && obj.call && obj.apply);\n }\n\n function isArray(obj) {\n return toString.call(obj) === '[object Array]';\n }\n\n // Give the init function the Froogaloop prototype for later instantiation\n Froogaloop.fn.init.prototype = Froogaloop.fn;\n\n // Listens for the message event.\n // W3C\n if (window.addEventListener) {\n window.addEventListener('message', onMessageReceived, false);\n }\n // IE\n else {\n window.attachEvent('onmessage', onMessageReceived);\n }\n\n // Expose froogaloop to the global object\n return (window.Froogaloop = window.$f = Froogaloop);\n\n})();\n"],"sourceRoot":""}