--- /dev/null
+/* set up the colors in the sidebar \r
+ Disables/Enables certain components based on various state data */\r
+\r
+attachEvt("common", "init", initSideBar);\r
+//attachEvt("common", "init", setSidebarLinks);\r
+//attachEvt("common", "unload", sidebarTreesFree );\r
+\r
+function prevRResults() {\r
+ return buildOPACLink({ page : RRESULT });\r
+}\r
+\r
+function prevMResults() {\r
+ return buildOPACLink({ page : MRESULT });\r
+}\r
+\r
+function initSideBar() {\r
+ var page = findCurrentPage();\r
+\r
+ if( page == MRESULT ) \r
+ unHideMe($("sidebar_results_wrapper"));\r
+\r
+ if( page == RRESULT ) {\r
+ unHideMe($("sidebar_results_wrapper"));\r
+ unHideMe(G.ui.sidebar[MRESULT]);\r
+ if( getRtype() == RTYPE_MRID )\r
+ $("sidebar_title_group_results").setAttribute("href", prevMResults());\r
+ else hideMe($("sidebar_title_group_results").parentNode);\r
+ }\r
+\r
+ /* if( page == RDETAIL ) {\r
+ unHideMe($("sidebar_results_wrapper"));\r
+ unHideMe(G.ui.sidebar[MRESULT]);\r
+ if(getRtype())\r
+ $("sidebar_title_results").setAttribute("href", prevRResults());\r
+ unHideMe(G.ui.sidebar[RRESULT]);\r
+\r
+ if( getRtype() == RTYPE_MRID )\r
+ $("sidebar_title_group_results").setAttribute("href", prevMResults());\r
+ else hideMe($("sidebar_title_group_results").parentNode);\r
+ } */\r
+\r
+ unHideMe(G.ui.sidebar[page]);\r
+ addCSSClass(G.ui.sidebar[page], "sidebar_item_active");\r
+\r
+ /* if we're logged in, show it and replace the Login link with the Logout link */\r
+ if(grabUser()) {\r
+ //G.ui.sidebar.username_dest.appendChild(text(G.user.usrname()));\r
+ //unHideMe(G.ui.sidebar.logoutbox);\r
+ unHideMe(G.ui.sidebar.logged_in_as);\r
+ hideMe(G.ui.sidebar.loginbox);\r
+ }\r
+\r
+ if(G.ui.sidebar.login) G.ui.sidebar.login.onclick = initLogin;\r
+ //if(G.ui.sidebar.logout) G.ui.sidebar.logout.onclick = doLogout; \r
+\r
+ if(isXUL()) hideMe( G.ui.sidebar.logoutbox );\r
+}\r
+\r
+/* sets up the login ui components */\r
+var loginBoxVisible = false;\r
+function loginDance() {\r
+ var rem = $('remember_me');\r
+ if(rem) rem = rem.checked; else rem = false;\r
+ rem = rem?"persist":"opac";\r
+ \r
+ if(doLogin(true, rem)) {\r
+\r
+ if(!strongPassword( G.ui.login.password.value ) ) {\r
+\r
+ cookieManager.write(COOKIE_SES, "");\r
+ hideMe($('login_box'));\r
+ unHideMe($('change_pw_table'));\r
+ $('change_pw_current').focus();\r
+ $('change_pw_button').onclick = changePassword;\r
+ setEnterFunc($('change_pw_2'), changePassword);\r
+\r
+ } else {\r
+ loggedInOK();\r
+ }\r
+ }\r
+}\r
+\r
+function loggedInOK() {\r
+ showCanvas();\r
+ //G.ui.sidebar.username_dest.appendChild(text(G.user.usrname()));\r
+ //unHideMe(G.ui.sidebar.logoutbox);\r
+ unHideMe(G.ui.sidebar.logged_in_as);\r
+ hideMe(G.ui.sidebar.loginbox);\r
+ runEvt( 'common', 'loggedIn');\r
+ \r
+ var org = G.user.prefs[PREF_DEF_LOCATION];\r
+ if(!org) org = G.user.home_ou();\r
+\r
+ var depth = G.user.prefs[PREF_DEF_DEPTH];\r
+ if(! ( depth && depth <= findOrgDepth(org)) ) \r
+ depth = findOrgDepth(org);\r
+\r
+ runEvt( "common", "locationChanged", org, depth);\r
+}\r
+\r
+\r
+function changePassword() {\r
+\r
+ var pc = $('change_pw_current').value;\r
+ var p1 = $('change_pw_1').value;\r
+ var p2 = $('change_pw_2').value;\r
+\r
+ if( p1 != p2 ) {\r
+ alert($('pw_no_match').innerHTML);\r
+ return;\r
+ }\r
+\r
+ if(!strongPassword(p2, true) ) return;\r
+\r
+ var req = new Request(UPDATE_PASSWORD, G.user.session, p2, pc );\r
+ req.send(true);\r
+ if(req.result()) {\r
+ alert($('pw_update_successful').innerHTML);\r
+ loggedInOK();\r
+ }\r
+}\r
+\r
+var pwRegexSetting;\r
+function strongPassword(pass, alrt) {\r
+\r
+ /* first, let's see if there is a configured regex */\r
+ if(!pwRegexSetting) {\r
+ var regex = fetchOrgSettingDefault(G.user.home_ou(), 'global.password_regex');\r
+ if(regex) {\r
+ if(pass.match(new RegExp(regex))) {\r
+ return true;\r
+ } else {\r
+ if(alrt)\r
+ alert($('pw_not_strong').innerHTML);\r
+ return false;\r
+ }\r
+ }\r
+ }\r
+\r
+ /* no regex configured, use the default */\r
+\r
+ var good = false;\r
+\r
+ do {\r
+\r
+ if(pass.length < 7) break;\r
+ if(!pass.match(/.*\d+.*/)) break;\r
+ if(!pass.match(/.*[A-Za-z]+.*/)) break;\r
+ good = true;\r
+\r
+ } while(0);\r
+\r
+ if(!good && alrt) alert($('pw_not_strong').innerHTML);\r
+ return good;\r
+}\r
+\r
+function initLogin() {\r
+ if(G.ui.login.button) G.ui.login.button.onclick = function(){$('login_form_submit').click();};\r
+ if(dojo.isIE) {\r
+ if(G.ui.login.username) G.ui.login.username.onkeydown = function(evt) {if(userPressedEnter(evt)) $('login_form_submit').click();};\r
+ if(G.ui.login.password) G.ui.login.password.onkeydown = function(evt) {if(userPressedEnter(evt)) $('login_form_submit').click();};\r
+ }\r
+\r
+ //if(findCurrentPage()==MYOPAC) {\r
+ swapCanvas(G.ui.login.box);\r
+ try{G.ui.login.username.focus();}catch(e){}\r
+ //}\r
+\r
+ G.ui.login.cancel.onclick = function(evt) { \r
+ showCanvas();\r
+ runEvt("common", "loginCanceled");\r
+ };\r
+\r
+\r
+ if(findCurrentPage() == MYOPAC) \r
+ G.ui.login.cancel.onclick = goHome;\r
+}\r
+\r
+function setSidebarLinks() {\r
+ G.ui.sidebar.home_link.setAttribute("href", buildOPACLink({page:HOME}));\r
+ G.ui.sidebar.advanced_link.setAttribute("href", buildOPACLink({page:ADVANCED}));\r
+ G.ui.sidebar.myopac_link.setAttribute("href", buildOPACLink({page:MYOPAC}, false, true));\r
+}\r
+\r
+function sidebarTreesFree() {\r
+ return;\r
+ removeChildren($(subjectSidebarTree.rootid));\r
+ removeChildren($(authorSidebarTree.rootid));\r
+ removeChildren($(seriesSidebarTree.rootid));\r
+ subjectSidebarTree = null;\r
+ authorSidebarTree = null;\r
+ seriesSidebarTree = null;\r
+}\r
+\r
+\r
+\r
+\r
+/* --------------------------------------------------------------------------------- */\r
+/* Code to support GALILEO links for PINES. Fails gracefully\r
+/* --------------------------------------------------------------------------------- */\r
+attachEvt('common', 'init', buildEGGalLink);\r
+function buildEGGalLink() {\r
+\r
+ /* we're in a lib, nothing to do here */\r
+ if( getOrigLocation() ) return;\r
+ if(!$('eg_gal_link')) return;\r
+\r
+ //var link = 'http://demo.galib.uga.edu/express?pinesid=';\r
+ var link = 'http://www.galileo.usg.edu/express?pinesid=';\r
+ if(grabUser()) {\r
+ $('eg_gal_link').setAttribute('href', link + G.user.session);\r
+ return;\r
+ }\r
+\r
+ $('eg_gal_link').setAttribute('href', 'javascript:void(0);');\r
+ $('eg_gal_link').setAttribute('target', '');\r
+ $('eg_gal_link').onclick = function() {\r
+ /* we're not logged in. go ahead and login */\r
+ detachAllEvt('common','locationChanged');\r
+ detachAllEvt('common','loggedIn');\r
+ attachEvt('common','loggedIn', function() { goTo(link + G.user.session); })\r
+ initLogin();\r
+ };\r
+}\r
+/* --------------------------------------------------------------------------------- */\r
+\r
+\r