X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=koha-tmpl%2Fopac-tmpl%2Fprog%2Fen%2Fjs%2Fbasket.js;h=13a2c360a467225a71572c8cd81414823c55b901;hb=569e3823fd7ee5879664f0b57eed4aa8d64aef93;hp=cabf4da7fe8df618562cb26468c5f626c3963bb7;hpb=4128725f69aff138192569bff476b14d3c94da25;p=koha.git diff --git a/koha-tmpl/opac-tmpl/prog/en/js/basket.js b/koha-tmpl/opac-tmpl/prog/en/js/basket.js old mode 100755 new mode 100644 index cabf4da7fe..13a2c360a4 --- a/koha-tmpl/opac-tmpl/prog/en/js/basket.js +++ b/koha-tmpl/opac-tmpl/prog/en/js/basket.js @@ -1,5 +1,5 @@ ////////////////////////////////////////////////////////////////////////////// -// BASIC FUNCTIONS FOR COOKIE MANGEMENT // +// BASIC FUNCTIONS FOR COOKIE MANAGEMENT // ////////////////////////////////////////////////////////////////////////////// var CGIBIN = "/cgi-bin/koha/"; @@ -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"); } } } @@ -210,6 +212,13 @@ function showCartUpdate(msg){ setTimeout("hideCart()",2000); } +function showListsUpdate(msg){ + // set body of popup window + $("#listsDetails").html(msg); + showLists(); + setTimeout("hideLists()",2000); +} + function selRecord(num, status) { var str = document.myform.records.value if (status){ @@ -222,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){ @@ -236,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; } @@ -305,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(); @@ -335,6 +358,16 @@ function sendBasket() { var win_form = open(loc,"win_form",optWin); } +function downloadBasket() { + var nameCookie = "bib_list"; + var valCookie = readCookie(nameCookie); + var strCookie = nameCookie + "=" + valCookie; + + var loc = CGIBIN + "opac-downloadcart.pl?" + strCookie; + + open(loc,"win_form",'dependant=yes,scrollbars=no,resizable=no,height=300,width=450,top=50,left=100'); +} + function printBasket() { var loc = document.location + "&print=1"; document.location = loc; @@ -367,10 +400,10 @@ function showLess() { function updateBasket(updated_value,target) { if(target){ target.$('#basketcount').html(""+updated_value+""); - target.$('#cartDetails').html(_("Your cart contains ")+updated_value+_(" items")); + target.$('#cartDetails').html(MSG_IN_YOUR_CART+updated_value); } else { $('#basketcount').html(""+updated_value+""); - $('#cartDetails').html(_("Your cart contains ")+updated_value+_(" items")); + $('#cartDetails').html(MSG_IN_YOUR_CART+updated_value); } var basketcount = updated_value; } @@ -400,6 +433,7 @@ function vShelfAdd() { bibs.push("biblionumber=" + document.bookbag_form.biblionumber[i].value); } } + if (bibs.length == 0) { showListsUpdate(MSG_NO_RECORD_SELECTED); } return bibs.join("&"); } else { if (document.bookbag_form.biblionumber.checked) { @@ -409,23 +443,72 @@ function vShelfAdd() { } function showCart(){ - var position = $("#cartmenulink").offset({border: true,margin:false}); + var position = $("#cartmenulink").offset(); + var scrolld = $(window).scrollTop(); var top = position.top + $("#cartmenulink").outerHeight(); - var left = position.left; + if( scrolld > top ){ + top = scrolld + 15; + } + var menuWidth = 200; + var buttonWidth = $("#cartmenulink").innerWidth(); + var buttonOffset = menuWidth - buttonWidth; + var left = position.left - buttonOffset; $("#cartDetails").css("position","absolute").css("top",top); $("#cartDetails").css("position","absolute").css("left",left); - $("#cartDetails").fadeIn("fast",function(){ - $("#cartDetails").dropShadow({left: 3, top: 3, blur: 0, color: "#000", opacity: 0.1}); - }); + $("#cartDetails").fadeIn("fast"); +} + +function showLists(){ + var position = $("#listsmenulink").offset(); + var top = position.top + $("#listsmenulink").outerHeight(); + var menuWidth = 200; + var buttonWidth = $("#listsmenulink").innerWidth(); + var buttonOffset = menuWidth - buttonWidth; + var left = position.left - buttonOffset; + $("#listsDetails").css("position","absolute").css("top",top); + $("#listsDetails").css("position","absolute").css("left",left); + $("#listsDetails").fadeIn("fast"); } function hideCart(){ - $(".dropShadow").hide(); - $("#cartDetails").fadeOut("fast"); + $("#cartDetails").fadeOut("fast"); +} + +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(){ - $("#cmspan").html("\"\" Cart"); $("#cartDetails,#cartmenulink").click(function(){ hideCart(); }); $("#cartmenulink").click(function(){ openBasket(); return false; }); $("#cartmenulink").hoverIntent(function(){ @@ -435,3 +518,5 @@ $("#cartDetails").ready(function(){ }); if(basketcount){ updateBasket(basketcount) } }); + +