
/* Merged Plone Javascript file
 * This file is dynamically assembled from separate parts.
 * Some of these parts have 3rd party licenses or copyright information attached
 * Such information is valid for that section,
 * not for the entire composite file
 * originating files are separated by - filename.js -
 */

/* - ++resource++collective.flowplayer/flashembed.min.js - */
/** 
 * flashembed 0.31. Adobe Flash embedding script
 * 
 * http://flowplayer.org/tools/flash-embed.html
 *
 * Copyright (c) 2008 Tero Piirainen (tipiirai@gmail.com)
 *
 * Released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 * 
 * >> Basically you can do anything you want but leave this header as is <<
 *
 * version 0.01 - 03/11/2008 
 * version 0.31 - Tue Jul 22 2008 06:30:31 GMT+0200 (GMT+02:00)
 */
function flashembed(root,userParams,flashvars){function getHTML(){var html="";if(typeof flashvars=='function'){flashvars=flashvars();}if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){html='<embed type="application/x-shockwave-flash" ';if(params.id){extend(params,{name:params.id});}for(var key in params){if(params[key]!==null){html+=[key]+'="'+params[key]+'"\n\t';}}if(flashvars){html+='flashvars=\''+concatVars(flashvars)+'\'';}html+='/>';}else{html='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" ';html+='width="'+params.width+'" height="'+params.height+'"';if(!params.id&&document.all){params.id="_"+(""+Math.random()).substring(5);}if(params.id){html+=' id="'+params.id+'"';}html+='>';html+='\n\t<param name="movie" value="'+params.src+'" />';params.id=params.src=params.width=params.height=null;for(var k in params){if(params[k]!==null){html+='\n\t<param name="'+k+'" value="'+params[k]+'" />';}}if(flashvars){html+='\n\t<param name="flashvars" value=\''+concatVars(flashvars)+'\' />';}html+="</object>";if(debug){alert(html);}}return html;}function init(name){var timer=setInterval(function(){var doc=document;var el=doc.getElementById(name);if(el){flashembed(el,userParams,flashvars);clearInterval(timer);}else if(doc&&doc.getElementsByTagName&&doc.getElementById&&doc.body){clearInterval(timer);}},13);return true;}function extend(to,from){if(from){for(key in from){if(from.hasOwnProperty(key)){to[key]=from[key];}}}}var params={src:'#',width:'100%',height:'100%',version:null,onFail:null,expressInstall:null,debug:false,bgcolor:'#ffffff',allowfullscreen:true,allowscriptaccess:'always',quality:'high',type:'application/x-shockwave-flash',pluginspage:'http://www.adobe.com/go/getflashplayer'};if(typeof userParams=='string'){userParams={src:userParams};}extend(params,userParams);var version=flashembed.getVersion();var required=params.version;var express=params.expressInstall;var debug=params.debug;if(typeof root=='string'){var el=document.getElementById(root);if(el){root=el;}else{return init(root);}}if(!root){return;}if(!required||flashembed.isSupported(required)){params.onFail=params.version=params.expressInstall=params.debug=null;root.innerHTML=getHTML();return root.firstChild;}else if(params.onFail){var ret=params.onFail.call(params,flashembed.getVersion(),flashvars);if(ret){root.innerHTML=ret;}}else if(required&&express&&flashembed.isSupported([6,65])){extend(params,{src:express});flashvars={MMredirectURL:location.href,MMplayerType:'PlugIn',MMdoctitle:document.title};root.innerHTML=getHTML();}else{if(root.innerHTML.replace(/\s/g,'')!==''){}else{root.innerHTML="<h2>Flash version "+required+" or greater is required</h2>"+"<h3>"+(version[0]>0?"Your version is "+version:"You have no flash plugin installed")+"</h3>"+"<p>Download latest version from <a href='"+params.pluginspage+"'>here</a></p>";}}function concatVars(vars){var out="";for(var key in vars){if(vars[key]){out+=[key]+'='+asString(vars[key])+'&';}}return out.substring(0,out.length-1);}function asString(obj){switch(typeOf(obj)){case'string':return'"'+obj.replace(new RegExp('(["\\\\])','g'),'\\$1')+'"';case'array':return'['+map(obj,function(el){return asString(el);}).join(',')+']';case'function':return'"function()"';case'object':var str=[];for(var prop in obj){if(obj.hasOwnProperty(prop)){str.push('"'+prop+'":'+asString(obj[prop]));}}return'{'+str.join(',')+'}';}return String(obj).replace(/\s/g," ").replace(/\'/g,"\"");}function typeOf(obj){if(obj===null||obj===undefined){return false;}var type=typeof obj;return(type=='object'&&obj.push)?'array':type;}if(window.attachEvent){window.attachEvent("onbeforeunload",function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};});}function map(arr,func){var newArr=[];for(var i in arr){if(arr.hasOwnProperty(i)){newArr[i]=func(arr[i]);}}return newArr;}return root;}if(typeof jQuery=='function'){(function($){$.fn.extend({flashembed:function(params,flashvars){return this.each(function(){flashembed(this,params,flashvars);});}});})(jQuery);}flashembed=flashembed||{};flashembed.getVersion=function(){var version=[0,0];if(navigator.plugins&&typeof navigator.plugins["Shockwave Flash"]=="object"){var _d=navigator.plugins["Shockwave Flash"].description;if(typeof _d!="undefined"){_d=_d.replace(/^.*\s+(\S+\s+\S+$)/,"$1");var _m=parseInt(_d.replace(/^(.*)\..*$/,"$1"),10);var _r=/r/.test(_d)?parseInt(_d.replace(/^.*r(.*)$/,"$1"),10):0;version=[_m,_r];}}else if(window.ActiveXObject){try{var _a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{_a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");version=[6,0];_a.AllowScriptAccess="always";}catch(ee){if(version[0]==6){return;}}try{_a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(eee){}}if(typeof _a=="object"){_d=_a.GetVariable("$version");if(typeof _d!="undefined"){_d=_d.replace(/^\S+\s+(.*)$/,"$1").split(",");version=[parseInt(_d[0],10),parseInt(_d[2],10)];}}}return version;};flashembed.isSupported=function(version){var now=flashembed.getVersion();var ret=(now[0]>version[0])||(now[0]==version[0]&&now[1]>=version[1]);return ret;};

/* - @@collective.flowplayer.js - */

(function($) {
    var params = {src: "/++resource++collective.flowplayer/FlowPlayerDark.swf"};
    function randomOrder() { return (Math.round(Math.random())-0.5); }
    function updateConfig(config, minimal, audio, splash) {
        if(minimal) {
            config.showFullScreenButton = false;
            config.showStopButton = false;
            config.showVolumeSlider = false;
            config.showScrubber = false;
            config.showMenu = false;
            config.usePlayOverlay = false;
            if(audio) {
                config.showMuteVolumeButton = false;
                config.controlsOverVideo = null;
                config.showScrubber = false;
            }
        } else if(audio) {
            config.showFullScreenButton = false;
            config.showMenu = false;
            config.usePlayOverlay = false;
            config.controlsOverVideo = null;
            config.showScrubber = true;
        }
        if(splash) {
            config.splashImageFile = splash;
        }
    }
    $(function() { 
        
        $('.autoFlowPlayer').each(function() {
            var config = { controlsOverVideo:'ease',
controlBarBackgroundColor:-1,
showVolumeSlider:false,
controlBarGloss:'low',
useNativeFullScreen:true,
autoBuffering:false,
initialVolumePercentage:50,
initialScale:'fit',
usePlayOverlay:true,
loop:false,
autoPlay:false };
            var minimal = $(this).is('.minimal');
            var audio = $(this).is('.audio');
            var splash = null;
            
            var aTag = this;
            if(!$(aTag).is("a"))
                aTag = $(this).find("a").get(0);
            if(aTag == null)
                return;
            config.videoFile = aTag.href;
            
            var img = $(this).find("img").get(0);
            if(img != null) {
                //$(this).height($(img).height());
                //$(this).width($(img).width());
                splash = $(img).attr('src');
            }
            
            updateConfig(config, minimal, audio, splash);
            config.hideControls = true;
            flashembed(this, params, {config:config});
            $('.flowPlayerMessage').remove();
        });
        
        $('.playListFlowPlayer').each(function() {
            var config = { controlsOverVideo:'ease',
controlBarBackgroundColor:-1,
showVolumeSlider:false,
controlBarGloss:'low',
useNativeFullScreen:true,
autoBuffering:false,
initialVolumePercentage:50,
initialScale:'fit',
usePlayOverlay:true,
loop:false,
autoPlay:false };
            var minimal = $(this).is('.minimal');
            var audio = $(this).is('.audio');
            var random = $(this).is('.random');
            var splash = null;
            
            var playList = new Array();
            $(this).find('a.playListItem').each(function() {
                playList.push({url: $(this).attr('href')});
            });
            
            var img = $(this).find("img").get(0);
            if(img != null) {
                splash = $(img).attr('src');
            }
            
            if(random) playList.sort(randomOrder);
            
            updateConfig(config, minimal, audio, splash);
            config.showPlayListButtons = (playList.length > 1);
            config.playList = playList;
            config.hideControls = true;
            flashembed(this, params, {config:config});
            
            $(this).show();
            $('.flowPlayerMessage').remove();
        });
    });
})(jQuery);


/* - ++resource++collective.flowplayer/accessibleflowplayer.js - */
// http://www.emiliaromagnalavoro.it/portal_javascripts/++resource++collective.flowplayer/accessibleflowplayer.js?original=1
var HULU_ID='hulu';var jqPlayerToolbar=null;
function _scheduledUpdateTime(){jqPlayerToolbar.updateTime();setTimeout(_scheduledUpdateTime,jqPlayerToolbar.TIME_UPDATE)}
window.onFlowPlayerReady=function(){var jqPlayers=jq(".autoFlowPlayer > embed, .autoFlowPlayer > object, .playListFlowPlayer > embed, .playListFlowPlayer > object");if(jqPlayers.length>0){if(window.console) console.log("Flowplayer inited...");jqPlayerToolbar=new JqPlayerToolbar(jqPlayers,HULU_ID);if(jqPlayerToolbar) setTimeout(_scheduledUpdateTime,jqPlayerToolbar.TIME_UPDATE)}}
window.onClipDone=function(clip){if(window.console) console.log("Clip end");jqPlayerToolbar.togglePlayPause()}
function JqPlayerToolbar(jqPlayer,toolbar_id){var that=this;var _jqPlayer=jqPlayer;that.embed=jqPlayer[0];hulu_class=(jqPlayer.hasClass('autoFlowPlayer')?' huluAuto':(jqPlayer.hasClass('playListFlowPlayer')?' huluPlayList':''));if(jqPlayer.siblings().is("#"+toolbar_id)) return null;jqPlayer.after('<div id="'+toolbar_id+'" class="hulu'+hulu_class+'"></div>')
that.toolbar=jq("#"+toolbar_id);var DEBUG_MODE=true;that.TIME_UPDATE=100;that.toolbar.css('width',jqPlayer.css('width'));var log=function(string){if(DEBUG_MODE&&window.console) console.log(string)}
that.pause=function(){that.embed.Pause();that.togglePlayPause();log("Pause")}
that.play=function(){that.embed.DoPlay();that.togglePlayPause();log("Play")}
that.playPause=function(){if(that.embed.getIsPlaying()){that.pause()}
else{that.play()}}
that.stop=function(){that.embed.DoStop();that.togglePlayPause();log("Stop")}
that.togglePlayPause=function(force){if((!force&&that.embed.getIsPlaying())||force=='pause'){jq('#playpause-button').html('<a class="pause" role="button" title="pause" href="javascript:;">Pause</a>')}
else{jq('#playpause-button').html('<a class="play" role="button" title="play" href="javascript:;">Play</a>')}}
var formatFlowPlayerTime=function(time){time=parseInt(time);var hours=Math.floor(time/3600);time=time%3600;var minutes=Math.floor(time/60);time=time%60;return(hours<10?'0'+hours:hours)+':'+(minutes<10?'0'+minutes:minutes)+':'+(time<10?'0'+time:time)}
that.updateTime=function(){var totalTime=formatFlowPlayerTime(that.embed.getDuration());var elapsedTime=formatFlowPlayerTime(that.embed.getTime());jq('#time-area .elapsed').text(elapsedTime);jq('#time-area .total').text(totalTime)}
that.toolbar.append('<div id="time-area"><span class="elapsed">00:00:00</span> <span class="total">00:00:00</span></div>');that.toolbar.append('<div id="playpause-button"></div>');that.toolbar.append('<div id="stop-button"><a class="stop" role="button" title="stop" href="javascript:;">Stop</a></div>');that.togglePlayPause();jq('#playpause-button').bind('click',that.playPause);jq('#stop-button').bind('click',that.stop)}

