Writing the cart button to the DOM with js so that non-js users don't see it
[koha_fer] / koha-tmpl / opac-tmpl / prog / en / js / script.js
1         /**
2          * this function checks all checkbox 
3          * or uncheck all if there are already checked.
4          */
5         function CheckAll(){
6                 var checkboxes = document.getElementsByTagName('input');
7                 var nbCheckbox = checkboxes.length;
8                 var check = areAllChecked();
9                 for(var i=0;i<nbCheckbox;i++){
10                         if(checkboxes[i].getAttribute('type') == "checkbox" ){
11                                 checkboxes[i].checked = (check) ? 0 : 1;
12                         }
13                 }
14         }
15         /**
16          * this function return true if all checkbox are checked
17          */
18         function areAllChecked(){
19                 var checkboxes = document.getElementsByTagName('input');
20                 var nbCheckbox = checkboxes.length;
21                 for(var i=0;i<nbCheckbox;i++){
22                         if(checkboxes[i].getAttribute('type') == "checkbox" ){
23                                 if(checkboxes[i].checked == 0){
24                                         return false;
25                                 }
26                         }
27                 }
28                 return true;
29         }
30
31 function confirmDelete(message) {
32         return (confirm(message) ? true : false);
33 }
34
35 function Dopop(link) {
36         newin=window.open(link,'popup','width=500,height=400,toolbar=false,scrollbars=yes');
37 }
38
39 $(document).ready(function(){
40         $(".close").click(function(){
41                 window.close();
42         });
43 });
44         
45 YAHOO.util.Event.onContentReady("changelanguage", function () {
46                 var oMenu = new YAHOO.widget.Menu("sublangs", { zindex: 2 });
47                     function positionoMenu() {
48                     oMenu.align("bl", "tl");
49                 }
50                 oMenu.subscribe("beforeShow", function () {
51                     if (this.getRoot() == this) {
52                                                 positionoMenu();
53                     }
54                 });
55                 oMenu.render();
56                                 oMenu.cfg.setProperty("context", ["showlang", "bl", "tl"]);
57                                 function onYahooClick(p_oEvent) {
58                     // Position and display the menu        
59                     positionoMenu();
60                     oMenu.show();
61                     // Stop propagation and prevent the default "click" behavior
62                     YAHOO.util.Event.stopEvent(p_oEvent);
63                 }
64                                 YAHOO.util.Event.addListener("showlang", "click", onYahooClick);
65                                 YAHOO.widget.Overlay.windowResizeEvent.subscribe(positionoMenu);
66             });
67 YAHOO.util.Event.onContentReady("listsmenu", function () {
68     $("#listsmenu").css("display","block").css("visibility","hidden");
69     $("#cartDetails").css("display","block").css("visibility","hidden");
70
71         $("#cmspan").html("<a id=\"cartmenulink\" class=\"btn green left\" href=\"/cgi-bin/koha/opac-basket.pl\">Cart</a>");
72         $('.btn').each(function(){
73           var b = $(this);
74           var tt = b.text() || b.val();
75           if ($(':submit,:button',this)) {
76           b = $('<a>').insertAfter(this). addClass(this.className).attr('id',this.id);
77           $(this).remove();
78           }
79           b.text('').css({cursor:'pointer'}). prepend('<i></i>')
80           .append( $('<span>').text(tt).append('<i></i><span></span>') );
81           });
82         $("#searchsubmit").click(function(){
83                 $("#searchform").submit();
84         })
85           
86           $("#cartmenulink").find("i:first").before("<img src=\"/opac-tmpl/prog/images/cart.gif\" alt=\"\" />");
87           $("#cartmenulink").find("i:last").before("<span id=\"basket\"></span>");
88           
89           $("#listsmenulink").find("i:last").before("<img src=\"/opac-tmpl/prog/images/list.gif\" alt=\"\" />");
90           if(basketcount){ updateBasket(basketcount,document) } 
91    
92         var listMenu = new YAHOO.widget.Menu("listsmenu", { lazyload: true });
93                 listMenu.render();
94                 listMenu.cfg.setProperty("context", ["listsmenulink", "tr", "br"]);
95                 listMenu.cfg.setProperty("effect",{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.05});
96                 listMenu.subscribe("show", listMenu.focus);
97         function positionlistMenu() {
98                     listMenu.align("tr", "br");
99                 }
100                 YAHOO.util.Event.addListener("listsmenulink", "click", listMenu.show, null, listMenu);
101                 YAHOO.widget.Overlay.windowResizeEvent.subscribe(positionlistMenu);
102     });
103     
104 function init() {
105                 $('#cartmenulink').click(function(){
106                         openBasket(); return false;
107                 });
108                                         // Build cartOverlay based on markup
109                                         cartOverlay = new YAHOO.widget.Overlay("cartDetails", { context:["cartmenulink","tr","br"],
110                                                                                                                                                                                           visible:false,
111                                                                                                                                                                                           width:"200px",
112                                                                                                                                                                                           effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.25} } );
113                                         cartOverlay.render();
114                                         YAHOO.util.Event.addListener("cartmenulink", "mouseover", cartOverlay.show, cartOverlay, true);
115                                         YAHOO.util.Event.addListener("cartmenulink", "mouseout", cartOverlay.hide, cartOverlay, true);
116                                         YAHOO.util.Event.addListener("cartmenulink", "click", cartOverlay.hide, cartOverlay, true);
117                                 }
118                                 YAHOO.util.Event.addListener(window, "load", init);