rspkr.HL=function(){var c="",a={firstRun:0,previousWord:{},previousSent:{},lastWord:null,selectionRange:null,selectionHTML:null,selectedWordsRange:[]},d={oldWordHL:[],oldWordHLClass:[],oldSentHL:[],oldSentHLClass:[],sync:function(b,l){var a=!1,c=document.getElementById("sync"+l);0==(b&2)&&(a=0!=(b&1)?!0:!1);if(c&&c.className.replace("word","")!=c.className){if(!a&&0rspkr.Common.data.browser.version||9>document.documentMode)?"explorer":"gecko";rspkr.log("[rspkr.hl] Using engine "+c);var l=rspkr.HL.engine[c].clientExtension,d;for(d in l)a[d]=l[d];window.addEventListener&&window.addEventListener("message",rspkr.HL.html5.receiveMessage,!1,!0)});b("onModsLoaded",{func:e.setHL,context:e});b("onSettingsChanged",{func:e.updateHL,context:e});rspkr.log("[rspkr.HL] Initialized!")},addEvents:function(){rspkr.log("[rspkr.HL.addEvents]");evt("onUIClosePlayer", rspkr.HL.cleanUpHandler);evt("onUIClosePlayer",function(){rspkr.hl.State.setState(rspkr.hl.State.READY)});evt("onUIStop",function(){rspkr.hl.State.setState(rspkr.hl.State.STOPPED)});evt("onUIBeforePlay",function(){rspkr.hl.Restore.checkContent()});rspkr.PlayerAPI&&(rspkr.PlayerAPI.adapter&&"html5"===rspkr.PlayerAPI.adapter)&&(rspkr.evt("onAPIInitAdapter",rspkr.HL.html5.handlers.init),rspkr.evt("onAPIPlay",rspkr.HL.html5.handlers.play),rspkr.evt("onAPIPause",rspkr.HL.html5.handlers.pause),rspkr.evt("onAPIStop", rspkr.HL.html5.handlers.stop),rspkr.evt("onAPIRewind",rspkr.HL.html5.handlers.updateTime),rspkr.evt("onAPISetProgress",rspkr.HL.html5.handlers.updateTime),rspkr.evt("onAPIReleaseAdapter",rspkr.HL.html5.handlers.release));rspkr.evt("onAPIStop",rspkr.HL.sync.lightCleanUp)},cleanUpHandler:function(b){rspkr.log("[rspkr.HL.cleanUpHandler] String is: "+b);"userclick"===b||"nosel"===b?rspkr.HL.sync.fullCleanUp():rspkr.HL.sync.lightCleanUp()},clientMarkup:a,serverMarkup:d,markedUpHTML:[],html5:{States:{BEGIN:0, STOPPED:1,USER_START_NOT_READY:2,USER_START_PLAYING:3,NOT_PLAYING:4,CURRENT:0,setState:function(b){this.CURRENT=b;rspkr.log("[rspkr.hl.html5.States.setState] Changing state from "+this.CURRENT+" to "+b,1)}},Events:{canPlay:!1,durationChange:!1,syncReady:!1,eventTimer:null,onCanPlay:function(){rspkr.log("onCanPlay fired!",1);this.canPlay=!0;this.checkCompletion();this.eventTimer=setTimeout(function(){rspkr.log("[rspkr.hl.html5.Events] Timer triggered. Starting playback.",1);rspkr.hl.html5.Events.resetAll(); rspkr.hl.html5.refresh()},2500);return!1},checkCompletion:function(){this.canPlay&&(this.durationChange&&this.syncReady)&&(clearTimeout(this.eventTimer),this.eventTimer=null,rspkr.hl.html5.Events.resetAll(),rspkr.hl.html5.refresh())},onDurationChange:function(){rspkr.log("onDurationChange fired!",1);this.durationChange=!0;this.checkCompletion();this.eventTimer=setTimeout(function(){rspkr.log("[rspkr.hl.html5.Events] Timer triggered. Starting playback.",1);rspkr.hl.html5.Events.resetAll();rspkr.hl.html5.refresh()}, 2500)},onSyncReady:function(){rspkr.log("onSyncReady fired!",1);this.syncReady=!0;this.checkCompletion();this.eventTimer=setTimeout(function(){rspkr.log("[rspkr.hl.html5.Events] Timer triggered. Starting playback.",1);rspkr.hl.html5.Events.resetAll();rspkr.hl.html5.refresh()},2500)},resetAll:function(){this.syncReady=this.durationChange=this.canPlay=!1}},lastcurrenttime:-1,currentsyncindex:0,lastevent:null,lastlastevent:null,lastlastlastevent:null,synclist:[],synclistindex:0,audioUrl:null,backupUrl:null, frameUrl:null,timer:null,postMessageData:[],runningRefresh:!1,handlers:{init:function(){rspkr.log("[rspkr.HL.html5.handlers.init]");rspkr.HL.html5.cronologyCheck={proxyCallsDone:!1,errorOccured:!1,quarantine:[]};rspkr.HL.html5.rshlendCall=!1;var b=Math.random(),a={};a.audioformat=rspkr.Common.data.browser.html5AudioFormat;a.requestgrouptype="html5iframe";a.requestgroup=b;rspkr.HL.html5.backupUrl=rspkr.Common.data.getAudioLink(a);(!0===rspkr.cfg.item("general.usePost")||0=1*rspkr.HL.html5.synclist[rspkr.HL.html5.currentsyncindex][0]-1E3*rspkr.PlayerAPI.playerRef.currentTime;)rspkr.HL.html5.currentsyncindex++},totalTime:function(){var b=rspkr.PlayerAPI.playerRef;if(b)if("Opera"!==rspkr.Common.data.browser.name&& b.buffered&&b.buffered.end)try{return 0parseInt(b.currentTime)?(rspkr.log("[rspkr.hl.html5.refresh] An error has occurred. Player is stopped.",2),rspkr.ui.getActivePlayer().stop(),a.runningRefresh=!1):(a.lastcurrenttime=b.currentTime,a.runningRefresh=!0,a.States.CURRENT== a.States.BEGIN?(rspkr.hl.html5.States.setState(a.States.USER_START_NOT_READY),setTimeout(function(){a.refresh()},200)):a.States.CURRENT==a.States.USER_START_NOT_READY?0=1*a.synclist[a.currentsyncindex][0]-1E3*b.currentTime?setTimeout(function(){a.refresh()},0):(b=1*a.synclist[a.currentsyncindex][0]-1E3*b.currentTime-20,75b?setTimeout(function(){a.refresh()},0):setTimeout(function(){a.refresh()},b)):setTimeout(function(){a.refresh()},75):a.States.CURRENT==a.States.USER_START_PLAYING&&(a.synclist[a.currentsyncindex]&&1*a.synclist[a.currentsyncindex][0]-20<1E3*b.currentTime&&(rspkr.HL.sync.execute(a.synclist[a.currentsyncindex][1], a.synclist[a.currentsyncindex][2]),a.currentsyncindex++),a.synclist[a.currentsyncindex]?20>=1*a.synclist[a.currentsyncindex][0]-1E3*b.currentTime?setTimeout(function(){a.refresh()},0):(b=1*a.synclist[a.currentsyncindex][0]-1E3*b.currentTime-20,75b?setTimeout(function(){a.refresh()},0):setTimeout(function(){a.refresh()},b)):setTimeout(function(){a.refresh()},75))))}},Preserve:{cls:"rs_preserve",testElem:null,elementShelter:[],formShelter:[],formData:function(b, a,c,d,e){this.name=b;this.type=a;this.value=c;this.checked=d;this.selectedIndex=e;this.selectedOptions=[]},moveToShelter:function(b){function a(b){for(var c=0;cb.readClass.length)for(d=0;d=rs.c.data.browser.version)for(var a=document.body.getElementsByTagName("style"),c=0,d;d=a[c];c++){d.parentNode.removeChild(d);document.getElementsByTagName("head")[0].appendChild(d);var e=d.innerHTML;if(-1!=e.indexOf("@import")){for(var e=e.split("\n"),f,h=0,g;g=e[h];h++)if("@import"===g.substring(0,7)){h=g.replace(/;/g,"").replace("@import ","").replace("url(","").replace(")", "").replace(/\"/g,"").replace(/\'/g,"").split(" ");for(e=0;em)a.move("character",1);else if(4>m)a.move("character", 2);else if(6>m)a.move("word",1);else if(8>m)a.move("word",2);else if(10>m)a.move("sentence",1);else if(12>m)a.move("sentence",2);else break;a.collapse(!1)}else{m=0;if(-1===f)return a;rspkr.HL.clientMarkup.selectedWordsRange[f]=a.duplicate();p=a.text;n=a.htmlText;a.collapse(!1);var v;1===k?(j=a.duplicate(),v=this.iterateParentTree(j.parentElement(),document.body,s,0)):v=this.iterateParentTree(a.parentElement(),j.parentElement(),s,0);for(var u=this.iterateParentTree(j.parentElement(),a.parentElement(), s,0),q=a.parentElement(),r=0;rr;r++)q.className.match("sync_")||(h=q.outerHTML.match("<[^>]*>")[0]+h),q=q.parentElement;q=j.parentElement();for(r=0;rr;r++)q.className.match("sync_")||(g+=""),q=q.parentElement;if(0!=v||0!=u)j=a.duplicate();1===k?(b+=h,k=0):b+=g+h;""!=n.replace("sync_sent_highlighted","")&&(b+="<"+rspkr.Common.data.browser.syncContainer+' class="sync_user" id="sync'+f+'">'+p+"");p=a.duplicate()}}b+="<\!-- f --\>"; u=this.iterateParentTree(j.parentElement(),document.body,s,0);q=j.parentElement();for(r=0;r"),q=q.parentElement;a.collapse();return b},buildMarkupNew:function(c){for(var a=rspkr.c.data.getParam("lang"),d=!1,e=rspkr.cfg.item("general.sentOnlyLang"),b=0;bk)a.move("character",1);else if(4>k)a.move("character",2);else if(6>k)a.move("word",1);else if(8>k)a.move("word",2);else if(10>k)a.move("sentence",1);else if(12>k)a.move("sentence",2);else break;a.collapse(!1)}else{k=0;if(-1===m)return a;rspkr.HL.clientMarkup.selectedWordsRange[m]=a.duplicate();rspkr.HL.clientMarkup.wordsRangeClasses[m]="word";p=a.text;u=a.htmlText;a.collapse(!1);var q;1===l?(j=a.duplicate(),q=this.iterateParentTree(j.parentElement(), document.body,s,0)):q=this.iterateParentTree(a.parentElement(),j.parentElement(),s,0);for(var r=this.iterateParentTree(j.parentElement(),a.parentElement(),s,0),t=a.parentElement(),w=0;ww;w++)t.className.match("sync_")||(f=t.outerHTML.match("<[^>]*>")[0]+f),t=t.parentElement;t=j.parentElement();for(w=0;ww;w++)t.className.match("sync_")||(h+=""),t=t.parentElement;if(0!=q||0!=r)j=a.duplicate();1===l?(g+=f,l=0):g+=h+f;""!=u.replace("sync_sent_highlighted","")&&(g+="<"+rspkr.Common.data.browser.syncContainer+ ' class="sync_user sync_word" id="sync'+m+'">'+p+"");p=a.duplicate()}}m++;rspkr.HL.clientMarkup.selectedWordsRange[m]=n[v];rspkr.HL.clientMarkup.wordsRangeClasses[m]="sent";e+="<"+rspkr.Common.data.browser.syncContainer+' class="sync_user sync_sent" id="sync'+m+'">';e+=g;e+="\n"}r=this.iterateParentTree(j.parentElement(),document.body,s,0);t=j.parentElement();for(w=0;w"),t=t.parentElement;a.collapse();return e},iterateParentTree:function(c,a,d,e){for(var b=a;null!==b;){if(c==d||c==b)return e;b=b.parentElement}e++;return this.iterateParentTree(c.parentElement,a,d,e)}},postProcess:{lightCleanUp:function(){rspkr.log("[clientMarkup.postProcess.lightCleanUp] called!");for(var c=document.getElementsByTagName(rspkr.Common.data.browser.syncContainer),a=c.length-1;-1]*>"),null!==tempdivtag&&0")):a+=b):a+=b;if(c.hasChildNodes())for(e=0;e'+d+"")}a&&(null!==c.parentNode&&""!==k)&&(a=this.createreplacementnode(b+d+l,getComputedStyle(c.parentNode,null)),c.parentNode.insertBefore(a,c),c.parentNode.removeChild(c));return d},markupSentencesNew:function(c){c=this.splitString(c,[", ",". ","! ","? ",decodeURIComponent("%e3%80%81"), decodeURIComponent("%e3%80%82"),decodeURIComponent("%DB%94"),decodeURIComponent("%D8%8C")]);if(!c)return"";for(var a="",d="",e=!1,b=0;b',this.endsWithSpace(c[b])?(e=!0,d=c[b].slice(0,-1)):d=c[b],a+=this.markupWords(d),a+="",!0===e&&(a+=" "),e=!1;return a},markupSentences:function(c){c=this.splitString(c, [", ",". ","! ","? ",decodeURIComponent("%e3%80%81"),decodeURIComponent("%e3%80%82"),decodeURIComponent("%DB%94"),decodeURIComponent("%D8%8C")]);if(!c)return"";for(var a="",d="",e=!1,b=0;b',this.endsWithSpace(c[b])?(e=!0,d=c[b].slice(0,-1)):d=c[b],a+=this.markupWords(d),!0===e&&(a+=" "),a+="",e=!1;return a},markupWords:function(c){c=this.splitString(c," ");if(!c)return"";for(var a="",d="",e=!1,b=0;b',this.endsWithSpace(c[b])?(e=!0,d=c[b].slice(0,-1)):d=c[b],a+=d,a+="",!0===e&&(a+=" "),e=!1;return a},trim:function(c){return c.replace(/^\s+|\s+$/g,"")},htmlencode:function(c){var a= document.createElement("div"),c=document.createTextNode(c);a.appendChild(c);return a.innerHTML},identifyElementsReplacementNode:function(c){c.tagName&&(c.tagName.toLowerCase()==rspkr.Common.data.browser.syncContainer&&c.id)&&(rspkr.HL.clientMarkup.selectedWordsRange[c.id]=c);if(c.hasChildNodes())for(var a=0;ac.length-(b+f)||k[k.length-f-1]!=c[b-f-1]){m=!1;break}m&&(e++,d[e]="")}d[e]+=c[b]}return d},endsWithSpace:function(c){return-1!==c.indexOf(" ",c.length-1)}},postProcess:{cleanUpSpans:function(){rspkr.log("[ClientMarkup.postProcess.cleanUpSpans] called!");var c=document.getElementsByTagName(rspkr.Common.data.browser.syncContainer),a;for(i=c.length-1;-1