Merge branch 'bug_9766' into 3.14-master
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / js / acq.js
index 2efeba0..067cd08 100644 (file)
@@ -384,7 +384,7 @@ function closeandprint(bg){
        if(document.location = '/cgi-bin/koha/acqui/basketgroup.pl?op=closeandprint&basketgroupid=' + bg ){
                setTimeout("window.location.reload();",3000);
        }else{
-               alert(_('Error downloading the file'));
+               alert(_("Error downloading the file"));
        }
 }
 
@@ -639,49 +639,26 @@ function messenger(X,Y,etc){    // FIXME: unused?
 
 //  NEXT BLOCK IS USED BY NEWORDERBEMPTY
 
-function calcNeworderTotal(){
-    //collect values
-    var f        = document.getElementById('Aform');
-    var quantity = new Number(f.quantity.value);
-    var discount = new Number(f.discount.value);
-    var listinc  = new Number (f.listinc.value);
-    //var currency = f.currency.value;
-    var applygst = new Number (f.applygst.value);
-    var listprice   =  new Number(f.listprice.value);
-    var invoiceingst =  new Number (f.invoiceincgst.value);
-//    var exchangerate =  new Number(f.elements[currency].value);      //get exchange rate
-        var currcode = new String(document.getElementById('currency').value);
-       var exchangerate =  new Number(document.getElementById(currcode).value);
-
-    var gst_on=(!listinc && invoiceingst);
-
-    //do real stuff
+function updateCosts(){
+    var quantity = new Number($("#quantity").val());
+    var discount = new Number($("#discount").val());
+    var applygst = new Number ($("#applygst").val());
+    var listprice   =  new Number($("#listprice").val());
+    var currcode = new String($("#currency").val());
+    var exchangerate =  new Number($("#currency_rate_"+currcode).val());
+    var gst_on=false;
+
     var rrp   = new Number(listprice*exchangerate);
     var ecost = rrp;
-    if (100-discount != 100) { //Prevent rounding issues if no discount
-        ecost = new Number(Math.floor(rrp * (100 - discount ))/100);
+    if ( 100-discount != 100 ) { //Prevent rounding issues if no discount
+        ecost = new Number(Math.floor(rrp * (100 - discount )) / 100);
     }
-    var GST   = new Number(0);
-    if (gst_on) {
-            rrp=rrp * (1+f.gstrate.value / 100);
-        GST=ecost * f.gstrate.value / 100;
-    }
-
-    var total =  new Number( (ecost + GST) * quantity);
-
-    f.rrp.value = rrp.toFixed(2);
-
-//     f.rrp.value = rrp
-//     f.rrp.value = 'moo'
-
-    f.ecost.value = ecost.toFixed(2);
-    f.total.value = total.toFixed(2);
-    f.listprice.value =  listprice.toFixed(2);
+    var total =  new Number( ecost * quantity);
+    $("#rrp").val(rrp.toFixed(2));
+    $("#ecost").val(ecost.toFixed(2));
+    $("#total").val(total.toFixed(2));
+    $("listprice").val(listprice.toFixed(2));
 
-//  gst-stuff needs verifing, mason.
-    if (f.GST) {
-        f.GST.value=GST;
-    }
     return true;
 }
 
@@ -693,7 +670,7 @@ function calcNewsuggTotal(){
 //    var currency = f.currency.value;
     var currcode = new String(document.getElementById('currency').value);
     var price   =  new Number(document.getElementById('price').value);
-    var exchangerate =  new Number(document.getElementById(currcode).value);
+    var exchangerate =  new Number(document.getElementById('currency_rate_'+currcode).value);
 
     var total =  new Number(quantity*price*exchangerate);
 
@@ -744,7 +721,7 @@ function fetchSortDropbox(f) {
 
 for (i=1;i<=2;i++) {
 
-    var sort_dropbox = document.getElementById('sort'+i);
+    var sort_zone = document.getElementById('sort'+i+'_zone');
     var url = '../acqui/fetch_sort_dropbox.pl?sort='+i+'&budget_id='+budgetId;
 
     var xmlhttp = null;
@@ -764,7 +741,13 @@ for (i=1;i<=2;i++) {
         }
     };
     // rc =  eval ( xmlhttp.responseText );
-    sort_dropbox.innerHTML  =  xmlhttp.responseText;
+    var retRootType = xmlhttp.responseXML.firstChild.nodeName;
+    var existingInputs = sort_zone.getElementsByTagName('input');
+    if (existingInputs.length > 0 && retRootType == 'input') {
+        // when sort is already an input, do not override to preseve value
+        return;
+    }
+    sort_zone.innerHTML = xmlhttp.responseText;
 }
 }
 
@@ -879,61 +862,33 @@ function checkBudgetParent(budgetId, newBudgetParent) {
     }
 }
 
-
-function addColumn(p_sType, p_aArgs, p_oValue)
-{
-    var allRows = document.getElementById('plan').rows;
-    var colnum  = p_oValue[0];
-    var code   = p_oValue[1];
-    var colnum  = new Number(colnum);
-
-    for (var i=0; i<allRows.length; i++) {
-            var allCells  = allRows[i].cells;
-            allCells[colnum+1].style.display="table-cell";
-    }
-
-// make a menuitem object
-    var hids = document.getElementsByName("hide_cols")
-    for (var i=0; i<hids.length; i++) {
-        if (hids[i].value == code) {
-            var x =  hids[i];
-            x.parentNode.removeChild(x)    // sigh...
-            break;
-        }
-    }
+function hideColumn(num) {
+    $("#hideall,#showall").removeAttr("checked").parent().removeClass("selected");
+    $("#"+num).parent().removeClass("selected");
+    var hide = Number(num.replace("col","")) + 2;
+    // hide header and cells matching the index
+    $("#plan td:nth-child("+hide+"),#plan th:nth-child("+hide+")").toggle();
 }
 
-
-function delColumn(n, code)
-{
-    var allRows = document.getElementById('plan').rows;
-
-// find index
-    var index;
-    var nn  = new Number(n);
-    var code   = code ;
-    for (var i=0; i<allRows.length; i++) {
-        var allCells  = allRows[i].cells;
-        allCells[nn+1].style.display="none";
-    }
-
-    var r = 0;
-    var hids = document.getElementsByName("hide_cols")
-    for (var i=0; i<hids.length; i++) {
-        if (hids[i].value == code) {
-            r = 1;
-            break;
-        }
-    }
-
-    if (r == 0 ) {
-        // add hide_col to form
-        var el = document.createElement("input");
-        el.setAttribute("type", 'hidden' );
-        el.setAttribute("value", code);
-        el.setAttribute("name", 'hide_cols');
-        document.getElementById("hide_div").appendChild(el);
-    }
+function showColumn(num){
+    $("#hideall").removeAttr("checked").parent().removeClass("selected");
+    $("#"+num).parent().addClass("selected");
+    // set the index of the table column to hide
+    show = Number(num.replace("col","")) + 2;
+    // hide header and cells matching the index
+    $("#plan td:nth-child("+show+"),#plan th:nth-child("+show+")").toggle();
 }
 
-
+function showAllColumns(){
+    $("#selections").checkCheckboxes();
+    $("#selections span").addClass("selected");
+    $("#plan td:nth-child(2),#plan tr th:nth-child(2)").nextAll().show();
+    $("#hideall").removeAttr("checked").parent().removeClass("selected");
+}
+function hideAllColumns(){
+    var allCols = $("#plan th").length;
+    $("#selections").unCheckCheckboxes();
+    $("#selections span").removeClass("selected");
+    $("#plan td:nth-child(2),#plan th:nth-child(2)").nextUntil("th:nth-child("+(allCols-1)+"),td:nth-child("+(allCols-1)+")").hide(); // hide all but the last two columns
+    $("#hideall").attr("checked","checked").parent().addClass("selected");
+}
\ No newline at end of file