
/* Merged Plone Javascript file
 * This file is dynamically assembled from separate parts.
 * Some of these parts have 3rd party licenses or copyright information attached
 * Such information is valid for that section,
 * not for the entire composite file
 * originating files are separated by - filename.js -
 */

/* - alllevels.js - */
// http://www.chem.byu.edu/chemistry/portal_javascripts/alllevels.js?original=1
String.prototype.format=function(){var params=arguments;var i=0;var x=function(){return params[i++]};return this.replace(/(%s)/g,x)};if(!window.$){$=function(){var ret=[];for(var i=0;i<arguments.length;i++){var e=arguments[i];if(typeof(e)=='string')
e=document.getElementById(e);if(arguments.length==1)
return e;ret[ret.length]=e}
return ret}};String.prototype.strip=function(){return this.replace(/^\s+/, '').replace(/\s+$/,'')};String.prototype.endswith=function(pattern){var d=this.length-pattern.length;return d>=0&&this.lastIndexOf(pattern)===d};var byu={stage:"prd",version:"2.1.2",isIE:((document.all&&document.attachEvent)?true:false),stgLoginUrl:"https://login-stg.byu.edu/login/html/login.fcc",prdLoginUrl:"https://login.byu.edu/login/html/login.fcc",stgLogoutUrl:"https://login-stg.byu.edu/login/html/logout.html",prdLogoutUrl:"https://login.byu.edu/login/html/logout.html",browser:"",createElement: function(tagName,params){var element=document.createElement(tagName);if(params){for(var param in params){element[param]=params[param]}}
return element},setInnerText: function(el,text){if(!byu.isIE)
el.innerHTML=text;else
el.innerText=text},makeBound: function(inst,meth){var __method=meth;if(__method.__originalMethod)
__method=__method.__originalMethod;var bound=function(){return __method.apply(inst,arguments)};bound.__originalMethod=__method;return bound},bindMethods: function(inst){for(var prop in inst){var meth=inst[prop];if(typeof(meth)=='function'&&prop!='initialize')
inst[prop]=byu.makeBound(inst,meth)}},evalJSON: function(string){string=string||'{}';var obj={};try{eval('obj='+string)}
catch(e){}
return obj},toRealArray: function(fakeArray){var realArray=[];for(var i=0;i<fakeArray.length;i++){realArray.push(fakeArray[i])}
return realArray},update: function(dest,src){for(var prop in src){dest[prop]=src[prop]}
return dest},Class: function(parentClass){func=function(){byu.bindMethods(this);this.initialize.apply(this,arguments)};if(parentClass)
func.prototype=new parentClass;return func},map: function(list,func){for(var i=0;i<list.length;++i){func(list[i])}},unhideElements: function(){try{var ByuBarLogin=$("ByuBarLogin");var ByuBarLoginForm=byu.util.getImmediateChildrenByTagName(ByuBarLogin,'FORM');ByuBarLoginForm[0].style.display='block'}
catch(error){}},closePageElements: function(evt){if(byu.browser=='safari'||evt.button==0){try{byu.menu.closeMenu()}
catch(error){}
try{byu.qf.close()}
catch(error){}}},browserDetect: function(){var nv=window.navigator;if(nv.userAgent.indexOf("MSIE 6")!=-1){byu.css.addClass(document.documentElement,"ie ie6");byu.browser="ie6"}
if(nv.userAgent.indexOf("MSIE 7")!=-1){byu.css.addClass(document.documentElement,"ie ie7");byu.browser="ie7"}
if(nv.platform.indexOf("Win32")!=-1){byu.css.addClass(document.documentElement,"win")}
if(nv.userAgent.indexOf("Firefox")!=-1&&nv.platform.indexOf("Win32")!=-1){byu.css.addClass(document.documentElement,"ff ffwin");byu.browser="ff"}
if(nv.userAgent.indexOf("Firefox")!=-1&&nv.platform.indexOf("Mac")!=-1){byu.css.addClass(document.documentElement,"ff ffmac mac");byu.browser="ff"}
if(nv.userAgent.indexOf("Firefox")!=-1&&nv.platform.indexOf("Linux")!=-1){byu.css.addClass(document.documentElement,"ff fflinux linux");byu.browser="ff"}
if(nv.userAgent.indexOf("Safari")!=-1&&nv.platform.indexOf("Mac")!=-1){byu.css.addClass(document.documentElement,"safari safarimac mac");byu.browser="safari"}
if(nv.userAgent.indexOf("Safari")!=-1&&nv.platform.indexOf("Win32")!=-1){byu.css.addClass(document.documentElement,"safari safariwin");byu.browser="safari"}},none: function(){}};byu.url={siteURL: function(url){if(!url) return "";var domainStart=url.indexOf("://");if(domainStart<=0)
return "";var domainEnd=url.indexOf("/",domainStart+3);if(domainEnd===-1)
return url+"/";return url.substring(0,domainEnd+1)},base: function(url){if(!url) return "";var domainStart=url.indexOf("://");var pathEnd=url.lastIndexOf("/");if(pathEnd==domainStart+2)
return url+"/";return url.substring(0,pathEnd+1)},merge: function(baseUrl,relativePath){if(!relativePath) return baseUrl;var domainStart=relativePath.indexOf("://");if(domainStart>0)
return relativePath;if(relativePath.charAt(0)=='/'){return byu.url.siteURL(baseUrl)+relativePath.substr(1)}
return byu.url.base(baseUrl)+relativePath},parseParams: function(url){var i=url.indexOf('?');if(i===-1){return{}}
var ret={};var params=url.substr(i+1).split('&');for(var i=0;i<params.length;i++){var param=params[i].split('=',2);if(param.length==1)
ret[param[0]]=true;else if(param.length==2)
ret[param[0]]=decodeURIComponent(param[1])}
return ret},setParams: function(url,params){var i=url.indexOf('?');if(i!=-1)
url=url.substr(0,i);var pairs=[];for(var i in(params||{}))
pairs.push(encodeURIComponent(i)+'='+encodeURIComponent(params[i]));if(pairs.length==0)
return url;return url+'?'+pairs.join('&')},getPageParams: function(){return byu.url.parseParams(window.location.search)}};byu.css={addClass: function(element,className){var classes=byu.css.getClasses(element);for(var i=0;i<classes.length;i++)
if(classes[i]==className)
return;element.className=element.className+' '+className},removeClass: function(element,className){var classes=byu.css.getClasses(element);var keepers=[];for(var i=0;i<classes.length;i++){var name=classes[i];if(name!=className)
keepers.push(name)}
element.className=keepers.join(' ')},getClasses: function(element){if(!element) return [];if(!element.className)
return [];return element.className.split(' ')}};byu.event={_listenerFuncs:[],observe: function(obj,name,cb){var obj=$(obj);var listName='_'+name.toLowerCase()+'Listeners';if(obj[listName]==null){obj[listName]=[];var listeners=obj[listName];var func=function(){for(var i=0;i<listeners.length;i++)
try{listeners[i].apply(this,arguments)}
catch(e){}};if(obj.addEventListener)
obj.addEventListener(name,func,false);else if(obj.attachEvent)
obj.attachEvent('on'+name,func);byu.event._listenerFuncs.push([obj,name,func])}
var handlers=obj[listName];for(var i=0;i<handlers.length;i++)
if(handlers[i]==cb)
return;handlers.push(cb)},stopObserving: function(obj,name,cb){var obj=$(obj);var listName='_%sListeners'.format(name.toLowerCase());var listeners=obj[listName];if(listeners==null)
return;for(var i=0;i<listeners.length;i++){if(listeners[i]==cb){listeners.splice(i,1);if(listeners.length==0){var func=null;var funcs=byu.event._listenerFuncs;for(var j=0;j<funcs.length;j++){var entry=funcs[j];if(entry[0]==obj&&entry[1]==name){func=entry[2];funcs.splice(j,1);break}}
if(func==null)
logError('Could not find all_listener to remove');else{if(obj.removeEventListener)
obj.removeEventListener(name,func,false);else
obj.detachEvent('on'+name,func)}
obj[listName]=null}
break}}},removeAllObservers: function(){for(var i=0;i<byu.event._listenerFuncs.length;i++){var entry=byu.event._listenerFuncs[i];var obj=entry[0];var name=entry[1];obj['_%sListeners'.format(name.toLowerCase())]=null;var func=entry[2];entry[0]=null;if(obj.removeEventListener)
obj.removeEventListener(name,func,false);else if(obj.detachEvent)
obj.detachEvent('on'+name,func);byu.event._listenerFuncs[i]=null}},fireEvent: function(obj,name){for(var i=0;i<byu.event._listenerFuncs.length;++i){var entry=byu.event._listenerFuncs[i];if(obj==entry[0]&&name==entry[1]){entry[2]()}}}};byu.event.observe(window,'unload',byu.event.RemoveAllObservers);byu.util={currentID:0,getTextContent: function(element){for(var i=0;i<element.childNodes.length;++i){if(element.childNodes[i].nodeType===3){return element.childNodes[i].nodeValue}}
return ""},getbaseHREF: function(){if(document.styleSheets.length>0){var cssUrl=document.styleSheets[0].href;return cssUrl.substring(0,cssUrl.indexOf("templates/"))}
return ""},getImmediateChildrenByTagName: function(element,tagName){if(!element) return [];var list=element.getElementsByTagName(tagName);var finalList=[];var finalIdx=0;for(var i=0;i<list.length;i++)
if(list[i].parentNode==element)
finalList[finalIdx++]=list[i];return finalList},getElementsByClassName: function(className,container,tagName){var outArray=[];var all=container.getElementsByTagName(tagName?tagName:'*');for(var i=0;i<all.length;i++){var classNames=byu.css.getClasses(all[i]);for(var j=0;j<classNames.length;++j){if(className==classNames[j]){outArray[outArray.length]=all[i];break}}}
return outArray},getChildElementById: function(parent,id){for(var i=0;i<parent.childNodes.length;++i){if(parent.childNodes[i].id==id){return parent.childNodes[i]}}},IsDefined: function(variable){try{var __testIsDefined=eval(variable)} catch(e){}
if(__testIsDefined!=undefined) return true;return false},checkEnter: function(e){if(!byu.isIE){if(e.which==13){return true}}
if(byu.isIE){if(event.keyCode==13){return true}}
return false},getUniquePageID: function(){return++byu.util.currentID}};byu.auth={clearCookies: function(){var expDate=new Date("01/01/1980").toGMTString();document.cookie='FORMCRED=0;domain=.byu.edu;path=/;expires='+expDate;document.cookie='SMTRYNO=0;domain=.byu.edu;path=/;expires='+expDate;document.cookie='SECURE_COOKIE=anakincookieookie; domain=.byu.edu; path=/; expires='+expDate;document.cookie='usr_byu_edu=anakincookieookie; domain=.byu.edu; path=/; expires='+expDate;document.cookie='role_byu_edu=anakincookieookie; domain=.byu.edu; path=/; expires='+expDate;document.cookie='byu_ry_po_session=anakincookieookie; domain=.byu.edu; path=/; expires='+expDate;document.cookie='SmSESSION=anakincookieookie; domain=.byu.edu; path=/; expires='+expDate;document.cookie='SMIDENTITY=anakincookieookie; domain=.byu.edu; path=/; expires='+expDate;document.cookie='SMSESSION=anakincookieookie; domain=.byu.edu; path=/; expires='+expDate;document.cookie='https%3a%2f%2fhrms.byu.edu%2fpsp%2fhrprd2%2femployee%2fhrms%2frefresh=0;domain=.byu.edu;path=/;expires='+expDate;document.cookie='PS_TOKENEXPIRE=0;domain=.byu.edu;path=/;expires='+expDate;document.cookie='PS_TOKEN=0;domain=.byu.edu;path=/;expires='+expDate;document.cookie='PS_LOGINLIST=0;domain=.byu.edu;path=/;expires='+expDate;document.cookie='ExpirePage=0;domain=.byu.edu;path=/;expires='+expDate;document.cookie='SignOnDefault=0;domain=.byu.edu;path=/;expires='+expDate;document.cookie='HPTabName=0;domain=.byu.edu;path=/;expires='+expDate;document.cookie='queens-byu-edu-9080-PORTAL-PSJSESSIONID=0;domain=hrms.byu.edu;path=/;expires='+expDate;document.cookie='dauphin-byu-edu-9080-PORTAL-PSJSESSIONID=0;domain=hrms.byu.edu;path=/;expires='+expDate},doRYLogin: function(){byu.auth.clearCookies();if(byu.stage==='stg'){window.location=byu.stgLoginUrl}
else{window.location=byu.prdLoginUrl}
return true},doRYLogout: function(){byu.auth.clearCookies();var logoutString;if(byu.stage==='stg'){logoutString=byu.stgLogoutUrl}
else{logoutString=byu.prdLogoutUrl}
if(byu.util.IsDefined("byuConfig")&&byuConfig.targetLogoutURL){logoutString+="?"+byuConfig.targetLogoutURL}
window.location=logoutString}};byu.cookie={setCookie: function(cookieID,cValue,path,expires){var expDate=expires||null;var cPath=path||null;var NameOfCookie=cookieID;var cookieString=NameOfCookie+"="+escape(cValue);if(cPath){cookieString+=";path="+cPath}
if(expDate){cookieString+=";expires="+expDate}
document.cookie=cookieString},unsetCookie: function(cookieID){byu.cookie.setCookie(cookieID,null)},getCookie: function(cookieID){var dc=document.cookie,prefix=cookieID+"=",begin=dc.indexOf("; "+prefix);if(begin==-1){begin=dc.indexOf(prefix);if(begin!=0)
return null}
else
begin+=2;var end=document.cookie.indexOf(";",begin);if(end==-1)
end=dc.length;return unescape(dc.substring(begin+prefix.length,end))}};byu.effects={fade: function(obj,milliseconds,inORout,callBack){var localObj=$(obj);var localCallBack=callBack;var timeInterval=50;var increment=1/ (milliseconds / timeInterval);var stopCriteria;var inout=inORout||'out';if(!localObj.isFading){localObj.isFading=true;var incrementalFade=function(){if(stopCriteria(byu.effects.getOpacity(localObj))){if(localCallBack){setTimeout(localCallBack,1)}
localObj.isFading=false;return}
byu.effects.setOpacity(localObj,byu.effects.getOpacity(localObj)+increment);setTimeout(incrementalFade,timeInterval)};if(inout=='in'){byu.effects.setOpacity(localObj,0);stopCriteria=function(opacity){if(opacity>=1){return true}
return false};incrementalFade()}
else{byu.effects.setOpacity(localObj,1);increment=increment *-1;stopCriteria=function(opacity){if(opacity<=0){return true}
return false};incrementalFade()}}},getOpacity: function(obj){var tempOpacity;if(byu.isIE){if(!obj.filters[0]){obj.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity=100)"}
tempOpacity=obj.filters[0].opacity;tempOpacity=parseFloat(tempOpacity)/100}
else{tempOpacity=obj.style.opacity||1}
tempOpacity=parseFloat(tempOpacity);return tempOpacity},setOpacity: function(obj,opacityLevel){if(byu.isIE){if(!obj.filters[0]){obj.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity=%s)".format(opacityLevel * 100)}
else{obj.filters[0].opacity=opacityLevel * 100}}
else{obj.style.opacity=opacityLevel}}};byu.ajax={xDomainRequests:{},makeXDomainRequest: function(fullUrl,callback){var requestID=byu.util.getUniquePageID();if(fullUrl.indexOf("?")==-1){fullUrl+="?"}
fullUrl+="&callback=byu.ajax.xDomainCallback&requestID="+requestID;var reqObj=new XDomainRequest(fullUrl,requestID);reqObj.makeCall();byu.ajax.xDomainRequests[requestID]={"fullUrl":fullUrl,"callback":callback,"reqObj":reqObj}},xDomainCallback: function(resp){var request=byu.ajax.xDomainRequests[resp.requestID];delete byu.ajax.xDomainRequests[resp.requestID];request.reqObj.cleanUpCall();var cb=eval(request.callback);cb(resp.resp)}};
function XDomainRequest(fullUrl,reqID){this.fullUrl=fullUrl;this.noCacheIE='&noCacheIE='+(new Date()).getTime();this.headElement=document.getElementsByTagName("head").item(0);this.scriptId='XDomainId'+reqID};XDomainRequest.prototype.makeCall=function(){this.scriptObj=document.createElement("script");this.scriptObj.setAttribute("type","text/javascript");this.scriptObj.setAttribute("src",this.fullUrl+this.noCacheIE);this.scriptObj.setAttribute("id",this.scriptId);this.headElement.appendChild(this.scriptObj)};XDomainRequest.prototype.cleanUpCall=function(){this.scriptObj.parentNode.removeChild(this.scriptObj)};byu._findLibbase=function(){var tags=document.getElementsByTagName('script');var libURLs=[];for(var i=0;i<tags.length;i++){var tag=tags[i];var src=tag.src;if(!src||!src.endswith('alllevels.js'))
continue;return byu.url.merge(String(window.location),src.substring(0,src.lastIndexOf('alllevels.js')))}
return byu.url.merge(String(window.location),'')};byu._allLibs={};byu.loadLibrary=function(src){src=byu.url.merge(byu._libbase,src);if(!src.endswith('.js'))
src=src+'.js';if(byu._allLibs[src])
return;byu._allLibs[src]=true;document.write('<sc'+'ript type="text/javascript" src="'+src+'">'+'<'+'/scri'+'pt>')};byu.loadAllLibraries=function(){var tags=document.getElementsByTagName('script');var libURLs=[];for(var i=0;i<tags.length;i++){var tag=tags[i];var imports=tag.getAttribute('import');if(!imports)
continue;imports=imports.split(' ');for(var j=0;j<imports.length;j++){var name=imports[j].strip();if(name)
libURLs.push(name)}}
for(var i=0;i<libURLs.length;i++)
byu.loadLibrary(libURLs[i])};byu._libbase=byu._findLibbase();byu.loadAllLibraries();if(window.onload) byu.event.observe(window,'load',window.onload);byu.event.observe(document,'click',byu.closePageElements);byu.event.observe(window,'load',byu.browserDetect);

