1 //////////////////////////////////////////////////////////////////////////////
2 // BASIC FUNCTIONS FOR COOKIE MANGEMENT //
3 //////////////////////////////////////////////////////////////////////////////
5 var CGIBIN = "/cgi-bin/koha/";
7 function writeCookie(name, val, wd) {
9 parent.opener.document.cookie = name + "=" + val;
12 parent.document.cookie = name + "=" + val;
16 function readCookieValue (str, val_beg) {
17 var val_end = str.indexOf(";", val_end);
20 return str.substring(val_beg, val_end);
23 function readCookie(name, wd) {
24 var str_name = name + "=";
25 var str_len = str_name.length;
28 str_cookie = parent.opener.document.cookie;
31 str_cookie = parent.document.cookie;
33 var coo_len = str_cookie.length;
38 if (str_cookie.substring(i, j) == str_name)
39 return readCookieValue(str_cookie, j);
40 i = str_cookie.indexOf(" ", i) + 1;
48 function delCookie(name) {
50 exp.setTime(exp.getTime()-1);
51 parent.opener.document.cookie = name + "=null; expires=" + exp.toGMTString();
55 ///////////////////////////////////////////////////////////////////
56 // SPECIFIC FUNCTIONS USING COOKIES //
57 ///////////////////////////////////////////////////////////////////
59 function openBasket() {
62 var nameCookie = "bib_list";
63 var valCookie = readCookie(nameCookie);
65 strCookie = nameCookie + "=" + valCookie;
72 // var Wmax = screen.width;
73 // var Hmax = screen.height;
78 var optWin = "dependant=yes,status=yes,scrollbars=yes,resizable=no,height="+iH+",width="+iW;
79 var loc = CGIBIN + "opac-basket.pl?" + strCookie;
80 var basket = open(loc, "basket", optWin);
83 alert(MSG_BASKET_EMPTY);
84 //alert("Il n'y a aucune notice !");
89 function addRecord(val, selection) {
90 var nameCookie = "bib_list";
91 var valCookie = readCookie(nameCookie);
95 if ( ! valCookie ) { // empty basket
96 valCookie = val + '/';
100 // is this record already in the basket ?
102 var arrayRecords = valCookie.split("/");
104 for (var i = 0; i < valCookie.length - 1; i++) {
105 if (val == arrayRecords[i]) {
115 alert(MSG_RECORD_IN_BASKET);
118 valCookie += val + '/';
124 writeCookie(nameCookie, valCookie);
125 if (selection) { // ajout à partir d'une sélection de notices
128 alert(MSG_RECORD_ADDED);
133 function addSelRecords(valSel) { // fonction permettant d'ajouter une sélection de notices
134 // (à partir d'une page de résultats) au panier
135 var arrayRecords = valSel.split("/");
138 for (i=0;i<arrayRecords.length;i++) {
139 if (arrayRecords[i]) {
140 nbAdd += addRecord(arrayRecords[i], 1);
150 msg = nbAdd+" "+MSG_NRECORDS_ADDED+", "+(i-nbAj)+" "+MSG_NRECORDS_IN_BASKET;
153 msg = nbAdd+" "+MSG_NRECORDS_ADDED;
158 msg = MSG_NO_RECORD_SELECTED;
161 msg = MSG_NO_RECORD_ADDED+" ("+MSG_NRECORDS_IN_BASKET+") !";
168 function selRecord(num, status) {
169 var str = document.myform.records.value
174 str = delRecord(num, str);
177 document.myform.records.value = str;
181 function delSelRecords() {
184 var nameCookie = "bib_list";
185 var valCookie = readCookie(nameCookie, 1);
188 var str = document.myform.records.value;
191 var str2 = valCookie;
193 s = str.indexOf("/");
195 num = str.substring(0, s)
196 str = delRecord(num,str);
197 str2 = delRecord(num,str2);
204 if (str2.length == 0) { // equivalent to emptying the basket
206 rep = confirm(MSG_CONFIRM_DEL_BASKET);
208 delCookie(nameCookie);
209 document.location = "about:blank";
217 writeCookie(nameCookie, str2, 1);
224 var nameCookie = "bib_list";
225 var valCookie = readCookie(nameCookie, 1);
226 strCookie = nameCookie + "=" + valCookie;
227 document.location = CGIBIN + "opac-basket.pl?" + strCookie;
230 alert(MSG_NO_RECORD_SELECTED);
235 function delRecord (n, s) {
242 pos = aux.indexOf(n, pos+1);
243 var charAfter = aux.charAt(pos+n.length); // character right after the researched string
244 if (charAfter.match(re)) { // record number inside another one
247 else { // good record number
248 aux = s.substring(0, pos)+ s.substring(pos+n.length+1, s.length);
258 function delBasket() {
259 var nameCookie = "bib_list";
262 rep = confirm(MSG_CONFIRM_DEL_BASKET);
264 delCookie(nameCookie);
265 document.location = "about:blank";
272 if (document.myform.records.value) {
274 rep = confirm(MSG_CONFIRM_DEL_RECORDS);
283 function sendBasket() {
284 var nameCookie = "bib_list";
285 var valCookie = readCookie(nameCookie);
286 var strCookie = nameCookie + "=" + valCookie;
288 var loc = CGIBIN + "opac-sendbasket.pl?" + strCookie;
290 var optWin="dependant=yes,scrollbars=no,resizable=no,height=300,width=400,top=50,left=100";
291 var win_form = open(loc,"win_form",optWin);
295 function printBasket() {
296 var loc = document.location + "&print=1";
297 document.location = loc;