var SOUNDSLIDES={};
SOUNDSLIDES.player=function(i){var a,x,y,q,r,z,A,j,n,s,o,k,l,p,f,m,B,t,u,v,C;a={is_ipad:navigator.userAgent.match(/iPad/i)!==null,is_iphone:navigator.userAgent.match(/iPhone/i)!==null,is_ios:navigator.userAgent.match(/iPad/i)!==null||navigator.userAgent.match(/iPhone/i)!==null,use_canvas_image_loading:false,container_div:i.container_div,current_slide:0,current_lowerthird:-1,caption_displayed:false,credit_displayed:false,path:i.path,path_to_audio:i.path,path_to_xml:i.path_to_xml?i.path_to_xml:i.path+
"soundslide.xml",width:0,height:0,slide_width:0,slide_height:0,controls_height:50,slide_array:[],meta_dict:{},lowerthirds_array:[],preload_limit:3,images_loaded:0,playhead_elapsed_ms:0,slideshow_type:undefined,time_interval:0,state:"stop",upscaling:true,nav_style:"iPad",on_image_change:i.on_image_change?i.on_image_change:null,on_audio_end:i.on_audio_end?i.on_audio_end:null,debug:false};u=function(b){var c,d,e,h,g,D,w,E,F,G;$(b).find("item").each(function(){c=$(this);d=c.find("parameter").text();e=
c.find("value").text();a.meta_dict[d]=e});f(a.meta_dict);$(b).find("slide").each(function(){c=$(this);h=c.find("file").text();g=c.find("caption").text();D=c.find("timing").text();a.slide_array.push({filename:h,caption:g,timing:D})});$(b).find("lower_thirds").find("item").each(function(){c=$(this);F=c.find("name").text();G=c.find("title").text();E=Number(c.find("inpoint").text());w=Number(c.find("duration").text());w!==0&&a.lowerthirds_array.push({name:F,title:G,inpoint:E,duration:w})});f("lowerthirds_array: "+
a.lowerthirds_array);if(a.meta_dict.silent_slide_show==="true")for(b=0;b<a.slide_array.length;b++)a.slide_array[b].timing=a.meta_dict.seconds_per_image*1E3*b;z()};z=function(){var b,c,d,e;if(a.meta_dict.custom_size==="true")a.path_to_images=a.path+"custom";else{a.path_to_images=a.path+"600_450";a.meta_dict.custom_width=600;a.meta_dict.custom_height=450}f("model.path_to_images: "+a.path_to_images);a.slide_width=Number(a.meta_dict.custom_width);a.slide_height=Number(a.meta_dict.custom_height);if(i.width!==
undefined)a.slide_width=Number(i.width);if(i.height!==undefined)a.slide_height=Number(i.height-a.controls_height);a.width=a.slide_width;a.height=a.slide_height+a.controls_height;if(a.meta_dict.jsFunction!==undefined&&a.on_image_change===null){b=window[a.meta_dict.jsFunction];if(typeof b==="function")a.on_image_change=b}a.slideshow_type=a.meta_dict.silent_slide_show==="true"?"silent":a.meta_dict.slide_only==="true"?"click":"audio";x();d=a.meta_dict.credits;d=m(d);c="";for(e=0;e<a.slide_array.length;e++){b=
a.slide_array[e].caption;b=m(b);c+='<div class = "slide"><div class="caption"><div class="caption_foreground_text">'+b+'</div><div class="caption_background_text">'+b+'</div></div><div class="credit"><div class="caption_foreground_text">'+d+'</div><div class="caption_background_text">'+d+"</div></div></div>"}$("#"+a.container_div+" #slide_area").append(c);n();s();o();k()};x=function(){var b;b=a.container_div;$("#"+b).css("position")==="static"&&$("#"+b).css({position:"relative"});$("#"+b).css({height:a.slide_height+
a.controls_height,width:Number(a.slide_width)});f("model.meta_dict.silent_slide_show: "+a.meta_dict.silent_slide_show);if(a.slideshow_type==="silent")$("#"+b).prepend("<div id='background'></div><div id='slide_area'></div><div id='controls'><div id='controls_left'><ul id='nav'> <li id='play'><a href='#' id='play'>Play</a></li> <li id='stop'><a href='#' id='stop'>Stop</a></li> <li id='pause'><a href='#' id='pause'>Pause</a></li> <li id='resume'><a href='#' id='resume'>Resume</a></li> <li id='back'><a href='#' id='back'>Back</a></li> <li id='next'><a href='#' id='next'>Next</a></li><li id='counter'><span id='counter'></span></li> <li id='caption'><a href='#' id='caption'>Caption</a></li> <li id='credits'><a href='#' id='credits'>Credits</a></li></ul></div></div>");
else if(a.slideshow_type==="click")$("#"+b).prepend("<div id='background'></div><div id='slide_area'></div><div id='controls'><div id='controls_left'><ul id='nav'> <li id='resume'><a href='#' id='resume'>Resume</a></li> <li id='back'><a href='#' id='back'>Back</a></li> <li id='next'><a href='#' id='next'>Next</a></li><li id='counter'><span id='counter'></span></li> <li id='caption'><a href='#' id='caption'>Caption</a></li> <li id='credits'><a href='#' id='credits'>Credits</a></li></ul></div></div>");
else if(a.slideshow_type==="audio"){$("#"+b).prepend("<div id='background'></div><div id='slide_area'></div><div id='controls'><div id='controls_left'><ul id='nav'> <li id='play'><a href='#' id='play'>Play</a></li> <li id='stop'><a href='#' id='stop'>Stop</a></li> <li id='pause'><a href='#' id='pause'>Pause</a></li> <li id='resume'><a href='#' id='resume'>Resume</a></li> <li id='back'><a href='#' id='back'>Back</a></li> <li id='next'><a href='#' id='next'>Next</a></li><li id='counter'><span id='counter'></span></li> <li id='caption'><a href='#' id='caption'>Caption</a></li> <li id='credits'><a href='#' id='credits'>Credits</a></li></ul></div><div id='audio'></div></div>");
A()}$("#"+b).prepend("<div id='lowerthirds'></div>");a.nav_style==="iPad"&&$("#"+b).addClass("iDevices");if(a.slideshow_type==="click"){$("#"+b+" a#back").css({left:"0px"});$("#"+b+" a#next").css({left:"62px"});$("#"+b+" li#counter").css({left:"133px"})}if(a.meta_dict.showCredits==="false"){f("disable credits button");$("#"+b+" a#credits").css("width","0px");$("#"+b+" a#credits").hide()}if(a.meta_dict.showCaptions==="false"){f("disable captions button");$("#"+b+" a#caption").hide()}$("#"+b+" #slide_area").click(function(c){a.current_slide<
$("#"+b+" .slide").length-1&&l(a.current_slide+1);c.preventDefault()});$("#"+b+" a#stop").click(function(c){j("stop");c.preventDefault()});$("#"+b+" a#play").click(function(c){if(a.state==="stop")j("play");else if(a.state==="pause")j("play");else a.state==="play"&&j("pause");c.preventDefault()});$("#"+b+" a#pause").click(function(c){if(a.state==="stop")j("play");else if(a.state==="pause")j("play");else a.state==="play"&&j("pause");c.preventDefault()});$("#"+b+" a#resume").click(function(c){if(a.state===
"stop")j("play");else if(a.state==="pause")j("play");else a.state==="play"&&j("pause");c.preventDefault()});$("#"+b+" a#next").click(function(c){a.current_slide<$("#"+b+" .slide").length-1&&l(a.current_slide+1);c.preventDefault()});$("#"+b+" a#back").click(function(c){a.current_slide>0&&l(a.current_slide-1);c.preventDefault()});$("#"+b+" a#caption").click(function(c){a.credit_displayed=false;a.caption_displayed=!a.caption_displayed;k();c.preventDefault()});$("#"+b+" a#credits").click(function(c){a.credit_displayed=
!a.credit_displayed;a.caption_displayed=false;k();c.preventDefault()})};y=function(){a.playhead_elapsed_ms+=50;f("timer: "+a.playhead_elapsed_ms);q(a.playhead_elapsed_ms);r()};q=function(){var b,c;for(c=b=0;c<a.slide_array.length;c++)if(a.slide_array[c].timing<a.playhead_elapsed_ms)b=c;else break;b!==a.current_slide&&l(b)};r=function(){var b,c,d,e,h;b=-1;for(c=0;c<a.lowerthirds_array.length;c++){d=a.lowerthirds_array[c].inpoint*1E3;e=(a.lowerthirds_array[c].inpoint+a.lowerthirds_array[c].duration)*
1E3;h=a.playhead_elapsed_ms;if(h>=d&&h<=e){b=c;break}}if(b!=a.current_lowerthird){a.current_lowerthird=b;B()}};B=function(){var b,c,d;d=$("#"+a.container_div+" #lowerthirds");if(a.current_lowerthird!==-1){f("show lowerthird");b=a.lowerthirds_array[a.current_lowerthird].name;c=a.lowerthirds_array[a.current_lowerthird].title;b=m(b);c=m(c);d.html('<p class="lt_name">'+b+'</p><p class="lt_title">'+c+"</p>");d.css({top:a.slide_height-d.height()});d.fadeIn(300)}else{f("hide lowerthird");d.fadeOut(300)}};
m=function(b){return b.replace(/<script[^>]*?>[\s\S]*?<\/script>/gi,"")};A=function(){f("load_audio");var b,c;b=a.container_div;$("#"+b+" #audio").jPlayer({customCssIds:true,oggSupport:true,ready:function(){this.element.jPlayer("setFile",a.path_to_audio+"audio_hi.mp3",a.path_to_audio+"audio_hi.ogg")}});$("#"+b+" #audio").jPlayer("onProgressChange",function(d,e,h,g){a.playhead_load_percent=Math.floor(d);c=Number(a.meta_dict.duration);if(g===undefined)g=0;a.playhead_remaining_ms=Math.floor(c-g);a.playhead_elapsed_ms=
Math.floor(g);o();a.state==="play"&&q();r()});$("#"+b+" #audio").jPlayer("onSoundComplete",function(){if(a.on_audio_end===null)return false;a.on_audio_end()})};j=function(b){a.state=b;b=a.container_div;if(a.state==="play"){$("#"+b+" a#play").html("pause");$("#"+b+" #nav li#play a").hide();$("#"+b+" #nav li#stop a").show();$("#"+b+" #nav li#pause a").show();$("#"+b+" #nav li#resume a").hide();if(a.slideshow_type==="audio"){$("#"+b+" #audio").jPlayer("play");f("start audio")}else{clearInterval(a.time_interval);
a.time_interval=setInterval(function(){y()},50)}}else if(a.state==="pause"){$("#"+b+" #nav li#play a").hide();$("#"+b+" #nav li#stop a").show();$("#"+b+" #nav li#pause a").hide();$("#"+b+" #nav li#resume a").show();$("#"+b+" a#play").html("play");clearInterval(a.time_interval);$("#"+b+" #audio").jPlayer("pause")}else if(a.state==="stop"){$("#"+b+" #nav li#play a").show();$("#"+b+" #nav li#stop a").hide();$("#"+b+" #nav li#pause a").hide();$("#"+b+" #nav li#resume a").hide();$("#"+b+" a#play").html("play");
clearInterval(a.time_interval);$("#"+b+" #audio").jPlayer("stop")}};t=function(b){var c;if(b===0){c=$("#"+a.container_div+" .slide:first");c.css({opacity:"0"});c.show();p(0);c.css({opacity:"1"});v(0)}f("image #"+b+" loaded.")};C=function(b){var c,d;d=a.slide_array[b].filename;c=$("#"+a.container_div+" .slide:eq("+b+") .image");if(a.use_canvas_image_loading){var e=document.createElement("canvas"),h=e.getContext("2d"),g=new Image;g.src=a.path_to_images+"/"+d;g.onload=function(){e.width=g.width;e.height=
g.height;h.drawImage(g,0,0);c.html('<div id="img" style="position: relative; text-align:left;"></div>');c.find("#img").html(e);t(b)}}else{c.html('<img src="'+a.path_to_images+"/"+d+'" alt="image" />');c.find("img").load(function(){t(b)})}};n=function(){var b;if(a.current_slide+a.preload_limit>a.images_loaded&&a.images_loaded<a.slide_array.length){f("we need more images");b=a.images_loaded;f("loading #"+b);$("#"+a.container_div+" .slide:eq("+b+")").prepend('<div class="image"></div>');C(b);a.images_loaded=
Number(b)+1;n()}else f("all buffered")};s=function(){var b;a.caption_displayed||$("#"+a.container_div+" .caption").css("display","none");a.credit_displayed||$("#"+a.container_div+" .credit").css("display","none");$("#"+a.container_div+" #lowerthirds").css("display","none");$("#"+a.container_div+" .slide").css("display","none");$("#"+a.container_div+" .slide").css({width:a.slide_width+"px",height:a.slide_height+"px"});b={color:"white","font-family":"Verdana","font-size":"11px",width:a.slide_width+
"px"};if(a.nav_style==="iPad")b={color:"white","font-family":"Verdana","font-size":"18px",width:a.slide_width+"px"};$("#"+a.container_div+" .credit").css(b);$("#"+a.container_div+" .caption").css(b);$("#"+a.container_div+" .caption_foreground_text").css({padding:"5px"});$("#"+a.container_div+" .caption_background_text").css({position:"absolute",top:"0px",background:"#000000",width:a.slide_width-10+"px",opacity:"0.5",padding:"5px"});$("#"+a.container_div+" #background").css({background:"#000000","z-index":"-1",
width:a.slide_width+"px",height:a.slide_height+"px"});$("#"+a.container_div+" #image_area").css({width:a.slide_width+"px",height:a.slide_height+"px"});$("#"+a.container_div+" #controls").css({top:a.slide_height+"px",background:"#"+a.meta_dict.controls_hex,height:a.controls_height+"px",width:a.slide_width+"px","font-size":"5px"});b=$("#"+a.container_div+" #controls li#credits a");b.css({left:a.width-b.width()});var c=$("#"+a.container_div+" #controls li#caption a");c.css({left:a.width-b.width()-c.width()-
1})};o=function(){var b,c;b=$("#"+a.container_div+" #counter");if(a.slideshow_type==="audio"){if(a.playhead_remaining_ms===undefined)a.playhead_remaining_ms=Number(a.meta_dict.duration);c=$.jPlayer.convertTime(a.playhead_remaining_ms);c!==b.html()&&b.html(c)}else b.html(a.current_slide+1+"/"+a.slide_array.length)};k=function(){if(a.caption_displayed){$("#"+a.container_div+" .slide:eq("+a.current_slide+")").children(".caption").stop().slideDown(200);$("#"+a.container_div+" a#caption_button").html("hide captions")}else{$("#"+
a.container_div+" .slide:eq("+a.current_slide+")").children(".caption").stop().slideUp(200);$("#"+a.container_div+" a#caption_button").html("captions")}if(a.credit_displayed){$("#"+a.container_div+" .slide:eq("+a.current_slide+")").children(".credit").stop().slideDown(200);$("#"+a.container_div+" a#credit_button").html("hide credits")}else{$("#"+a.container_div+" .slide:eq("+a.current_slide+")").children(".credit").stop().slideUp(200);$("#"+a.container_div+" a#credit_button").html("credits")}};l=
function(b){f("---\> change_slide()");f("removing slide: "+a.current_slide);f("adding slide: "+b);v(b);a.previous_slide=a.current_slide;$("#"+a.container_div+" .slide:eq("+a.current_slide+")").fadeOut(300);a.current_slide=b;$("#"+a.container_div+" .slide:eq("+b+")").fadeIn(300,function(){$("#"+a.container_div+" .slide:eq("+a.previous_slide+")").hide();n()});p(b);k();o();if(a.state!=="play")a.playhead_elapsed_ms=a.slide_array[b].timing};v=function(b){if(a.on_image_change===null)return false;a.on_image_change(window.location+
"?"+(b+1),b+1,a.slide_array[b].filename,a.slide_array[b].caption,a.path,a.slideshow_type==="click"?"click":"passive")};p=function(b){var c,d,e,h,g;c=a.use_canvas_image_loading?$("#"+a.container_div+" .slide:eq("+b+") canvas"):$("#"+a.container_div+" .slide:eq("+b+") img");d=c.width();e=c.height();f(d+" x "+e);h=false;if(d>a.slide_width||e>a.slide_height)h=true;if((e!==a.slide_height||d!==a.slide_width)&&a.upscaling===true)h=true;if(h){h=a.slide_width;g=e/(d/a.slide_width);d=h;e=g;if(e>a.slide_height){g=
a.slide_height;d=h=d/(e/a.slide_height);e=g}c.css({width:h,height:g})}f("image_width: "+d);f("image_height: "+e);if(a.use_canvas_image_loading)c=$("#"+a.container_div+" .slide:eq("+b+") #img");c.css({top:(a.slide_height-e)/2,left:(a.slide_width-d)/2});f(c.css("left"))};f=function(b){a.debug&&console.log(b)};if(a.is_ios)a.use_canvas_image_loading=true;(function(){$.ajax({type:"GET",url:a.path_to_xml,dataType:"xml",success:u,error:function(b,c,d){f(b.responseText);f(b.status);f(d);b=b.responseText.replace(/[\x00-\x1F]/,
"");b=(new DOMParser).parseFromString(b,"text/xml");u(b)}})})();return{change_size:function(b,c){f("change_size: "+b+"x"+c);a.width=b;a.height=c;a.slide_height=a.height-a.controls_height;a.slide_width=a.width;s();$("#"+a.container_div+" .slide:eq("+a.current_slide+")").show();p(a.current_slide)}}};
