/*!
 * projekktor zwei
 * http://www.projekktor.com
 *
 * Copyright 2010, Sascha Kluger, Spinning Airwhale Media, http://www.spinningairwhale.com
 * under GNU General Public License
 * http://www.projekktor.com/license/
 *
 * You can use, modify and distribute the software, but do so in the spirit of Open Source.
 * You need to leave the copyright notices intact.
 * You need to be able to share any modifications you make to the Projekktor source (not the software Projekktor is integrated to).
 * Give credit where credit is due, spread the word, link to us if you can.
 *
 * Includes jQuery JavaScript Library v1.4.2
 * http://jquery.com/
 * Copyright 2010, John Resig
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * ,------------------------------------------,      .    _  .
 * |  Naaah, love shines through !!1          |      |\_|/__/|
 * |------------------------------------------|     / / \/ \  \
 *                                           \     /__|O||O|__ \
 *                                             \  |/_ \_/\_/ _\ |
 *                                                | | (____) | ||
 *                                                \/\___/\__/  //
 *                                                (_/         ||
 *                                                 |          ||
 *                                                 |          ||\
 *                                                  \        //_/
 *                                                   \______//
 *                                                 __ || __||
 *                                                (____(____)
 */
var playerObjectAUDIO=function(){};playerObjectAUDIO.prototype={allowRandomSeek:false,imageElement:{},applyMedia:function(b){var a=this;this.imageElement=this.applyImage(this.controller.getItemConfig("poster"),b);this.mediaElement=$(document.createElement("audio")).appendTo(b).attr({id:this.controller.getId()+"_media_html",src:this.media.file,controls:false,autoplay:false,autobuffer:false,loop:false}).css({width:"1px",height:"1px"});if(this.media.mediaType.indexOf("/ogg")>-1){this.allowRandomSeek=true}this.waitforPlayer()},waitforPlayer:function(){if(this.elementReady==true){return}var c=this;var a=$("#"+this.controller.getId()+"_media_html");try{if(a==undefined){setTimeout(function(){c.waitforPlayer()},500);return}if(a[0].networkState==undefined){setTimeout(function(){c.waitforPlayer()},500);return}}catch(b){setTimeout(function(){c.waitforPlayer()},500);return}this.mediaElement=a;this.elementReady=true},addListeners:function(){var a=this;this.mediaElement.bind("pause",function(){a.pauseListener(this)});this.mediaElement.bind("playing",function(){a.startListener(this)});this.mediaElement.bind("play",function(){a.playingListener(this)});this.mediaElement.bind("volumechange",function(){a.volumeListener(this)});this.mediaElement.bind("progress",function(b){a.progressListener(b,this)});this.mediaElement.bind("timeupdate",function(){a.timeListener(this)});this.mediaElement.bind("ended",function(){a.endedListener(this)});this.mediaElement.bind("waiting",function(){a.waitingListener(this)});this.mediaElement.bind("canplaythrough",function(){a.canplayListener(this)});this.mediaElement.bind("canplay",function(){a.canplayListener(this)});this.mediaElement.bind("error",function(){a.errorListener(this)});this.mediaElement.bind("suspend",function(){a.suspendListener(this)})},updatePlayerInfo:function(){var b=this;var a=4;try{if(this.getState()==="PLAYING"){if($.browser.opera){a=3}if(this.mediaElement[0].networkState==a&&this.mediaElement[0].networkState!=undefined){this.errorListener()}setTimeout(function(){b.updatePlayerInfo()},500)}}catch(c){}},detachMedia:function(){try{$(this.mediaElement[0]).attr("src","").load()}catch(a){}},setPlay:function(){try{this.mediaElement[0].play()}catch(a){}this.updatePlayerInfo()},setPause:function(){try{this.mediaElement[0].pause()}catch(a){}},setVolume:function(a){try{this.mediaElement.attr("volume",a)}catch(b){}},setSeek:function(b){try{this.mediaElement.attr("currentTime",b)}catch(a){}}};var playerObjectVIDEOFLASH=function(){};playerObjectVIDEOFLASH.prototype={requiresFlash:9,flashVerifyMethod:"api_get",_jarisVolume:0,applyMedia:function(a){var b={id:this.controller.getMediaContainerId()+"_flash",name:this.controller.getMediaContainerId()+"_flash",src:this.controller.getItemConfig("playerFlashMP4"),width:"100%",height:"100%",allowScriptAccess:"always",allowFullScreen:"true",allowNetworking:"all",wmode:"transparent",bgcolor:"#000000",FlashVars:{source:this.media.file,type:"video",streamtype:this.controller.getItemConfig("flashStreamType"),server:(this.controller.getItemConfig("flashStreamType")=="rtmp")?this.controller.getItemConfig("flashRTMPServer"):"",autostart:"false",hardwarescaling:"true",controls:"false",jsapi:"true"}};this.createFlash(b,a)},addListeners:function(){this.mediaElement.api_addlistener("onprogress","projekktor('"+this.controller.getId()+"').playerObject.progressListener");this.mediaElement.api_addlistener("ontimeupdate","projekktor('"+this.controller.getId()+"').playerObject.timeListener");this.mediaElement.api_addlistener("ondatainitialized","projekktor('"+this.controller.getId()+"').playerObject.startListener");this.mediaElement.api_addlistener("onplaypause","projekktor('"+this.controller.getId()+"').playerObject._playpauseListener");this.mediaElement.api_addlistener("onplaybackfinished","projekktor('"+this.controller.getId()+"').playerObject.endedListener");this.mediaElement.api_addlistener("onmute","projekktor('"+this.controller.getId()+"').playerObject.volumeListener");this.mediaElement.api_addlistener("onvolumechange","projekktor('"+this.controller.getId()+"').playerObject.volumeListener");this.mediaElement.api_addlistener("onbuffering","projekktor('"+this.controller.getId()+"').playerObject.waitingListener");this.mediaElement.api_addlistener("onnotbuffering","projekktor('"+this.controller.getId()+"').playerObject.canplayListener");this.mediaElement.api_addlistener("onnotbuffering","projekktor('"+this.controller.getId()+"').playerObject.canplayListener");this.mediaElement.api_addlistener("onconnectionfailed","projekktor('"+this.controller.getId()+"').playerObject.errorListener")},removeListeners:function(){try{this.mediaElement.api_removelistener("*")}catch(a){}},_playpauseListener:function(){var a=this.mediaElement.api_get("isPlaying");if(a==1){this.playingListener()}else{this.pauseListener()}},setSeek:function(b){try{this.mediaElement.api_seek(b)}catch(a){}},setVolume:function(a){try{this.mediaElement.api_volume(a)}catch(b){}},setPause:function(a){try{this.mediaElement.api_pause()}catch(b){}},setPlay:function(a){try{this.mediaElement.api_play()}catch(b){}},getVolume:function(){var a=0;try{a=this.mediaElement.api_get("volume")}catch(b){}return a},errorListener:function(a){this.setTestcard(4)},volumeListener:function(a){if(this._jarisVolume!=this.getVolume()){this._jarisVolume=this.getVolume();this.sendUpdate("volume")}}};var playerObjectAUDIOFLASH=function(){};playerObjectAUDIOFLASH.prototype=$.extend(true,{},playerObjectVIDEOFLASH.prototype,{applyMedia:function(b){var a=$(document.createElement("div")).attr({id:this.controller.getMediaContainerId()+"_cover"});b.append(a);this.imageElement=this.applyImage(this.controller.getItemConfig("poster"),a);var c=$(document.createElement("div")).attr({id:this.controller.getMediaContainerId()+"_movie"});b.append(c);var d={id:this.controller.getMediaContainerId()+"_flash",name:this.controller.getMediaContainerId()+"_flash",src:this.controller.getItemConfig("playerFlashMP4"),width:"1px",height:"1px",allowScriptAccess:"always",allowFullScreen:"true",allowNetworking:"all",wmode:"transparent",bgcolor:"#000000",FlashVars:{source:this.media.file,type:"audio",streamtype:this.controller.getItemConfig("flashStreamType"),server:(this.controller.getItemConfig("flashStreamType")=="rtmp")?this.controller.getItemConfig("flashRTMPServer"):"",autostart:"false",hardwarescaling:"true",controls:"false",jsapi:"true"}};this.createFlash(d,c)}});var playerObjectHTML=function(){};playerObjectHTML.prototype={_autoNext:null,applyMedia:function(b){var a=this;this.mediaElement=$(document.createElement("iframe")).attr({id:this.controller.getMediaContainerId()+"_iframe",name:this.controller.getMediaContainerId()+"_iframe",src:this.media.file,scrolling:"no",frameborder:"0",width:"100%",height:"100%"}).css({overflow:"hidden",border:"0px",width:"100%",height:"100%"}).appendTo(b);this.mediaElement.load(function(c){a.success()});this.mediaElement.error(function(c){a.remove()})},detachMedia:function(){clearTimeout(this._autoNext);this.mediaElement.remove()},success:function(){var a=this;if(this.media.duration>0){this._autoNext=setTimeout(function(){a.setPlay()},this.media.duration*1000)}this.elementReady=true},remove:function(){this.mediaElement.remove();this.elementReady=true},setPause:function(){this.pauseListener()},setPlay:function(){this.playingListener()}};var playerObjectIMAGE=function(){};playerObjectIMAGE.prototype={applyMedia:function(b){var a=this;this.mediaElement=this.applyImage(this.media.file,b);this.elementReady=true},setPlay:function(){this._setState("completed")}};var playerObjectNA=function(){};playerObjectNA.prototype={applyImage:function(){if(this.controller.getItemCount()==1&&this.media.errorCode==0){error=7;this.setTestcard(error);this.elementReady=true}},applyMedia:function(){var a=5;if(this.controller.getItemCount()==1&&this.media.errorCode==0){a=7}this.setTestcard(a);this.elementReady=true},setPlay:function(){this.sendUpdate("start")},setPause:function(){if(this._hasEnded==false){this._hasEnded=true;this.sendUpdate("ended")}}};var playerObjectPLAYLIST=function(){};playerObjectPLAYLIST.prototype={applyMedia:function(a){this.elementReady=true},setPlay:function(){this.sendUpdate("playlist",this.media.file)}};var playerObjectVIDEO=function(){};playerObjectVIDEO.prototype={allowRandomSeek:false,videoWidth:0,videoHeight:0,applyMedia:function(a){this.elementReady=false;if(this.media.mediaType.indexOf("/ogg")>-1){this.allowRandomSeek=true}this.mediaElement=$(document.createElement("video")).appendTo(a).attr({id:this.controller.getMediaContainerId()+"_html",src:this.media.file,controls:false,autoplay:false,autobuffer:false,loop:false}).css({width:"100%",height:"100%"});this.waitforPlayer()},waitforPlayer:function(){if(this.elementReady==true){return}var c=this;var a=$("#"+this.controller.getMediaContainerId()+"_html");try{if(a==undefined){setTimeout(function(){c.waitforPlayer()},200);return}if(a[0].networkState==undefined){setTimeout(function(){c.waitforPlayer()},200);return}}catch(b){setTimeout(function(){c.waitforPlayer()},200);return}this.mediaElement=a;this.addListeners();this.elementReady=true},addListeners:function(){var a=this;this.mediaElement.bind("loadedmetadata",function(){a.loadedMetaDataListener(this)});this.mediaElement.bind("pause",function(){a.pauseListener(this)});this.mediaElement.bind("playing",function(){a.startListener(this)});this.mediaElement.bind("play",function(){a.playingListener(this)});this.mediaElement.bind("volumechange",function(){a.volumeListener(this)});this.mediaElement.bind("progress",function(b){a.progressListener(b,this)});this.mediaElement.bind("timeupdate",function(){a.timeListener(this)});this.mediaElement.bind("ended",function(){a.endedListener(this)});this.mediaElement.bind("waiting",function(){a.waitingListener(this)});this.mediaElement.bind("canplaythrough",function(){a.canplayListener(this)});this.mediaElement.bind("canplay",function(){a.canplayListener(this)});this.mediaElement.bind("error",function(b){a.errorListener(b,this)});this.mediaElement.bind("suspend",function(){a.suspendListener(this)})},loadedMetaDataListener:function(b){try{this.videoWidth=b.videoWidth;this.videoHeight=b.videoHeight}catch(a){}this._scaleVideo()},updatePlayerInfo:function(){var b=this;var a=4;try{if(this.getState()!=="IDLE"){if($.browser.opera){a=3}if(this.mediaElement[0].networkState==a&&this.mediaElement[0].networkState!=undefined){this.errorListener()}setTimeout(function(){b.updatePlayerInfo()},500)}}catch(c){}},detachMedia:function(){try{$(this.mediaElement[0]).attr("src","");this.mediaElement[0].load()}catch(a){}},setPlay:function(){try{this.mediaElement[0].play()}catch(a){}this.updatePlayerInfo()},setPause:function(){try{this.mediaElement[0].pause()}catch(a){}},setVolume:function(a){try{this.mediaElement.attr("volume",a)}catch(b){}},setSeek:function(b){try{this.mediaElement.attr("currentTime",b)}catch(a){}},setFullscreen:function(a){this._scaleVideo()},_scaleVideo:function(){var c=this.controller.getMediaContainer();try{var d=c.width();var g=c.height();var a=this.videoWidth;var b=this.videoHeight;this.stretch(this.controller.getItemConfig("videoScaling"),this.mediaElement,d,g,a,b)}catch(f){}}};var playerObjectVIDEOJWFLASH=function(){};playerObjectVIDEOJWFLASH.prototype={usingFlash:true,flashVerifyMethod:"getConfig",fullscreenSupport:true,_isMuted:false,_isStarted:false,applyMedia:function(b){this.elementReady=false;var a=this;if(this.environment.flashVersion[0]<9){this.setTestcard(6);return}var c={id:this.environment.publicName+"_media_flash",name:this.environment.publicName+"_media_flash",src:this.controller.getItemConfig("playerFlashMP4"),width:"100%",height:"100%",allowScriptAccess:"always",allowFullScreen:"true",wmode:"transparent",bgcolor:"#111111",FlashVars:null};this.createFlash(c,b)},flashReadyListener:function(){this.addListeners();this.elementReady=true},addListeners:function(){this.mediaElement.addControllerListener("VOLUME","projekktor('"+this.controller.getId()+"').playerObject.volumeListener");this.mediaElement.addControllerListener("MUTE","projekktor('"+this.controller.getId()+"').playerObject._muteListener");this.mediaElement.addModelListener("STATE","projekktor('"+this.controller.getId()+"').playerObject._stateListener");this.mediaElement.addModelListener("TIME","projekktor('"+this.controller.getId()+"').playerObject.timeListener");this.mediaElement.addModelListener("LOADED","projekktor('"+this.controller.getId()+"').playerObject.progressListener");this.mediaElement.addModelListener("ERROR","projekktor('"+this.controller.getId()+"').playerObject.errorListener");this.mediaElement.addModelListener("BUFFER","projekktor('"+this.controller.getId()+"').playerObject._bufferListener")},_muteListener:function(a){this._isMuted=false;try{if(a.state===true){this._isMuted=true}}catch(b){}this.volumeListener()},_stateListener:function(a){switch(a.newstate){case"COMPLETED":this.endedListener();break;case"PLAYING":if(this._isStarted===false){this._isStarted=true;this.startListener();break}this.playingListener();break;case"PAUSED":this.pauseListener();break;case"BUFFERING":this.waitingListener();break}},removeListeners:function(){try{this.mediaElement.removeControllerListener("VOLUME","projekktor('"+this.controller.getId()+"').playerObject.volumeListener");this.mediaElement.removeControllerListener("MUTE","projekktor('"+this.controller.getId()+"').playerObject._muteListener");this.mediaElement.removeModelListener("STATE","projekktor('"+this.controller.getId()+"').playerObject._stateListener");this.mediaElement.removeModelListener("TIME","projekktor('"+this.controller.getId()+"').playerObject.timeListener");this.mediaElement.removeModelListener("LOADED","projekktor('"+this.controller.getId()+"').playerObject.progressListener");this.mediaElement.removeModelListener("ERROR","projekktor('"+this.controller.getId()+"').playerObject.errorListener");this.mediaElement.removeModelListener("BUFFER","projekktor('"+this.controller.getId()+"').playerObject._bufferListener")}catch(a){}},setSeek:function(a){this.mediaElement.sendEvent("SEEK",a)},setVolume:function(a){this.mediaElement.sendEvent("VOLUME",a*100)},setPause:function(a){this.mediaElement.sendEvent("PAUSE",true)},setPlay:function(a){this.mediaElement.sendEvent("PLAY",true)},getVolume:function(){if(this._isMuted===true){return 0}return this.mediaElement.getConfig().volume/100},errorListener:function(a){this.setTestcard(4)}};var playerObjectVIDEO_MOBILE_APPLE=function(){};playerObjectVIDEO_MOBILE_APPLE.prototype=$.extend(true,{},playerObjectVIDEO.prototype,{preventOverlays:true,displayItem:function(a){if(this.elementReady!==true){this.applyMedia(this.controller.getMediaContainer().html(""));this.elementReady=true;this.waitTillReady(a)}},applyMedia:function(a){this.mediaElement=$(document.createElement("video")).appendTo(a).attr({id:this.controller.getMediaContainerId()+"_html",src:this.media.file,poster:this.controller.getItemConfig("poster"),controls:true,autoplay:false,autobuffer:false,loop:false}).css({width:"100%",height:"100%"})},setFullscreen:function(a){},_scaleVideo:function(){}});var playerObjectYOUTUBE=function(){};playerObjectYOUTUBE.prototype={requiresFlash:8,allowRandomSeek:true,flashVerifyMethod:"cueVideoById",_started:false,applyMedia:function(a){var b={id:this.controller.getMediaContainerId()+"_youtube",name:this.controller.getMediaContainerId()+"_youtube",src:"http://www.youtube.com/apiplayer",width:"100%",height:"100%",bgcolor:"#000000",allowScriptAccess:"always",wmode:"transparent",FlashVars:{enablejsapi:1}};this.createFlash(b,a)},flashReadyListener:function(){this._youtubeResizeFix();this.elementReady=true;this.mediaElement.cueVideoById(this.media.file.replace(/^[^v]+v.(.{11}).*/,"$1"))},flashReinitListener:function(){if($.browser.mozilla){this.mediaElement.cueVideoById(this.media.file.replace(/^[^v]+v.(.{11}).*/,"$1"));if(ref.getState()==="PLAYING"){this.setPlay()}}this.addListeners();this._youtubeResizeFix();this.elementReady=true},_youtubeResizeFix:function(){$(this.mediaElement).attr({width:"99.99999%",height:"99.9999%"});this.applyCommand("volume",this.controller.getItemConfig("volume"))},addListeners:function(){this.mediaElement.addEventListener("onStateChange","projekktor('"+this.controller.getId()+"').playerObject.youtubeStateChangeListener");this.mediaElement.addEventListener("onError","projekktor('"+this.controller.getId()+"').playerObject.errorListener")},setSeek:function(b){try{this.mediaElement.seekTo(b,true)}catch(a){}},setVolume:function(a){try{this.mediaElement.setVolume(a*100)}catch(b){}this.volumeListener({})},setPause:function(a){try{this.mediaElement.pauseVideo()}catch(b){}},setPlay:function(a){try{this.mediaElement.playVideo()}catch(b){}this.updatePlayerInfo()},getVolume:function(){try{return this.mediaElement.getVolume()/100}catch(a){}return 0},errorListener:function(a){this.setTestcard(4)},youtubeStateChangeListener:function(a){switch(a){case -1:break;case 0:this.endedListener({});break;case 1:this.playingListener({});this.canplayListener({});break;case 2:this.pauseListener({});break;case 3:this.waitingListener({});break;case 5:this.waitingListener({});break}},updatePlayerInfo:function(){var a=this;(function(){try{if(a.getState()!=="IDLE"&&a.getState()!=="COMPLETED"){a.timeListener({position:a.mediaElement.getCurrentTime(),duration:a.mediaElement.getDuration()});a.progressListener({loaded:a.mediaElement.getVideoBytesLoaded(),total:a.mediaElement.getVideoBytesTotal()});setTimeout(arguments.callee,250)}}catch(b){}})()}};var projekktorBufferingicon=function(){};projekktorBufferingicon.prototype={_bufferingIcon:null,_bufferDelayTimer:null,config:{bufferIconDelay:150,bufferingDomId:"buffering"},initialize:function(){this._bufferingIcon=$(document.createElement("div")).appendTo(this.canvas.media).attr({id:this.player.getId()+"_"+this.config.bufferingDomId,"class":this.player.getCssClass()+"buffering"}).hide();if(this.config.designMode==true){this._bufferingIcon.show()}this.pluginReady=true},hideBufferIcon:function(){var a=this;clearTimeout(this._bufferDelayTimer);this._bufferingIcon.stop(true,true);this._bufferingIcon.fadeOut("fast")},showBufferIcon:function(a){var b=this;clearTimeout(this._bufferDelayTimer);if(this._isWaiting==false&&a==false){return}if(a!=true&&this.config.bufferIconDelay>0){b._bufferDelayTimer=setTimeout(function(){b.showBufferIcon(true)},b.config.bufferIconDelay);return}this._bufferingIcon.stop(true,true);this._bufferingIcon.fadeIn("fast")},bufferHandler:function(a){if(a=="EMPTY"){this.showBufferIcon()}else{this.hideBufferIcon()}},stateHandler:function(a){if(a=="IDLE"||a=="ERROR"){this.hideBufferIcon()}}};var projekktorControlbar=function(){};projekktorControlbar.prototype={_controlHideTimer:null,_noControlHide:false,_controlsFading:false,_volumeSliderActive:false,_timeTags:{},_container:null,_popsition:{left:0,right:0},mediaData:{},config:{controlsDisableFade:false,controlsTemplate:"<div {fsexit}></div><div {fsenter}></div><div {play}></div><div {pause}></div><div {prev}></div><div {next}></div><div {title}></div><div {timeleft}><span {timedur}>{min_dur}:{sec_dur}</span><span {timeremaining}> | {min_rem}:{sec_rem}</span></div><div {scrubber}><div {loaded}></div><div {playhead}></div></div><div {vslider}><div {vmarker}></div><div {vknob}></div></div><div {mute}></div><div {vmax}></div>",controlsTemplateFull:null,toggleMute:false,playheadDomId:"playhead",loadedDomId:"loaded",scrubberDomId:"scrubber",playDomId:"play",pauseDomId:"pause",prevDomId:"prev",nextDomId:"next",fsexitDomId:"fsexit",fsenterDomId:"fsenter",vsliderDomId:"vslider",vmarkerDomId:"vmarker",vknobDomId:"vknob",muteDomId:"mute",vmaxDomId:"vmax",startDomId:"start",controlsDomId:"controls",titleDomId:"title",draghandleDomId:"draghandle"},initialize:function(){this._container=$(document.createElement("div")).appendTo(this.playerDom);this.drawControls();this.addGuiListeners();if(this.getPlayerConfig("designMode")===true){try{this.drawTitle("Phnglui mglwnafh Cthulhu Rlyeh wgahnagl fhtagn.");this.drawUpdateTimeDisplay();$("#"+this.player.getId()+"_"+this.config.playheadDomId).css("width","50%");$("#"+this.player.getId()+"_"+this.config.loadedDomId).css("width","80%")}catch(a){}}this.pluginReady=true},itemHandler:function(a){this.mediaData=a;this.pluginReady=true;this.hideControlbar(true);this.drawUpdateTimeDisplay(0,0,0)},updateControls:function(){var a=this;clearTimeout(this._controlHideTimer);if(this.player.getItemConfig("controls")==false){this.hideControlbar(true);return}var b=(this.player.getItemCount()<2||this.player.getItemConfig("disallowSkip"));if(!b){$("#"+this.player.getId()+"_"+this.config.prevDomId).show();$("#"+this.player.getId()+"_"+this.config.nextDomId).show()}else{$("#"+this.player.getId()+"_"+this.config.prevDomId).hide();$("#"+this.player.getId()+"_"+this.config.nextDomId).hide()}if(this.player.getItemIdx()<1){$("#"+this.player.getId()+"_"+this.config.prevDomId).hide()}if(this.player.getItemIdx()>=this.player.getItemCount()-1){$("#"+this.player.getId()+"_"+this.config.nextDomId).hide()}if(this.player.getItemConfig("disablePause")){$("#"+this.player.getId()+"_"+this.config.pauseDomId).hide();$("#"+this.player.getId()+"_"+this.config.playDomId).hide()}else{if(this.player.getState()==="PLAYING"){this.drawPauseButton()}if(this.player.getState()==="PAUSED"){this.drawPlayButton()}}if(this.player.getInFullscreen()===true){this.drawExitFullscreenButton()}else{this.drawEnterFullscreenButton()}if(this.player.getItemConfig("disableFullscreen")){$("#"+this.player.getId()+"_"+this.config.fsexitDomId).hide();$("#"+this.player.getId()+"_"+this.config.fsenterDomId).hide()}this.drawTitle(this.player.getItemConfig("title"));this.drawUpdateTimeDisplay();this.drawUpdateVolumeDisplay(this.player.getVolume())},stateHandler:function(a){if(a==="IDLE"||a==="AWAKENING"||a==="STOPPED"){this.hideControlbar(true);return}this.updateControls();this.drawUpdateTimeDisplay();this.drawUpdateProgressDisplay()},startHandler:function(){this.playHandler()},playlistHandler:function(){if(this.player.getState()==="IDLE"){return}this.updateControls();this.drawUpdateTimeDisplay();this.drawUpdateProgressDisplay()},volumeHandler:function(a){this.drawUpdateVolumeDisplay(a)},progressHandler:function(a){this.drawUpdateProgressDisplay()},timeHandler:function(a){this.drawUpdateTimeDisplay();this.drawUpdateProgressDisplay()},fullscreenHandler:function(a){if(this.player.getState()!=="IDLE"){this._noControlHide=false;this.drawControls();this.addGuiListeners();this.updateControls()}},addGuiListeners:function(){var a=this;$("#"+this.player.getId()+"_"+this.config.controlsDomId).mouseenter(function(b){a.controlsMouseEnterListener(b)});$("#"+this.player.getId()+"_"+this.config.controlsDomId).mouseleave(function(b){a.controlsMouseLeaveListener(b)});$("#"+this.player.getId()+"_"+this.config.controlsDomId).click(function(b){a.controlsClickListener(b)});$("#"+this.player.getId()+"_"+this.config.controlsDomId).dblclick(function(b){return false});$("#"+this.player.getId()+"_"+this.config.playDomId).click(function(b){a.playClickListener(b)});$("#"+this.player.getId()+"_"+this.config.pauseDomId).click(function(b){a.pauseClickListener(b)});$("#"+this.player.getId()+"_"+this.config.vmaxDomId).click(function(b){a.unmuteClickListener(b)});$("#"+this.player.getId()+"_"+this.config.muteDomId).click(function(b){a.muteClickListener(b)});$("#"+this.player.getId()+"_"+this.config.vknobDomId).mousedown(function(b){a.vknobStartDragListener(b,this)});$("#"+this.player.getId()+"_"+this.config.vsliderDomId).click(function(b){a.vsliderClickListener(b,this)});$("#"+this.player.getId()+"_"+this.config.vmarkerDomId).click(function(b){a.vsliderClickListener(b,this)});$("#"+this.player.getId()+"_"+this.config.scrubberDomId).click(function(b){a.scrubberClickListener(b)});$("#"+this.player.getId()+"_"+this.config.fsexitDomId).click(function(b){a.exitFullscreenClickListener(b)});$("#"+this.player.getId()+"_"+this.config.fsenterDomId).click(function(b){a.enterFullscreenClickListener(b)});$("#"+this.player.getId()+"_"+this.config.prevDomId).click(function(b){a.prevClickListener(b)});$("#"+this.player.getId()+"_"+this.config.nextDomId).click(function(b){a.nextClickListener(b)});$("#"+this.player.getId()+"_"+this.config.draghandleDomId).mousedown(function(b){a.handleStartDragListener(b,this)})},drawControls:function(){var f=this;var c=this.player.getInFullscreen();var e=(c===true&&this.getItemConfig("controlsTemplateFull")!==false)?this.getItemConfig("controlsTemplateFull"):this.getItemConfig("controlsTemplate");var h=(c===true&&this.getItemConfig("controlsTemplateFull")!==false)?"_full":"";var d="";this._container.hide().html("").attr({id:this.player.getId()+"_"+this.config.controlsDomId,"class":this.player.getCssClass()+"controls"+h});var g=e.match(/\{[a-z]*\}/gi);var a="";for(var b=0;b<g.length;b++){a=g[b].replace("{","").replace("}","");d='id="'+this.player.getId()+"_"+a+'" class="'+this.player.getCssClass()+a+h+'"';e=e.replace("{"+a+"}",d)}this._container.html(e);this._timeTags={};this._grabTags(this._container);if($.browser.mozilla){this._container.css("MozUserSelect","none")}else{if($.browser.msie){this._container.bind("selectstart",function(){return false})}else{this._container.mousedown(function(){return false})}}if(this.getPlayerConfig("designMode")===true){this._container.show()}},drawTitle:function(c){var d=this.player.getId()+"_"+this.config.titleDomId;var b=this.player.getCssClass();var a=false;$("#"+d).html((a==false)?c:a)},hideControlbar:function(a){clearTimeout(this._controlHideTimer);if(this.getPlayerConfig("designMode")===true){return}if(this.getItemConfig("controlsDisableFade")===true&&a!==true){return}if(this._noControlHide==true&&this.getPlayerConfig("controls")==true&&a!==true){return}if(!this._container.is(":visible")){return}this._container.stop(true,true);if(this.getPlayerConfig("controls")==false){this._container.hide()}else{if(a==true){this._container.hide()}else{this._container.fadeOut("slow")}}},showControlbar:function(){var a=this;clearTimeout(this._controlHideTimer);if(this.player.getState()==="IDLE"){return}if(this.player.getState()==="ERROR"){return}if(this.player.getItemConfig("controls")==false){return}if(this.player.getIsAutoslide()==true){return}if(this._container.is(":visible")||this._controlsFading==true){a._controlHideTimer=setTimeout(function(){a.hideControlbar()},2500);return}this._controlsFading=true;this._container.stop(true,true);this._container.fadeIn("fast",function(){a._controlsFading=false})},drawUpdateTimeDisplay:function(l,b,k){try{var j=(l!=undefined)?l:this.player.getLoadPlaybackProgress();var c=(b!=undefined)?b:this.player.getDuration();var f=(k!=undefined)?k:this.player.getPosition()}catch(h){var j=l||0;var c=b||0;var f=k||0}var g=this.player.getCssClass();try{$("#"+this.player.getId()+"_"+this.config.playheadDomId).css("width",j+"%")}catch(h){}var a=$.extend({},this._clockDigits(c,"dur"),this._clockDigits(f,"elp"),this._clockDigits(c-f,"rem"));for(var d in this._timeTags){$("#"+d).html(this._parseTemplate(this._timeTags[d],a))}},drawUpdateProgressDisplay:function(){try{$("#"+this.player.getId()+"_"+this.config.loadedDomId).css("width",this.player.getLoadProgress()+"%")}catch(a){}},drawUpdateVolumeDisplay:function(d){if(this._volumeSliderActive==true){return}if(d==undefined){return}clearTimeout(this._controlHideTimer);this._container.show();var c=this;var a=$("#"+this.player.getId()+"_"+this.config.vknobDomId);var b=$("#"+this.player.getId()+"_"+this.config.vsliderDomId);switch(d){case 0:$("#"+this.player.getId()+"_"+this.config.vknobDomId).css("left",0);break;case 1:$("#"+this.player.getId()+"_"+this.config.vknobDomId).css("left",(b.width()-(a.width()/2))+"px");break;default:$("#"+this.player.getId()+"_"+this.config.vknobDomId).css("left",d*(b.width()-(a.width()/2))+"px");break}$("#"+this.player.getId()+"_"+this.config.vmarkerDomId).css("width",d*100+"%");this.drawMuteIcon();this._controlHideTimer=setTimeout(function(){c.hideControlbar()},3500)},drawPauseButton:function(a){$("#"+this.player.getId()+"_"+this.config.pauseDomId).css("display","block");$("#"+this.player.getId()+"_"+this.config.playDomId).css("display","none")},drawPlayButton:function(a){$("#"+this.player.getId()+"_"+this.config.pauseDomId).css("display","none");$("#"+this.player.getId()+"_"+this.config.playDomId).css("display","block")},drawEnterFullscreenButton:function(a){$("#"+this.player.getId()+"_"+this.config.fsexitDomId).css("display","none");$("#"+this.player.getId()+"_"+this.config.fsenterDomId).css("display","block")},drawExitFullscreenButton:function(a){$("#"+this.player.getId()+"_"+this.config.fsenterDomId).css("display","none");$("#"+this.player.getId()+"_"+this.config.fsexitDomId).css("display","block")},drawMuteIcon:function(b){if(this.getItemConfig("toggleMute")===false){return}var a=this.player.getVolume();if(a>0){$("#"+this.player.getId()+"_"+this.config.muteDomId).css("display","block");$("#"+this.player.getId()+"_"+this.config.vmaxDomId).css("display","none");return}$("#"+this.player.getId()+"_"+this.config.muteDomId).css("display","none");$("#"+this.player.getId()+"_"+this.config.vmaxDomId).css("display","block")},playClickListener:function(a){this.player.sendEvent("play",0);if($.browser.msie){a.cancelBubble=true}else{a.stopPropagation()}},pauseClickListener:function(a){this.player.sendEvent("pause",0);if($.browser.msie){a.cancelBubble=true}else{a.stopPropagation()}},controlsMouseEnterListener:function(a){this._noControlHide=true},controlsMouseLeaveListener:function(a){this._noControlHide=false},controlsClickListener:function(a){if($.browser.msie){a.cancelBubble=true}else{a.stopPropagation()}},mousemoveHandler:function(a){this.showControlbar()},mouseleaveHandler:function(a){var b=this;this._controlHideTimer=setTimeout(function(){b.hideControlbar()},2500)},prevClickListener:function(a){this.player.sendEvent("previous",0);if($.browser.msie){a.cancelBubble=true}else{a.stopPropagation()}},nextClickListener:function(a){this.player.sendEvent("next",0);if($.browser.msie){a.cancelBubble=true}else{a.stopPropagation()}},muteClickListener:function(a){this.player.sendEvent("volume",0);if($.browser.msie){a.cancelBubble=true}else{a.stopPropagation()}},unmuteClickListener:function(a){this.player.sendEvent("volume",1);if($.browser.msie){a.cancelBubble=true}else{a.stopPropagation()}},enterFullscreenClickListener:function(a){this.player.sendEvent("fullscreen",true);if($.browser.msie){a.cancelBubble=true}else{a.stopPropagation()}},exitFullscreenClickListener:function(a){this.player.sendEvent("fullscreen",false);if($.browser.msie){a.cancelBubble=true}else{a.stopPropagation()}},startClickListener:function(a){this.player.sendEvent("play",false);if($.browser.msie){a.cancelBubble=true}else{a.stopPropagation()}},scrubberClickListener:function(c){var b=0;if(c==undefined){return}if($.browser.msie){c.cancelBubble=true}else{c.stopPropagation()}if(this.player.getItemConfig("disallowSkip")==true){return}var a=$("#"+this.player.getId()+"_"+this.config.scrubberDomId).width();var d=$("#"+this.player.getId()+"_"+this.config.loadedDomId).width();var e=c.pageX-$("#"+this.player.getId()+"_"+this.config.scrubberDomId).offset().left;if(e<0||e=="NaN"||e==undefined){b=0}else{if(d!=undefined){if(e>d){e=d-1}b=((e*100/a)*this.player.getDuration()/100)*1}}this.player.sendEvent("seek",b)},vmarkerClickListener:function(a){vsliderClickListener(a)},vsliderClickListener:function(b){if(this._volumeSliderActive==true){return}var a=$("#"+this.player.getId()+"_"+this.config.vsliderDomId).width();var c=b.pageX-$("#"+this.player.getId()+"_"+this.config.vsliderDomId).offset().left;if(c<0||c=="NaN"||c==undefined){result=0}else{result=(c/a)}this.player.sendEvent("volume",result);if($.browser.msie){b.cancelBubble=true}else{b.stopPropagation()}},vknobStartDragListener:function(a,b){if($.browser.msie){a.cancelBubble=true}else{a.stopPropagation()}this._volumeSliderActive=true;var e=this;var d=$(b);var c=$("#"+e.player.getId()+"_"+e.config.vsliderDomId);var j=Math.abs(parseInt(d.position().left)-a.clientX);var f=0;var g=function(k){if($.browser.msie){k.cancelBubble=true}else{k.stopPropagation()}e._container.unbind("mousemove",h);e._container.unbind("mouseup",g);c.unbind("mousemove",h);c.unbind("mouseup",g);d.unbind("mousemove",h);d.unbind("mouseup",g);e._volumeSliderActive=false;return false};var h=function(k){clearTimeout(e._controlHideTimer);if($.browser.msie){k.cancelBubble=true}else{k.stopPropagation()}var l=(k.clientX-j);l=(l>c.width()-d.width()/2)?c.width()-(d.width()/2):l;l=(l<0)?0:l;d.css("left",l+"px");f=Math.abs(l/(c.width()-(d.width()/2)));e.player.sendEvent("volume",f);$("#"+e.player.getId()+"_"+e.config.vmarkerDomId).css("width",f*100+"%");return false};this._container.mousemove(h);this._container.mouseup(g);c.mousemove(h);c.mouseup(g);d.mousemove(h);d.mouseup(g)},handleStartDragListener:function(c,f){var g=this;var e=Math.abs(parseInt(this._container.position().left)-c.clientX);var b=Math.abs(parseInt(this._container.position().top)-c.clientY);if($.browser.msie){c.cancelBubble=true}else{c.stopPropagation()}var a=function(h){if($.browser.msie){h.cancelBubble=true}else{h.stopPropagation()}g.playerDom.unbind("mouseup",a);g.playerDom.unbind("mouseout",a);g.playerDom.unbind("mousemove",d);return false};var d=function(j){if($.browser.msie){j.cancelBubble=true}else{j.stopPropagation()}clearTimeout(g._controlHideTimer);var k=(j.clientX-e);k=(k>g.playerDom.width()-g._container.width())?g.playerDom.width()-g._container.width():k;k=(k<0)?0:k;g._container.css("left",k+"px");var h=(j.clientY-b);h=(h>g.playerDom.height()-g._container.height())?g.playerDom.height()-g._container.height():h;h=(h<0)?0:h;g._container.css("top",h+"px");return false};this.playerDom.mousemove(d);this.playerDom.mouseup(a)},errorHandler:function(a){this.hideControlbar(true)},_clockDigits:function(d,h){if(d<0||isNaN(d)||d==undefined){d=0}var f=Math.floor(d/(60*60));var g=d%(60*60);var c=Math.floor(g/60);var b=g%60;var e=Math.floor(b);var a={};a["min_"+h]=(c<10)?"0"+c:c;a["sec_"+h]=(e<10)?"0"+e:e;a["hr_"+h]=(f<10)?"0"+f:f;return a},_parseTemplate:function(b,c){for(var a in c){replacement='id="'+this.player.getId()+"_"+this.config[a]+'" class="'+this.player.getCssClass()+a.replace("DomId","")+'"';b=b.replace("{"+a+"}",c[a])}return b},_grabTags:function(c){var a=this;var b=function(){var d=$(this).html();if(d==""){return}if($(this).children().length>0){a._grabTags($(this));return}a._timeTags[$(this).attr("id")]=$(this).html()};c.children().each(b)}};var projekktorIframeOverlays=function(){};projekktorIframeOverlays.prototype={_xlObject:null,_overlayFrame:null,_hideTimer:null,_isFading:false,player:{},config:{},playerDom:null,canvas:{media:null,projekktor:null},initialize:function(){var a=this;this._overlayFrame=$(document.createElement("iframe")).attr({id:this.player.getId()+"_overlay",name:this.player.getId()+"_overlay",src:"http://localhost/uberelectron/overlay.html",scrolling:"no",frameborder:"0",width:"100%",height:"100%",ALLOWTRANSPARENCY:true}).css({overflow:"hidden",border:"0px",width:"100%",height:"100%"}).appendTo(this.canvas.media);this._overlayFrame.load(function(b){a._waitForXL()});this._overlayFrame.error(function(b){a._overlayFrame()})},_waitForXL:function(){var b=this;var a=b._overlayFrame[0];if(a.contentWindow){a=a.contentWindow}else{if(a.contentDocument){a=a.contentDocument.defaultView}}(function(){try{if(a.pXL){b._xlObject=a.pXL;b.pluginReady=true;return}setTimeout(arguments.callee,500)}catch(c){setTimeout(arguments.callee,500)}})()},_hide:function(){clearTimeout(this._hideTimer);var a=this._overlayFrame;if(!a.is(":visible")){return}a.stop(true,true);a.fadeOut("slow")},_show:function(a){var b=this;clearTimeout(this._hideTimer);var c=this._overlayFrame;if(this._isFading==false){b._hideTimer=setTimeout(function(){b._hide()},a)}this._isFading=true;c.stop(true,true);c.fadeIn("fast",function(){b._isFading=false})},playlistHandler:function(a){},itemHandler:function(a){this._isFading=false;this._xlObject.setInfo(a);this._show(5000);this.pluginReady=true},detachHandler:function(a){this._hide()},displayReadyHandler:function(a){},startHandler:function(a){},doneHandler:function(a){},detachHandler:function(a){},endedHandler:function(a){},playHandler:function(a){},pauseHandler:function(a){},volumeHandler:function(a){},timeHandler:function(f){try{var b=this.player.getLoadPlaybackProgress();var d=this.player.getDuration();var a=this.player.getPosition()}catch(c){var b=0;var d=0;var a=0}this._xlObject.setEndsAt(d-a)},keyHandler:function(a){switch(a){case 39:this.player.sendEvent("next",0);break;case 37:this.player.sendEvent("previous",0);break;case 13:this.player.playpause();break}},progressHandler:function(a){},mousemoveHandler:function(a){this._show(2500)},fullscreenHandler:function(a){},testcardHandler:function(a){},awakingHandler:function(a){}};var projekktorLogo=function(){};projekktorLogo.prototype={player:{},config:{logo:"",logoDelay:0,logoPosition:"tl",logoURL:false,logoTarget:"_self"},playerDom:null,logo:null,fading:false,initialize:function(){var b=((this.config.logoPosition.indexOf("r")>-1)?"right":"left");var a=((this.config.logoPosition.indexOf("t")>-1)?"top":"bottom");this.logo=$(document.createElement("img")).appendTo(this.playerDom).css(b,"2%").css(a,"2%").css({id:this.player.getId()+"_logo",position:"absolute"}).show();this.pluginReady=true},itemHandler:function(b){var a=this;this.fading=false;this.logo.stop(true,false);this.logo.hide();if(this.getItemConfig("logo")!=false){this.logo.attr("src",this.getItemConfig("logo")).css({cursor:(this.getItemConfig("logoURL")!="")?"pointer":"normal"}).click(function(){if(a.getItemConfig("logoURL")===false){return false}window.open(a.getItemConfig("logoURL"),a.getItemConfig("logoTarget")).focus();return false})}this.pluginReady=true},timeHandler:function(){if(this.getItemConfig("logo")==false){return}var a=this.player.getPosition();var c=this.player.getDuration();var b=this;if(!this.logo.is(":visible")&&!this.fading&&a+this.config.logoDelay<c){if(a>this.config.logoDelay&&c>(this.config.logoDelay*2)){this.fading=true;this.logo.fadeIn("slow",function(){b.fading=false})}}if(this.logo.is(":visible")&&!this.fading){if(a+this.config.logoDelay>c){this.fading=true;this.logo.fadeOut("slow",function(){b.fading=false})}}},stateHandler:function(a){if(a=="ERROR"||a==="STOPPED"){this.logo.hide()}}};var projekktorPluginInterface=function(){};projekktorPluginInterface.prototype={pluginReady:false,name:"",player:{},config:{},playerDom:null,canvas:{media:null,projekktor:null},_init:function(a){this.config=$.extend(true,this.config,a);this.initialize()},getItemConfig:function(a){if(this.config[a]===undefined){return false}var b=this.player.getItemConfig("plugin_"+this.name);if(b===false||b[a]===false){return(this.config[a]||false)}return(b[a]||false)},getPlayerConfig:function(a){return(this.player.config[a]||this.config[a]||false)},initialize:function(){},stateHandler:function(){},bufferHandler:function(){},playlistHandler:function(a){},itemHandler:function(a){this.pluginReady=true},detachHandler:function(a){},displayReadyHandler:function(a){},startHandler:function(a){},doneHandler:function(a){},stopHandler:function(a){},detachHandler:function(a){},endedHandler:function(a){},canplayHandler:function(a){},volumeHandler:function(a){},timeHandler:function(a){},progressHandler:function(a){},mousemoveHandler:function(a){},mouseleaveHandler:function(a){},mouseeterHandler:function(a){},fullscreenHandler:function(a){},awakingHandler:function(a){},keyHandler:function(a){}};var projekktorShare=function(){};projekktorShare.prototype={_controlHideTimer:null,_isFading:false,_wasPlaying:false,embPopup:null,socialSidebar:null,socialPopup:null,config:{socialbarDomId:"socialbar",socialButtonDomId:"socialbbutton",socialPopupDomId:"socialpopup",embed:{domId:"embed",code:'<iframe id="{embedid}" src="{playerurl}" width="640" height="385" frameborder="0"></iframe>',nameText:"embed",headlineText:"Copy this:",closeText:"Close Window",descText:"for the current video which supports iPad, iPhone, Flash and native players."},twitter:{nameText:"twitter",domId:"twitter",text:"Awesome Business Card. Check this out.",code:"http://twitter.com/share?url={pageurl}&text={text}&via=projekktor"},facebook:{nameText:"facebook",domId:"facebook",text:"Awesome Business Card. Check this out.",code:"http://www.facebook.com/sharer.php?u={pageurl}&t={text}"}},initialize:function(){this.drawSidebar();this.drawPopup();if(this.config.sandBox!==false){this.addTool("embed")}this.addTool("twitter");this.addTool("facebook");this.pluginReady=true},drawSidebar:function(){this.socialSidebar=$(document.createElement("div")).appendTo(this.playerDom).attr({id:this.player.getId()+"_"+this.config.socialbarDomId,"class":this.player.getCssClass()+this.config.socialbarDomId}).hide()},drawPopup:function(){this.socialPopup=$(document.createElement("div")).appendTo(this.playerDom).hide().attr({id:this.player.getId()+"_"+this.config.socialPopupDomId,"class":this.player.getCssClass()+this.config.socialPopupDomId})},openWindow:function(a){this._isFading=true;this._wasPlaying=(this.player.getState()==="PLAYING");if(this._wasPlaying===true){this.player.setPause()}this[a+"FillWindow"](this.socialPopup);this.socialSidebar.hide();this.socialPopup.show()},closeWindow:function(){this._isFading=false;this.socialSidebar.show();this.socialPopup.hide().html("");if(this._wasPlaying===true){this.player.setPlay()}},openURL:function(b){var a=window;a.open(b);return false},addTool:function(a){var c=this;var b=$(document.createElement("div")).appendTo(this.socialSidebar).attr({id:this.player.getId()+"_"+this.config[a].domId}).html(this.getPlayerConfig(a).nameText).addClass(this.player.getCssClass()+"socialbutton").show();$(document.createElement("div")).addClass(this.player.getCssClass()+"socialicon_"+this.config[a].domId).prependTo(b);b.click(function(d){d.stopPropagation();c[a+"Click"]()})},hideSidebar:function(){clearTimeout(this._controlHideTimer);if(!this.socialSidebar.is(":visible")){return}this.socialSidebar.stop(true,true);this.socialSidebar.fadeOut("slow")},showSidebar:function(){var a=this;if(this._isFading==true){return}if(this.player.getState()==="IDLE"){return}clearTimeout(this._controlHideTimer);if(this.socialSidebar.is(":visible")){a._controlHideTimer=setTimeout(function(){a.hideSidebar()},2500);return}this._isFading=true;this.socialSidebar.stop(true,true);this.socialSidebar.fadeIn("fast",function(){a._isFading=false})},mousemoveHandler:function(){this.showSidebar()},embedClick:function(){this.openWindow("embed")},embedFillWindow:function(a){var b=this;$(document.createElement("p")).appendTo(a).html(this.getPlayerConfig("embed").descText);$(document.createElement("p")).appendTo(a).html(this.getPlayerConfig("embed").headlineText);$(document.createElement("textarea")).appendTo(a).attr("readonly","readonly").val(this.getEmbedCode()).click(function(){this.select()}).focus(function(){this.select()});$(document.createElement("a")).appendTo(a).html(this.getPlayerConfig("embed").closeText).click(function(){b.closeWindow()})},getEmbedCode:function(){var a=this.config.embed.code;var c={};c.embedid=this.player.randomId(8);c.playerurl=window.location.href+window.location.hash;for(var b in c){a=a.replace("{"+b+"}",c[b])}return a},twitterClick:function(){var a=this.config.twitter.code;var c={};c.text=escape(this.getPlayerConfig("twitter").text);c.pageurl=escape(this.player.getSandboxWindow().attr("location"));for(var b in c){a=a.replace("{"+b+"}",c[b])}this.openURL(a)},facebookClick:function(){var a=this.config.facebook.code;var c={};c.text=escape(this.getPlayerConfig("facebook").text);c.pageurl=escape(this.player.getSandboxWindow().attr("location"));for(var b in c){a=a.replace("{"+b+"}",c[b])}this.openURL(a)}};var projekktorStartbutton=function(){};projekktorStartbutton.prototype={_startButton:null,config:{startDomId:"start"},initialize:function(){var a=this;this._startButton=$(document.createElement("div")).appendTo(this.canvas.media).attr({id:this.player.getId()+"_"+this.config.startDomId,"class":this.player.getCssClass()+"start"}).hide().click(function(){a.player.setPlay()});this.pluginReady=true},stateHandler:function(a){if(a==="IDLE"){this._startButton.show()}else{this._startButton.hide()}}};var projekktorTracker=function(){};projekktorTracker.prototype={isWaiting:false,waitTime:null,trackData:{},playbackStart:0,sessionID:null,trackThis:false,endpointFailed:false,endpoint:"http://localhost/tracker/",initialize:function(){this._resetTrackData();this.sessionID=this._uuid()},itemHandler:function(a){this._resetTrackData();if(this.endpointFailed==true){return}if(a.isposter!==true&&this.player.getItemId()!==null){this.trackThis=true}else{this.trackThis=false;return}this.trackData.i.l=a.file;this.trackData.i.m=this.player.getMediaType().split("/")[0];this.trackData.i.t=this.player.getMediaType().split("/")[1];this.trackData.uid=this._getUserUUID();this.trackData.sid=this.sessionID;this.trackData.pl.l=this.player.getItemCount();this.trackData.i.id=this.player.getItemId();this.pluginReady=true},detachHandler:function(a){this.trackIt()},endedHandler:function(a){this.trackData.evt.push(this._getEventObj("ended"))},seekHandler:function(a){this.trackData.evt.push(this._getEventObj("seek",a.dest))},waitingHandler:function(){if(this.isWaiting==false){this.isWaiting=true;this.waitTime=Number(new Date())}},canplayHandler:function(){if(this.isWaiting==true){this.isWaiting=false;this.trackData.evt.push(this._getEventObj("wait",this._roundNumber((Number(new Date())-this.waitTime)/1000,1)))}},playHandler:function(a){if(this.playbackStart==0){this.playbackStart=Number(new Date());this.trackData.evt.push(this._getEventObj("start"))}else{this.trackData.evt.push(this._getEventObj("play"))}},previousHandler:function(a){this.trackData.evt.push(this._getEventObj("prev"))},nextHandler:function(a){this.trackData.evt.push(this._getEventObj("next"))},pauseHandler:function(a){this.trackData.evt.push(this._getEventObj("pause"))},timeHandler:function(a){if(this.trackData.i.d<=0){this.trackData.i.d=this._roundNumber(this.player.getDuration(),2)}},fullscreenHandler:function(a){this.trackData.events.push(this._getEventObj("fullscreen"))},testcardHandler:function(a){this.trackData.events.push(this._getEventObj("testcard"))},trackIt:function(c){if(this.trackThis===false){return}if(this.endpointFailed==true){return}var a=this;if(this.playbackStart>0){this.trackData.pd=this._roundNumber((Number(new Date())-this.playbackStart)/1000,1)}this.trackData.bw=this.player.getKbPerSec();try{$.ajax({type:"POST",url:this.endpoint,data:this.trackData,success:function(d){a.endpointFailed=false},error:function(d){a.endpointFailed=true}})}catch(b){}},_getEventObj:function(a,b){return{n:a,tidx:this._roundNumber(this.player.getPosition(),2),pbt:this._roundNumber((Number(new Date())-this.playbackStart)/1000,2),v:(b)?b:0}},_resetTrackData:function(){this.trackData={uid:0,sid:0,pd:0,pl:{l:0},i:{id:"",l:"",m:"",t:"",d:0},bw:0,evt:[]};this.playbackStart=0},_roundNumber:function(a,b){if(a<=0||isNaN(a)){return 0}return Math.round(a*Math.pow(10,b))/Math.pow(10,b)},_getUserUUID:function(){var a="prkusruuid";var b=null;b=this._readCookie(a);if(b==null){b=this._uuid();this._setCookie(a,b)}return b},_uuid:function(){var e="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split("");var c=new Array(36),b=0,d;for(var a=0;a<36;a++){if(a==8||a==13||a==18||a==23){c[a]="-"}else{if(a==14){c[a]="4"}else{if(b<=2){b=33554432+(Math.random()*16777216)|0}d=b&15;b=b>>4;c[a]=e[(a==19)?(d&3)|8:d]}}}return c.join("")},_setCookie:function(d,b){var a;var c;a=new Date();a.setTime(a.getTime()+356*86400000);document.cookie=d+"="+escape(b)+";expires="+a.toGMTString()+";path="+(c?c:"/")},_readCookie:function(b){var a=document.cookie.split(";");var e=b+"=";for(var d=0;d<a.length;d++){var f=a[d];while(f.charAt(0)==" "){f=f.substring(1,f.length)}if(f.indexOf(e)==0){return f.substring(e.length,f.length)}}return null}};var playerObject=function(){};playerObject.prototype={_states:{idle:"IDLE",awakening:"AWAKENING",paused:"PAUSED",playing:"PLAYING",buffering:"BUFFERING",completed:"COMPLETED",stopped:"STOPPED",error:"ERROR"},_bufferStates:{empty:"EMPTY",full:"FULL",done:"DONE"},_currentState:null,_currentBufferState:null,_KbPerSec:0,_bandWidthTimer:null,requiresFlash:false,preventOverlays:false,isAutoslide:false,allowRandomSeek:false,flashVerifyMethod:"api_get",fullscreenSupport:false,elementReady:false,mediaElement:null,controller:{},media:{duration:0,position:0,startOffset:0,file:false,poster:"",ended:false,message:"",error:null,mediaType:"",loadProgress:0,errorCode:0,message:"",type:"NA"},init:function(a){this.controller=a.controller;this.media=a.media;this.displayItem(a.autoplay)},displayItem:function(a){if(a!==true||this.getState()==="STOPPED"){this._setState("idle");this.applyImage(this.controller.getItemConfig("poster"),this.controller.getMediaContainer().html(""));this.elementReady=true}else{if(this.requiresFlash!==false){if(this.requiresFlash>this.controller.getFlashVersion()){this.setTestcard(6);return}}this.elementReady=false;this.applyMedia(this.controller.getMediaContainer().html(""))}this.waitTillReady(a)},applyMedia:function(){},sendUpdate:function(a,b){this.controller._modelUpdateListener(a,b)},waitTillReady:function(b){var a=this;(function(){try{if(a.elementReady!==true){setTimeout(arguments.callee,70);return}}catch(c){}if(a.getState()!=="STOPPED"||b===true){try{a.addListeners()}catch(c){}}a.controller._modelUpdateListener("displayReady");if(b===true){a.setPlay()}})()},addListeners:function(){},removeListeners:function(){try{this.mediaElement.unbind()}catch(a){}},detachMedia:function(){},destroy:function(){this.removeListeners();this.detachMedia();try{$("#"+this.mediaElement.id).empty();$("#"+this.mediaElement.id).remove()}catch(a){}this.controller.getMediaContainer().html("");this.mediaElement=null},reInit:function(){if(this.requiresFlash===false||!($.browser.mozilla)||this.getState()==="ERROR"||this.controller.getItemConfig("bypassFlashFFFix")===true){this.flashReinitListener();return}this.sendUpdate("FFreinit");this.removeListeners();this.displayItem((this.getState()!=="IDLE"))},applyCommand:function(b,a){switch(b){case"play":if(this.getState()==="IDLE"){this._setState("awakening");this.displayItem(true);break}this.setPlay();break;case"pause":this.setPause();break;case"volume":this.setVolume(a);break;case"stop":this.detachMedia();this.destroy();this._setState("stopped");this.displayItem(false);break;case"seek":if(this.media.loadProgress==-1){break}this.setSeek(a);break;case"fullscreen":this.sendUpdate("fullscreen",a);this.setFullscreen(a);this.reInit();break}},setPrev:function(){},setNext:function(){},setSeek:function(a){},setPlay:function(){},setPause:function(){},setVolume:function(a){},setFullscreen:function(a){},getVolume:function(){var a=this.mediaElement.attr("muted");return(a==true)?0:this.mediaElement.attr("volume")},getLoadProgress:function(){return this.media.loadProgress},getLoadPlaybackProgress:function(){return this.media.playProgress},getPosition:function(){return this.media.position},getDuration:function(){return this.media.duration},getInFullscreen:function(){return this.controller.getInFullscreen()},getIsAutoslide:function(){return this.isAutoslide},getKbPerSec:function(){return this._KbPerSec},getIsSleeping:function(){return this._isSleeping},getState:function(){return this._currentState},timeListener:function(d){if(d==undefined){return}var c=(d.position!=undefined)?d.position:d.currentTime;var b=d.duration;var a=(c>0&&b>0)?c*100/b:0;this.media.duration=this._roundNumber(b,2);this.media.position=this._roundNumber(c,2);this.media.playProgress=a;this.sendUpdate("time",this.media.position);this.loadProgressUpdate()},loadProgressUpdate:function(){try{if(typeof this.mediaElement[0].buffered!=="object"){return}var c=this.mediaElement[0];var a=Math.round(c.buffered.end(c.buffered.length-1)*100)/100;var b=a*100/this.media.duration;if(b==this.media.loadProgress){return}this.media.loadProgress=(this.allowRandomSeek===true)?100:-1;this.media.loadProgress=(this.media.loadProgress<100||this.media.loadProgress==undefined)?b:100;this.sendUpdate("progress",this.media.loadProgress)}catch(d){}},progressListener:function(b,g){try{if(typeof this.mediaElement[0].buffered=="object"){this.mediaElement.unbind("progress");return}}catch(f){}if(this._bandWidthTimer==null){this._bandWidthTimer=(new Date()).getTime()}var d=0;var c=0;if(!isNaN(b.loaded/b.total)){d=b.loaded;c=b.total}else{if(b.originalEvent&&!isNaN(b.originalEvent.loaded/b.originalEvent.total)){d=b.originalEvent.loaded;c=b.originalEvent.total}else{if(g&&!isNaN(g.loaded/g.total)){d=g.loaded;c=g.total}else{try{}catch(f){}}}}var a=(d>0&&c>0)?d*100/c:0;if(Math.round(a)>Math.round(this.media.loadProgress)){this._KbPerSec=((d/1024)/(((new Date()).getTime()-this._bandWidthTimer)/1000))}a=(this.media.loadProgress!==100)?a:100;a=(this.allowRandomSeek===true)?100:a;if(this.media.loadProgress!=a){this.media.loadProgress=a;this.sendUpdate("progress",a)}if(this.media.loadProgress>=100&&this.allowRandomSeek==false){this._setBufferState("full")}},endedListener:function(a){this._setState("completed")},suspendListener:function(a){},waitingListener:function(a){this._setBufferState("empty")},canplayListener:function(a){this._setBufferState("full")},canplaythroughListener:function(a){this._setBufferState("full")},suspendListener:function(a){this._setBufferState("full")},playingListener:function(a){this._setState("playing")},startListener:function(a){this.setVolume(this.controller.getItemConfig("volume"));this._setState("playing")},pauseListener:function(a){this._setState("paused")},volumeListener:function(a){this.sendUpdate("volume")},flashReadyListener:function(){this.elementReady=true},flashReinitListener:function(){try{if($.browser.mozilla){if(this.flashVars===null){this.mediaElement.api_source(this.media.file)}if(this.getState()==="PLAYING"){this.setPlay()}}if(this.flashVars===null){this.addListeners()}this.elementReady=true}catch(a){}},errorListener:function(a,c){try{switch(a.target.error.code){case a.target.error.MEDIA_ERR_ABORTED:this.setTestcard(1);break;case a.target.error.MEDIA_ERR_NETWORK:this.setTestcard(2);break;case a.target.error.MEDIA_ERR_DECODE:this.setTestcard(3);break;case a.target.error.MEDIA_ERR_SRC_NOT_SUPPORTED:this.setTestcard(4);break;default:this.setTestcard(5);break}}catch(b){}},setTestcard:function(f,a){var e=this;var d=this.controller.getMediaContainer();var c=this.controller.getItemConfig("messages");var b=(c[f]!=undefined)?c[f]:c[0];b=(a!=undefined&&a!="")?a:b;if(this.controller.getItemCount()>1){b+=c[99]}if(b.length<3){b="ERROR"}if(f==100){b=""}d.attr("style","width: 100%; height:100%;");d.html("");this.mediaElement=$(document.createElement("div")).attr({"class":"pptestcard"}).appendTo(d);if(b.length>0){$(document.createElement("p")).appendTo(this.mediaElement).html(b)}this._setState("error")},applyImage:function(b,a){var c=this;var d=$(document.createElement("img")).hide();if(b==""||b==undefined){d=$(document.createElement("span")).attr({id:this.controller.getMediaContainerId()+"_image"}).appendTo(a);return d}d.appendTo(a).attr({id:this.controller.getMediaContainerId()+"_image",src:b});d.error(function(e){$(this).remove()});if($.browser.msie){(function(){try{if(d[0].complete!=null&&d[0].complete==true){d.show();c.stretch(c.controller.getItemConfig("imageScaling"),d,a.width(),a.height());return}setTimeout(arguments.callee,500)}catch(f){setTimeout(arguments.callee,500)}})()}else{d.load(function(e){$(this).show();c.stretch(c.controller.getItemConfig("imageScaling"),$(this),a.width(),a.height())})}this.controller.addListener("fullscreen",function(){if(d.is(":visible")===false){c.controller.removeListener("fullscreen",arguments.callee)}c.stretch(c.controller.getItemConfig("imageScaling"),d,a.width(),a.height())});return d},stretch:function(a,f,m,k,d,g){if(f==undefined){return}if(f._originalDimensions===undefined){f._originalDimensions={};f._originalDimensions={width:f.width(),height:f.height()}}var e=(d!==undefined)?d:f._originalDimensions.width;var b=(g!==undefined)?g:f._originalDimensions.height;var h=m/e;var l=k/b;var c=0;var j=0;switch(a){case"fill":if(h>l){c=e*h;j=b*h}else{c=e*l;j=b*l}break;case"aspectratio":default:if(h>l){c=e*l;j=b*l}else{c=e*h;j=b*h}break}f.css({margin:0,padding:0,position:"absolute",width:c/m*100+"%",height:j/k*100+"%",left:((m/2-c/2)/m*100)+"%",top:((k/2-j/2)/k*100)+"%"})},toAttributeString:function(b){var c="";for(var a in b){if(a.toUpperCase()==="FLASHVARS"){continue}if(typeof b[a]!="function"){c+=a+'="'+b[a]+'" '}}return c},toFlashvarsString:function(e){var b="";var a="";for(var d in e){if(typeof e[d]!="function"){a=e[d];for(var c in this.media){if(typeof a!="string"){continue}a=a.replace("{"+c+"}",this.media[c])}b+=d+"="+encodeURIComponent(a)+"&"}}return b.replace(/&$/,"")},createFlash:function(g,b){var e=(g.FlashVars===null)?this.controller.getItemConfig("flashVars"):g.FlashVars;if(e){e=this.toFlashvarsString(e);if(e.length>0){g.src+="?"+e}}var a="";var d="";var c="";var f="";if($.browser.msie){f=' id="'+g.id+'" '}var d="<object"+f+' codebase="https://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"  name="'+g.name+'" width="'+g.width+'" height="'+g.height+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000">';d+='<param name="movie" value="'+g.src+'"></param>';d+='<param name="allowScriptAccess" value="'+g.allowScriptAccess+'"></param>';d+='<param name="allowFullScreen" value="'+g.allowFullScreen+'"></param>';d+='<param name="wmode" value="'+g.wmode+'"></param>';var c="<embed "+this.toAttributeString(g)+' pluginspage="http://www.macromedia.com/go/getflashplayer" swliveconnect="true" type="application/x-shockwave-flash"></embed>';a=d+c;a+="</object>";if($.browser.mozilla){a=c}b[0].innerHTML=a;this.mediaElement=$("#"+g.id)[0];this._waitforPlayer()},_waitforPlayer:function(){if(this.elementReady==true){return}var a=this;(function(){try{if(a.mediaElement==undefined){setTimeout(arguments.callee,100)}else{if(a.mediaElement[a.flashVerifyMethod]==undefined){setTimeout(arguments.callee,100)}else{a.flashReadyListener()}}}catch(b){setTimeout(arguments.callee,100)}})()},_roundNumber:function(a,b){if(a<=0||isNaN(a)){return 0}return Math.round(a*Math.pow(10,b))/Math.pow(10,b)},_setState:function(a){if(this._currentState!=this._states[a]){this._currentState=this._states[a].toUpperCase();this.sendUpdate("state",this._states[a].toUpperCase())}},_setBufferState:function(a){if(this._currentBufferState!=this._bufferStates[a]){this._currentBufferState=this._bufferStates[a].toUpperCase();this.sendUpdate("buffer",this._bufferStates[a].toUpperCase())}}};if(typeof jQuery==="undefined"){alert("Projekktor Warning [1]: JQuery 1.4.1 or later required.")}else{var ver=$().jquery.split(".");if(ver[0]<1||(ver[0]==1&&ver[1]<4)){alert("Projekktor Warning [2]: JQuery 1.4.1 or later required.")}if($.browser.msie){(function(){if(!
/*@cc_on!@*/
0){return}var e="audio,video".split(",");for(var i=0;i<e.length;i++){document.createElement(e[i])}})();if(!Array.prototype.indexOf){Array.prototype.indexOf=function(c,d){for(var b=(d||0),a=this.length;b<a;b++){if(this[b]==c){return b}}return -1}}}}var projekktors=[];function Iterator(a){this.length=a.length;this.each=function(b){$.each(a,b)};this.size=function(){return a.length}}window.projekktor=window.$p=function(){var arg=arguments[0];var instance=null;if(!arguments.length){return projekktors[0]||null}if(typeof arg=="number"){return projekktors[arg]}if(typeof arg=="string"){if(arg=="*"){return new Iterator(projekktors)}$.each(projekktors,function(){try{if(this.getId()==arg.id||this.getId()==arg||this.getParent()==arg){instance=this}}catch(e){}});if(instance!==null){return instance}}if(instance===null){var instances=[];var cfg=arguments[1];if(typeof arg=="string"){$.each($(arg),function(){projekktors.push(new PPlayer($(this),cfg))});return new Iterator(instances)}else{if(arg){projekktors.push(new PPlayer(arg,cfg));return new Iterator(instances)}}}return null;function PPlayer(srcNode,cfg){this.config=$.extend({plugins:["Startbutton","Controlbar","Logo","Bufferingicon","Share"],version:"0.8.00",reelParser:function(data){return data},cssClassPrefix:"pp",platformPriority:["native","flash"],playerFlashMP4:"jarisplayer.swf",playerFlashMP3:"jarisplayer.swf",enableFlashFallback:true,enableNativePlayback:true,enableKeyboard:true,enableFullscreen:true,bypassFlashFFFix:false,defaultPoster:"default-poster.jpg",forceFullViewport:false,sandBox:false,loop:false,autoplay:false,continuous:true,poster:false,title:"",allowPlaybackFrom:[],dynamicTypeExtensions:[],sandBoxHashObserve:true,FilePosterSeparator:";",messages:{0:"An unknown error occurred. ",1:"You aborted the media playback. ",2:"A network error caused the media download to fail part-way. ",3:"The media playback was aborted due to a corruption problem. ",4:"The media could not be loaded, either because the server or network failed or because the format is not supported. ",5:"Sorry, your browser does not support the media format of the requested clip. ",6:"You need to update your Flash Plugin to a newer version!",7:"No media scheduled.",8:"! Invalid media model configured !",98:"Invalid or malformed playlist data!",99:"Click display to proceed. "},debug:false,debugLevel:1,desginGrid:"style/layout_grid.gif",designMode:false,controls:false,start:false,stop:false,volume:100,disablePause:false,disallowSkip:false,fixedVolume:false,imageScaling:"aspectratio",videoScaling:"aspectratio",flashVideoModel:"videoflash",flashAudioModel:"audioflash",flashStreamType:"file",flashRTMPServer:"file",flashVars:null},cfg||{});this._dynamicConfOpts=["title","controls","start","stop","volume","poster","disablePause","disallowSkip","fixedVolume","imageScaling","videoScaling","flashVars","flashAudioModel","flashVideoModel","flashStreamType","flashRTMPServer"];this.environment={playerStyle:null,scrollTop:null,scrollLeft:null,bodyOverflow:null,playerDom:{},mediaDom:{},media_canvasDom:{},media_clickcatcherDom:{},canvasDom:{},agent:"standard",clientConfig:{supportsOverlays:true,modelExtensions:{}},referenceWidth:1,referenceHeight:1,mouseIsOver:false};this.properties={id:null,itemsOffset:false,itemsLimit:10,currentItem:0,sources:[],playlistServer:""};this.mediaTypes={0:{ext:"NaN",type:"none/none",model:"NA",platform:"native"},1:{ext:"json",type:"text/json",model:"playlist",platform:"internal"},2:{ext:"xml",type:"text/xml",model:"playlist",platform:"internal"},3:{ext:"ogv",type:"video/ogg",model:"video",platform:"native"},4:{ext:"m4v",type:"video/mp4",model:"video",platform:"flash"},5:{ext:"webm",type:"video/webm",model:"video",platform:"native"},6:{ext:"ogg",type:"video/ogg",model:"video",platform:"native"},7:{ext:"anx",type:"video/ogg",model:"video",platform:"native"},8:{ext:"jpg",type:"image/jpeg",model:"image",platform:"native"},9:{ext:"gif",type:"image/gif",model:"image",platform:"native"},10:{ext:"png",type:"image/png",model:"image",platform:"native"},11:{ext:"flv",type:"video/x-flv",model:"videoflash",platform:"flash",fixed:true},12:{ext:"flv",type:"video/flv",model:"videoflash",platform:"flash",fixed:true},13:{ext:"mp4",type:"video/mp4",model:"videoflash",platform:"flash"},14:{ext:"mov",type:"video/quicktime",model:"videoflash",platform:"flash"},15:{ext:"youtube.com",type:"video/youtube",model:"youtube",platform:"flash",fixed:true},16:{ext:"ogg",type:"audio/ogg",model:"audio",platform:"native"},17:{ext:"oga",type:"audio/ogg",model:"audio",platform:"native"},18:{ext:"mp3",type:"audio/mp3",model:"audioflash",platform:"flash"},19:{ext:"html",type:"text/html",model:"html",platform:"internal"}};this.clientConfig={0:{regex:"iPhone",agent:"iphone",supportsOverlays:false,modelExtensions:{video:"mobile_apple"}},1:{regex:"iPad",agent:"ipad",supportsOverlays:false,modelExtensions:{video:"mobile_apple"}},2:{regex:"iPod",agent:"ipod",supportsOverlays:false,modelExtensions:{video:"mobile_apple"}}};this.media=[];this.plugins=[];this.listeners=[];this.mediaGrid={};this.playerObject={};this.__autostart=false;this._isReady=false;this._displayClicks=0;this._isInFullscreen=false;this._pctLoaded=0;this._FFreinit=false;this._preload={init:0,playlist:0,posters:0};this._initialConfig={};this._reelLoad=function(url,dataType){var ref=this;$.ajax({url:url,success:function(data){ref.properties.playlistServer=url;ref._reelParse(data,dataType)},error:function(data){ref._debug("Can not load "+url+" as "+dataType)}})};this._reelParse=function(data,dataType){var uuups=[{file:"none",type:"NA",errorCode:98}];switch(dataType){case"json":if(typeof data=="string"){try{data=this.config.reelParser($.parseJSON(data))}catch(e){data=uuups}}else{try{data=this.config.reelParser(data)}catch(e){data=uuups}}break;case"xml":if(typeof data=="string"){try{data=this.config.reelParser(this._xmlParser(this._textToXML(data)))}catch(e){data=uuups}break}try{data=this.config.reelParser(this._xmlParser(this._xmlParser(data)))}catch(e){data=uuups}break;default:data=[{file:"none",type:"NA",errorCode:98}];break}this._debug("Parsed incoming data as "+dataType);this._reelUpdate(data)};this._reelUpdate=function(obj){var ref=this;var data=obj||{};this.media=[];try{var setValue=null;for(var props in data.config){if(typeof data.config[props].indexOf("objectfunction")>-1){continue}this.config[props]=this._cleanValue(data.config[props]);this._debug("Updated config var: "+props+" to "+this.config[props])}delete (data.config)}catch(e){}for(var item in data){if(data[item].file==undefined){continue}this._addItem(this._prepareMedia(data[item],this.config.dynamicTypeExtensions))}this._registerPlugins()};this._pluginsReady=function(){this._bubbleEvent("playlist",1+this.getItemCount());this.setActiveItem(0)};this._addItem=function(data,idx,replace){var resultIdx=0;if(this.media.length===1&&this.media[0].mediaModel=="NA"){this._detachPlayerObject();this.media=[]}if(idx===undefined||idx<0||idx>this.media.length-1){this.media.push(data);resultIdx=this.media.length-1}else{this.media.splice(idx,(replace===true)?1:0,data);resultIdx=idx}this._bubbleEvent("playlist",this.getItemCount());return resultIdx};this._removeItem=function(idx){var resultIdx=0;if(this.media.length===1){if(this.media[0].mediaModel=="NA"){return 0}else{this.media[0]=this._prepareMedia({file:""});return 0}}if(idx===undefined||idx<0||idx>this.media.length-1){this.media.pop();resultIdx=this.media.length}else{this.media.splice(idx,1);resultIdx=idx}this._bubbleEvent("playlist",this.getItemCount());return resultIdx};this._prepareMedia=function(data,autoExtensions){var mediaFile="";var mediaType="";var mediaModel="NA";var fileExt="";var extTypes={};var typesModels={};var errorCode=(data.errorCode!=undefined)?data.errorCode:5;var lastLevel=100;var extRegEx=[];for(var i in this.mediaTypes){extRegEx.push("."+this.mediaTypes[i].ext);extTypes[this.mediaTypes[i].ext]=this.mediaTypes[i];typesModels[this.mediaTypes[i].type]=this.mediaTypes[i]}extRegEx="^.*.("+extRegEx.join("|")+")$";if(typeof data.file=="string"){data.file=[{src:data.file}];if(typeof data.type=="string"){data.file=[{src:data.file,type:data.type}]}}if(data.file===false){data.file=[{src:""}]}try{if(autoExtensions.length>0&&data.file.length>0){var srcBase=data.file[0].src;var tmp=[];data.file=[];for(var i=0;i<autoExtensions.length;i++){tmp.push({src:srcBase+autoExtensions[i].ext,type:autoExtensions[i].type})}data.file=tmp}}catch(e){}var sourceObj={};for(var index in data.file){sourceObj=data.file[index];if(typeof sourceObj=="string"){sourceObj={src:sourceObj}}if(sourceObj.src==undefined){continue}try{fileExt=sourceObj.src.match(new RegExp(extRegEx))[1];fileExt=(!fileExt)?"NaN":fileExt.replace(".","")}catch(e){fileExt="NaN"}if(sourceObj.type===undefined||sourceObj.type===""){if(extTypes[fileExt]){$.extend(sourceObj,extTypes[fileExt])}}else{try{var codecMatch=sourceObj.type.split(" ").join("").split(/[\;]codecs=.([a-zA-Z0-9\,]*)[\'|\"]/i);if(codecMatch[1]!==undefined){sourceObj.codec=codecMatch[1];sourceObj.type=codecMatch[0]}}catch(e){}if(typesModels[sourceObj.type]){$.extend(sourceObj,typesModels[sourceObj.type])}}if(lastLevel>this.config.platformPriority.indexOf(sourceObj.platform)&&this.mediaGrid[sourceObj.type]!="NA"){lastLevel=this.config.platformPriority.indexOf(sourceObj.platform);try{mediaModel=this.mediaGrid[sourceObj.type].toUpperCase()}catch(e){mediaModel="NA"}mediaFile=sourceObj.src;mediaType=sourceObj.type}if(index==="src"){break}}if(typeof eval("playerObject"+mediaModel)!=="function"){mediaModel="NA";errorCode=0}else{try{if(this.environment.clientConfig.modelExtensions[this.mediaGrid[mediaType]]!=undefined){mediaModel+="_"+(this.environment.clientConfig.modelExtensions[this.mediaGrid[mediaType]].toUpperCase())}}catch(e){}}var block=0;if(this.config.allowPlaybackFrom.length>0){for(var i=0;i<this.config.allowPlaybackFrom.length;i++){if(mediaFile.indexOf(this.config.allowPlaybackFrom[i])>-1){block++}}if(block==0){mediaFile=""}}data.file=mediaFile;data.mediaType=mediaType;data.mediaModel=mediaModel;data.poster=(data.poster!=undefined)?data.poster:this.config.defaultPoster;data.errorCode=(mediaFile=="")?0:errorCode;data.ID=this.randomId(8);data._VALIDATED=true;this._debug("Set item of type: "+mediaType+" Model: "+data.mediaModel+" File:"+data.file+" Priority: "+lastLevel);return data};this._modelUpdateListener=function(type,value){var ref=this;if(type!="time"&&type!="progress"){this._debug("Received model Update: '"+type+"' ("+value+") while handling '"+this.media[this.properties.currentItem].file+"' using '"+this.media[this.properties.currentItem].mediaModel+"'")}switch(type){case"state":this._bubbleEvent("state",value);switch(value){case"IDLE":break;case"AWAKENING":break;case"BUFFERING":break;case"ERROR":break;case"PLAYING":break;case"PAUSED":if(this.getItemConfig("disablePause")===true){this.playerObject.applyCommand("play",0)}break;case"COMPLETED":if(this.properties.currentItem+1>=this.media.length){this._bubbleEvent("done",{})}this.setActiveItem("next");break}break;case"buffer":this._bubbleEvent("buffer",value);this._bubbleEvent("time",value);break;case"displayReady":this._bubbleEvent("displayReady",true);(function(){try{for(var i=0;i<ref.plugins.length;i++){if(ref.plugins[i].pluginReady!==true){setTimeout(arguments.callee,100);return}}ref._bubbleEvent("pluginsReady",{});if(ref.environment.media_canvasDom!=null){ref.environment.media_clickcatcherDom.width("100%").height("100%");ref.environment.media_canvasDom.width("100%").height("100%");ref._addGUIListeners()}}catch(e){}})();break;case"FFreinit":break;case"seek":this._bubbleEvent("seek",{dest:value});break;case"volume":this.setItemConfig({volume:this.playerObject.getVolume()});this._bubbleEvent("volume",this.getVolume());break;case"progress":this._bubbleEvent("progress",value);break;case"time":this._bubbleEvent("time",value);break;case"fullscreen":this._bubbleEvent("fullscreen",value);break;case"playlist":this.setFile(value,true);break}};this._addGUIListeners=function(){var ref=this;this.environment.mediaDom.unbind();this.environment.mediaDom.click(function(event){ref._displayClickListener(event)});this.environment.mediaDom.mousemove(function(event){ref._displayMousemoveListener(event)});this.environment.media_clickcatcherDom.unbind();this.environment.media_clickcatcherDom.click(function(event){ref._displayClickListener(event)});this.environment.media_clickcatcherDom.mousemove(function(event){ref._displayMousemoveListener(event)});this.environment.media_clickcatcherDom.mouseenter(function(event){ref._displayMouseEnterListener(event)});this.environment.media_clickcatcherDom.mouseleave(function(event){ref._displayMouseLeaveListener(event)});var keyPressHandler=function(evt){ref._keyListener(evt)};if(this.config.enableKeyboard===true){$(document.documentElement).unbind("keydown",keyPressHandler);$(document.documentElement).unbind("keypress",keyPressHandler);if(!$.browser.mozilla){$(document.documentElement).keydown(keyPressHandler)}else{$(document.documentElement).keypress(keyPressHandler)}}};this._removeGUIListeners=function(){$("#"+this.getId()).unbind();this.environment.mediaDom.unbind();this.environment.media_clickcatcherDom.unbind()};this._registerPlugins=function(){var ref=this;if(this.config.plugins.length==0||this.plugins.length>0){this._pluginsReady();return}for(var i=0;i<this.config.plugins.length;i++){var pluginName="projekktor"+this.config.plugins[i];var pluginObj=$.extend(new projekktorPluginInterface(),eval(pluginName).prototype);pluginObj.name=this.config.plugins[i].toLowerCase();pluginObj.player=this;pluginObj.playerDom=this.environment.media_canvasDom;pluginObj.canvas.media=this.environment.media_canvasDom;pluginObj.canvas.projekktor=this.environment.canvasDom;pluginObj._init(this.config["plugin_"+this.config.plugins[i].toLowerCase()]||{});this.plugins.push(pluginObj)}(function(){try{for(var i=0;i<ref.plugins.length;i++){if(ref.plugins[i].pluginReady!==true){setTimeout(arguments.callee,100);return}}ref._pluginsReady()}catch(e){}})()};this._unbindPlugins=function(rmvPl){if(this.plugins.length==0){return}var pluginsToRemove=rmvPl||[];for(var j=0;j<this.plugins.length;j++){if($.inArray(j,pluginsToRemove)||pluginsToRemove.length===0){$(this.plugins[j]).unbind()}}};this._bubbleEvent=function(event,value){if(event!="time"&&event!="progress"&&event!="mousemove"){}if(this.plugins.length>0){for(var i in this.plugins){try{this.plugins[i][event+"Handler"](value,this)}catch(e){}}}if(this.listeners.length>0){for(var i in this.listeners){try{if(this.listeners[i]["event"]==event||this.listeners[i]["event"]=="*"){this.listeners[i]["callback"](value,this)}}catch(e){}}}};this._detachPlayerObject=function(){this._isReady=false;this._displayClicks=0;for(var i=0;i<this.plugins.length;i++){this.plugins[i].pluginReady=false}try{$(this).unbind();this._unbindPlugins();this._removeGUIListeners();this.playerObject.destroy();this.playerObject=null}catch(e){}this._bubbleEvent("detach",{})};this._displayClickListener=function(evt){var ref=this;if(this.getState()=="ERROR"){this.setActiveItem("next");return}this._displayClicks++;if(this._displayClicks>0){setTimeout(function(){if(ref._displayClicks==1){ref._displaySingleClick()}else{if(ref._displayClicks==2){ref._displayDblClick()}}ref._displayClicks=0;if($.browser.msie){evt.cancelBubble=true}else{evt.stopPropagation()}},250)}return false};this._displaySingleClick=function(){this.setPlayPause()};this._displayDblClick=function(){var ref=this;this.setFullscreen(!this.environment.inFullscreen)};this._displayMousemoveListener=function(evt){this._bubbleEvent("mousemove",{});if($.browser.msie){evt.cancelBubble=true}else{evt.stopPropagation()}};this._displayMouseEnterListener=function(evt){this._bubbleEvent("mouseenter",{});this.environment.mouseIsOver=true;if($.browser.msie){evt.cancelBubble=true}else{evt.stopPropagation()}};this._displayMouseLeaveListener=function(evt){this._bubbleEvent("mouseleave",{});this.environment.mouseIsOver=false;if($.browser.msie){evt.cancelBubble=true}else{evt.stopPropagation()}};this._keyListener=function(evt){if(this.environment.mouseIsOver!==true){return}this._debug("Keypress: "+evt.keyCode);this._bubbleEvent("key",evt.keyCode);switch(evt.keyCode){case 27:this.setFullscreen(false);break;case 13:this.setFullscreen(true);break;case 39:break;case 37:break;case 0:this.setPlayPause();break}};this._setMediaContainer=function(width,height,x,y){var widthRatio=width/this.environment.referenceWidth;var heightRatio=height/this.environment.referenceHeight;var css={width:"100%",height:"100%",top:0,left:0};try{this.environment.mediaDom.css(css);this.environment.media_canvasDom.css(css);this.environment.media_clickcatcherDom.css(css)}catch(e){}};this._enterFullViewport=function(){if(this.environment.inFullscreen===true){return}this.environment.scrollTop=$(window).scrollTop();this.environment.scrollLeft=$(window).scrollLeft();this.environment.playerStyle=this.environment.playerDom.attr("style");this.environment.bodyOverflow=$("body").css("overflow");$(window).scrollTop(0);$(window).scrollLeft(0);$("body").css("overflow","hidden");this.environment.playerDom.css({position:"fixed",display:"block",top:0,left:0,width:"100%",height:"100%",zIndex:99997});this.environment.inFullscreen=true};this._exitFullViewport=function(){if(this.environment.inFullscreen===false){return}this.environment.playerDom.attr("style",this.environment.playerStyle);$("body").css("overflow",this.environment.bodyOverflow);$(window).scrollTop(this.environment.scrollTop);$(window).scrollLeft(this.environment.scrollLef);this.environment.inFullscreen=false};this._enterSandboxFullViewport=function(){if(this.environment.inFullscreen===true){return}var win=this.getSandboxWindow();var iframe=this.getSandboxIframe();this.environment.scrollTop=win.scrollTop();this.environment.scrollLeft=win.scrollLeft();this.environment.playerStyle=iframe.attr("style");this.environment.sandBoxWidth=iframe.attr("width");this.environment.sandBoxHeight=iframe.attr("height");this.environment.bodyOverflow=$(win[0].document.body).css("overflow");win.scrollTop(0);win.scrollLeft(0);$(win[0].document.body).css("overflow","hidden");iframe.css({position:"fixed",display:"block",top:0,left:0,width:"100%",height:"100%",zIndex:9999});this.environment.inFullscreen=true};this._exitSandboxFullViewport=function(){if(this.environment.inFullscreen===false){return}var win=this.getSandboxWindow();var iframe=this.getSandboxIframe();win.scrollTop(this.environment.scrollTop);win.scrollLeft(this.environment.scrollLef);$(win[0].document.body).css("overflow",this.environment.bodyOverflow);iframe.attr("width",this.environment.sandBoxWidth+"px");iframe.attr("height",this.environment.sandBoxHeight+"px");iframe.attr("style",(this.environment.playerStyle==undefined)?"":this.environment.playerStyle);this.environment.inFullscreen=false};this.getItemConfig=function(name,itemIdx){var idx=itemIdx||this.properties.currentItem;var result=false;if(this.config[name]!==undefined){result=this.config[name];if($.inArray(name,this._dynamicConfOpts)>-1||name.indexOf("plugin_")>-1){try{if(this.media[idx]["config"][name]!==undefined&&this.media[idx]["config"][name]!==false){result=this.media[idx]["config"][name]}}catch(e){}}}else{try{if(this.media[idx]["config"][name]){result=this.media[idx]["config"][name]}}catch(e){}}return result};this.getItemCount=function(){return this.media.length};this.getState=function(){try{return this.playerObject.getState()}catch(e){return"IDLE"}};this.getIsAutoslide=function(){return this.playerObject.getIsAutoslide()};this.getLoadProgress=function(){try{return this.playerObject.getLoadProgress()}catch(e){return 0}};this.getKbPerSec=function(){try{return this.playerObject.getKbPerSec()}catch(e){return 0}};this.getItemId=function(idx){if(this.config.poster===undefined){if(idx==undefined){return this.media[this.properties.currentItem].ID}return this.media[idx].ID}else{if(idx==undefined){return this.media[this.properties.currentItem+1].ID}return this.media[idx+1].ID}};this.getItemIdx=function(){return this.properties.currentItem};this.getItem=function(){arg=arguments[0]||"current";switch(idx){case"next":return $.extend(true,[],this.media[this.properties.currentItem+1]);case"prev":return $.extend(true,[],this.media[this.properties.currentItem-1]);case"current":return $.extend(true,[],this.media[this.properties.currentItem]);case"*":return $.extend(true,[],this.media.slice(1));default:return $.extend(true,[],this.media[idx])}};this.getVolume=function(){return(this.getItemConfig("fixedVolume")==true)?this.config.volume:this.getItemConfig("volume")};this.getTrackId=function(){if(this.getItemConfig("trackId")){return this.config.trackId}if(this.properties.playlistServer!=null){return"pl"+this.properties.currentItem}return null};this.getLoadPlaybackProgress=function(){try{return this.playerObject.getLoadPlaybackProgress()}catch(e){return 0}};this.getDuration=function(){try{return this.playerObject.getDuration()}catch(e){return 0}};this.getPosition=function(){try{return this.playerObject.getPosition()}catch(e){return 0}};this.getTimeLeft=function(){try{return this.playerObject.getDuration()-this.playerObject.getPosition()}catch(e){return this.media[this.properties.currentItem].duration}};this.getInFullscreen=function(){return this.environment.inFullscreen};this.getMediaContainer=function(){return $("#"+this.getMediaContainerId())};this.getMediaContainerId=function(){return this.getId()+"_media"};this.getMediaType=function(){return this.media[this.properties.currentItem].mediaType};this.getUsesFlash=function(){return(this.playerObject.requiresFlash!==false)};this.getModel=function(){return this.media[this.properties.currentItem].mediaModel};this.getSandboxWindow=function(){return $(parent.window)};this.getSandboxIframe=function(){return window.$(frameElement)};this.getPlaylist=function(){return this.getItem("*")};this.getFlashVersion=function(){try{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");try{axo.AllowScriptAccess="always"}catch(e){return"6,0,0"}}catch(e){}return new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version").replace(/\D+/g,",").match(/^,?(.+),?$/)[1].match(/\d+/g)[0]}catch(e){try{if(navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin){return(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g,",").match(/^,?(.+),?$/)[1].match(/\d+/g)[0]}}catch(e){}}return"0,0,0".match(/\d+/g)[0]};this.getPreloaderPct=function(){var preLoadJobs=0;var percentTotal=0;if(this._pctLoaded>=100){this._pctLoaded=0;for(var i in this._preload){this._preload[i]=0}return 100}for(var i in this._preload){preLoadJobs++;percentTotal+=this._preload[i]}return Math.ceil(percentTotal/preLoadJobs)};this.getId=function(){return this.properties.id};this.getCssClass=function(){return this.config.cssClassPrefix};this.setActiveItem=function(mixedData){var newItem=0;var lastItem=this.properties.currentItem;this._detachPlayerObject();if(typeof mixedData=="string"){switch(mixedData){case"previous":if(this.getItemConfig("disallowSkip")==true&&this.getState()!=="COMPLETED"){return}newItem=this.properties.currentItem-1;break;case"next":if(this.getItemConfig("disallowSkip")==true&&this.getState()!=="COMPLETED"){return}newItem=this.properties.currentItem+1;break;default:case"poster":result=0;break}}else{if(typeof mixedData=="number"){if(this.getItemConfig("disallowSkip")==true&&this.getState()!=="COMPLETED"&&mixedData!==this.properties.currentItem){return}newItem=parseInt(mixedData)}else{newItem=0}}if(this.config.loop===true){if(newItem>this.getItemCount()-1){newItem=0}if(newItem<1){newItem=0}}else{if(newItem>this.getItemCount()-1){newItem=0}if(newItem<0){newItem=0}}this.properties.currentItem=newItem;var playerModel=this.media[this.properties.currentItem].mediaModel;if(playerModel=="AUDIOFLASH"){playerModel=this.getItemConfig("flashAudioModel").toUpperCase()}else{if(playerModel=="VIDEOFLASH"){playerModel=this.getItemConfig("flashVideoModel").toUpperCase()}}try{if(typeof eval("playerObject"+playerModel)!=="function"){playerModel="NA";this.media[this.properties.currentItem].mediaModel=playerModel;this.media[this.properties.currentItem].errorCode=8}}catch(e){playerModel="NA";this.media[this.properties.currentItem].mediaModel=playerModel;this.media[this.properties.currentItem].errorCode=8}this.playerObject=new playerObject();this.playerObject=$.extend(true,{},new playerObject(),eval("playerObject"+playerModel).prototype);this.playerObject.init({media:$.extend(true,{},this.media[this.properties.currentItem]),controller:this,environment:$.extend(true,{},this.environment),autoplay:((this.config.autoplay===true&&this.properties.currentItem==0)||(this.properties.currentItem>0&&this.config.continuous===true)||(this.properties.currentItem==0&&this.config.continuous===true&&lastItem>0))});this._setMediaContainer();this._bubbleEvent("item",this.properties.currentItem)};this.setPlay=function(){this.playerObject.applyCommand("play",false);return true};this.setPause=function(){this.playerObject.applyCommand("pause",false);return true};this.setStop=function(){this.playerObject.applyCommand("stop",false);return true};this.setPlayPause=function(){if(this.getState()!=="PLAYING"){this.setPlay();return true}this.setPause();return false};this.setVolume=function(vol){if(this.getItemConfig("fixedVolume")==true){return}if(typeof vol=="string"){var dir=vol.substr(0,1);vol=parseFloat(vol.substr(1));vol=(vol>1)?vol/100:vol;if(dir=="+"){vol=this.getVolume()+vol}else{if(dir=="-"){vol=this.getVolume()-vol}else{vol=this.getVolume()}}}if(typeof vol=="number"){vol=(vol>1)?vol/100:vol;this.playerObject.applyCommand("volume",vol)}};this.setPlayhead=function(position){if(this.getItemConfig("disallowSkip")==true){return}if(typeof position=="string"){var dir=position.substr(0,1);position=parseFloat(position.substr(1));if(dir=="+"){position=this.getPosition()+position}else{if(dir=="-"){position=this.getPosition()-position}else{position=this.getPosition()}}}if(typeof position=="number"){this.playerObject.applyCommand("seek",position)}};this.setPlayerPoster=function(url){var posterItem=this._prepareMedia({file:((url==""||url==undefined)?this.config.defaultPoster:url),config:{poster:((url==""||url==undefined)?this.config.defaultPoster:url)}});this._debug("Setting poster - url:"+posterItem.file);this.media[0]=posterItem};this.setPoster=function(itemIdx,url){if(itemIdx==0){this.setPlayerPoster(url);return}};this.setItem=function(){var itemData=arguments[0];var affectedIdx=0;if(itemData==null){affectedIdx=this._removeItem(arguments[1]);if(affectedIdx===this.properties.currentItem){this.setActiveItem("previous")}}else{affectedIdx=this._addItem(this._prepareMedia(itemData,this.config.dynamicTypeExtensions),arguments[1],arguments[2]);if(affectedIdx===this.properties.currentItem){this.setActiveItem(this.properties.currentItem)}}};this.setFile=function(arg,ext){this._detachPlayerObject();var data=arg||{};var externalData=ext||false;var result={};if(typeof arg=="object"){this._debug("Applying incoming JS Object",arg);this._reelUpdate(arg);return true}if(typeof arg=="string"){var splt=[];splt[0]=arg;if(arg.indexOf(this.config.FilePosterSeparator)>-1){splt=arg.split(this.config.FilePosterSeparator);data.config={poster:splt[1]}}else{result[0]={};result[0].file=arg}if(externalData===false){this._debug("Applying incoming single file:"+result[0]["file"],data);this._reelUpdate(result)}else{this._debug("Loading external data from "+splt[0]);this._reelLoad(splt[0],"json")}return true}return false};this.setItemConfig=function(){if(!arguments.length){return result}var confObj=arguments[0];var dest="*";var result=false;if(typeof confObj!="object"){return result}if(arguments[1]=="string"||arguments[1]=="number"){dest=arguments[1]}var value=false;for(var i in confObj){if(!$.inArray(i,this._dynamicConfOpts)){continue}value=this._cleanValue(confObj[i]);if(dest=="*"){$.each(this.media,function(){if(this.config==undefined){this.config={}}this.config[i]=value});result=true;continue}if(this.media[dest]==undefined){return result}if(this.media[dest]["config"]==undefined){this.media[dest]["config"]={}}this.media[dest]["config"][i]=value}return result};this.addListener=function(evt,callback){var listenerObj={event:evt,callback:callback};this.listeners.push(listenerObj)};this.removeListener=function(evt,callback){var len=this.listeners.length;for(var i=0;i<len;i++){if(this.listeners[i].event!=evt&&evt!=="*"){continue}if(this.listeners[i].callback!=callback&&callback!==undefined){continue}this.listeners.splice(i,1)}return false};this.sendEvent=function(command,parameter){switch(command){case"next":this.setActiveItem("next");break;case"previous":this.setActiveItem("previous");break;case"fullscreen":this.setFullscreen(parameter);break;case"seek":this.setPlayhead(parameter);return;default:this.playerObject.applyCommand(command,parameter);break}};this.setFullscreen=function(full){if(!this.config.enableFullscreen){return}if(this.config.sandBox!==false){if(full==true){this._enterSandboxFullViewport()}else{this._exitSandboxFullViewport()}}else{if(full==true){this._enterFullViewport()}else{this._exitFullViewport()}}this.playerObject.applyCommand("fullscreen",full)};this.ping=function(){alert("pong")};this._testMediaSupport=function(){var result=[];var hasNativeAudio=false;var hasFlash=(this.getFlashVersion()>0);var nativeElementType="";for(i in this.mediaTypes){result[this.mediaTypes[i]["type"]]="NA";if(this.mediaTypes[i]["model"]=="image"&&this.mediaTypes[i]["platform"]=="native"){result[this.mediaTypes[i]["type"]]="image";continue}if(this.mediaTypes[i]["platform"]=="internal"){result[this.mediaTypes[i]["type"]]=this.mediaTypes[i]["model"];continue}if(hasFlash==true&&this.mediaTypes[i]["platform"]=="flash"){if(this.mediaTypes[i]["model"].indexOf("flash")>-1){if(this.config.enableFlashFallback==true){result[this.mediaTypes[i]["type"]]=(this.mediaTypes[i]["type"].indexOf("audio")>-1)?"audioflash":"videoflash"}}else{result[this.mediaTypes[i]["type"]]=this.mediaTypes[i]["model"]}}if(this.mediaTypes[i]["fixed"]!==true&&this.config.enableNativePlayback!==false){if((this.mediaTypes[i]["type"].indexOf("video")>-1||this.mediaTypes[i]["type"].indexOf("audio")>-1)){try{nativeElementType=(this.mediaTypes[i]["type"].indexOf("video")>-1)?"video":"audio";var testObject=document.createElement(nativeElementType);if(testObject.canPlayType!=false){switch(testObject.canPlayType(this.mediaTypes[i]["type"])){case"no":break;case"":break;case"maybe":if($.browser.opera){break}case"probably":default:result[this.mediaTypes[i]["type"]]=nativeElementType}}}catch(e){}}}}this._debug("Client media support matrix:",result);return result};this.randomId=function(length){var chars="abcdefghiklmnopqrstuvwxyz";var result="";for(var i=0;i<length;i++){var rnum=Math.floor(Math.random()*chars.length);result+=chars.substring(rnum,rnum+1)}return result};this._cleanValue=function(value){switch(value){case"false":return false;case"true":return true;case"null":return null;case"undefined":return"";case undefined:return false;default:return(typeof value!="string"&&typeof value!="number"&&typeof value!="boolean")?false:value}};this._xmlParser=function(xdoc){try{if(!xdoc){return null}var tmpObj={};tmpObj.typeOf="JSXBObject";var xroot=(xdoc.nodeType==9)?xdoc.documentElement:xdoc;tmpObj.RootName=xroot.nodeName||"";if(xdoc.nodeType==3||xdoc.nodeType==4){return xdoc.nodeValue}var isNumeric=function(s){var testStr="";if(s&&typeof s=="string"){testStr=s}var pattern=/^((-)?([0-9]*)((\.{0,1})([0-9]+))?$)/;return pattern.test(testStr)};function formatName(name){var regEx=/-/g;var tName=String(name).replace(regEx,"_");return tName}function setAttributes(obj,node){if(node.attributes.length>0){var a=node.attributes.length-1;var attName;obj._attributes=[];do{attName=String(formatName(node.attributes[a].name));obj._attributes.push(attName);obj[attName]=$.trim(node.attributes[a].value)}while(a--)}}function setHelpers(grpObj){grpObj.getNodeByAttribute=function(attr,obj){if(this.length>0){var cNode;var maxLen=this.length-1;try{do{cNode=this[maxLen];if(cNode[attr]==obj){return cNode}}while(maxLen--)}catch(e){return false}return false}};grpObj.contains=function(attr,obj){if(this.length>0){var maxLen=this.length-1;try{do{if(this[maxLen][attr]==obj){return true}}while(maxLen--)}catch(e){return false}return false}};grpObj.indexOf=function(attr,obj){var pos=-1;if(this.length>0){var maxLen=this.length-1;try{do{if(this[maxLen][attr]==obj){pos=maxLen}}while(maxLen--)}catch(e){return -1}return pos}};grpObj.SortByAttribute=function(col,dir){if(this.length){function getValue(pair,idx){var out=pair[idx];out=(isNumeric(out))?parseFloat(out):out;return out}function sortFn(a,b){var res=0;var tA,tB;tA=getValue(a,col);tB=getValue(b,col);if(tA<tB){res=-1}else{if(tB<tA){res=1}}if(dir){res=(dir.toUpperCase()=="DESC")?(0-res):res}return res}this.sort(sortFn)}};grpObj.SortByValue=function(dir){if(this.length){function getValue(pair){var out=pair.Text;out=(isNumeric(out))?parseFloat(out):out;return out}function sortFn(a,b){var res=0;var tA,tB;tA=getValue(a);tB=getValue(b);if(tA<tB){res=-1}else{if(tB<tA){res=1}}if(dir){res=(dir.toUpperCase()=="DESC")?(0-res):res}return res}this.sort(sortFn)}};grpObj.SortByNode=function(node,dir){if(this.length){function getValue(pair,node){var out=pair[node][0].Text;out=(isNumeric(out))?parseFloat(out):out;return out}function sortFn(a,b){var res=0;var tA,tB;tA=getValue(a,node);tB=getValue(b,node);if(tA<tB){res=-1}else{if(tB<tA){res=1}}if(dir){res=(dir.toUpperCase()=="DESC")?(0-res):res}return res}this.sort(sortFn)}}}function setObjects(obj,node){var elemName;var cnode;var tObj;var cName="";if(!node){return null}if(node.attributes.length>0){setAttributes(obj,node)}obj.Text="";if(node.hasChildNodes()){var nodeCount=node.childNodes.length-1;var n=0;do{cnode=node.childNodes[n];switch(cnode.nodeType){case 1:obj._children=[];elemName=(cnode.localName)?cnode.localName:cnode.baseName;elemName=formatName(elemName);if(cName!=elemName){obj._children.push(elemName)}if(!obj[elemName]){obj[elemName]=[]}tObj={};obj[elemName].push(tObj);if(cnode.attributes.length>0){setAttributes(tObj,cnode)}if(!obj[elemName].contains){setHelpers(obj[elemName])}cName=elemName;if(cnode.hasChildNodes()){setObjects(tObj,cnode)}break;case 3:obj.Text+=$.trim(cnode.nodeValue);break;case 4:obj.Text+=(cnode.text)?$.trim(cnode.text):$.trim(cnode.nodeValue);break}}while(n++<nodeCount)}}setObjects(tmpObj,xroot);xdoc=null;xroot=null;return tmpObj}catch(e){return null}};this._textToXML=function(strXML){var xmlDoc=null;try{xmlDoc=($.browser.msie)?new ActiveXObject("Microsoft.XMLDOM"):new DOMParser();xmlDoc.async=false}catch(e){throw new Error("XML Parser could not be instantiated")}var out;try{if($.browser.msie){out=(xmlDoc.loadXML(strXML))?xmlDoc:false}else{out=xmlDoc.parseFromString(strXML,"text/xml")}}catch(e){throw new Error("Error parsing XML string")}return out};this._preloadImages=function(taskName,imgArray){var cache=[];var ref=this;var imagesLoaded=0;for(var i=imgArray.length;i--;){var cacheImage=document.createElement("img");cacheImage.src=imgArray[i];cache.push(cacheImage);$(cacheImage).load(function(){imagesLoaded++;ref._preload[taskName]=Math.ceil(imagesLoaded*100/imgArray.length)})}};this._initHashChangeDetect=function(){var ref=this;if("onhashchange1" in window){window.onhashchange=function(){ref.setFile(window.location.hash.substring(1))}}else{var storedHash=window.location.hash;window.setInterval(function(){if(window.location.hash!=storedHash){storedHash=window.location.hash;ref.setFile(storedHash.substring(1))}},100)}};this._getFilesFromHash=function(idx){var data=window.location.hash.substring(1);if(data==undefined||data==null){return false}if(data.indexOf(this.config.FilePosterSeparator)>-1){data=data.split(this.config.FilePosterSeparator)}if(data[1]&&idx==1){return data[1]}else{if(idx==0){return data[0]}}return false};this._getTypeFromFileExtension=function(url){var result="";var fileExt="";var extRegEx=[];var extTypes={};var extRegEx=[];for(var i in this.mediaTypes){extRegEx.push("."+this.mediaTypes[i].ext);extTypes[this.mediaTypes[i].ext]=this.mediaTypes[i]}extRegEx="^.*.("+extRegEx.join("|")+")$";try{fileExt=url.match(new RegExp(extRegEx))[1];fileExt=(!fileExt)?"NaN":fileExt.replace(".","")}catch(e){fileExt="NaN"}return extTypes[fileExt].type};this._debug=function(desc,data){if(this.config.debug===false){return}if(this.config.debug=="console"){try{if(desc){console.log(desc)}if(data&&this.config.debugLevel>1){console.log(data)}}catch(e){}return}var result="<pre><b>"+desc+"</b>\n";if(data&&this.config.debugLevel>1){switch(typeof data){case"undefined":break;case"object":var temp="";if(temp==""){temp="";for(var i in data){temp+=i+" : "+data[i]+"\n"}}result+=temp;break;case"string":result+=data}result+="</pre>"}try{$("#"+this.config._debug).prepend(result)}catch(e){}};this._init=function(srcNode){var ref=this;this.environment.referenceWidth=srcNode.attr("width");this.environment.referenceHeight=srcNode.attr("height");this.config.autoplay=(srcNode.attr("autoplay")!==undefined&&srcNode.attr("autoplay")!==false);this.__autostart=(srcNode.attr("autostart")!==undefined&&srcNode.attr("autostart")!==false);this.config.autoplay=(this.config.autoplay||this.__autostart);this.config.controls=(srcNode.attr("controls")!==undefined&&srcNode.attr("controls")!==false);this.config.loop=(srcNode.attr("loop")!==undefined&&srcNode.attr("loop")!==false)?true:this.config.loop;this.config.title=(srcNode.attr("title")!==""&&srcNode.attr("title")!==undefined&&srcNode.attr("title")!==false)?srcNode.attr("title"):false;this.config.poster=($(srcNode).attr("poster")!==""&&srcNode.attr("poster")!==undefined&&srcNode.attr("poster")!==false)?$(srcNode).attr("poster"):this.config.poster;if($.browser.msie){var htmlTag=srcNode.parent().html().toLowerCase();var attr=["autoplay","controls","loop"];for(var i=0;i<attr.length;i++){if(htmlTag.indexOf(attr[i])==-1){continue}this.config[attr[i]]=true}}this.properties.sources=[];if(this.config.sandBox!==false){this.properties.sources.push({src:this._getFilesFromHash(0),type:$(this).attr("type")||this._getTypeFromFileExtension(this._getFilesFromHash(0))});this.config.poster=this._getFilesFromHash(1)}else{if(srcNode.attr("src")){this.properties.sources.push({src:srcNode.attr("src"),type:srcNode.attr("type")||this._getTypeFromFileExtension(srcNode.attr("src"))})}srcNode.children().each(function(){if($(this).attr("src")){ref.properties.sources.push({src:$(this).attr("src"),type:$(this).attr("type")||this._getTypeFromFileExtension($(this).attr("src"))})}})}if(this.config.designMode===true){this.config.poster=this.config.desginGrid}for(var i in this.clientConfig){if(navigator.userAgent.match(new RegExp(this.clientConfig[i].regex))){this.environment.clientConfig=this.clientConfig[i];break}}this.properties.id=srcNode[0].id||this.randomId(8);this.environment.playerDom=$(document.createElement("div")).attr({id:srcNode[0].id,style:srcNode.attr("style"),"class":"projekktor"}).css("overflow","hidden").css("width",this.environment.referenceWidth+"px").css("height",this.environment.referenceHeight+"px");srcNode.replaceWith(this.environment.playerDom);var css={position:"absolute",overflow:"hidden",top:0,left:0,height:"100%",width:"100%",display:"block"};this.environment.mediaDom=$(document.createElement("div")).appendTo(this.environment.playerDom).attr({id:this.getId()+"_media"}).css(css).css("z-index",2);this.environment.media_canvasDom=(this.environment.clientConfig.supportsOverlays!==true)?null:$(document.createElement("div")).appendTo(this.environment.playerDom).attr({id:this.getId()+"_media_canvas"}).css(css).css("z-index",10);this.environment.media_clickcatcherDom=(this.environment.clientConfig.supportsOverlays!==true)?null:$(document.createElement("div")).appendTo(this.environment.media_canvasDom).attr({id:this.getId()+"_media_clickcatcher"}).css(css).css("cursor","pointer");this.mediaGrid=this._testMediaSupport();try{$("#projekktorver").html("V"+this.config.version)}catch(e){}if(this.config.forceFullViewport==true&&this.config.sandBox!==true){this.config.enableFullscreen=false;this._enterFullViewport()}if(this.config.sandBox!==false){this.getSandboxWindow().ready(function(){ref._enterFullViewport();ref.environment.inFullscreen=false});if(this.config.sandBoxHashObserve==true){this._initHashChangeDetect()}}for(var i in this.properties.sources){if(this.properties.sources[i].type=="text/json"||this.properties.sources[i].type=="text/xml"){this.setFile(this.properties.sources[i].src,true);return this}}this.setFile({0:{file:this.properties.sources,config:{poster:this.config.poster,title:this.config.title}}});return this};return this._init(srcNode)}};
