function exeWriteSFXAudioTags(){if(addedAudioTags==false){if(audioTagInterval==null){audioTagInterval=setInterval("exeWriteSFXAudioTags()",30)}if(document.body!=null){var e=0;clearInterval(audioTagInterval);audioTagInterval=null;addedAudioTags=true;var t=makeSoundDOMElements();var n=0;for(var r=0;r0){var i=findAllMediaInElement(r);for(var s=0;sn){n=r[i].duration}}return n}function playAndReset(e){if(e.paused==true&&e.currentTime==0){try{e.play()}catch(t){}}else{try{e.pause();e.addEventListener("seeked",function(){e.play()},true);e.currentTime=0}catch(n){}}}function playPositiveFeedbackDefault(){var e=Math.floor(Math.random()*3);var t=document.getElementById("exesfx_good"+e);playAndReset(t)}function playNegativeFeedbackDefault(){var e=document.getElementById("exesfx_wrong");playAndReset(e)}function playClickSound(){}function makeSoundDOMElements(){var e=new Array;for(var t=0;t<3;t++){e[t]=document.createElement("audio");e[t].setAttribute("src","exesfx_good"+t+".ogg");e[t].setAttribute("id","exesfx_good"+t);e[t].setAttribute("preload","auto")}e[3]=document.createElement("audio");e[3].setAttribute("src","exesfx_wrong.ogg");e[3].setAttribute("id","exesfx_wrong");e[3].setAttribute("preload","auto");return e}function appendSoundHTML(){var e=makeSoundHTML();document.body.innerHTML+=e}function doTouchScreenDetect(){if(touchScreenDetectDone==true){return}var e=navigator.userAgent;if(e.indexOf("Android")!=-1){exe_isTouchScreenDev=true}}function convertToDropType(){if(exe_isTouchScreenDev){$(".ClozeIdevice INPUT.clozeblank").each(function(){$(this).css("display","none");var e=$(this).attr("id");var t=e.substring(10);var n="setClozeBlankFromCurrentValue('"+t+"')";$(this).after("         ")});$(".ClozeInstructions LI").css("display","none")}}function getFeedback(e,t,n,r){var i,s;if(r=="truefalse"){var o="right";if(e==1)o="wrong";var u=document.getElementById("s"+n+"-result");var a=document.getElementById("s"+n);if(!u||!a)return false;var f=$exe_i18n.incorrect;if(u.className==o)f=$exe_i18n.correct;u.innerHTML=f;a.style.display="block"}else{for(i=0;i1){s=true;var a="";for(x=0;x>4;i=(u&15)<<4|a>>2;s=(a&3)<<6|f;n=n+String.fromCharCode(r);if(a!=64){n=n+String.fromCharCode(i)}if(f!=64){n=n+String.fromCharCode(s)}}while(lmaxMisses)break}if(misses<=maxMisses)return original_answer;string1=string1.substr(1)}}return""}}function getClozeIds(e){var t=e.id.slice(10);var n=t.indexOf(".");var r=t.slice(0,n);var i=t.slice(t.indexOf(".")+1);return[r,i]}function showClozeScore(e,t){var n=0;var r=document.getElementById("cloze"+e);var i=getCloseInputs(e);for(var s=0;s"+$exe_i18n.correct+"";o="right"}var f='

'+s+"

";var l=$("#feedback-"+u);if(e.value==$exe_i18n.showFeedback)l.html(f).show();else l.hide()}if(e.value==$exe_i18n.showFeedback){$("#f"+n).show();e.value=$exe_i18n.hideFeedback}else{$("#f"+n).hide();e.value=$exe_i18n.showFeedback}}function detectQuickTime(){pluginFound=detectPlugin("QuickTime");return pluginFound}function detectReal(){pluginFound=detectPlugin("RealPlayer");return pluginFound}function detectFlash(){pluginFound=detectPlugin("Shockwave","Flash");return pluginFound}function detectDirector(){pluginFound=detectPlugin("Shockwave","Director");return pluginFound}function detectWindowsMedia(){pluginFound=detectPlugin("Windows Media");return pluginFound}function detectPlugin(){var e=detectPlugin.arguments;var t=false;if(navigator.plugins&&navigator.plugins.length>0){var n=navigator.plugins.length;for(var r=0;r=0||navigator.plugins[r].description.indexOf(e[s])>=0){i++}}if(i==e.length){t=true;break}}}return t}function onClozelangChange(ele){var ident=getClozelangIds(ele)[0];var instant=eval(document.getElementById("clozelangFlag"+ident+".instantMarking").value);if(instant){checkAndMarkClozelangWord(ele);var scorePara=document.getElementById("clozelangScore"+ident);scorePara.innerHTML=""}}function clozelangSubmit(e){showClozelangScore(e,1);toggleElementVisible("submit"+e);toggleClozelangFeedback(e)}function clozelangRestart(e){toggleClozelangFeedback(e);toggleClozelangAnswers(e,true);toggleElementVisible("restart"+e);toggleElementVisible("showAnswersButton"+e);toggleElementVisible("submit"+e)}function toggleClozelangAnswers(e,t){var n=true;var r=getCloseInputsCloze(e);if(!t){for(var i=0;imaxMisses)break}if(misses<=maxMisses)return answer;string1=string1.substr(1)}}return""}}function getClozelangIds(e){var t=e.id.slice(14);var n=t.indexOf(".");var r=t.slice(0,n);var i=t.slice(t.indexOf(".")+1);return[r,i]}function showClozelangScore(ident,mark){var showScore=eval(document.getElementById("clozelangFlag"+ident+".showScore").value);if(showScore){var score=0;var div=document.getElementById("clozelang"+ident);var inputs=getCloseInputsCloze(ident);for(var i=0;i0?" ":"")+"sffocus";this.parentNode.className+=(this.parentNode.className.length>0?" ":"")+"sfhover";if(this.parentNode.parentNode.parentNode.nodeName=="LI"){this.parentNode.parentNode.parentNode.className+=(this.parentNode.parentNode.parentNode.className.length>0?" ":"")+"sfhover";if(this.parentNode.parentNode.parentNode.parentNode.parentNode.nodeName=="LI"){this.parentNode.parentNode.parentNode.parentNode.parentNode.className+=(this.parentNode.parentNode.parentNode.parentNode.parentNode.className.length>0?" ":"")+"sfhover"}}};r[n].onblur=function(){this.className=this.className.replace(new RegExp("( ?|^)sffocus\\b"),"");this.parentNode.className=this.parentNode.className.replace(new RegExp("( ?|^)sfhover\\b"),"");if(this.parentNode.parentNode.parentNode.nodeName=="LI"){this.parentNode.parentNode.parentNode.className=this.parentNode.parentNode.parentNode.className.replace(new RegExp("( ?|^)sfhover\\b"),"");if(this.parentNode.parentNode.parentNode.parentNode.parentNode.nodeName=="LI"){this.parentNode.parentNode.parentNode.parentNode.parentNode.className=this.parentNode.parentNode.parentNode.parentNode.parentNode.className.replace(new RegExp("( ?|^)sfhover\\b"),"")}}}}}};if(document.addEventListener){window.addEventListener("load",sfHover,false)}else{window.attachEvent("onload",sfHover)}var ie_media_replace=function(){var e=document.getElementsByTagName("OBJECT");var t=e.length;while(t--){if(e[t].type=="video/quicktime"||e[t].type=="audio/x-pn-realaudio-plugin"){if(typeof e.classid=="undefined"){e[t].style.display="none";var n="02BF25D5-8C17-4B23-BC80-D3488ABDDC6B";if(e[t].type=="audio/x-pn-realaudio-plugin")n="CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA";var r=e[t].height;var i=e[t].width;var s=e[t].data;var o=document.createElement("DIV");o.innerHTML='';e[t].parentNode.insertBefore(o,e[t])}}}};if(navigator.appName=="Microsoft Internet Explorer"){if(document.addEventListener){window.addEventListener("load",ie_media_replace,false)}else{window.attachEvent("onload",ie_media_replace)}}var $exe={init:function(){var e=document.body.className;$exe.addRoles();if(e!="exe-single-page js"){var t=$exe.isIE();if(t){if(t>7)$exe.iDeviceToggler.init()}else $exe.iDeviceToggler.init()}if(e.indexOf("exe-epub3")!=0){var n=document.body.innerHTML;if(n.indexOf(' class="mediaelement"')!=-1||n.indexOf(" class='mediaelement")!=-1){$exe.loadMediaPlayer.getPlayer()}}$exe.hint.init();$exe.setIframesProtocol()},addRoles:function(){$("#header").attr("role","banner");$("#siteNav").attr("role","navigation");$("#main").attr("role","main");$("#siteFooter").attr("role","contentinfo");$(".js-feedback").attr("role","status")},isIE:function(){var e=navigator.userAgent.toLowerCase();return e.indexOf("msie")!=-1?parseInt(e.split("msie")[1]):false},imageGallery:{init:function(e){$("A","#"+e).attr("rel","lightbox["+e+"]")}},hint:{init:function(){$(".iDevice_hint").each(function(e){var t=e+1;var n="hint-"+t;var r=$(".iDevice_hint_content",this);var i=$(".iDevice_hint_title",this);if(r.length==1&&i.length==1){r.eq(0).attr("id",n);var s=i.eq(0);var o=s.html();s.html(''+o+"")}})},toggle:function(e){var t=e.id.replace("toggle-","");if(e.title==$exe_i18n.show){$("#"+t).fadeIn("slow");e.title=$exe_i18n.hide;e.className="hint-toggler hide-hint";e.style.backgroundImage="url("+$exe.hint.imgs[1]+")"}else{$("#"+t).fadeOut();e.title=$exe_i18n.show;e.className="hint-toggler show-hint";e.style.backgroundImage="url("+$exe.hint.imgs[0]+")"}}},iDeviceToggler:{init:function(){if($(".iDevice").length<2)return false;var t=$(".iDevice_header,.iDevice.emphasis0");t.each(function(){var t=$exe_i18n.hide;e=$(this),c=e.hasClass("iDevice_header")?"em1":"em0",eP=e.parents(".iDevice_wrapper");if(eP.length){var n='

'+t+"

";if(c=="em1"){var r=e.html();e.html(r+n)}else e.before(n)}});$("INPUT.autocomplete-off").attr("autocomplete","off")},toggle:function(e,t,n){var r=$exe_i18n.hide;var i=$("#"+t);var s=".iDevice_content";if(n=="em1")s=".iDevice_inner";var o=$(s,i);var u=i.attr("class");if(typeof u=="undefined")return false;if(u.indexOf(" hidden-idevice")==-1){r=$exe_i18n.show;u+=" hidden-idevice";o.slideUp("fast");e.className="show-idevice";e.title=r;e.innerHTML=""+r+""}else{u=u.replace(" hidden-idevice","");o.slideDown("fast");e.className="hide-idevice";e.title=r;e.innerHTML=""+r+""}i.attr("class",u)}},alignMediaElement:function(e){var t=$(e);var n=t.parents().eq(2);var r=n.attr("class");if(typeof r=="string"&&r.indexOf("mejs-container")==0){var i=e.style.marginLeft;var s=e.style.marginRight;if(i=="auto"&&i==s)$(n).wrap('
')}},loadMediaPlayer:{getPlayer:function(){$exe.mediaelements=$(".mediaelement");$exe.mediaelements.each(function(){if(typeof this.localName!="undefined"&&this.localName=="video"){var e=this.width;var t=$(window).width();if(e>t){var n=t-20;var r=parseInt(this.height*n/e);this.width=n;this.height=r}}}).hide();var e="exe_media.js";if(typeof eXe!="undefined"){e="../scripts/mediaelement/"+e}$exe.loadScript(e,"$exe.loadMediaPlayer.getCSS()")},getCSS:function(){var e="exe_media.css";if(typeof eXe!="undefined"){e="../scripts/mediaelement/"+e}$exe.loadScript(e,"$exe.loadMediaPlayer.init()")},init:function(){if(typeof eXe!="undefined"){mejs.MediaElementDefaults.flashName="../scripts/mediaelement/"+mejs.MediaElementDefaults.flashName;mejs.MediaElementDefaults.silverlightName="../scripts/mediaelement/"+mejs.MediaElementDefaults.silverlightName}$exe.mediaelements.mediaelementplayer().show().each(function(){$exe.alignMediaElement(this)})}},setIframesProtocol:function(){var e=window.location.protocol;var t=false;if(e!="http"&&e!="https")t=true;$("IFRAME").each(function(){var e=$(this).attr("src");if(t&&e.indexOf("//")==0)$(this).attr("src","http:"+e)})},loadScript:function(url,callback){var s;if(url.split(".").pop()=="css"){s=document.createElement("link");s.type="text/css";s.rel="stylesheet";s.href=url}else{s=document.createElement("script");s.type="text/javascript";s.src=url}if(s.readyState){s.onreadystatechange=function(){if(s.readyState=="loaded"||s.readyState=="complete"){s.onreadystatechange=null;if(callback)eval(callback)}}}else{s.onload=function(){if(callback)eval(callback)}}document.getElementsByTagName("head")[0].appendChild(s)},toggleFeedback:function(e,c){var t=e.name.replace("toggle-","");var n=document.getElementById(t);if(n){if(n.className=="feedback js-feedback js-hidden"){n.className="feedback js-feedback";if(c)e.value=$exe_i18n.hideFeedback}else{n.className="feedback js-feedback js-hidden";if(c)e.value=$exe_i18n.showFeedback}}}};if(typeof jQuery!="undefined"){$(function(){$exe.init()})}