Continuing work on Cart popup
[koha_gimpoz] / koha-tmpl / opac-tmpl / prog / en / js / basket.js
old mode 100644 (file)
new mode 100755 (executable)
index bec7319..cabf4da
@@ -58,7 +58,11 @@ function readCookie(name, wd) {
 function delCookie(name) {
     var exp = new Date();
     exp.setTime(exp.getTime()-1);
+       if(parent.opener){
     parent.opener.document.cookie = name + "=null; expires=" + exp.toGMTString();
+       } else {
+       document.cookie = name + "=null; expires=" + exp.toGMTString();
+       }
 }
 
 ///////////////////////////////////////////////////////////////////
@@ -76,7 +80,7 @@ function openBasket() {
     if ( strCookie ) {
         var iW = 820;
         var iH = 450;
-        var optWin = "dependant=yes,status=yes,scrollbars=yes,resizable=yes,toolbar=no,adressbar=no,height="+iH+",width="+iW;
+        var optWin = "dependant=yes,status=yes,scrollbars=yes,resizable=yes,toolbar=no,location=yes,height="+iH+",width="+iW;
         var loc = CGIBIN + "opac-basket.pl?" + strCookie;
         var basket = open(loc, "basket", optWin);
         if (window.focus) {basket.focus()}
@@ -200,10 +204,10 @@ function addSelRecords(valSel) { // function for adding a selection of biblios t
 }
 
 function showCartUpdate(msg){
-       cartUpdate.setBody(msg);
-       cartUpdate.render("cc");
-       cartUpdate.show();
-       setTimeout("cartUpdate.hide()",5000);   
+       // set body of popup window
+       $("#cartDetails").html(msg);
+       showCart();
+       setTimeout("hideCart()",2000);  
 }
 
 function selRecord(num, status) {
@@ -362,10 +366,10 @@ function showLess() {
 
 function updateBasket(updated_value,target) {
        if(target){
-       target.$('#basket').html("<span>"+updated_value+"</span>");
+       target.$('#basketcount').html("<span>"+updated_value+"</span>");
        target.$('#cartDetails').html(_("Your cart contains ")+updated_value+_(" items"));
        } else {
-       $('#basket').html("<span>"+updated_value+"</span>");
+       $('#basketcount').html("<span>"+updated_value+"</span>");
        $('#cartDetails').html(_("Your cart contains ")+updated_value+_(" items"));
        }
        var basketcount = updated_value;
@@ -379,7 +383,11 @@ function openBiblio(dest,biblionumber) {
 
 function addSelToShelf() {
     var items = document.getElementById('records').value;
+       if(items){
     document.location = "/cgi-bin/koha/opac-addbybiblionumber.pl?biblionumber="+items;
+       } else {
+        alert(MSG_NO_RECORD_SELECTED);
+    }
 }
 
 ///  vShelfAdd()  builds url string for multiple-biblio adds.
@@ -400,23 +408,30 @@ function vShelfAdd() {
         }
 }
 
-YAHOO.util.Event.onContentReady("cartDetails", function () {
-       $("#cartDetails").css("display","block").css("visibility","hidden").after("<div id=\"cc\" style=\"visibility: hidden\"></div>");
-       $("#cmspan").html("<a href=\"#\" id=\"cartmenulink\" class=\"\"><i></i><span><i></i><span></span><img src=\"/opac-tmpl/prog/images/cart.gif\" width=\"14\" height=\"14\" alt=\"\" border=\"0\" /> Cart<span id=\"basket\"></span></span></a>");
-       if(basketcount){ updateBasket(basketcount) }    
-});
+function showCart(){
+               var position = $("#cartmenulink").offset({border: true,margin:false});
+               var top = position.top + $("#cartmenulink").outerHeight();
+               var left = position.left;
+               $("#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});
+               });     
+}
 
-function cartMenuInit() {
-       $('#cartmenulink').click(function(){
-               openBasket(); return false;
-       });
-       // Build cartOverlay based on markup
-       cartOverlay = new YAHOO.widget.Overlay("cartDetails", { context:["cartmenulink","tr","br"],                                                                                                                                                                                       visible:false,width:"200px",effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.25} } );
-       cartOverlay.render();
-       YAHOO.util.Event.addListener("cartmenulink", "mouseover", cartOverlay.show, cartOverlay, true);
-       YAHOO.util.Event.addListener("cartmenulink", "mouseout", cartOverlay.hide, cartOverlay, true);
-       YAHOO.util.Event.addListener("cartmenulink", "click", cartOverlay.hide, cartOverlay, true);
-       
-       cartUpdate = new YAHOO.widget.Panel("cartUpdate", { context:["cartmenulink","tr","br"],                                                                                                                                                                                   visible:false,width:"200px",effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.25} } );
+function hideCart(){
+                $(".dropShadow").hide();
+                $("#cartDetails").fadeOut("fast");
 }
-YAHOO.util.Event.addListener(window, "load", cartMenuInit);
\ No newline at end of file
+
+$("#cartDetails").ready(function(){
+       $("#cmspan").html("<a href=\"#\" id=\"cartmenulink\" class=\"\"><i></i><span><i></i><span></span><img src=\"/opac-tmpl/prog/images/cart.gif\" width=\"14\" height=\"14\" alt=\"\" border=\"0\" /> Cart<span id=\"basketcount\"></span></span></a>");
+       $("#cartDetails,#cartmenulink").click(function(){ hideCart(); });
+       $("#cartmenulink").click(function(){ openBasket(); return false; });
+       $("#cartmenulink").hoverIntent(function(){
+               showCart();
+       },function(){
+               hideCart();
+       });
+       if(basketcount){ updateBasket(basketcount) }
+});