/* USWT build r3.2.0 - common.js - 2011-06-08 12:06:07 EST - !!! DO NOT MODIFY !!! */
var version="v3.2.0 Distributable Release - 10/12/2010";if(!String.prototype.endsWith){String.implement({endsWith:function(a){return this.indexOf(a)==(this.length-a.length)}})}if(!Array.prototype.shuffle){Array.implement({shuffle:function(){var a=[];while(this.length>0){a.push(this.splice(Math.round(Math.random()*(this.length-1)),1))}for(var b in a){this[b]=a[b]}}})}function logEvent(c,d,b){var a=new Image();var e={event:c,url:b||window.location.href,message:d||""};a.src="http://www.publications.usyd.edu.au/logger/?"+Object.toQueryString(e)}function breadcrumbController(){this.tabunderscore=$("tabunderscore");this.breadcrumbs=$$(".breadcrumb")[0];if(this.breadcrumbs){if(this.tabunderscore.getNext!=this.breadcrumbs){this.breadcrumbs.inject(this.tabunderscore,"after");this.breadcrumbs.addClass("moved")}}if(!$("tabs")&&!document.body.hasClass("splash")){document.body.addClass("splash")}}function menuController(a){a=$$("#menu ul li ul");a.each(function(e){var d=e.getParent();var c=new Element("span",{text:"expand","class":"hide_text expander"});if(d.hasClass("static")){c.addClass("open")}else{c.addClass("closed")}c.addEvent("click",individualHandler);d.getFirst("a").setStyle("padding-right","16px");c.inject(d.getFirst("a"),"after");var b=(Browser.ie6)?false:true;e.set("class","unstatic");e.set("slide",{duration:"short",hideOverflow:false,resetHeight:b});if(!d.hasClass("static")){e.slide("hide")}})}function individualHandler(){var a=this.getParent("li").getElement("ul");this.toggleClass("open");this.toggleClass("closed");a.slide("toggle");return false}function headTrayController(){var c=$("current-section");if(!c){return}else{c=c.getFirst("a")}c.addClass("dropdown");var b=$("tray");var a=new Fx.Slide(b);a.hide();b.setStyle("display","block");b.setStyle("visibility","hidden");a.addEvent("complete",function(){if(!c.hasClass("open")){b.setStyle("visibility","hidden")}});c.addEvent("click",function(){if(!c.hasClass("open")){b.setStyle("visibility","visible")}a.toggle();this.toggleClass("open");return false})}function oversizeContentController(){var d=new Element("p");var c=new Element("a",{text:"View full size",style:"cursor:pointer; font-weight: bold;"});var e=false;var b=$("w4").getSize().x;$$("#content table.tabledata_blue, #content img").each(function(g,f){if(g.getSize().x>b){myExpandTopLink=c.clone().addEvent("click",function(){a.show(g);return false});myExpandTopLink.inject(d.clone().inject(g,"before"));e=true}});if(e){var a=new Overlay({overlayFixedWidth:true,centerOverlay:true})}}function getURLParam(f,c){this.strReturn="";this.strURL=f;if(f.indexOf("?")>-1){var b=f.substr(f.indexOf("?"));var d=b.split("&");for(var a=0;a<d.length;a++){if(d[a].indexOf(c.toLowerCase()+"=")>-1){var e=d[a].split("=");this.strReturn=e[1];break}}}return this.strReturn}function mediaPlayerController(){var a=$$("a");var c=new RegExp("^http://(sydney.edu.au|www.usyd.edu.au|localhost)/video/play.php");var b=new Array();a.each(function(e){if(e.href.match(c)){b.push(e)}});b.each(function(e){if(Browser.ie6){}else{e.addEvent("click",function(){var l=getURLParam(e.href,"video");var m=getURLParam(e.href,"poster");var i=getURLParam(e.href,"download");var g=getURLParam(e.href,"widescreen");var h=new Element("div",{id:"mbVideo"});var k=new Element("p");var f=new Element("a",{href:l,text:"Download video (mp4)","class":"download"});var j=new Swiff("http://sydney.edu.au/video/player.swf",{id:"swfPlayer",width:480,height:(g=="false"?360:290),params:{wmode:"opaque",bgcolor:"#fff",allowfullscreen:"true",quality:"high",allowScriptAccess:"sameDomain"},vars:{file:l,image:m,autostart:"false"}});j.inject(h);if(i!="false"){f.inject(k);k.inject(h)}d.show(h,{cloneContent:false});return false})}});if(b.length>0){var d=new Overlay({destroyContent:true})}}function searchScopeController(a){this.scopeURLs={global:"http://sydney.edu.au/apps/search/scope.json",auto:"http://sydney.edu.au/apps/search/get.php"};Object.append(this.scopeURLs,a);this.defaultInputSet=false;this.checkSearchEntry=function(){var c=$$("#search input[name=query]")[0];var b=$$("#search input[name=scope]");b.each(function(d){if(d.checked){if(c.value==""||c.value==c.title){c.set("value",(d.get("title"))?d.get("title"):d.getParent().get("text"))}c.set("title",(d.get("title"))?d.get("title"):d.getParent().get("text"))}})};this.buildDropdown=function(){$("search").addClass("built");$("search").set("action","http://sydney.edu.au/apps/search/");if($$("#search input[name=scope]")[0]){$$("#search input[name=scope]")[0].destroy()}var d=(new Element("div",{id:"scope-menu"})).store("showing",false);var b=new Element("a",{href:"#",id:"search-scope-select",text:"Refine search","class":"hide_text"});var c=new Element("div",{id:"scope-container"});c.adopt(d);$("search").grab((new Element("div",{id:"search-scope-button"})).grab(b).wraps($$("#search input[name=query]")[0]),"top");$("search").adopt(c);d.set("slide",{duration:"short"}).slide("hide");$$("body")[0].addEvent("click",function(){if(d.retrieve("showing")){d.store("showing",false);d.slide("toggle")}});b.addEvent("click",function(){if(!d.retrieve("showing")){d.slide("toggle");d.store("showing",true)}else{d.slide("toggle");d.store("showing",false)}return false})};this.buildScopeSet=function(c){if(c.scopes.length!=0){var b=$$("#scope-container #scope-menu")[0];var d=new Element("ul",{id:c.type});d.grab(new Element("li",{text:c.title,"class":"title"}));c.scopes.each(function(f){var e=f.title.toLowerCase().replace(/ /g,"-");d.grab((new Element("li")).grab((new Element("label",{"for":"scope-"+e,text:f.title,events:{click:checkSearchEntry}})).grab(new Element("input",{type:"radio",name:"scope",value:f.scope.replace(/^http:\/\//,""),title:f.shortname,id:"scope-"+e}),"top")))});if(c.type=="auto"){b.grab(d,"top");d.getElements("input")[0].set("checked","checked");this.defaultInputSet=true}if(c.type=="global"){b.grab(d,"bottom");if(!this.defaultInputSet){d.getElements("input")[0].set("checked","checked")}}if(c.type=="local"){if($$("#scope-container #auto")[0]){d.inject($$("#scope-container #auto")[0],"after")}else{b.grab(d,"top")}}this.checkSearchEntry()}};this.processScopeFetch=function(b){if(!$("search").hasClass("built")){buildDropdown()}buildScopeSet(b)};this.handleFail=function(){};this.fetchLocalScope=function(b){new Request.JSONP({url:b.local,log:false}).send()};Object.each(this.scopeURLs,function(c,b){if(b=="auto"){new Request.JSONP({url:c,data:{url:document.URL,log:false}}).send()}else{new Request.JSONP({url:c,log:false}).send()}})}var searchController=function(){this.searchForm=$("search");this.searchField=this.searchForm.query;this.focusSearchField=function(){if(this.value==this.title){this.value=""}};this.blurSearchField=function(){if(this.value==""){this.value=this.title}};this.checkSearchEntry=function(){if(this.query.value==""||this.query.value==this.query.title){alert("Please enter some search terms");return false}else{return true}};$$("#splashpod object").each(function(a){var c;if(Browser.ie&&Browser.version<=8){c={};$$("param").each(function(d){if(d.parentNode==a){c[d.name]=d.value}});c.dimensions={width:a.getAttribute("width"),height:a.getAttribute("height")}}else{var b=function(d){return $(a).getElement("param[name="+d+"]")?$(a).getElement("param[name="+d+"]").get("value"):null};c={movie:b("movie"),salign:b("salign"),bgcolor:b("bgcolor"),flashvars:b("flashvars"),dimensions:$(a).get("width","height"),wmode:b("wmode")}}if(c.wmode=="opaque"){return}(new Swiff(c.movie,{width:c.dimensions.width,height:c.dimensions.height,vars:c.flashvars?c.flashvars.parseQueryString():null,params:{wMode:"opaque",bgcolor:c.bgcolor,salign:c.salign}})).replaces(a)});if(searchForm){this.searchField.onfocus=this.focusSearchField;this.searchField.onblur=this.blurSearchField;this.searchForm.onsubmit=this.checkSearchEntry}};function slideShowInit(){if(typeof Slideshow=="undefined"){return}if($("splashpod")){loadSlideshow($("splashpod"),window.location.resources.images+"slides/splashpod.xml",{displayErrors:false})}$$(".slides[id]").each(function(b,a){if(b.get("id")=="splashpod"){return}loadSlideshow(b,window.location.resources.images+"slides/"+b.get("id")+".xml")})}var Slimbox=(function(){var U=window,am=Browser.ie6,af,au,T=-1,al,ad,V,ae,ab,N,ah,an={},ag=new Image(),P=new Image(),R,aA,at,aj,Q,aw,S,ay,Z,O,ac,ar,ax,X;U.addEvent("domready",function(){$(document.body).adopt($$(R=new Element("div",{id:"lbOverlay",events:{click:W}}),aA=new Element("div",{id:"lbCenter"}),S=new Element("div",{id:"lbBottomContainer"})).setStyle("display","none"));at=new Element("div",{id:"lbImage"}).inject(aA).adopt(aj=new Element("div",{styles:{position:"relative"}}).adopt(Q=new Element("a",{id:"lbPrevLink",href:"#",events:{click:Y}}),aw=new Element("a",{id:"lbNextLink",href:"#",events:{click:av}})));ay=new Element("div",{id:"lbBottom"}).inject(S).adopt(new Element("a",{id:"lbCloseLink",href:"#",events:{click:W}}),Z=new Element("div",{id:"lbCaption"}),O=new Element("div",{id:"lbNumber"}),new Element("div",{styles:{clear:"both"}}))});function aa(){var b=U.getScroll(),a=U.getSize();$$(aA,S).setStyle("left",b.x+(a.x/2));if(ae){R.setStyles({left:b.x,top:b.y,width:a.x,height:a.y})}}function ao(b){["object",am?"select":"embed"].forEach(function(c){Array.forEach(document.getElementsByTagName(c),function(d){if(b){d._slimbox=d.style.visibility}d.style.visibility=b?"hidden":d._slimbox})});R.style.display=b?"":"none";var a=b?"addEvent":"removeEvent";U[a]("scroll",aa)[a]("resize",aa);document[a]("keydown",ak)}function ak(a){var b=a.code;return af.closeKeys.contains(b)?W():af.nextKeys.contains(b)?av():af.previousKeys.contains(b)?Y():false}function Y(){return az(ad)}function av(){return az(V)}function az(a){if(a>=0){T=a;al=au[a][0];ad=(T||(af.loop?au.length:0))-1;V=((T+1)%au.length)||(af.loop?0:-1);ai();aA.className="lbLoading";an=new Image();an.onload=ap;an.src=al}return false}function ap(){aA.className="";ax.set(0);at.setStyles({backgroundImage:"url("+al+")",display:""});aj.setStyle("width",an.width);$$(aj,Q,aw).setStyle("height",an.height);Z.set("html",au[T][1]||"");O.set("html",(((au.length>1)&&af.counterText)||"").replace(/{x}/,T+1).replace(/{y}/,au.length));if(ad>=0){ag.src=au[ad][0]}if(V>=0){P.src=au[V][0]}N=at.offsetWidth;ah=at.offsetHeight;var a=Math.max(0,ab-(ah/2)),c=0,b;if(aA.offsetHeight!=ah){c=ar.start({height:ah,top:a})}if(aA.offsetWidth!=N){c=ar.start({width:N,marginLeft:-N/2})}b=function(){S.setStyles({width:N,top:a+ah,marginLeft:-N/2,visibility:"hidden",display:""});ax.start(1)};if(c){ar.chain(b)}else{b()}}function aq(){if(ad>=0){Q.style.display=""}if(V>=0){aw.style.display=""}X.set(-ay.offsetHeight).start(0);S.style.visibility=""}function ai(){an.onload={};an.src=ag.src=P.src=al;ar.cancel();ax.cancel();X.cancel();$$(Q,aw,at,S).setStyle("display","none")}function W(){if(T>=0){ai();T=ad=V=-1;aA.style.display="none";ac.cancel().chain(ao).start(0)}return false}Element.implement({slimbox:function(b,a){$$(this).slimbox(b,a);return this}});Elements.implement({slimbox:function(d,a,b){a=a||function(e){return[e.href,e.title]};b=b||function(){return true};var c=this;c.removeEvents("click").addEvent("click",function(){var e=c.filter(b,this);return Slimbox.open(e.map(a),e.indexOf(this),d)});return c}});return{open:function(a,b,c){af=Object.append({loop:false,overlayOpacity:0.8,overlayFadeDuration:400,resizeDuration:400,resizeTransition:false,initialWidth:250,initialHeight:250,imageFadeDuration:400,captionAnimationDuration:400,counterText:"Image {x} of {y}",closeKeys:[27,88,67],previousKeys:[37,80],nextKeys:[39,78]},c||{});ac=new Fx.Tween(R,{property:"opacity",duration:af.overlayFadeDuration});ar=new Fx.Morph(aA,Object.append({duration:af.resizeDuration,link:"chain"},af.resizeTransition?{transition:af.resizeTransition}:{}));ax=new Fx.Tween(at,{property:"opacity",duration:af.imageFadeDuration,onComplete:aq});X=new Fx.Tween(ay,{property:"margin-top",duration:af.captionAnimationDuration});if(typeof a=="string"){a=[[a,b]];b=0}ab=U.getScrollTop()+(U.getHeight()/2);N=af.initialWidth;ah=af.initialHeight;aA.setStyles({top:Math.max(0,ab-(ah/2)),width:N,height:ah,marginLeft:-N/2,display:""});ae=am||(R.currentStyle&&(R.currentStyle.position!="fixed"));if(ae){R.style.position="absolute"}ac.set(0).start(af.overlayOpacity);aa();ao(1);au=a;af.loop=af.loop&&(au.length>1);return az(b)}}})();Slimbox.scanPage=function(){$$(document.links).filter(function(a){return a.rel&&a.rel.test(/^lightbox/i)}).slimbox({},null,function(a){return(this==a)||((this.rel.length>8)&&(this.rel==a.rel))})};window.onerror=function(d,c,a){var b;if(!window.event&&typeOf(d)=="string"){b={message:d,file:c,line:a}}else{b={filename:window.event.filename||window.event.errorUrl,line:window.event.lineno||window.event.errorLine,message:window.event.message||window.event.errorMessage}}logEvent("error",JSON.encode(b));return true};window.addEvent("domready",function(){window.location.siteRoot="./";$$("script").some(function(tag){var path=tag.get("src")&&tag.get("src").match(/^(.*?\/)scripts\/common\.js$/);if(path){window.location.siteRoot=path[1];return true}return false});window.location.resources={images:window.location.siteRoot+"images/",scripts:window.location.siteRoot+"scripts/",styles:window.location.siteRoot+"styles/"};breadcrumbController();headTrayController();menuController();oversizeContentController();searchController();mediaPlayerController();slideShowInit();Slimbox.scanPage();if($$("#splashpod object").length>0){logEvent("flash-splashpod")}if(typeof(localScope)!=="undefined"){searchScopeController(localScope)}else{searchScopeController()}try{if(JsHook){JsHook.each(function(hook){switch(typeOf(hook)){case"function":hook();break;case"string":eval(hook);break;case"object":var depends=hook.depends||[];if(depends.length==0&&typeOf(hook.onReady)=="function"){hook.onReady();return}var preloadCount=0;depends.each(function(js){Asset.javascript(js,{onLoad:function(){if(++preloadCount==depends.length){hook.onReady()}}})});break}})}}catch(e){}});
