document.observe('dom:loaded', function(event) {
// I just added this to see if it was a dom loading issue
window.displayItems = function(element, items) {
// have to add function to window since I'm within this stupid observe block
alert(typeof searchVisibility)
term = (element == 'itemList') ? 'Results' : 'Related Items';
element = $(element);
element.childElements().invoke('remove');
if (items.length == 0) {
alert('No ' + term + ' found.');
element.previous('div.busy').hide();
return;
}
var resultsHTML = '<dt>Results</dt>'
var item_dd_template = new Template(
'<dd class="itemResult">' +
'<ul class="core">' +
'<li class="img"><a href="#{href}" title="Image" class="lightview">#{img_link_text}</a></li>' +
'<li class="name">#{name}</li>' +
'<li #{sizeVisible} class="size">Size: <select class="sizeInput formInputSelect">#{size_options}</select></li>' +
'<li #{qtyVisible} class="qty">Qty: <input class="formInputText qtyInput" value="1" type="text"/>' +
'<span class="uom"> x #{uom}</span>' +
'</li>' +
'<li class="add"><input id="item_add_#{id}" class="formInputSubmit" type="submit" itemid="#{id}" value="Add"/></li>' +
'<li #{viewRelatedVisible} class="related"><input id="item_related_#{id}" class="formInputSubmit" class="formInputSubmit" type="submit" itemid="#{id}" value="View Related"/></li>' +
'</ul>' +
'<div class="description">#{description}</div>' +
'</dd>'
);
var size_option_template = new Template(
'<option value="#{id}::#{name}::#{cost}" label="#{name}">#{name}</option>'
)
items.each(function(i) {
itemMap.set(i.id, i);
templateData = {
id: i.id,
href: baseUrl+"/files/"+i.image.id+".jpg",
name: i.name,
uom: i.unitOfMeasure,
description: i.description,
img_link_text: (i.image.id) ? 'img' : '',
sizeVisible: (searchVisibility.size) ? '' : 'style="display:none;"',
qtyVisible: (searchVisibility.qty) ? '' : 'style="display:none;"',
viewRelatedVisible: (searchVisibility.viewRelated) ? '' : 'style="display:none;"'
}
var size_options = ''
i.availableSizes.each(function(size) {
size_options += size_option_template.evaluate({
id: i.id,
name: size.name,
cost: size.cost
})
})
templateData.size_options = size_options
resultsHTML += item_dd_template.evaluate(templateData)
})
element.innerHTML = resultsHTML
$$('a.lightview').each(function(anchor) {
new Control.Window(anchor, {
closeOnClick: true,
className: 'modal',
fade: true
})
})
element.previous('div.busy').hide()
}
})