/* - common.js - */
// http://www.chem.byu.edu/chemistry/portal_javascripts/common.js?original=1
byu.bars={loadWaitTime:2000,authCheckComplete:false,getAuthCheckUrl: function(){if(byu.stage==='dev'){return 'http://stephen.byu.edu:8080/webapp/home-common-web/services/authCheck.jsp'} else if(byu.stage==='stg'){return 'https://home-stg.byu.edu/webapp/home-common-web/services/authCheck.jsp'}
return 'https://home.byu.edu/webapp/home-common-web/services/authCheck.jsp'},authCheckCB: function(authCheckResponse){if(!byu.bars.authCheckComplete){byu.bars.authCheckComplete=true;var portalLink=$("PortalLink");if(authCheckResponse.isAuthenticated=="1"){byu.css.addClass(portalLink,"authenticated");portalLink.href="javascript:byu.auth.doRYLogout();"}
else{portalLink.style.display="inline"}
byu.event.fireEvent(window,"loadComplete")}},authCheckDefault: function(){if(!byu.bars.authCheckComplete){byu.bars.authCheckComplete=true;var portalLink=$("PortalLink");portalLink.style.display="inline";byu.event.fireEvent(window,"loadComplete")}},authCheck: function(){if(!byu.util.IsDefined("byuConfig.loadBarsDynamically")||byuConfig.loadBarsDynamically){var params={};var requestUrl=byu.url.setParams(byu.bars.getAuthCheckUrl(),params);byu.ajax.makeXDomainRequest(requestUrl,"byu.bars.authCheckCB");window.setTimeout(byu.bars.authCheckDefault,byu.bars.loadWaitTime)}
else{byu.bars.authCheckDefault()}}};byu.event.observe(window,'load',byu.bars.authCheck);

