
document.observe('dom:loaded', function() {
	/* inline replacement of media inserted via common.xsl and the <figure> xml in content
	 * Replaces div's like:
	 * <div class="inserted-swf" image_url="/fileasset/finger.jpg" 
	 * 		swf="/fileasset/test.flv" width="400" height="300" />
	 * 
	 * swf_url - the file can be .swf, .flv, or .mp4.  player.swf plays mp4 as long as Flash version is 9.3 or up.
	 * image_url - optional preview image
	 */

	$$('div.inserted-swf').each(function(e) {
		var file = e.getAttribute('swf');
		if (!file) file = e.getAttribute('flv');
		if (!file) 
			return;

		var width = e.getAttribute('width') || 384;
		var height = e.getAttribute('height') || 224;
		var image = e.getAttribute('image');

		if (! file.endsWith('swf')){	
			/* flv mp4 video */
			if(supports_video_and_m4v()){
				var replacement = '<video width="' + width + '" height="' + height + '" src="' + file + '" ';
				if (image) replacement += ' poster="' + image + '" ';
				replacement += ' controls="controls" preload="preload" />';
				
				e.replace(replacement);
			}
			else{
				var replacement = document.createElement('div');
				replacement.className = 'inserted-swf';
				e.replace(replacement);
				height = parseInt(height) + 23;
				var s1 = new SWFObject('/swf/player.swf','player',width,height,'9');
				s1.addParam('wmode', 'transparent');
				s1.addParam('allowfullscreen','true');
				s1.addParam('allowscriptaccess','always');
				s1.addVariable('file',file);
				var i = file.lastIndexOf('/');
				if (i > -1)
					s1.addParam('base', file.substring(0, i));
	   		    if (image) 
	   		    	s1.addVariable('image',image);
				s1.write(replacement);			
			}
		}else{
			/* swf flash */
			var replacement = document.createElement('div');
			replacement.className = 'inserted-swf';
			e.replace(replacement);	
			var s1 = new SWFObject(file,'player',width,height,'9');
			s1.addParam('allowfullscreen','true');
			var i = file.lastIndexOf('/');
			if (i > -1)
				s1.addParam('base', file.substring(0, i));
			s1.write(replacement);
		}
	});
});

/* check for HTML5 video and mp4 format support
 * http://diveintohtml5.org/detect.html#video-formats  canPlayType(format) returns a string: "", "maybe" or "probably"
 */ 
function supports_video_and_m4v() {
  if (!!document.createElement('video').canPlayType) {
	  return( document.createElement("video").canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"') != "" );
  } else {
	return false;
	}
}