/*

	simple postmessage plugin

	Useful when a reveal slideshow is inside an iframe.
	It allows to call reveal methods from outside.

	Example:
		 var reveal =  window.frames[0];

		 // Reveal.prev(); 
		 reveal.postMessage(JSON.stringify({method: 'prev', args: []}), '*');
		 // Reveal.next(); 
		 reveal.postMessage(JSON.stringify({method: 'next', args: []}), '*');
		 // Reveal.slide(2, 2); 
		 reveal.postMessage(JSON.stringify({method: 'slide', args: [2,2]}), '*');

	Add to the slideshow:

		dependencies: [
			...
			{ src: 'plugin/postmessage/postmessage.js', async: true, condition: function() { return !!document.body.classList; } }
		]

*/

(function (){

	window.addEventListener( "message", function ( event ) {
		var data = JSON.parse( event.data ),
				method = data.method,
				args = data.args;

		if( typeof Reveal[method] === 'function' ) {
			Reveal[method].apply( Reveal, data.args );
		}
	}, false);

}());