/* - collage2_suppliment.js - */
// http://www.chem.byu.edu/chemistry/portal_javascripts/collage2_suppliment.js?original=1
function showSearchResultsBox(){if($('QuickSearch').style.display=='none'){new Effect.BlindDown('QuickSearch')}
return false};
function hideSearchResultsBox(){Effect.BlindUp('QuickSearch');return false};var searchControl;var websearch;
function Search_OnLoad(){websearch=new GwebSearch();websearch.setUserDefinedLabel('Search Results');websearch.setSiteRestriction('chem.byu.edu');websearch.setResultSetSize(GSearch.SMALL_RESULTSET);websearch.setNoHtmlGeneration();websearch.setSearchCompleteCallback(window,resultcallback)};
function searchsuggest(){websearch.execute(document.quickFinderForm.filterString.value);query=document.quickFinderForm.filterString.value;new Ajax.Updater('QuickSearchtitlematches','/lib/titlematches.php',{method:'get',parameters:{q:query}})};var resultcallback=function(){if(websearch.results.length==0){document.getElementById('searchcontrol').innerHTML='No Results'} else{var content="<ul>";for(i=0;i<websearch.results.length;i++){content+="<li><a href=\""+websearch.results[i].url+"\">"+websearch.results[i].title+"</a></li>"}
content+="</ul>";document.getElementById('searchcontrol').innerHTML=content}};
function suppliment_init(){document.quickFinderForm.filterString.value='';document.quickFinderForm.filterString.onclick=showSearchResultsBox;document.quickFinderForm.filterString.onkeyup=searchsuggest;byu.menu.level1Elements[0].show();Search_OnLoad()};byu.event.observe(window,"load",suppliment_init);var userLookup={'currentstudent':'Current Student','prospectivestudent':'Prospective Student','faculty':'Faculty &amp; Staff','visitor':'Visitor','default':''};var currentUser='';
function updateWhatsitFrames(usertype){if(usertype==null||userLookup[usertype]==null){usertype='last'}
currentUser=userLookup[usertype];new Ajax.Updater('whatsitarea','/whatsits/ajax/panes.html.php',{method:'get',parameters:{usertype:usertype},onSuccess: function(responseText){if(currentUser){$('personselector').style.display='none';$('welcomeperson').style.display='block';$('welcomerolename').innerHTML=currentUser}}})};
function showselector(){$('welcomeperson').style.display='none';$('dontknowrole').style.display='inline';$('personselector').style.display='block'};byu.event.observe(window,"load",updateWhatsitFrames);
