removed a whole passel of files that do not need to be tracked in the repository
[kcls-web.git] / opac / skin / login1 / js / result_common.js
diff --git a/opac/skin/login1/js/result_common.js b/opac/skin/login1/js/result_common.js
deleted file mode 100644 (file)
index c231ec0..0000000
+++ /dev/null
@@ -1,821 +0,0 @@
-\r
-var recordsHandled = 0;\r
-var recordsCache = [];\r
-var lowHitCount = 4;\r
-var isbnList = '';\r
-var googleBooksLink = true;\r
-buildOrgSel($('holdsCacheSel'), globalOrgTree, 0);\r
-\r
-var resultFetchAllRecords = false;\r
-var resultCompiledSearch = null;\r
-\r
-/* set up the event handlers */\r
-if( findCurrentPage() == MRESULT || findCurrentPage() == RRESULT ) {\r
-       G.evt.result.hitCountReceived.push(resultSetHitInfo);\r
-       G.evt.result.recordReceived.push(resultDisplayRecord, resultAddCopyCounts);\r
-       G.evt.result.copyCountsReceived.push(resultDisplayCopyCounts);\r
-       G.evt.result.allRecordsReceived.push(function(){unHideMe($('tehSideBar'));},function(){unHideMe($('results_view_span'));},resultBuildCaches,\r
-               function(){unHideMe($('result_info_2'))}, fetchGoogleBooksLink, fetchChiliFreshReviews, postResultsCollect);\r
-\r
-       attachEvt('result','lowHits',resultLowHits);\r
-       attachEvt('result','zeroHits',resultZeroHits);\r
-       attachEvt( "common", "locationUpdated", resultSBSubmit );\r
-       /* do this after we have ID's so the rank for mr pages will be correct */\r
-       attachEvt("result", "preCollectRecords", resultPaginate);\r
-}\r
-\r
-function resultSBSubmit(){searchBarSubmit();}\r
-\r
-/* returns the last 'index' postion ocurring in this page */\r
-function resultFinalPageIndex() {\r
-       if(getHitCount() < (getOffset() + getDisplayCount())) \r
-               return getHitCount() - 1;\r
-       return getOffset() + getDisplayCount() - 1;\r
-}\r
-\r
-function plausible_ident(s) {\r
-       s = s.replace(/^\s*(.+)\s*$/, '$1');\r
-       s = s.replace(/^(\S+)\s.*$/, '$1');\r
-       return s;\r
-}\r
-\r
-\r
-/* generic search method */\r
-function resultCollectSearchIds( type, method, handler ) {\r
-\r
-       var sort                = (getSort() == SORT_TYPE_REL) ? null : getSort(); \r
-       var sortdir = (sort) ? ((getSortDir()) ? getSortDir() : SORT_DIR_ASC) : null;\r
-\r
-       var item_type;\r
-       var item_form;\r
-       var args = {};\r
-\r
-       if( type ) {\r
-               var form = parseForm(getForm());\r
-               item_type = form.item_type;\r
-               item_form = form.item_form;\r
-\r
-       } else {\r
-               item_type = (getItemType()) ? getItemType().split(/,/) : null;\r
-               item_form = (getItemForm()) ? getItemForm().split(/,/) : null;\r
-       }\r
-       \r
-       item_type=null;\r
-\r
-       var limit = (resultFetchAllRecords) ? 1000 : getDisplayCount();\r
-\r
-       if( getOffset() > 0 ) {\r
-               if( getHitCount() > 0 && (getOffset() + getDisplayCount()) > getHitCount() ) \r
-                       limit = getHitCount() - getOffset();\r
-       }\r
-\r
-       var lasso = getLasso();\r
-\r
-       if (lasso) args.org_unit = -lasso;\r
-       else args.org_unit = getLocation();\r
-\r
-       args.depth    = getDepth();\r
-       args.limit    = limit;\r
-       args.offset   = getOffset();\r
-       args.visibility_limit = 3000;\r
-    args.default_class = getStype();\r
-\r
-       if(sort) args.sort = sort;\r
-       if(sortdir) args.sort_dir = sortdir;\r
-       if(item_type) args.item_type    = item_type;\r
-       if(item_form) args.item_form    = item_form;\r
-    if(getAvail()) args.available = 1;\r
-       //args.format="marcxml";\r
-\r
-       if(getFacet()) args.facets = getFacet();\r
-\r
-       if(getAudience()) args.audience  = getAudience().split(/,/);\r
-       if(getLitForm()) args.lit_form  = getLitForm().split(/,/);\r
-       if(getLanguage()) args.language = getLanguage().split(/,/);\r
-       if(getBibLevel()) args.bib_level        = getBibLevel().split(/,/);\r
-       if(getCopyLocs()) args.locations        = getCopyLocs().split(/,/);\r
-    if(getPubdBefore()) args.before = getPubdBefore();\r
-    else if(getPubdAfter()) args.after = getPubdAfter();\r
-    else if(getPubdBetween()) args.between = getPubdBetween().split(/,/);\r
-\r
-       _debug('Search args: ' + js2JSON(args));\r
-       _debug('Raw query: ' + getTerm());\r
-\r
-       var req = new Request(method, args, getTerm(), 1);\r
-       req.callback(handler);\r
-       req.send();\r
-}\r
-\r
-\r
-\r
-\r
-\r
-/* set the search result info, number of hits, which results we're \r
-       displaying, links to the next/prev pages, etc. */\r
-function resultSetHitInfo() { \r
-\r
-       var lasso = getLasso();\r
-       if (!lasso) {\r
-               /* tell the user where the results are coming from */\r
-               var baseorg = findOrgUnit(getLocation());\r
-               var depth = getDepth();\r
-               var mydepth = findOrgDepth(baseorg);\r
-               if( findOrgDepth(baseorg) != depth ) {\r
-                       var tmporg = baseorg;\r
-                       while( mydepth > depth ) {\r
-                               mydepth--;\r
-                               tmporg = findOrgUnit(tmporg.parent_ou());\r
-                       }\r
-                       unHideMe($('including_results_for'));\r
-                       try{$('including_results_location').appendChild(text(tmporg.name()));} catch(e){}\r
-               }\r
-       }\r
-\r
-\r
-       try{searchTimer.stop()}catch(e){}\r
-\r
-       //if( findCurrentPage() == MRESULT ) {\r
-       if( findCurrentPage() == MRESULT || \r
-\r
-               (findCurrentPage() == RRESULT &&\r
-                       (\r
-                               getRtype() == RTYPE_TITLE ||\r
-                               getRtype() == RTYPE_AUTHOR ||\r
-                               getRtype() == RTYPE_SUBJECT ||\r
-                               getRtype() == RTYPE_SERIES ||\r
-                               getRtype() == RTYPE_KEYWORD \r
-                       )\r
-\r
-               ) ) {\r
-\r
-               if(getHitCount() <= lowHitCount && getTerm())\r
-                       runEvt('result', 'lowHits');\r
-       }\r
-\r
-       if(getHitCount() == 0) {\r
-               runEvt('result', 'zeroHits');\r
-               return;\r
-       }\r
-\r
-\r
-       var pages = getHitCount() / getDisplayCount();\r
-       if(pages % 1) pages = parseInt(pages) + 1;\r
-\r
-       \r
-\r
-       var cpage = (getOffset()/getDisplayCount()) + 1;\r
-\r
-       G.ui.result.current_page.appendChild(text(cpage));\r
-       G.ui.result.num_pages.appendChild(text(pages)); /* the ) is dumb */\r
-\r
-       $('current_page2').appendChild(text(cpage));\r
-       $('num_pages2').appendChild(text(pages + ")")); /* the ) is dumb */\r
-\r
-       /* set the offsets */\r
-       var offsetEnd = getDisplayCount() + getOffset();  \r
-       if( getDisplayCount() > (getHitCount() - getOffset()))  \r
-               offsetEnd = getHitCount();\r
-\r
-       G.ui.result.offset_end.appendChild(text(offsetEnd));\r
-       G.ui.result.offset_start.appendChild(text(getOffset() + 1));\r
-\r
-       $('offset_end2').appendChild(text(offsetEnd));\r
-       $('offset_start2').appendChild(text(getOffset() + 1));\r
-\r
-       G.ui.result.result_count.appendChild(text(getHitCount()));\r
-       unHideMe(G.ui.result.info);\r
-       unHideMe($('result_numbers1'));\r
-\r
-       $('result_count2').appendChild(text(getHitCount()));\r
-       unHideMe($('result_info_div2'));\r
-}\r
-\r
-function resultLowHits() {\r
-       showCanvas();\r
-       unHideMe($('result_low_hits'));\r
-       if(getHitCount() > 0)\r
-               unHideMe($('result_low_hits_msg'));\r
-\r
-    var words = [];\r
-    for(var key in resultCompiledSearch.searches) \r
-        words.push(resultCompiledSearch.searches[key].term);\r
-\r
-       var sreq = new Request(CHECK_SPELL, words.join(' '));\r
-       sreq.callback(resultSuggestSpelling);\r
-       sreq.send();\r
-\r
-    for(var key in resultCompiledSearch.searches) {\r
-               var areq = new Request(FETCH_CROSSREF, key, resultCompiledSearch.searches[key].term);\r
-               areq.callback(resultLowHitXRef);\r
-               areq.send();\r
-       }\r
-\r
-       if( !(getForm() == null || getForm() == 'all' || getForm() == "") ) {\r
-               var a = {};\r
-               a[PARAM_FORM] = "all";\r
-               $('low_hits_remove_format_link').setAttribute('href',buildOPACLink(a));\r
-               unHideMe($('low_hits_remove_format'));\r
-       }\r
-\r
-       resultSuggestSearchClass();\r
-\r
-       if(getTerm()) resultExpandSearch(); /* advanced search */\r
-}\r
-\r
-var lowHitsXRefSet = {};\r
-var lowHitsXRefLink;\r
-var lowHitsXRefLinkParent;\r
-function resultLowHitXRef(r) {\r
-       if(!lowHitsXRefLink){\r
-               lowHitsXRefLinkParent = $('low_hits_xref_link').parentNode;\r
-               lowHitsXRefLink = lowHitsXRefLinkParent.removeChild($('low_hits_xref_link'));\r
-       }\r
-       var res = r.getResultObject();\r
-       var arr = res.from;\r
-       arr.concat(res.also);\r
-       if(arr && arr.length > 0) {\r
-               unHideMe($('low_hits_cross_ref'));\r
-               var word;\r
-               var c = 0;\r
-               while( word = arr.shift() ) {\r
-\r
-            if (lowHitsXRefSet[word] == 1) continue;\r
-            lowHitsXRefSet[word] = 1;\r
-\r
-                       if(c++ > 20) break;\r
-                       var a = {};\r
-                       a[PARAM_TERM] = word;\r
-                       var template = lowHitsXRefLink.cloneNode(true);\r
-                       template.setAttribute('href',buildOPACLink(a));\r
-                       template.appendChild(text(word));\r
-                       lowHitsXRefLinkParent.appendChild(template);\r
-                       lowHitsXRefLinkParent.appendChild(text(' '));\r
-               }\r
-       }\r
-}\r
-\r
-function resultZeroHits() {\r
-       hideMe($('result_header'));\r
-       hideMe($('result_table_div'));\r
-       hideMe($('statusbar'));\r
-       $('rresults_page').style.width="690px";\r
-       unHideMe($('zero_search_hits'));\r
-       $('zero_hits_term').innerHTML = getTerm();\r
-       //showCanvas();\r
-       unHideMe($('result_low_hits'));\r
-       unHideMe($('result_zero_hits_msg'));\r
-       if(getTerm()) resultExpandSearch(); /* advanced search */\r
-}\r
-\r
-function resultExpandSearch() {\r
-       var top = findOrgDepth(globalOrgTree);\r
-       if(getDepth() == top) return;\r
-       unHideMe($('low_hits_expand_range'));\r
-       var par = $('low_hits_expand_link').parentNode;\r
-       var template = par.removeChild($('low_hits_expand_link'));\r
-\r
-       var bottom = getDepth();\r
-       while( top < bottom ) {\r
-               var a = {};\r
-               a[PARAM_DEPTH] = top;\r
-               var temp = template.cloneNode(true);\r
-               temp.appendChild(text(findOrgTypeFromDepth(top).opac_label()))\r
-               temp.setAttribute('href',buildOPACLink(a));\r
-               par.appendChild(temp);\r
-               top++;\r
-       }\r
-}\r
-\r
-function resultSuggestSearchClass() {\r
-       var stype = getStype();\r
-       if(stype == STYPE_KEYWORD) return;\r
-       var a = {}; var ref;\r
-       unHideMe($('low_hits_search_type'));\r
-       if(stype != STYPE_TITLE) {\r
-               ref = $('low_hits_title_search');\r
-               unHideMe(ref);\r
-               a[PARAM_STYPE] = STYPE_TITLE;\r
-               ref.setAttribute('href',buildOPACLink(a));\r
-       }\r
-       if(stype != STYPE_AUTHOR) {\r
-               ref = $('low_hits_author_search');\r
-               unHideMe(ref);\r
-               a[PARAM_STYPE] = STYPE_AUTHOR;\r
-               ref.setAttribute('href',buildOPACLink(a));\r
-       }\r
-       if(stype != STYPE_SUBJECT) {\r
-               ref = $('low_hits_subject_search');\r
-               unHideMe(ref);\r
-               a[PARAM_STYPE] = STYPE_SUBJECT;\r
-               ref.setAttribute('href',buildOPACLink(a));\r
-       }\r
-       if(stype != STYPE_KEYWORD) {\r
-               ref = $('low_hits_keyword_search');\r
-               unHideMe(ref);\r
-               a[PARAM_STYPE] = STYPE_KEYWORD;\r
-               ref.setAttribute('href',buildOPACLink(a));\r
-       }\r
-       if(stype != STYPE_SERIES) {\r
-               ref = $('low_hits_series_search');\r
-               unHideMe(ref);\r
-               a[PARAM_STYPE] = STYPE_SERIES;\r
-               ref.setAttribute('href',buildOPACLink(a));\r
-       }\r
-}\r
-\r
-function resultSuggestSpelling(r) {\r
-       var res = r.getResultObject();\r
-       var phrase = getTerm();\r
-       var words = phrase.split(/ /);\r
-\r
-       var newterm = "";\r
-\r
-       for( var w = 0; w < words.length; w++ ) {\r
-               var word = words[w];\r
-               var blob = grep(res, function(i){return (i.word == word);});\r
-               if( blob ) blob = blob[0];\r
-               else continue;\r
-               if( blob.word == word ) {\r
-                       if( blob.suggestions && blob.suggestions[0] ) {\r
-                               newterm += " " + blob.suggestions[0];\r
-                               unHideMe($('did_you_mean'));\r
-                       } else {\r
-                               newterm += " " + word;\r
-                       }\r
-               }\r
-       }\r
-       var cell = $('zero_hits_suggestions');\r
-       var s = res[0].suggestions;\r
-       for(var i in s) {\r
-               if(i==0) continue;\r
-               if(i==10) break; //limit suggestions\r
-               cell.appendChild(elem('a',{href:buildOPACLink({t:s[i]})},s[i]));\r
-               cell.appendChild(elem('br'));\r
-       }\r
-       if(newterm.toLowerCase().trim()!=getTerm().toLowerCase().trim()) unHideMe($('zero_hits_label1'));\r
-       if(res[0].suggestions && res[0].suggestions.length>0) unHideMe($('zero_hits_label2'));\r
-\r
-       var arg = {};\r
-       arg[PARAM_TERM] = newterm;\r
-       $('spell_check_link').setAttribute('href', buildOPACLink(arg));\r
-       $('spell_check_link').appendChild(text(newterm));\r
-}\r
-\r
-\r
-function resultPaginate() {\r
-       var o = getOffset();\r
-       var args = {};\r
-\r
-       if( !(  ((o) + getDisplayCount()) >= getHitCount()) ) {\r
-\r
-               args[PARAM_OFFSET]      = o + getDisplayCount();\r
-               args[PARAM_SORT]                = SORT;\r
-               args[PARAM_SORT_DIR] = SORT_DIR;\r
-               args[PARAM_RLIST]               = new CGI().param(PARAM_RLIST);\r
-\r
-               G.ui.result.next_link.setAttribute("href", buildOPACLink(args)); \r
-               addCSSClass(G.ui.result.next_link, config.css.result.nav_active);\r
-\r
-               $('next_link2').setAttribute("href", buildOPACLink(args)); \r
-               addCSSClass($('next_link2'), config.css.result.nav_active);\r
-\r
-               args[PARAM_OFFSET] = getHitCount() - (getHitCount() % getDisplayCount());\r
-\r
-               /* when hit count is divisible by display count, we have to adjust */\r
-               if( getHitCount() % getDisplayCount() == 0 ) \r
-                       args[PARAM_OFFSET] -= getDisplayCount();\r
-       }\r
-\r
-       if( o > 0 ) {\r
-\r
-               var args = {};\r
-               args[PARAM_SORT]                = SORT;\r
-               args[PARAM_SORT_DIR] = SORT_DIR;\r
-               args[PARAM_RLIST]               = new CGI().param(PARAM_RLIST);\r
-\r
-               args[PARAM_OFFSET] = o - getDisplayCount();\r
-               G.ui.result.prev_link.setAttribute( "href", buildOPACLink(args)); \r
-               addCSSClass(G.ui.result.prev_link, config.css.result.nav_active);\r
-\r
-               $('prev_link2').setAttribute( "href", buildOPACLink(args)); \r
-               addCSSClass($('prev_link2'), config.css.result.nav_active);\r
-\r
-               args[PARAM_OFFSET] = 0;\r
-               G.ui.result.home_link.setAttribute( "href", buildOPACLink(args)); \r
-               addCSSClass(G.ui.result.home_link, config.css.result.nav_active);\r
-       }\r
-       \r
-       // pagination - google style\r
-       var pages = getHitCount() / getDisplayCount();\r
-       var cpage = (getOffset()/getDisplayCount()) + 1;\r
-       var start = 0;\r
-       pages = Math.floor(pages);\r
-       cpage = Math.floor(cpage);\r
-       var end = pages>9?8:pages;\r
-       \r
-       // narrow our window of visible page numbers to 9 - sets start and end pages for the loop\r
-       if(cpage>4) {\r
-               start = cpage-5;\r
-               end = cpage+3>pages?pages:cpage+3;\r
-               if(cpage+3>pages) { start = (cpage-5)-(cpage-pages+3); }\r
-               if(start<0) start=0;\r
-       }\r
-       \r
-       if(pages>0) {\r
-               var span = $('nav_pages');\r
-               var span2 = $('nav_pages2');\r
-               for(var i=start; i<=end; i++) {\r
-                       var temp = elem('span',{style:'padding:0px 3px;'});\r
-                       temp.style.padding='0px 3px';\r
-                       args[PARAM_OFFSET] = getDisplayCount()*i;\r
-                       if(i==cpage-1) { var link = text(i+1); temp.style.color="red" }\r
-                               else var link = elem('a',{href:buildOPACLink(args)},i+1);\r
-                       temp.appendChild(link);\r
-                       span.appendChild(temp);\r
-                       span2.appendChild(temp.cloneNode(true));\r
-               }\r
-       }\r
-       //////\r
-\r
-       if(getDisplayCount() < getHitCount()) {\r
-               unHideMe($('start_end_links_span'));\r
-               unHideMe($('start_end_links_span2'));\r
-   }\r
-\r
-       showCanvas();\r
-       try{searchTimer.stop()}catch(e){}\r
-}\r
-\r
-function buildunAPISpan (span, type, id) {\r
-       if(!span || !type || !id) return;\r
-       var cgi = new CGI();\r
-       var d = new Date();\r
-\r
-       addCSSClass(span,'unapi-id');\r
-\r
-       span.setAttribute(\r
-               'title',\r
-               'tag:' + cgi.server_name + ',' +\r
-                       d.getFullYear() +\r
-                       ':' + type + '/' + id\r
-       );\r
-}\r
-\r
-function unhideGoogleBooksLink (data) {\r
-    for ( var i in data ) {\r
-        //if (data[i].preview == 'noview') continue;\r
-\r
-        var gbspan = $n(document.documentElement, 'googleBooksLink-' + i);\r
-        var gba = $n(gbspan, "googleBooks-link");\r
-\r
-        gba.setAttribute(\r
-            'href',\r
-            data[i].info_url\r
-        );\r
-        removeCSSClass( gbspan, 'hide_me' );\r
-    }\r
-}\r
-\r
-/* display the record info in the record display table 'pos' is the \r
-               zero based position the record should have in the display table */\r
-function resultDisplayRecord(rec, pos, is_mr) {\r
-       //fieldmapper.IDL.load(['mvr']);\r
-       if(rec == null || rec.__c) rec = new mvr(); /* so the page won't die if there was an error */\r
-       recordsHandled++;\r
-       recordsCache.push(rec);\r
-\r
-       var r = table.rows[pos + 1];\r
-       r.id += "_" + rec.doc_id();\r
-    var currentISBN = cleanISBN(rec.isbn());\r
-\r
-    if (googleBooksLink) {\r
-           var gbspan = $n(r, "googleBooksLink");\r
-        if (currentISBN && gbspan) {\r
-            gbspan.setAttribute('name', gbspan.getAttribute('name') + '-' + currentISBN );\r
-            if (isbnList) isbnList += ', ';\r
-            isbnList += currentISBN;\r
-        }\r
-    }\r
-\r
-    if (currentISBN && chilifresh && chilifresh != '(none)') {\r
-        var cfrow = $n(r, "chilifreshReview");\r
-        if (cfrow) {\r
-            removeCSSClass( cfrow, 'hide_me' );\r
-        }\r
-        var cflink = $n(r, "chilifreshReviewLink");\r
-        if (cflink) {\r
-            cflink.setAttribute(\r
-                'id',\r
-                'isbn_' + currentISBN\r
-            );\r
-        }\r
-        var cfdiv = $n(r, "chilifreshReviewResult");\r
-        if (cfdiv) {\r
-            cfdiv.setAttribute(\r
-                'id',\r
-                'chili_review_' + currentISBN\r
-            )\r
-        }\r
-    }\r
-\r
-       var pic = $n(r, config.names.result.item_jacket);\r
-       if (!pic) pic = elem("img");\r
-       //pic.setAttribute("src", buildISBNSrc(currentISBN));\r
-       pic.setAttribute("width",55);\r
-\r
-       var title_link = $n(r, config.names.result.item_title);\r
-       var author_link = $n(r, config.names.result.item_author);\r
-       var row_count = $n(r,"results_row_count");\r
-       var myListLink = $n(r,"result_my_list_link");\r
-       var reviewsLink = $n(r, 'reviews_and_more');\r
-       if(currentISBN) {\r
-               reviewsLink.href="http://contentcafe2.btol.com/ContentCafeClient/ContentCafe.aspx?UserID=KC72927&Password=CC14647&ItemKey="+currentISBN+"&Options=Y";\r
-       }\r
-\r
-       if( is_mr )  {\r
-               var onlyrec = onlyrecord[ getOffset() + pos ];\r
-               if(onlyrec) {\r
-                       buildunAPISpan($n(r,'unapi'), 'biblio-record_entry', onlyrec);\r
-\r
-                       var args = {};\r
-                       args.page = RDETAIL;\r
-                       args[PARAM_OFFSET] = 0;\r
-                       args[PARAM_RID] = onlyrec;\r
-                       args[PARAM_MRID] = rec.doc_id();\r
-                       pic.parentNode.setAttribute("href", buildOPACLink(args));\r
-                       title_link.setAttribute("href", buildOPACLink(args));\r
-                       title_link.appendChild(text(normalize(truncate(rec.title(), 65))));\r
-                       \r
-               } else {\r
-                       buildunAPISpan($n(r,'unapi'), 'metabib-metarecord', rec.doc_id());\r
-\r
-                       buildTitleLink(rec, title_link); \r
-                       var args = {};\r
-                       args.page = RRESULT;\r
-                       args[PARAM_OFFSET] = 0;\r
-                       args[PARAM_MRID] = rec.doc_id();\r
-                       pic.parentNode.setAttribute("href", buildOPACLink(args));\r
-               }\r
-\r
-       } else {\r
-               buildunAPISpan($n(r,'unapi'), 'biblio-record_entry', rec.doc_id());\r
-\r
-               if(title_link) buildTitleDetailLink(rec, title_link); \r
-               var args = {};\r
-               args.page = RDETAIL;\r
-               args[PARAM_OFFSET] = 0;\r
-               args[PARAM_RID] = rec.doc_id();\r
-               pic.parentNode.setAttribute("href", buildOPACLink(args));\r
-\r
-               unHideMe($n(r,'place_hold_span'));\r
-               //$n(r,'place_hold_link').setAttribute('href','javascript:holdsDrawEditor({record:"'+rec.doc_id()+'",type:"T"});');\r
-        $n(r,'place_hold_link').onclick = function() { resultDrawHoldsWindow(rec.doc_id(), 'T'); }\r
-\r
-               /** BILL */\r
-               //dojo.require('openils.BibTemplate');  // -- this causes redundant requests per record - put in js_common.xml instead\r
-               setTimeout(\r
-                   function () { \r
-                       //new openils.BibTemplate({root : $n(r, 'bib_cn_list'), record : rec.doc_id()}).render();\r
-                       new openils.BibTemplate({root : r, record : rec.doc_id()}).render();\r
-                    },\r
-                   0\r
-               );\r
-               /** BILL */\r
-       }\r
-       \r
-       if(row_count) row_count.innerHTML = (pos+1)+getOffset();\r
-       if(myListLink) myListLink.setAttribute("href","javascript:addMyList("+rec.doc_id()+");")\r
-       title_link.setAttribute("title",rec.title());\r
-       buildSearchLink(STYPE_AUTHOR, rec.author(), author_link);\r
-\r
-       if(! is_mr ) {\r
-               $n(r, "results_pub_date").innerHTML = (!rec.pubdate())?"":rec.pubdate();\r
-               $n(r, "results_pub").innerHTML = (!rec.publisher())?"":rec.publisher();\r
-               $n(r, "results_isbn").innerHTML = (!currentISBN)?"":currentISBN;\r
-               $n(r, "results_edition").innerHTML = (!rec.edition())?"":rec.edition();\r
-               $n(r, "results_phys_desc").innerHTML = (!rec.physical_description())?"":rec.physical_description();\r
-               if(isInAnonList(parseInt(rec.doc_id()))) { \r
-                       $n(r, 'result_my_list_link').innerHTML = '';\r
-                       $n(r, 'result_my_list_link').appendChild(elem('img', {src:'/opac/skin/kcls/graphics/add_mylist_sel.gif'}, null));\r
-               }\r
-               \r
-               if(!isNull(rec.edition()))      {\r
-                       unHideMe( $n(r, "result_table_extra_span"));\r
-                       $n(r, "result_table_edition_span").appendChild( text( rec.edition()) );\r
-               }\r
-               if(!isNull(rec.pubdate())) {\r
-                       unHideMe( $n(r, "result_table_extra_span"));\r
-                       unHideMe($n(r, "result_table_pub_span"));\r
-                       $n(r, "result_table_pub_span").appendChild( text( rec.pubdate() ));\r
-               }\r
-               if(!isNull(rec.publisher()) ) {\r
-                       unHideMe( $n(r, "result_table_extra_span"));\r
-                       unHideMe($n(r, "result_table_pub_span"));\r
-                       $n(r, "result_table_pub_span").appendChild( text( " " + rec.publisher() ));\r
-               }\r
-\r
-               if(!isNull(rec.physical_description()) ) {\r
-                       unHideMe( $n(r, "result_table_extra_span"));\r
-                       var t = " " + rec.physical_description();\r
-                       //$n(r, "result_table_phys_span").appendChild( text(t.replace(/:.*/g,'')));\r
-                       $n(r, "result_table_phys_span").appendChild( text(t));\r
-               }\r
-       }\r
-\r
-       resultBuildFormatIcons( r, rec, is_mr );\r
-       unHideMe(r);\r
-       runEvt("result", "recordDrawn", rec.doc_id(), title_link);\r
-\r
-       \r
-       if(resultPageIsDone())  {\r
-               runEvt('result', 'allRecordsReceived', recordsCache);\r
-       }\r
-}\r
-\r
-function resultDrawHoldsWindow(hold_target, hold_type) {\r
-    var src = location.href;\r
-\r
-    if(forceLoginSSL && src.match(/^http:/)) {\r
-\r
-        src = src.replace(/^http:/, 'https:');\r
-\r
-        if(src.match(/&hold_target=/)) {\r
-            src.replace(/&hold_target=(\d+)/, hold_target);\r
-\r
-        } else {\r
-            src += '&hold_target=' + hold_target;\r
-        }\r
-\r
-        location.href = src;\r
-\r
-    } else {\r
-        holdsDrawEditor({record:hold_target, type:hold_type});\r
-    }\r
-}\r
-\r
-\r
-function _resultFindRec(id) {\r
-       for( var i = 0; i != recordsCache.length; i++ ) {\r
-               var rec = recordsCache[i];\r
-               if( rec && rec.doc_id() == id )\r
-                       return rec;\r
-       }\r
-       return null;\r
-}\r
-\r
-\r
-function resultBuildFormatIcons( row, rec, is_mr ) {\r
-       var ress = "";\r
-       var imgEl = $n(row, "result_mat_type");\r
-       if(!imgEl) return;\r
-       \r
-       ress = getMarcData(rec.doc_id(),"998","d");\r
-       if(setFormatIcon(imgEl, ress)) unHideMe(imgEl);\r
-\r
-}\r
-\r
-function fetchGoogleBooksLink () {\r
-       return;\r
-    if (isbnList && googleBooksLink) {\r
-        var scriptElement = document.createElement("script");\r
-        scriptElement.setAttribute("id", "jsonScript");\r
-        scriptElement.setAttribute("src",\r
-            "https://books.google.com/books?bibkeys=" + \r
-            escape(isbnList) + "&jscmd=viewapi&callback=unhideGoogleBooksLink");\r
-        scriptElement.setAttribute("type", "text/javascript");\r
-        // make the request to Google Book Search\r
-        document.documentElement.firstChild.appendChild(scriptElement);\r
-    }\r
-}\r
-\r
-function resultPageIsDone(pos) {\r
-\r
-       return (recordsHandled == getDisplayCount() \r
-               || recordsHandled + getOffset() == getHitCount());\r
-}\r
-\r
-var resultCCHeaderApplied = false;\r
-\r
-/* -------------------------------------------------------------------- */\r
-/* dynamically add the copy count rows based on the org type 'countsrow' \r
-       is the row into which we will add TD's to hold the copy counts \r
-       This code generates copy count cells with an id of\r
-       'copy_count_cell_<depth>_<pagePosition>'  */\r
-function resultAddCopyCounts(rec, pagePosition) {\r
-\r
-       var r = table.rows[pagePosition + 1];\r
-       var countsrow = $n(r, config.names.result.counts_row );\r
-       var ccell = $n(countsrow, config.names.result.count_cell);\r
-\r
-       var nodes = orgNodeTrail(findOrgUnit(getLocation()));\r
-       var node = nodes[0];\r
-       var type = findOrgType(node.ou_type());\r
-       ccell.id = "copy_count_cell_" + type.depth() + "_" + pagePosition;\r
-       ccell.title = type.opac_label();\r
-       //addCSSClass(ccell, config.css.result.cc_cell_even);\r
-\r
-       var lastcell = ccell;\r
-       var lastheadcell = null;\r
-\r
-       var cchead = null;\r
-       var ccheadcell = null;\r
-       if(!resultCCHeaderApplied && !getLasso()) {\r
-               ccrow = $('result_thead_row');\r
-               ccheadcell =  ccrow.removeChild($n(ccrow, "result_thead_ccell"));\r
-               var t = ccheadcell.cloneNode(true);\r
-               lastheadcell = t;\r
-               t.appendChild(text(type.opac_label()));\r
-               ccrow.appendChild(t);\r
-               resultCCHeaderApplied = true;\r
-       }\r
-}\r
-\r
-/* collect copy counts for a record using method 'methodName' */\r
-function resultCollectCopyCounts(rec, pagePosition, methodName) {\r
-       if(rec == null || rec.doc_id() == null) return;\r
-\r
-       var loc = getLasso();\r
-       if (loc) loc = -loc;\r
-       else loc= getLocation();\r
-\r
-       var req = new Request(methodName, loc, rec.doc_id(), getForm() );\r
-       req.request.userdata = [ rec, pagePosition ];\r
-       req.callback(resultHandleCopyCounts);\r
-       req.send();\r
-}\r
-\r
-function resultHandleCopyCounts(r) {\r
-       runEvt('result', 'copyCountsReceived', r.userdata[0], r.userdata[1], r.getResultObject()); \r
-}\r
-\r
-\r
-/* XXX Needs to understand Lasso copy counts... */\r
-/* display the collected copy counts */\r
-function resultDisplayCopyCounts(rec, pagePosition, copy_counts) {\r
-       if(copy_counts == null || rec == null) return;\r
-       var r = table.rows[pagePosition + 1];\r
-       var cnt_avail = $n(r, "copy_count_avail");\r
-       if(cnt_avail && copy_counts[0]) {\r
-               /*if(copy_counts[0].available)*/ cnt_avail.innerHTML = copy_counts[0].available+' cop'+(copy_counts[0].available==1?'y':'ies')+' available';\r
-               //else {\r
-                       fieldmapper.standardRequest(['open-ils.circ','open-ils.circ.bre.holds.count'], {async:true, params:[rec.doc_id(), r.id], oncomplete: drawHoldsCount});\r
-                       $n(r, 'copy_holds2').innerHTML = ' on first copy returned of '+copy_counts[0].count+' cop'+(copy_counts[0].count==1?'y':'ies');\r
-               //}\r
-       }\r
-}\r
-\r
-function drawHoldsCount(r) {\r
-       if(!r.params[1]) return;\r
-       var row = $(r.params[1]);\r
-       if(!row) return;\r
-       var span = $n(row, 'copy_holds');\r
-       var resp = r.recv().content();\r
-       span.innerHTML = resp+' hold'+(resp==1?'':'s')+' ';\r
-}\r
-\r
-function showDetailedInfo(bool) {\r
-       var simple_lbl  = $('results_simple_lbl');\r
-       var simple_link = $('results_simple_link');\r
-       var detail_lbl  = $('results_detail_lbl');\r
-       var detail_link = $('results_detail_link');\r
-       if(!simple_lbl || !simple_link || !detail_lbl || !detail_link) return;\r
-       \r
-       var tbls = dojo.query('.results_info_table',$('result_table'));\r
-       if(bool) {\r
-         tbls.forEach(function(node, index, arr){\r
-               unHideMe($n(node,'results_pub_tr'));\r
-               unHideMe($n(node,'results_isbn_tr'));\r
-               unHideMe($n(node,'results_edition_tr'));\r
-               unHideMe($n(node,'results_phys_desc_tr'));\r
-         });\r
-         hideMe(simple_lbl);\r
-         hideMe(detail_link);\r
-         unHideMe(simple_link);\r
-         unHideMe(detail_lbl);\r
-       } else {\r
-         tbls.forEach(function(node, index, arr){\r
-               hideMe($n(node,'results_pub_tr'));\r
-               hideMe($n(node,'results_isbn_tr'));\r
-               hideMe($n(node,'results_edition_tr'));\r
-               hideMe($n(node,'results_phys_desc_tr'));\r
-         });\r
-         unHideMe(simple_lbl);\r
-         unHideMe(detail_link);\r
-         hideMe(simple_link);\r
-         hideMe(detail_lbl);\r
-       }\r
-}\r
-\r
-function fetchChiliFreshReviews() {\r
-    if (chilifresh && chilifresh != '(none)') {\r
-        try { chili_init(); } catch(E) { dump(E + '\n'); }\r
-    }\r
-}\r
-\r
-function postResultsCollect() {\r
-       var it = getCacheValue('showHoldEditor');\r
-       if(it) {\r
-               setCacheValue('showHoldEditor', null);\r
-               holdsDrawEditor({record:it.record, type:it.type});\r
-       }\r
-}\r