2 jQuery.extend({uniqueArray:function(array){
3 return $.grep(array, function(el, index) {
4 return index === $.inArray(el, array);
8 function removeByValue(arr, val) {
9 for(var i=0; i<arr.length; i++) {
17 function paramOfUrl( url, param ) {
18 param = param.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
19 var regexS = "[\\?&]"+param+"=([^&#]*)";
20 var regex = new RegExp( regexS );
21 var results = regex.exec( url );
22 if( results == null ) {
29 function addBibToContext( bibnum ) {
30 bibnum = parseInt(bibnum, 10);
31 var bibnums = getContextBiblioNumbers();
33 setContextBiblioNumbers( bibnums );
34 setContextBiblioNumbers( $.uniqueArray( bibnums ) );
37 function delBibToContext( bibnum ) {
38 var bibnums = getContextBiblioNumbers();
39 removeByValue( bibnums, bibnum );
40 setContextBiblioNumbers( $.uniqueArray( bibnums ) );
43 function setContextBiblioNumbers( bibnums ) {
44 $.cookie('bibs_selected', JSON.stringify( bibnums ));
47 function getContextBiblioNumbers() {
48 var r = $.cookie('bibs_selected');
56 function resetSearchContext() {
57 setContextBiblioNumbers( new Array() );
60 $(document).ready(function(){
61 // forms with action leading to search
62 $("form[action*='search.pl']").submit(function(){
65 // any link to launch a search except navigation links
66 $("[href*='search.pl?']").not(".nav").not('.searchwithcontext').click(function(){
69 // any link to a detail page from the results page.
70 $("#bookbag_form a[href*='detail.pl?']").click(function(){