var PS_UNDEFINED=0;var PS_STOPPED=1;var PS_PAUSED=2;var PS_PLAYING=3;var PS_SCANFORWARD=4;var PS_SCANREVERSE=5;var PS_BUFFERING=6;var PS_WAITING=7;var PS_MEDIAENDED=8;var PS_TRANSITIONING=9;var PS_READY=10;var PS_RECONNECTING=11;var PS_UNKNOWN=12;var debugstr;var dodgyreferences={};var cacheTimes={};function absoluteX(B){var A=0;var C=B;while(C&&C!=document.documentElement){A-=C.scrollLeft||0;C=C.parentNode}var C=B;while(C){A+=C.offsetLeft||0;C=C.offsetParent}return A}function absoluteY(B){var A=0;var C=B;while(C&&C!=document.documentElement){A-=C.scrollTop||0;C=C.parentNode}var C=B;while(C){A+=C.offsetTop||0;C=C.offsetParent}return A}function doPending(A){for(i in A.pendingProps){if(i=="url"){A.URL=A.pendingProps[i]}A[i]=A.pendingProps[i];delete (A.pendingProps[i])}}function translateWMP6PlayState(A){switch(A.PlayState){case 0:return PS_STOPPED;break;case 1:return PS_PAUSED;break;case 2:return PS_PLAYING;break;case 3:return PS_WAITING;break;case 4:return PS_SCANFORWARD;break;case 5:return PS_SCANREVERSE;break;default:return PS_UNDEFINED}}function forcePlugin(){var A=window.open();A.document.write('<html><head><link rel="stylesheet" href="all.css"><link rel="stylesheet" href="main.css"><title>Plugin Install</title></head><body><object type="application/x-ms-wmp" data="missing.wmv"></object><p class="vl_pluginmsg">Click the "Install Missing Plugins" button above. If you cannot see a yellow bar above this text, <a href="http://port25.technet.com/pages/windows-media-player-firefox-plugin-download.aspx">click here</a> to manually install the plugin.</p><p class="vl_pluginmsg"> Close this window once the plugin is installed.</p></body></html>');A.document.close()}function makePlayerWrapper(B){var A=false;if(B.tagName.toLowerCase()=="div"){if(document.all){debug("plugin for IE");B.innerHTML='<object id="vl_genMediaPlayer" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"><param name="AutoStart" value="true"/><param name="ShowPositionControls" value="false"/></object>';A=true}else{if(navigator.appVersion.indexOf("Safari")!=-1){debug("plugin for safari");B.innerHTML='<embed id="vl_genMediaPlayer" type="application/x-mplayer2" showcontrols="true" showpositioncontrols="false" src=""></embed>';A=true}else{debug("plugin for FX");if(navigator.mimeTypes["application/x-ms-wmp"]){B.innerHTML='<object id="vl_genMediaPlayer" type="application/x-ms-wmp" data=""><param name="AutoStart" value="true"/><param name="ShowPositionControls" value="false"/></object>';A=true}else{B.innerHTML='<div id="vl_missingplugin"><p>You require a plugin to view the media on this page.</p><p> <a href="javascript:forcePlugin()">Click here</a> to download the plugin. When you have finished, press F5 to refresh this page.</p>';return }}}var E=B;B=D("vl_genMediaPlayer");if(B){B.style.width="100%";B.style.height="100%";B.pendingProps={}}}var C=new Object();if(A||B.versionInfo){C.getCurrentPosition=function(){if(!B.controls){return 0}else{doPending(B);return B.controls.currentPosition}};C.setCurrentPosition=function(F){if(!B.controls){}else{doPending(B);B.controls.currentPosition=F}};C.setUrl=function(F){if(!B.controls){B.pendingProps.url=F}else{doPending(B);B.URL=F}};C.getUrl=function(){if(!B.controls){return 0}else{doPending(B);return B.URL}};C.getDuration=function(){if(!B.controls){return 0}else{doPending(B);return B.currentMedia?B.currentMedia.duration:-1}};C.play=function(){if(B.controls){B.controls.play()}};C.stop=function(){if(B.controls){B.controls.stop()}};C.getPlayState=function(){if(!B.controls){return PS_UNDEFINED}else{doPending(B);return B.playState}}}else{C.getCurrentPosition=function(){return B.currentPosition};C.setCurrentPosition=function(F){B.currentPosition=F};C.setUrl=function(F){B.filename=F};C.getUrl=function(){return B.filename};C.getDuration=function(){return B.duration};C.play=function(){B.play()};C.stop=function(){B.stop()};C.getPlayState=function(){return translateWMP6PlayState(B)}}return C}function formatTime(E){var A=Math.floor(E/3600)+"";if(A.length==1){A="0"+A}var C=Math.floor(E%3600/60)+"";if(C.length==1){C="0"+C}var B=(E%60)+"";if(B.length==1){B="0"+B}return A+":"+C+":"+B}function configureForBrowser(){window.isIE7=false;if(document.all){window.isIE=true;window.isSafari=false;window.isFirefox=false;debug("this is IE");getEltContent=ie_getEltContent;selectMultiElements=ie_selectMultiElements;selectElement=ie_selectElement;if(navigator.appVersion.indexOf("7.0")!=-1){window.isIE7=true}}else{if(navigator.appVersion.indexOf("Safari")!=-1){window.isSafari=true;window.isIE=false;window.isFirefox=false;debug("this is safari");getEltContent=safari_getEltContent;selectMultiElements=ns_selectMultiElements;selectElement=ns_selectElement}else{window.isIE=false;window.isSafari=false;window.isFirefox=true;debug("this is firefox");getEltContent=ns_getEltContent;selectMultiElements=ns_selectMultiElements;selectElement=ns_selectElement}}}function ns_getEltContent(C,B){var A=C.getElementsByTagName(B);return A.length>0?A[0].textContent:""}function safari_getEltContent(C,B){var A=C.getElementsByTagName(B);return A[0]&&A[0].firstChild?A[0].firstChild.nodeValue:""}function ie_getEltContent(C,B){var A=C.selectSingleNode(B);return A&&A.firstChild?A.firstChild.nodeValue:""}function ns_selectMultiElements(B,A){return B.getElementsByTagName(A)}function ie_selectMultiElements(B,A){if(!B){return new Array()}return B.selectNodes(A)}function ns_selectElement(B,A){return B.getElementsByTagName(A)[0]}function ie_selectElement(B,A){if(!B){return null}return B.selectSingleNode(A)}function D(A){return document.getElementById(A)}function handleAjaxXml(C){var B=C.responseXML.getElementsByTagName("serialized")[0];debug(getContent(C.responseXML.getElementsByTagName("message")[0]));var A=new Object();unserialize(B,A);return A}function loadXMLDoc(E,G,F,B){var A=Math.random();var C=function(){doReadyStateChange(A,G,B)};(function(){if(window.XMLHttpRequest){var H=new XMLHttpRequest()}else{if(window.ActiveXObject){var H=new ActiveXObject("Microsoft.XMLHTTP")}}if(H){dodgyreferences[A]={};dodgyreferences[A].URL=E;dodgyreferences[A].xhr=H;H.onreadystatechange=C;H.open("GET",E,F);if(cacheTimes[E]){H.setRequestHeader("If-Modified-Since",cacheTimes[E].toGMTString())}else{}try{H.send(null)}catch(I){if(B){B(H)}}}})()}function doReadyStateChange(A,C,B){var E=dodgyreferences[A].xhr;if(!E||!E.readyState){return }if(self.showStatus){if(E.readState==4||!isIE){showStatus(E.responseText.length+" bytes loaded")}}if(E.readyState==4){try{if(E.status&&(E.status==200||E.status==304)){if(C){if(E.status==200){var F=new Date(E.getResponseHeader("Last-Modified"));if(F+""!="NaN"){cacheTimes[dodgyreferences[A].URL]=F}else{if(!cacheTimes[dodgyreferences[A].URL]){cacheTimes[dodgyreferences[A].URL]=new Date(0)}}}C(E,dodgyreferences[A].URL)}}else{if(B){B(E,dodgyreferences[A].URL)}else{}}}finally{E=null;delete (dodgyreferences[A])}}}function getContent(A){if(!A||!A.firstChild){return""}else{if(A.childNodes.length>1){return A.childNodes[1].nodeValue}else{return A.firstChild.nodeValue}}}function getElementsByClass(C,G){var B=new Array();var A=new Array();A[0]=0;var E=0;while(A.length>0){if(C.getAttribute("class")==G){B[B.length]=C}var F;F=false;while(E<C.childNodes.length){if(C.childNodes[E].nodeType==1){A[A.length]=E;C=C.childNodes[E];E=0;F=true;break}E++}if(!F){C=C.parentNode;E=A[A.length-1]+1;A.length--}}return B}function debug(E){var A="";if(typeof (E)=="object"){A+=E+"\n";try{for(var B in E){A+="  "+B+" => "+E[B]+"\n"}}catch(C){}}else{A+=E+"\n"}if(window.console){console.debug(A)}return A}function unserialize(C,A){for(var E=0;E<C.childNodes.length;E++){var F=C.childNodes[E];if(F.nodeType!=1){continue}var B=F.getAttribute("name");if(String(B).match("^[^a-zA-Z]")){B="_"+B}if(F.tagName=="object"){A[B]=new Object();unserialize(F,A[B])}else{A[B]=getContent(F)}}};var isIE=false;var isSafari=false;if(!window.folders){var folders=new Array()}if(!window.allVids){var allVids=new Array()}var subtitles=new Array();var subtitleStyles=new Array();var defaultStyle=new Object;var serverTime=new Date();var liveUrlsToQuery={};var liveVids={};var liveSlidePrefix;var folderContentChanged=false;var videoContentChanged=false;var frontPageContentChanged=false;var selectedFolderIdx=-1;var selectedVideoIdx=-1;var selectedFolderName="";var selectedVideoPid=0;var currentMode;var currentSlideIdx=-1;var needToJump;var videoJumpTarget;var modeTypes=["frontpage","videos","details","searchResults"];var modes={};var templates={folderTemplate:{options:{}},videoTemplate:{options:{}},detailsTemplate:{options:{}},linkTemplate:{options:{}},downloadTemplate:{options:{}},searchResultTemplate:{options:{}},recentTemplate:{options:{}},featLiveVideoTemplate:{options:{}},featAnnouncementTemplate:{options:{}},liveVideoTemplate:{options:{}},announcementTemplate:{options:{}},announceDetailsTemplate:{options:{}},liveDetailsTemplate:{options:{}}};var vidSortProp="date";var vidSortAsc=false;var player;var sz;var subtitlesDiv;var statusDiv;var _matched;var _matchDescription;var searchText;var hist;var lastChaptersMouseEventTime=new Date(0);var prevPos=0;var startPos=0;var accumTime=0;var duration=0;var everReportedUsage=false;var deploymentDefaults={tocUrl:"/toc3.xml",getDownloadsLink:function(A){return A},getLiveSlideLink:function(A){return"/_1.2/liveslides/"},getMMSLink:function(A){return A},getSlideLink:function(A){return A},redirPort:2500};var configDefaults={nothumbImg:{img:new Image(100,75),src:"images/nothumbnail.jpg?x=100&y=75"},plusimg:{img:new Image(16,16),src:"images/plus.gif"},minusimg:{img:new Image(16,16),src:"images/minus.gif"},doBreadcrumbs:doBreadcrumbs,linkPathName:window.location.pathname,setUIMode:function(A){},allSlidesAreChapters:false,subtitlesHook:null};function init(A){configureForBrowser();if(!window.config){window.config={}}if(!window.deployment){window.deployment={}}for(i in configDefaults){if(config[i]==undefined){config[i]=configDefaults[i]}}for(i in deploymentDefaults){if(deployment[i]==undefined){deployment[i]=deploymentDefaults[i]}}for(i in {nothumbImg:0,plusimg:0,minusimg:0}){config[i].img.src=config[i].src;config[i]=config[i].img}if(!window.deployment.staticMode){hist=document.createElement("iframe");hist.style.display="none";hist.src="history.html?";hist.id="vl_history";document.getElementsByTagName("body")[0].appendChild(hist)}sz=new SlideZoom(D("vl_slides"));for(i in modeTypes){modes[modeTypes[i]]=D("vl_"+modeTypes[i])}player=makePlayerWrapper(D("vl_mediaplayer"));templates.liveVideoTemplate.html=templates.liveVideoTemplate.html||templates.videoTemplate.html;templates.featLiveVideoTemplate.html=templates.featLiveVideoTemplate.html||templates.recentTemplate.html;templates.announcementTemplate.html=templates.announcementTemplate.html||templates.videoTemplate.html;templates.featAnnouncementTemplate.html=templates.featAnnouncementTemplate.html||templates.recentTemplate.html;for(i in templates){t=templates[i];t.container=D(i+"Container");t.html=t.html||"";t.prefix=t.prefix||"";t.suffix=t.suffix||"";t.tokens=makeTokens(t.html);t.setData=function(E,F){var B=this.prefix+F+this.suffix;if(this.hook){B=this.hook(E,B)}if(this.container){this.container.innerHTML=B;var G=this.container.getElementsByTagName("img");for(var C=0;C<G.length;C++){if(!G[C].onerror&&G[C].src.indexOf("preview")!=-1){G[C].onerror=function(){this.onerror=null;debug("Failed to load image: "+this.src);this.src=window.config.nothumbImg.src}}}}}}subtitlesDiv=D("vl_subtitles");statusDiv=D("vl_status");defaultStyle.color="black";defaultStyle.align="bottomleft";if(!templates.recentTemplate.options.sortAsc){templates.recentTemplate.options.sortAsc=false}if(!templates.recentTemplate.options.number){templates.recentTemplate.options.number=4}if(!templates.folderTemplate.options.folderIndentPx){templates.folderTemplate.options.folderIndentPx=18}setInterval(processSlides,200);if(!A){needToJump=true;debug("loading toc: "+deployment.tocUrl);showStatus("Fetching data...");loadXMLDoc(deployment.tocUrl,handleFolders,true,tocError)}else{if(window.vid){selectVideo(vid.pid,vid.folder,0,false)}else{if(opener){folders=opener.folders;allVids=opener.allVids}needToJump=true;jumpToLocation(unescape(location.search))}}}function reportUsage(C){if(window.deployment.logUrl&&selectedFolderIdx!=-1&&selectedVideoIdx!=-1&&window.opener){everReportedUsage=true;var A=folders[selectedFolderIdx].videos[selectedVideoIdx];var B=logUrl+"?video="+escape(A.title)+"&folder="+escape(A.folder)+"&pid="+A.pid+"&sid="+A.sid+"&start="+startPos+"&end="+(startPos+accumTime)+"&length="+duration;if(!window.opener.deployment){window.opener.deployment={}}window.opener.deployment.logUrl=B;if(!C){window.opener.setTimeout("(new Image()).src='"+B+"';",500)}}}function tocError(A){if(A.status==401||A.status==403){setMode("frontpage");templates.recentTemplate.setData(null,"<b>You do not have permission to access this data</b>");templates.folderTemplate.setData(null,"Could not download data: "+A.statusText)}else{templates.folderTemplate.setData(null,"Could not download data: "+A.statusText)}}function doSort(B,A){if(B=="title"){vidSortProp="title";vidSortAsc=true}else{if(B=="titleR"){vidSortProp="title";vidSortAsc=false}else{if(B=="date"){vidSortProp="creationDate";vidSortAsc=true}else{if(B=="dateR"){vidSortProp="creationDate";vidSortAsc=false}else{if(B=="length"){vidSortProp="length";vidSortAsc=true}else{if(B=="lengthR"){vidSortProp="length";vidSortAsc=false}else{if(B=="folder"){vidSortProp="folder";vidSortAsc=true}}}}}}}if(A){searchResults()}else{showVideos()}}function setSelectedSort(A){if(vidSortProp=="title"){A.value=vidSortAsc?"title":"titleR"}else{if(vidSortProp=="creationDate"){A.value=vidSortAsc?"date":"dateR"}else{if(vidSortProp=="length"){A.value=vidSortAsc?"length":"lengthR"}else{if(vidSortProp=="folder"){A.value=vidSortAsc?"folder":"folderR"}}}}}function expandFolder(C){var B=0;var A=templates.folderTemplate.container;C=C.parentNode.parentNode.parentNode.parentNode;var F=getFolderButton(C);if(F==""){return }var E=false;var H=false;if(!A){exit}var G;while(A.childNodes[B]){if((G=A.childNodes[B])){if(E){if(G.style.marginLeft>C.style.marginLeft){if(F==minusimg.src){G.style.display="block"}else{G.style.display="none"}}if(G.style.marginLeft<=C.style.marginLeft){break}H=true}if(G==C){E=true}}B++}if(F==config.minusimg.src){setFolderButton(C,config.plusimg.src)}else{setFolderButton(C,config.minusimg.src)}}function getFolderButton(A){var B=A.getElementsByTagName("img");for(j in B){if(B[j].src==config.plusimg.src){return config.plusimg.src}else{if(B[j].src==config.minusimg.src){return config.minusimg.src}}}}function setFolderButton(B,A){var C=B.getElementsByTagName("img");for(j in C){if(C[j].src==config.plusimg.src||C[j].src==config.minusimg.src){C[j].src=A}}}function compareFolders(B,A){if(B.path.toLowerCase()>A.path.toLowerCase()){return 1}if(B.path.toLowerCase()<A.path.toLowerCase()){return -1}return 0}function compareVids(I,G){var B=0;if(typeof (I[vidSortProp])=="string"||I[vidSortProp] instanceof String){var E=I[vidSortProp].toLowerCase();var C=G[vidSortProp].toLowerCase();var F=new RegExp(/(\D*)(\d*)(\D*)(.*)/);var A=F.exec(E);F.index=0;var H=F.exec(C);if(A[1]>H[1]){B=1}else{if(A[1]<H[1]){B=-1}else{if(A[2]-0>H[2]-0){B=1}else{if(A[2]-0<H[2]-0){B=-1}else{if(A[3]>H[3]){B=1}else{if(A[3]<H[3]){B=-1}else{if(A[4]-0>H[4]-0){B=1}else{if(A[4]-0<H[4]-0){B=-1}else{B=0}}}}}}}}}else{B=I[vidSortProp]>G[vidSortProp]?1:-1}if(vidSortAsc){return B}else{return -B}}function handleSubtitles(C){subtitles.length=0;if(!C||!C.responseXML){subsError();return }var E=C.responseXML.getElementsByTagName("style");subtitleStyles.length=0;for(i=0;i<E.length;i++){var B=new Object();B.color=selectElement(E[i],"fontstyle").getAttribute("color");if(B.color=="white"||B.color=="#fff"||B.color=="#ffffff"||B.color=="rgb(255,255,255)"){B.color="black"}B.align=selectElement(E[i],"position").getAttribute("alignment");subtitleStyles[E[i].getAttribute("name")]=B}if(!subtitleStyles.Default){subtitleStyles.Default=defaultStyle}var E=selectMultiElements(selectElement(C.responseXML.documentElement,"subtitles"),"subtitle");for(i=0;i<E.length;i++){var A=new Object;A.text=getEltContent(E[i],"text");A.style=selectElement(E[i],"text").getAttribute("style");if(!A.style){A.style="Default"}A.start=E[i].getAttribute("start")-0;if(E[i].getAttribute("stop")){A.stop=E[i].getAttribute("stop")-0}else{if(E[i].getAttribute("duration")){A.stop=A.start+(E[i].getAttribute("duration")-0)}else{A.stop=A.start+2}}subtitles.push(A)}if(config.subtitlesHook){config.subtitlesHook(subtitles)}}function handleFolders(H){if(H.status==304){showStatus("");if(deployment.liveUrl){for(i in liveUrlsToQuery){loadXMLDoc(deployment.liveUrl+escape(i)+"/livestatus.xml",handleLiveStatus,true,handleLiveStatus)}}return }showStatus("Got "+H.responseText.length+" bytes of xml...");debug("Toc has changed - processing");folders.length=0;allVids.length=0;liveUrlsToQuery={};var I=H.responseXML.getElementsByTagName("live");if(I.length>0){liveUrlsToQuery[I[0].getAttribute("defaultLiveUrl")]=1}I=H.responseXML.getElementsByTagName("service");for(i=0;i<I.length;i++){var F=I.item(i);var G=new Object();var C=F.getAttribute("name").split(/\//);G.level=C.length-1;if(G.level==0){G.topLevel="toplevel"}else{G.toplevel=""}G.indent=G.level*templates.folderTemplate.options.folderIndentPx;G.name=C[C.length-1];G.path=F.getAttribute("name");G.sid=F.getAttribute("sid");folders.push(G);G.videos=new Array();G.videos.length=0;var B=selectMultiElements(F,"video");for(j=0;j<B.length;j++){var A=createVideoFromXml(G,B.item(j));G.videos.push(A);allVids.push(A);if(allVids.length%10==0){showStatus(allVids.length+" videos loaded...")}}G.numVids=G.videos.length}debug("Processed folders");for(i in liveVids){if(liveVids[i].isFake){addFakeVid(A)}}if(deployment.liveUrl){for(i in liveUrlsToQuery){loadXMLDoc(deployment.liveUrl+escape(i)+"/livestatus.xml",handleLiveStatus,true)}}showStatus("Sorting data");if(config.sortFolders){config.sortFolders(folders)}else{folders.sort(compareFolders)}folderContentChanged=true;videoContentChanged=true;frontPageContentChanged=true;var E=false;if(needToJump){needToJump=false;if(location.search!=""){E=jumpToLocation(unescape(location.search))}}if(!E){selectVideo(selectedVideoPid,selectedFolderName)}showStatus("")}function createVideoFromXml(A,I){var M=new Object;M.pid=I.getAttribute("pid");M.length=I.getAttribute("lengthsecs");if(I.getAttribute("hidden")){M.hidden="yes"}else{M.hidden="no"}M.categories={};M.slides=new Array();M.chapters=new Array();M.jumpPoints=new Array();M.links=new Array();M.folder=A.path;M.sid=A.sid;var C=selectElement(I,"embargodate");if(C){M.embargo=new Date(C.getAttribute("timestamp")-0)}else{M.embargo="none"}C=selectElement(I,"expirydate");if(C){M.expiry=new Date(C.getAttribute("timestamp")-0)}else{M.expiry="none"}M.title=getEltContent(I,"title");M.comment=getEltContent(I,"comment");M.longDescription=getEltContent(I,"longdescription");M.keywords=getEltContent(I,"keywords");M.email=getEltContent(I,"email");M.author=getEltContent(I,"author");M.copyright=getEltContent(I,"copyright");M.mmslink=getEltContent(I,"mms").replace(/\'/g,"%27");M.httplink=getEltContent(I,"http").replace(/\'/g,"%27");M.creationDate=new Date(selectElement(I,"lastmodified").getAttribute("timestamp")-0);var H=selectMultiElements(selectElement(I,"categories"),"category");for(F=0;F<H.length;F++){M.categories[H[F].getAttribute("name")]=getContent(H[F])}var L=selectMultiElements(selectElement(I,"slides"),"slide");var J=selectElement(I,"slides").getAttribute("allJump")=="yes";var B;for(var F=0;F<L.length;F++){var E=L[F];var N=new Object;N.url=E.getAttribute("url");N.time=E.getAttribute("time");N.title=getEltContent(E,"title");N.keywords=getEltContent(E,"keywords");N.description=getEltContent(E,"description");if(E.getAttribute("mouseX")||E.getAttribute("mouseX")=="0"){N.cursor={x:E.getAttribute("mouseX")-0,y:E.getAttribute("mouseY")-0}}if(E.getAttribute("width")!=""){N.width=E.getAttribute("width")-0;N.height=E.getAttribute("height")-0}N.level=E.getAttribute("level")-0;if(N.title==""&&config.allSlidesAreChapters){N.title="Slide "+(M.slides.length+1)}if(N.url){M.slides.push(N)}if(N.title){M.chapters.push(N)}else{if(config.allSlidesAreChapters){N.title="Untitled";M.push(N)}}var G=N.title&&(config.allSlidesAreChapters||N.title!="Untitled");if(G&&(config.allChaptersJump||E.getAttribute("isJump")=="yes"||J)){if(B){N.length=N.time-B.time}else{N.length=N.time}N.jumpPid=M.pid;N.jumpFolder=M.folder;M.jumpPoints.push(N)}}L=selectMultiElements(selectElement(I,"links"),"a");for(F=0;F<L.length;F++){var K=new Object;K.linkTitle=getContent(L[F]);K.linkUrl=L[F].getAttribute("href");M.links.push(K)}if(M.categories["em:liveLinkUrl"]){M.liveTime=new Date(M.categories["em:liveTime"]*1000);if(liveVids[M.pid]){M.isLive="LiveNow";M.liveUrl=liveVids[M.pid].liveUrl;debug("Keeping live vid live across content change: "+M.title)}else{M.isLive="Announce"}liveUrlsToQuery[M.categories["em:liveLinkUrl"]]=1}M.folderUrl=location.protocol+"//"+location.host+config.linkPathName+"?"+escape(M.folder);M.url=M.folderUrl+":"+M.pid;return M}function refresh(){if(!deployment.tocUrl){return }showStatus("Fetching data...");loadXMLDoc(deployment.tocUrl,handleFolders,true)}function showStatus(A){if(statusDiv){statusDiv.innerHTML=A}}function handleLiveStatus(H,A){var C=0;if(H.status==304){return }else{if(H.status!=200){}else{var E=false;var G=false;var F=getContent(H.responseXML.getElementsByTagName("linkUrl")[0]);var J=H.responseXML.getElementsByTagName("liveBroadcast");if(J.length==1){var B=J[0];C=B.getAttribute("pid")-0}else{C=0}}}for(i in allVids){var I=allVids[i];if(I.pid==C){if(I.isLive=="Announce"){I.isLive="LiveNow";liveVids[I.pid]=I;E=true}G=true;I.liveUrl=getEltContent(B,"url")}else{if(A==liveUrl+escape(I.categories["em:liveLinkUrl"])+"/livestatus.xml"){if(I.isLive=="LiveNow"){if(I.isFake){debug(I.title+": ad-hoc broadcast has finished");removeVid(I);E=true}else{debug(I.title+" is no longer live. Current live pid is "+C+", whilst this vid's pid is "+I.pid);E=true;I.isLive="Announce";delete liveVids[I.pid]}}}}}if(!G&&C!=0){var I={length:0,lang:"en-GB",hidden:"no",longDescription:"",keywords:"",email:"",author:"",copyright:"",creationDate:new Date(),chapters:{},downloads:new Array(),subtitles:new Array(),slides:new Array(),chapters:new Array(),links:new Array(),subtitleStyles:{},categories:{}};I.pid=C;I.title=getEltContent(B,"title");I.comment=getEltContent(B,"comment");I.description=getEltContent(B,"description");I.folder=getEltContent(B,"folder");I.liveUrl=getEltContent(B,"url");I.liveTime=new Date(B.getAttribute("startedAt")-0);I.hasLiveSlides=B.getAttribute("liveSlides")=="yes";I.isLive="LiveNow";I.categories["em:liveLinkUrl"]=F;I.httpLink=getEltContent(B,"linkUrl");I.isFake=true;addFakeVid(I);E=true}if(E){folderContentChanged=true;videoContentChanged=true;frontPageContentChanged=true;selectVideo(selectedVideoPid,selectedFolderName)}}function addFakeVid(A){liveVids[A.pid]=A;var B=findFolder(A.folder);if(B!=-1){folders[B].videos[folders[B].videos.length]=A}allVids[allVids.length]=A}function removeVid(A){var C;for(C=0;C<allVids.length;C++){if(allVids[C].pid==A.pid){allVids.splice(C,1)}}var B=findFolder(A.folder);if(B!=-1){for(C=0;C<folders[B].videos.length;C++){if(folders[B].videos[C].pid==A.pid){folders[B].videos.splice(C,1)}}}else{debug("can't find folder: "+A.folder)}delete liveVids[A.pid]}function setMode(A){currentMode=A;for(i in modes){if(!modes[i]||!modes[i].style){continue}if(i==A){modes[i].style.display="block"}else{modes[i].style.display="none"}}if(config.setUIMode){config.setUIMode(A)}}function jumpToLocation(G,F){if(!G){var C=""}else{var C=G+""}debug("jumping to ["+C+"], dontSave="+F);if(C.substr(0,1)=="?"){C=C.substring(1)}if(C.indexOf("search=")==0){var A=C.substring(7);searchResults(false,A);return true}else{if(C==""){selectVideo(0,"***",0,F);return true}else{var B=C.split(":",2);if(B[1]&&B[1].length!=0){B[1]=C.substr(B[0].length+1)}var E;if(B[0]&&B[0].length>=1){E=B[0];showFolders()}else{E="***"}selectVideo(B[1]?B[1]-0:0,E,0,F);return true}}return false}function seekToChapter(B){try{player.setCurrentPosition(B-0+0.05)}catch(A){}}function selectFolder(A){selectVideo(0,A)}function findFolder(A){for(i in folders){if(folders[i].path==A){return i}}return -1}function findVideo(A){if(selectedFolderIdx==-1){return -1}for(i in folders[selectedFolderIdx].videos){if(folders[selectedFolderIdx].videos[i].pid==A){return i}}return -1}function makeTokens(E){var B=new RegExp(/\$(\$([a-zA-Z]+)(\[(\d+)\])?{([^}]*)}|([a-zA-Z.]+)(::)?([a-zA-Z]*)(.))/mg);var C=new Array();var A=0;while(parts=B.exec(E)){C[C.length]={type:"text",text:E.substring(A,parts.index)};A=parts.index+parts[0].length;if(parts[1].indexOf("{")!=-1){C[C.length]={type:"subtemplate",property:parts[2],max:parts[4]-0,tokens:makeTokens(parts[5])}}else{C[C.length]={type:"property",property:parts[6],format:parts[8]};if(parts[9]!="|"){A--}}}C[C.length]={type:"text",text:E.substring(A,E.length)};return C}function substituteProperties(H,E,K){var L="";for(var F in H){var J=H[F];if(J.type=="text"){L+=J.text}else{if(J.type=="subtemplate"){var I=J.max>0?Math.min(J.max,E[J.property].length):E[J.property].length;for(var C=0;C<I;C++){L+=substituteProperties(J.tokens,E[J.property][C],null)}}else{if(J.type=="property"){if(J.property.indexOf(".")!=-1){var A=E;var B=J.property.split(".");for(C in B){A=A[B[C]]}}else{var A=E[J.property]}if(J.property=="httplink"){A=deployment.getSlideLink(A)}if(A!=null){switch(J.format){case"jsEscape":A=A.replace(/\'/g,"\\'");A=A.replace(/\"/g,"%22");break;case"urlEscape":A=escape(A);break;case"searchHilight":A=hilightMatch(K,A,true);break;case"formatTime":A=formatTime(A);break;case"date":if(A.toDateString){A=A.toLocaleDateString()}break;case"time":if(A.toTimeString){A=A.toLocaleTimeString()}break;case"bool":if(A){A="true"}else{A="false"}break;case"empty":if(A+""==""){A="empty"}else{A=""}break;case"shortTime":if(A.toTimeString){var G=A.toLocaleTimeString();A=G.substring(0,G.lastIndexOf(":"))}break;case"":break}L+=""+A}else{L+=J.property}}}}}return L}function showFolders(){var B="";for(var A=0;A<folders.length;A++){if(folders[A].level!=0&&(A==folders.length-1||folders[A+1].level<=folders[A].level)){folders[A]["plus"]="images/nochildren.gif"}else{folders[A]["plus"]="images/plus.gif"}B+=substituteProperties(templates.folderTemplate.tokens,folders[A])}showRecent();templates.folderTemplate.setData(folders,B);config.doBreadcrumbs()}function showRecent(){frontPageContentChanged=false;var C="";vidSortProp="creationDate";vidSortAsc=templates.recentTemplate.options.sortAsc;allVids.sort(compareVids);max=templates.recentTemplate.options.number;var B=0;for(i=0;i<allVids.length&&B<max;i++){var A=allVids[i];if(A.isLive=="LiveNow"){B++;C+=substituteProperties(templates.featLiveVideoTemplate.tokens,A)}}for(i=0;i<allVids.length&&B<max;i++){var A=allVids[i];if(A.isLive=="Announce"){B++;C+=substituteProperties(templates.featAnnouncementTemplate.tokens,A)}}for(i=0;i<allVids.length&&B<max;i++){var A=allVids[i];if(A.categories.featured){B++;C+=substituteProperties(templates.recentTemplate.tokens,A)}}for(i=0;i<allVids.length&&B<max;i++){A=allVids[i];if(!A.categories.featured&&!A.isLive){B++;C+=substituteProperties(templates.recentTemplate.tokens,A)}}templates.recentTemplate.setData(allVids,C)}function showVideos(){folderContentChanged=false;var B="";if(templates.videoTemplate.options.sortAsc){vidSortAsc=templates.videoTemplate.options.sortAsc}setSelectedSort(D("vl_sortselect"));folder=folders[selectedFolderIdx];if(D("vl_folder_name")){D("vl_folder_name").innerHTML=folder.name}if(D("vl_folder_numVids")){D("vl_folder_numVids").innerHTML=folder.videos.length}folder.videos.sort(compareVids);for(i in folder.videos){var A=folder.videos[i];if(A.isLive=="Announce"){B+=substituteProperties(templates.announcementTemplate.tokens,A)}else{if(A.isLive=="LiveNow"){B+=substituteProperties(templates.liveVideoTemplate.tokens,A)}else{B+=substituteProperties(templates.videoTemplate.tokens,A)}}}templates.videoTemplate.setData(folder.videos,B);config.doBreadcrumbs()}function doBreadcrumbs(B){var E="<a href=\"javascript:selectFolder('')\"><b>HOME</b></a>";if(B){E+='::<a onclick="">Search Results</a>'}else{var A="";if(selectedFolderIdx==-1){parts=[]}else{parts=folders[selectedFolderIdx].path.split("/")}var C;for(C=0;C<parts.length;C++){A=parts.slice(0,C+1).join("/");E+="&nbsp;::&nbsp;<a href=\"javascript:selectFolder('"+A+"')\">"+parts[C]+"</a>"}if(selectedVideoIdx!=-1){E+='&nbsp;::&nbsp;<a href="javascript:player.stop();player.play();">'+folders[selectedFolderIdx].videos[selectedVideoIdx].title+"</a>";if(D("vl_breadcrumbs")){D("vl_vbreadcrumbs").innerHTML=E}else{if(D("vl_breadcrumbs")){D("vl_breadcrumbs").innerHTML=E}}}else{if(selectedFolderIdx!=-1){if(D("vl_breadcrumbs")){D("vl_breadcrumbs").innerHTML=E}}}}}function searchResults(A,B){if(!B){if(A){searchText=D("vl_searchtextA").value;D("vl_searchtext").value=searchText}else{searchText=D("vl_searchtext").value;D("vl_searchtextA").value=searchText}}else{searchText=B;D("vl_searchtext").value=searchText;D("vl_searchtextA").value=searchText}if(searchText==""){selectFolder("");return }setMode("searchResults");setSelectedSort(D("vl_ssortselect"));templates.searchResultTemplate.setData(null,"Please wait...");saveState(encodeState());setTimeout(_searchResults,100)}function _searchResults(){var accumHTML="";var searchMatches=new Array();D("vl_searchQuery").innerHTML=searchText;if(D("vl_searchLink")){D("vl_searchLink").innerHTML=location.protocol+"//"+location.host+linkPathName+"?search="+escape(searchText)}try{var regex=new RegExp("("+searchText+")","ig")}catch(e){alert("Invalid search string");templates.searchResultTemplate.setData(null,"Invalid search string");exit}var matches=0;var i;var j;for(h in folders){var folder=folders[h];for(i in folder.videos){var vid=folder.videos[i];var matched=false;var matchDescription="";if(D("vl_searchTitle").checked){if(regex.exec(vid.title)){matched=true}}if(!matched&&D("vl_searchAuthor").checked){if(regex.exec(vid.comment)){matched=true}}if(
/*matched &&*/
D("vl_searchAll").checked){if(regex.exec(vid.keywords)!=null){matched=true;if(window.showKeywordMatches){matchDescription=makeMatchDesc("keywords",regex,vid.keywords)}}if(!matched&&regex.exec(vid.comment)){matched=true;matchDescription=makeMatchDesc("description",regex,vid.comment)}if(!matched&&regex.exec(vid.author)){matched=true;matchDescription=makeMatchDesc("author",regex,vid.author)}if(!matched&&regex.exec(vid.copyright)){matchDescription=makeMatchDesc("copyright text",regex,vid.copyright);matched=true}if(!matched&&regex.exec(vid.email)){matchDescription=makeMatchDesc("email address",regex,vid.email);matched=true}if(!matched){for(j in vid.links){if(regex.exec(vid.links[j].linkTitle)){matchDescription=makeMatchDesc("related link "+(j- -1),regex,vid.links[j].linkTitle);matched=true;break}}}if(!matched){for(j in vid.chapters){if(regex.exec(vid.chapters[j].title)){matchDescription=makeMatchDesc("chapter "+(j- -1),regex,vid.chapters[j].title);matched=true}if(regex.exec(vid.chapters[j].description)){matchDescription=makeMatchDesc("chapter "+(j- -1),regex,vid.chapters[j].description);matched=true}if(regex.exec(vid.chapters[j].keywords)){if(window.showKeywordMatches){matchDescription=makeMatchDesc("keywords for chapter "+(j- -1),regex,vid.chapters[j].keywords)}matched=true}if(matched&&vid.chapters[j].jumpPid){matchDescription='<a href="javascript:selectVideo('+vid.chapters[j].jumpPid+", '"+escape(vid.chapters[j].jumpFolder)+"', "+vid.chapters[j].time+')">'+matchDescription+"</a>"}if(matched){break}}}}if(matched){vid.matchDescription=matchDescription;searchMatches[searchMatches.length]=vid}}}searchMatches.sort(compareVids);matches=searchMatches.length;var accumHTML="";for(i in searchMatches){var vid=searchMatches[i];accumHTML+=substituteProperties(templates.searchResultTemplate.tokens,vid,regex);delete (vid.matchDescription)}if(matches>0){D("vl_searchMatches").innerHTML="Results 1-"+matches+" "}else{D("vl_searchMatches").innerHTML="No matches "}templates.searchResultTemplate.setData(matches,accumHTML);config.doBreadcrumbs(true)}function handleSearchSubtitles(A){handleSubtitles(A);for(i in subtitles){if(_regex.exec(subtitles[i].text)){_matchDescription=makeMatchDesc("subtitle at <a href=\"javascript:selectVideo('"+_video+"', '"+_folder+"', "+subtitles[i].start+')">'+subtitles[i].start+"s</a>",_regex,subtitles[i].text);_matched=true;break}}}function handleDownloads(F){if(selectedVideoIdx==-1||selectedFolderIdx==-1){return }var B=F.responseXML.getElementsByTagName("body")[0];var G=selectMultiElements(B,"a");var A=folders[selectedFolderIdx].videos[selectedVideoIdx];for(var E=0;E<G.length;E++){var C=G[E];var H=new Object();H.icon="images/file_icon.gif";H.url=deployment.getDownloadsLink(A.httplink)+"Downloads/"+C.getAttribute("href");H.name=getContent(C);A.retrievedDownloads[A.retrievedDownloads.length]=H}showDownloads()}function showDownloads(){var B="";var A=folders[selectedFolderIdx].videos[selectedVideoIdx];for(i in A.retrievedDownloads){var E=A.retrievedDownloads[i];if(E.name){var C=templates.downloadTemplate.html;C=C.replace("$icon",E.icon);C=C.replace("$url",E.url);C=C.replace("$name",E.name);B+=C}}templates.downloadTemplate.setData(A.retrievedDownloads,B)}function hilightMatch(E,C,B){E.exec("");if(!E.exec(C)){return C}var I=200;var G=15;var H;if(C.length>I){E.exec("");var A=E.exec(C);if(A.index<G){H=C.substr(0,I-3)+"..."}else{H="..."+C.substr(A.index-G,I-6)+"..."}}else{H=C}var F=H.replace(E,'<span class="searchMatchHilight">$1</span>');return F}function makeMatchDesc(B,C,A){return"<div>Matched in "+B+":<br /><i>"+hilightMatch(C,A)+"</i></div>"}function onSlide(A){if(deployment.liveUrl){debug("loading live slide: "+liveSlidePrefix+A);sz.setSlide(A,liveSlidePrefix)}}function selectVideo(H,E,B,M){everReportedUsage=false;searchText="";var A=selectedFolderName;var K=selectedVideoPid;if(E||E===""){selectedFolderIdx=findFolder(E)}selectedVideoIdx=findVideo(H);selectedFolderName=E;if(selectedVideoIdx!=-1){var L=folders[selectedFolderIdx].videos[selectedVideoIdx];if(!selectedFolderName){selectedFolderName=L.folder}selectedVideoPid=L.pid}else{selectedVideoPid=-1}if(!M&&encodeState()!=escape(loadState())){saveState(encodeState())}if(selectedVideoIdx==-1){if(selectedFolderIdx==-1){selectedFolderName="";selectedVideoPid=-1;if(player&&player.getUrl()){player.stop()}if(frontPageContentChanged){setMode("frontpage");showFolders()}else{setMode("frontpage")}if(E!="***"&&E!=""){alert("Video Library could not find the folder associated with this item.")}}else{selectedFolderName=E;selectedVideoPid=-1;debug("selected: folder: "+E);if(player&&player.getUrl()){player.stop()}if(selectedFolderName!=A||folderContentChanged){setMode("videos");showVideos()}else{setMode("videos")}}return }var F=false;if(currentMode=="details"&&K==selectedVideoPid){if(!videoContentChanged){return }F=true}videoContentChanged=false;setMode("details");if(!L.downloads){L.retrievedDownloads=new Array();if(L.httplink!=undefined){loadXMLDoc(deployment.getDownloadsLink(L.httplink)+"Downloads/index.xml",handleDownloads,true,function(N){templates.downloadTemplate.setData(null,"")})}}else{L.retrievedDownloads=new Array();for(i in L.downloads){var J=new Object();J.icon="images/file_icon.gif";J.url=deployment.getDownloadsLink(L.httplink)+"Downloads/"+L.downloads[i];if(L.downloads[i].indexOf("/")!=-1){J.name=L.downloads[i].substring(L.downloads[i].lastIndexOf("/")+1,L.downloads[i].length)}else{J.name=L.downloads[i]}L.retrievedDownloads[L.retrievedDownloads.length]=J}showDownloads()}if(L.isLive=="LiveNow"){templates.detailsTemplate.setData(L,substituteProperties(templates.liveDetailsTemplate.tokens,L))}else{if(L.isLive=="Announce"){templates.detailsTemplate.setData(L,substituteProperties(templates.announceDetailsTemplate.tokens,L))}else{templates.detailsTemplate.setData(L,substituteProperties(templates.detailsTemplate.tokens,L))}}config.doBreadcrumbs();var C="";for(i=0;i<L.links.length;i++){C+=substituteProperties(templates.linkTemplate.tokens,L.links[i])}templates.linkTemplate.setData(L.links,C);var G=D("vl_chaptersSelect");var I=function(){lastChaptersMouseEventTime=new Date()};G.onmousemove=G.onmousedown=G.onmouseup=I;G.onkeydown=G.onkeyup=I;G.onmouseout=function(){lastChaptersMouseEventTime=new Date(0)};G.options.length=0;G.options[G.options.length]=new Option("Go to...",0);if(L.isLive=="LiveNow"){if(G.className.indexOf("noHide")==-1){G.style.display="none"}liveSlidePrefix=deployment.getLiveSlideLink("_1.2/liveslides/")+escape(L.categories["em:liveLinkUrl"]+"/slides/");if(L.hasLiveSlides){sz.setSlide("images/beforeslides.jpg")}else{sz.setSlide("images/noslides.jpg")}}else{liveSlidePrefix=false;for(i=0;i<L.chapters.length;i++){if(L.chapters[i].title=="Untitled"){L.chapters[i].title="Slide "+(i+1)}G.options[G.options.length]=new Option(formatChapterForLevel(unescape(L.chapters[i].title),L.chapters[i].level),L.chapters[i].time);if(L.chapters[i].level==1){G.options[G.options.length-1].style.fontWeight="bold";G.options[G.options.length-1].style.backgroundColor="silver"}}if(L.chapters.length==0){debug("no chapters");G.options[0]=new Option("No chapters available");if(G.className.indexOf("noHide")==-1){G.style.display="none"}}else{G.style.display="block"}}subtitlesDiv.innerHTML="";subtitles.length=0;if(!L.isLive&&!L.subtitles){loadXMLDoc(deployment.getDownloadsLink(L.httplink)+"subtitles.xml",handleSubtitles,true,subsError)}else{if(!L.subtitles){subsError()}}prevPos=0;accumTime=0;startTime=0;if(!F||(L.isLive=="LiveNow"&&L.liveUrl!=player.getUrl())){if(L.isLive=="LiveNow"){player.setUrl(L.liveUrl)}else{player.setUrl(unescape(deployment.getMMSLink(L.mmslink)));if(B){debug("jumping video to "+B);videoJumpTarget=Math.round(B)}}}currentSlideIdx=-1}function formatChapterForLevel(C,E){if(E<=1){return C}else{var A=C;for(var B=E-1;B>0;B--){A="  "+A}return A}}function subsError(A){subtitles.length=0;if(config.subtitlesHook){config.subtitlesHook(subtitles)}}function loadState(){if(isSafari||deployment.staticMode){return }try{return unescape(hist.contentWindow.location.search.substring(1))}catch(A){debug("error loading state:"+A.message);throw (A)}}function saveState(A){if(isSafari||deployment.staticMode){return }try{hist.contentWindow.location.search=A}catch(B){debug("error saving state: "+B.message);throw (B)}}function encodeState(){if(searchText&&searchText!=""){return escape("search="+searchText)}if(selectedFolderIdx==-1){return""}else{if(selectedVideoIdx==-1){return escape(selectedFolderName)}else{return escape(selectedFolderName+":"+selectedVideoPid)}}}function syncWithHistory(){if(isSafari||deployment.staticMode){return }if(needToJump){return }try{if(escape(loadState())!=encodeState()){debug("History: ["+escape(loadState())+"] != ["+encodeState()+"]: jumping to: "+loadState());jumpToLocation(loadState(),true)}}catch(A){}}function processSlides(B){if(selectedFolderIdx==-1||selectedVideoIdx==-1){sz.setSlide("images/noslides.jpg");return }vid=folders[selectedFolderIdx].videos[selectedVideoIdx];if(vid.isLive!="LiveNow"){var F=window.player&&player.getCurrentPosition?player.getCurrentPosition():0;if(F!=0&&videoJumpTarget){debug("Actually jumping to "+videoJumpTarget-0);player.setCurrentPosition(videoJumpTarget-0);videoJumpTarget=0}for(i in subtitles){var E=subtitles[i];if((E.start>F||E.stop<F)&&E.div){subtitlesDiv.removeChild(E.div);E.div=undefined}else{if(E.start<=F&&E.stop>F&&!E.div){E.div=document.createElement("div");if(E.style!="Default"){E.div.title=E.style}E.div.innerHTML=E.text;E.div.style.color=subtitleStyles[E.style].color;if(subtitleStyles[E.style].align.indexOf("right")!=-1){E.div.style.textAlign="right"}else{E.div.style.textAlign="left"}debug(E);subtitlesDiv.appendChild(E.div)}}}if(vid.chapters){var A=0;while(A<vid.chapters.length&&vid.chapters[A].time<=F){A++}var C=D("vl_chaptersSelect");if(C.selectedIndex!=A&&(new Date()).getTime()-lastChaptersMouseEventTime>10000){C.selectedIndex=A}}if(!vid.slides||vid.slides.length==0){sz.setSlide("images/noslides.jpg")}else{A=0;while(A<vid.slides.length&&vid.slides[A].time<F){A++}A--;if(currentSlideIdx==-1||currentSlideIdx!=A||B){if(player.getPlayState()==PS_STOPPED&&A<0){A=0}currentSlideIdx=A;if(A==-1){sz.setSlide("images/beforeslides.jpg")}else{sz.setSlide(deployment.getSlideLink(vid.httplink),vid.slides[A],vid.slides[A+1])}}}updateUsageStats(F)}}function updateUsageStats(A){if(player.getDuration()){duration=player.getDuration()}else{duration=0}if(!A){A=0}if(A<prevPos||A>prevPos+2){if(accumTime>0){reportUsage()}accumTime=0;startPos=A;prevPos=A}else{if(A==prevPos&&accumTime!=0){reportUsage();startPos=A;accumTime=0}else{if(A>prevPos){reportUsage(true);accumTime=A-startPos;prevPos=A}}}if(!everReportedUsage&&duration!=0){reportUsage()}}function doLiveSlide(A){if(selectedFolderIdx==-1||selectedVideoIdx==-1){sz.setSlide("images/noslides.jpg");return }vid=folders[selectedFolderIdx].videos[selectedVideoIdx];if(vid.isLive){debug("LiveSlide not tested recently, getting: "+escape(vid.categories.liveSlideUrl)+"?slideNYI="+A+", "+liveSlidePrefix);sz.setSlide(escape(vid.categories.liveSlideUrl)+"?slideNYI="+A,liveSlidePrefix)}};Function.prototype.createDelegate=function(C,B,A){var E=this;return function(){var G=B||arguments;if(A===true){G=Array.prototype.slice.call(arguments,0);G=G.concat(B)}else{if(typeof A=="number"){G=Array.prototype.slice.call(arguments,0);var F=[A,0].concat(B);Array.prototype.splice.apply(G,F)}}return E.apply(C||window,G)}};function getX(A){if(A.x!=undefined){return A.x}else{return A.style.pixelLeft}}function getY(A){if(A.y!=undefined){return A.y}else{return A.style.pixelTop}}function setOpacity(B,A){var C=B.style;if(isIE){C.filter=(C.filter||"").replace(/alpha\([^\)]*\)/gi,"")+(A==1?"":" alpha(opacity="+A*100+")")}else{C.opacity=A}B._opacity=A}function getOpacity(A){return A._opacity||0}function SlideZoom(E){if(E){this.elt=E;var F=E.getElementsByTagName("img")[0];this.img=document.createElement("img");this.img.id="vl_slide";this.setImgSizeToElt();this.img.setAttribute("galleryimg","no");this.img2=document.createElement("img");this.img2.setAttribute("galleryimg","no");this.img2.id="sz_slide2";this.img2.src="images/beforeslides.jpg";setOpacity(this.img2,0);this.img.src=F.src;E.innerHTML="";var A=document.createElement("div");A.id="sz_slide2cont";A.style.width=this.elt.style.width;A.style.height=this.elt.style.height;A.appendChild(this.img2);this.elt.appendChild(A);this.elt.appendChild(this.img);this.overlay=document.createElement("div");setOpacity(this.overlay,0);this.overlay.id="sz_overlay";this.overlay.innerHTML='<div id="sz_overlaytext">Click to zoom</div>';this.overlay.style.height="140px";this.elt.appendChild(this.overlay);this.animCursor=document.createElement("img");this.animCursor.id="sz_animCursor";this.animCursor.src="cursor.png";this.elt.appendChild(this.animCursor);this.elt.onmouseover=this.mouseOver.createDelegate(this);this.elt.onmouseout=this.mouseOut.createDelegate(this);this.elt.onmousedown=this.mouseDown.createDelegate(this);this.elt.onmouseup=this.mouseUp.createDelegate(this);this.elt.onmousemove=this.mouseMove.createDelegate(this);this.elt.ondblclick=this.dblClick.createDelegate(this);this.loadImg=new Image();this.loadImg.onload=function(){if(this.zoomed&&this.changedZoom){this.setImgSizeToElt();this.fullSize={x:this.loadImg.width,y:this.loadImg.height};this.img.src=this.loadImg.src;D("sz_overlaytext").innerHTML="Drag the image, or double-click to zoom out";var I=this.fullSize.x/this.fullSize.y;var G=this.elt.offsetWidth;var H=this.elt.offsetHeight;new Fade(this.img,this.elt.offsetWidth,this.fullSize.x,5,function(K,L){K.style.width=L+"px";K.style.height=Math.round(L/I)+"px";K.style.left=(G-parseInt(K.style.width))/2+"px";K.style.top=(H-parseInt(K.style.height))/2+"px"},function(K){this.img.style.width=this.fullSize.x+"px";this.img.style.height=this.fullSize.y+"px";this.img2.style.width=this.fullSize.x+"px";this.img2.style.height=this.fullSize.y+"px";this.img2.style.left=getX(this.img)+"px";this.img2.style.top=getY(this.img)+"px"}.createDelegate(this));this.changedZoom=false}else{if(this.changedZoom||!this.img.src){this.img.src=this.loadImg.src;this.changedZoom=false}else{this.img2.src=this.loadImg.src;new Fade(this.img2,0,1,10,setOpacity,function(){this.img.onload=function(){setOpacity(this.img2,0);this.img.onload=null}.createDelegate(this);this.img.src=this.loadImg.src}.createDelegate(this))}}var J=this.cacheImgs.shift();if(J){this.cacheImg.src=J}}.createDelegate(this);this.cacheImgs=new Array();this.cacheImg=new Image();this.cacheImg.onload=function(){var G=this.cacheImgs.shift();if(G){this.cacheImg.src=G}}.createDelegate(this);this.zoomed=false}var C=document.createElement("div");C.id="sz_hover";var B=document.createElement("img");B.id="sz_hoverImg";document.getElementsByTagName("body")[0].appendChild(C);C.appendChild(B);setInterval(this.animateCursor.createDelegate(this),20)}SlideZoom.prototype.setImgSizeToElt=function(){if(isIE){this.img.style.width=this.elt.currentStyle.width;this.img.style.height=this.elt.currentStyle.height}else{if(this.elt.offsetWidth){this.img.style.width=this.elt.offsetWidth+"px";this.img.style.height=this.elt.offsetHeight+"px"}}};function Fade(F,G,A,E,C,B){this.elt=F;this.min=G;this.max=A;this.steps=E;this.ondone=B;this.cur=0;this.apply=C;if(F.fade){F.fade.cancel()}F.fade=this;this.easefn=function(H){return Math.sin(H*Math.PI/2)};C(F,G);this.handle=setTimeout(this.sz_fade.createDelegate(this),10)}Fade.prototype.scale=function(A,B){return(A(B/this.steps)*(this.max-this.min))+this.min};Fade.prototype.cancel=function(){clearTimeout(this.handle);this.elt.fade=undefined;this.ondone()};Fade.prototype.sz_fade=function(){this.apply(this.elt,this.scale(this.easefn,this.cur++));if(this.cur>this.steps){this.ondone(this.elt);this.elt.fade=undefined}else{this.handle=setTimeout(arguments.callee.createDelegate(this),10)}};SlideZoom.prototype.mouseOver=function(){if(this.canZoom){this.overlay.style.top=(this.elt.offsetHeight-140)+"px";this.overlay.style.width=this.elt.offsetWidth+"px";setOpacity(this.overlay,0.8)}};SlideZoom.prototype.mouseOut=function(){setOpacity(this.overlay,0)};SlideZoom.prototype.mouseDown=function(A){if(!A){A=window.event}if(A.button!=0&&!(isIE&&A.button==1)){return }if(!this.zoomed&&this.canZoom){this.zoomed=true;this.changedZoom=true;this.elt.style.cursor="move";this.zoomCoords={x:A.clientX,y:A.clientY};this.setSlide(this.prevHttpLink,{url:this.prevUrl});this.zoomTime=(new Date).getTime();D("sz_overlaytext").innerHTML="Loading..."}else{this.dragMouseStart={x:A.clientX,y:A.clientY};this.dragEltStart={x:getX(this.img),y:getY(this.img)}}if(A.stopPropagation){A.stopPropagation()}else{A.cancelBubble=true}if(A.preventDefault){A.preventDefault()}else{A.returnValue=false}};SlideZoom.prototype.dblClick=function(A){if(!A){A=window.event}if(A.button!=0){return }if(this.zoomed&&(this.zoomTime||0)+700<(new Date).getTime()){this.changedZoom=true;this.unZoom();this.elt.style.cursor='url("images/zoom.cur"), pointer';this.setSlide(this.prevHttpLink,{url:this.prevUrl});D("sz_overlaytext").innerHTML="Click to zoom"}};SlideZoom.prototype.unZoom=function(){this.zoomed=false;this.setImgSizeToElt();this.img.style.left="0px";this.img.style.top="0px";this.img2.style.width=this.elt.style.width;this.img2.style.height=this.elt.style.height;this.img2.style.left="0px";this.img2.style.top="0px"};SlideZoom.prototype.mouseUp=function(A){this.dragMouseStart=null;this.dragEltStart=null;if(!A){A=window.event}if(A.stopPropagation){A.stopPropagation()}else{A.cancelBubble=true}};SlideZoom.prototype.mouseMove=function(A){if(this.dragMouseStart){if(!A){A=window.event}var C=(this.dragEltStart.x+(A.clientX-this.dragMouseStart.x));var B=(this.dragEltStart.y+(A.clientY-this.dragMouseStart.y));this.img2.style.left=Math.min(0,Math.max(C,this.elt.offsetWidth-this.img.width))+"px";this.img2.style.top=Math.min(0,Math.max(B,this.elt.offsetHeight-this.img.height))+"px";this.img.style.left=Math.min(0,Math.max(C,this.elt.offsetWidth-this.img.width))+"px";this.img.style.top=Math.min(0,Math.max(B,this.elt.offsetHeight-this.img.height))+"px";if(A.stopPropagation){A.stopPropagation()}else{A.cancelBubble=true}if(A.preventDefault){A.preventDefault()}else{A.returnValue=false}}};SlideZoom.prototype.animateCursor=function(){if(this.targetCursor){var C=(new Date()).getTime()-this.cursorAnimStart;if(C<=this.animTime&&this.animTime<3000&&player&&player.getPlayState()==PS_PLAYING){var B=Math.round((this.startCursor.x+(this.targetCursor.x-this.startCursor.x)*C/this.animTime)/this.xscale);var A=Math.round((this.startCursor.y+(this.targetCursor.y-this.startCursor.y)*C/this.animTime)/this.yscale);this.animCursor.style.left=(absoluteX(this.img)-32+B)+"px";this.animCursor.style.top=(absoluteY(this.img)-32+A)+"px"}else{this.animCursor.style.left=Math.round(absoluteX(this.img)-32+this.animCursor.x/this.xscale)+"px";this.animCursor.style.top=Math.round(absoluteY(this.img)-32+this.animCursor.y/this.yscale)+"px"}}};SlideZoom.prototype.setSlide=function(B,A,F){var C=A?A.url:"";if(this.elt&&(this.prevUrl!=C||this.prevZoomed!=this.zoomed)){this.prevUrl=C;this.prevZoomed=this.zoomed;this.prevHttpLink=B;this.enableZoom(A&&true);this.loadImg.src=this.getSlideUrl(C,deployment.staticMode,this.zoomed,B);debug(this.getSlideUrl(C,deployment.staticMode,this.zoomed,B));if(A){if(A.cursor){if(this.zoomed){this.xscale=1;this.yscale=1}else{this.xscale=A.width/this.elt.offsetWidth;this.yscale=A.height/this.elt.offsetHeight}this.animCursor.style.left=(absoluteX(this.elt)-32+Math.round(A.cursor.x/this.xscale))+"px";this.animCursor.style.top=(absoluteY(this.elt)-32+Math.round(A.cursor.y/this.yscale))+"px";this.animCursor.style.left=(absoluteX(this.elt)-32+Math.round(this.animCursor.y*this.xscale))+"px";this.animCursor.style.top=(absoluteY(this.elt)-32+Math.round(this.animCursor.y*this.yscale))+"px"}this.startCursor=A.cursor;this.cacheImgs.length=0;var E=this.getSlideUrl(C,deployment.staticMode,this.zoomed,B)!=this.getSlideUrl(C,deployment.staticMode,!this.zoomed,B)}if(F){this.animTime=(F.time-A.time)*1000;this.targetCursor=F.cursor;this.cursorAnimStart=(new Date()).getTime();if(this.animTime<3){this.cacheImgs.unshift(this.getSlideUrl(F.url,deployment.staticMode,this.zoomed,B))}else{this.cacheImgs.push(this.getSlideUrl(F.url,deployment.staticMode,this.zoomed,B))}}}};SlideZoom.prototype.enableZoom=function(A){if(A){this.canZoom=true;if(this.zoomed){this.elt.style.cursor="move"}else{this.elt.style.cursor='url("images/zoom.cur"), pointer'}}else{this.unZoom();this.canZoom=false;this.elt.style.cursor="default";setOpacity(this.overlay,0)}};SlideZoom.prototype.getSlideUrl=function(E,B,G,C){var F;if(!E){E=""}if(!C){F=""}else{if(E){if(G||!B){F=C+"full_res/"}else{F=C+"www_res/"}}else{F=C}}if(B||G){return F+E}else{var A=(E.indexOf("?")!=-1)?"&":"?";if(isIE){return F+E+A+"x="+parseInt(this.elt.currentStyle.width)+"&y="+parseInt(this.elt.currentStyle.height)}else{return F+E+A+"x="+this.elt.offsetWidth+"&y="+this.elt.offsetHeight}}};szHover=function(E,J,I,B,A){if(E.src!=config.nothumbImg.src){var H=D("sz_hover");var G=D("sz_hoverImg");H.style.left=absoluteX(E)+E.offsetWidth+"px";var C=100;if(document.documentElement.clientHeight+document.documentElement.scrollTop+C<absoluteY(E)+E.offsetHeight/2+I){H.style.top=absoluteY(E)+(E.offsetHeight/2)-I+"px"}else{H.style.top=absoluteY(E)+(E.offsetHeight/2)+"px"}G.src=B;H.style.width=J+"px";H.style.height=I+"px";new Fade(H,0,1,15,setOpacity,function(){});H.style.display="block";if(!E.onmouseout){E.onmouseout=function(){H.style.display="none"}}var F=new Image(J,I);F.onload=function(){G.src=F.src};F.src=A}};
