Skip to content
Snippets Groups Projects
Commit 485341bf authored by Demian Katz's avatar Demian Katz
Browse files

Rearranged function order to make jslint happier.

parent f8c2ae57
No related merge requests found
......@@ -4,59 +4,6 @@ var _CART_COOKIE = 'vufind_cart';
var _CART_COOKIE_SOURCES = 'vufind_cart_src';
var _CART_COOKIE_DELIM = "\t";
function registerUpdateCart($form) {
if($form) {
$("#updateCart, #bottom_updateCart").unbind('click').click(function(){
var elId = this.id;
var selectedBoxes = $("input[name='ids[]']:checked", $form);
var selected = [];
$(selectedBoxes).each(function(i) {
selected[i] = this.value;
});
if (selected.length > 0) {
var inCart = 0;
var msg = "";
var orig = getItemsFromCartCookie();
$(selected).each(function(i) {
for (var x in orig) {
if (this == orig[x]) {
inCart++;
return;
}
}
addItemToCartCookie(this);
});
var updated = getItemsFromCartCookie();
var added = updated.length - orig.length;
msg += added + " " + vufindString.itemsAddBag + "<br />";
if (inCart > 0 && orig.length > 0) {
msg += inCart + " " + vufindString.itemsInBag + "<br />";
}
if (updated.length >= vufindString.bookbagMax) {
msg += vufindString.bookbagFull + "<br />";
}
cartHelp(msg, elId);
} else {
cartHelp(vufindString.bulk_noitems_advice, elId);
}
redrawCartStatus();
return false;
});
}
}
function cartHelp(msg, elId) {
contextHelp.flash('#' + elId, '10', '1', 'down', 'right', msg, 5000);
}
function redrawCartStatus() {
var items = getItemsFromCartCookie();
removeCartCheckbox();
updateRecordState(items);
updateCartSummary(items);
}
function getItemsFromCartCookie() {
var ids = $.cookie(_CART_COOKIE);
if (ids) {
......@@ -87,6 +34,10 @@ function getItemsFromCartCookie() {
return [];
}
function cartHelp(msg, elId) {
contextHelp.flash('#' + elId, '10', '1', 'down', 'right', msg, 5000);
}
// return unique values from the given array
function uniqueValues(array) {
var o = {}, i, l = array.length, r = [];
......@@ -99,26 +50,6 @@ function uniqueValues(array) {
return r;
}
function addItemToCartCookie(item) {
var items = getItemsFromCartCookie();
if(items.length < vufindString.bookbagMax) {
items.push(item);
}
items = uniqueValues(items);
saveCartCookie(items);
return items;
}
function removeItemFromCartCookie(item) {
var items = getItemsFromCartCookie();
var index = $.inArray(item, items);
if (index != -1) {
items.splice(index, 1);
}
saveCartCookie(items);
return items;
}
function saveCartCookie(items) {
// No items? Clear cookies:
if (items.length == 0) {
......@@ -155,6 +86,26 @@ function saveCartCookie(items) {
$.cookie(_CART_COOKIE_SOURCES, sources.join(_CART_COOKIE_DELIM), { path: '/' });
}
function addItemToCartCookie(item) {
var items = getItemsFromCartCookie();
if(items.length < vufindString.bookbagMax) {
items.push(item);
}
items = uniqueValues(items);
saveCartCookie(items);
return items;
}
function removeItemFromCartCookie(item) {
var items = getItemsFromCartCookie();
var index = $.inArray(item, items);
if (index != -1) {
items.splice(index, 1);
}
saveCartCookie(items);
return items;
}
function updateRecordState(items) {
var cartRecordId = $('#cartId').val();
if (cartRecordId != undefined) {
......@@ -184,6 +135,55 @@ function removeCartCheckbox() {
});
}
function redrawCartStatus() {
var items = getItemsFromCartCookie();
removeCartCheckbox();
updateRecordState(items);
updateCartSummary(items);
}
function registerUpdateCart($form) {
if($form) {
$("#updateCart, #bottom_updateCart").unbind('click').click(function(){
var elId = this.id;
var selectedBoxes = $("input[name='ids[]']:checked", $form);
var selected = [];
$(selectedBoxes).each(function(i) {
selected[i] = this.value;
});
if (selected.length > 0) {
var inCart = 0;
var msg = "";
var orig = getItemsFromCartCookie();
$(selected).each(function(i) {
for (var x in orig) {
if (this == orig[x]) {
inCart++;
return;
}
}
addItemToCartCookie(this);
});
var updated = getItemsFromCartCookie();
var added = updated.length - orig.length;
msg += added + " " + vufindString.itemsAddBag + "<br />";
if (inCart > 0 && orig.length > 0) {
msg += inCart + " " + vufindString.itemsInBag + "<br />";
}
if (updated.length >= vufindString.bookbagMax) {
msg += vufindString.bookbagFull + "<br />";
}
cartHelp(msg, elId);
} else {
cartHelp(vufindString.bulk_noitems_advice, elId);
}
redrawCartStatus();
return false;
});
}
}
$(document).ready(function() {
var cartRecordId = $('#cartId').val();
$('#cartItems').hide();
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment