Bug 8977:replace unitialized directory var in printoverdues
[koha_fer] / koha-tmpl / opac-tmpl / prog / en / js / basket.js
index 76d668b..13a2c36 100644 (file)
@@ -128,10 +128,12 @@ function addRecord(val, selection,NoMsgAlert) {
     if (write) {
         writeCookie(nameCookie, valCookie);
         if (selection) { // when adding a selection of records
+            updateLink(val,"add");
             return 1;
         }
         if (! NoMsgAlert ) {
             showCartUpdate(MSG_RECORD_ADDED);
+            updateLink(val,"add");
         }
     }
 }
@@ -229,12 +231,24 @@ function selRecord(num, status) {
     document.myform.records.value = str;
 }
 
+function delSingleRecord(biblionumber){
+    var nameCookie = "bib_list";
+    var valCookie = readCookie(nameCookie);
+    var arrayRecords = valCookie.split("/");
+    var pos = jQuery.inArray(biblionumber,arrayRecords);
+    arrayRecords.splice(pos,1);
+    valCookie = arrayRecords.join("/");
+    writeCookie( nameCookie, valCookie );
+    updateBasket( arrayRecords.length-1 );
+    updateLink(biblionumber,"del");
+    showCartUpdate(MSG_RECORD_REMOVED);
+}
+
 function delSelRecords() {
     var recordsSel = 0;
     var end = 0;
     var nameCookie = "bib_list";
     var valCookie = readCookie(nameCookie, 1);
-
     if (valCookie) {
         var str = document.myform.records.value;
         if (str.length > 0){
@@ -243,9 +257,10 @@ function delSelRecords() {
             while (!end){
                 s = str.indexOf("/");
                 if (s>0){
-                    num = str.substring(0, s)
+                    num = str.substring(0, s);
                     str = delRecord(num,str);
                     str2 = delRecord(num,str2);
+                    updateLink(num,"del",top.opener);
                 } else {
                     end = 1;
                 }
@@ -312,6 +327,7 @@ function delBasket() {
     rep = confirm(MSG_CONFIRM_DEL_BASKET);
     if (rep) {
         delCookie(nameCookie);
+        updateAllLinks(top.opener);
         document.location = "about:blank";
         updateBasket(0,top.opener);
         window.close();
@@ -384,10 +400,10 @@ function showLess() {
 function updateBasket(updated_value,target) {
        if(target){
        target.$('#basketcount').html("<span>"+updated_value+"</span>");
-       target.$('#cartDetails').html(_("Your cart contains ")+updated_value+_(" items"));
+    target.$('#cartDetails').html(MSG_IN_YOUR_CART+updated_value);
        } else {
        $('#basketcount').html("<span>"+updated_value+"</span>");
-       $('#cartDetails').html(_("Your cart contains ")+updated_value+_(" items"));
+    $('#cartDetails').html(MSG_IN_YOUR_CART+updated_value);
        }
        var basketcount = updated_value;
 }
@@ -462,6 +478,36 @@ function hideLists(){
     $("#listsDetails").fadeOut("fast");
 }
 
+function updateLink(val,op,target){
+    if(target){
+        if(op == "add"){
+            target.$("a.cart"+val).html(MSG_ITEM_IN_CART).addClass("incart");
+            target.$("a.cartR"+val).show();
+        } else {
+            target.$("a.cart"+val).html(MSG_ITEM_NOT_IN_CART).removeClass("incart").addClass("addtocart cart"+val);
+            target.$("a.cartR"+val).hide();
+        }
+    } else {
+        if(op == "add"){
+            $("a.cart"+val).html(MSG_ITEM_IN_CART).addClass("incart");
+            $("a.cartR"+val).show();
+        } else {
+            $("a.cart"+val).html(MSG_ITEM_NOT_IN_CART).removeClass("incart").addClass("addtocart cart"+val);
+            $("a.cartR"+val).hide();
+        }
+    }
+}
+
+function updateAllLinks(target){
+    if(target){
+        target.$("a.incart").html(MSG_ITEM_NOT_IN_CART).removeClass("incart").addClass("addtocart");
+        target.$("a.cartRemove").hide();
+    } else {
+        $("a.incart").html(MSG_ITEM_NOT_IN_CART).removeClass("incart").addClass("addtocart");
+        $("a.cartRemove").hide();
+    }
+}
+
 $("#cartDetails").ready(function(){
        $("#cartDetails,#cartmenulink").click(function(){ hideCart(); });
        $("#cartmenulink").click(function(){ openBasket(); return false; });