var bb1_catalogue_items_suitelet_url = "https://forms.netsuite.com/app/site/hosting/scriptlet.nl?script=14&deploy=1&compid=317638&h=f5a0affa46beab723486";

function bb1DisplayCataloguePageResults(results) {
 var items = results.items, parms = bb1CatPageParms;
 var html = '<table width="100%" cellpaddding="0" cellspacing="0" border="0"><tr>';
 if (items && items.length > 0) {
  for (var i=0; i < items.length; i++) {
   var item = items[i];
   var imageurl = (item.thumbnailurl!='') ? item.thumbnailurl+'&resizeid=-3&resizeh=80&resizew=80' : '/site/left/x.gif';
   html += '<td width="105" align="center" valign="top"><table width="110" height="100" cellpadding="0" cellspacing="0" border="0"><tr><td align="center" valign="center"><a href="'+item.itemurl+'"><img src="'+imageurl+'" border="0"></a></td></tr></table><div style="padding: 0 5px;"><a href="'+item.itemurl+'">'+unescape(item.storedisplayname)+'</a></div></td>';
   if ((i != 0) && (i != items.length-1) && (i % parms.itemsPerRow == parms.itemsPerRow-1)) html += '</tr><tr>';
  }
  while ((i != 0) && (i % parms.itemsPerRow != 0)) {
   html += '<td width="105"></td>';
   i++;
  }
  html += '</tr></table>';
 }
 else {
  if (results.error)
   html = '<table width="100%" height="172" cellpadding="0" cellspacing="0" border="0" id="bb1_cat_page_noresults"><tr><td align="center" valign="middle"><h4>You encountered an error!</h4>'+unescape(results.error.name)+': '+unescape(results.error.description)+'</td></tr></table>';
  else if (results.timeout)
   html = '<table width="100%" height="172" cellpadding="0" cellspacing="0" border="0" id="bb1_cat_page_noresults"><tr><td align="center" valign="middle"><h4>Connection timed out!</h4>Please refresh the page or try again later..</td></tr></table>';
  else // no items
   html = '<table width="100%" height="172" cellpadding="0" cellspacing="0" border="0" id="bb1_cat_page_noresults"><tr><td align="center" valign="middle">No items are listed for this catalogue page.</td></tr></table>';
 }
 var div = document.getElementById('bb1_catalogue_results_div')
 if (div) div.innerHTML = html;
 bb1ShowLoadingLayer(false);
}

function bb1LoadCataloguePageItems() {
 bb1ShowLoadingLayer(true);
 var existingdata = document.getElementById('bb1_catalogue_items_suitelet');
 if (existingdata) existingdata.parentNode.removeChild(existingdata);
 var parms = bb1CatPageParms;
 var url = bb1_catalogue_items_suitelet_url;
 url = addParamToURL(url, "pages", parms.cataloguePages, true);
 url = addParamToURL(url, "vendor", parms.vendor, true);
 url = addParamToURL(url, "orderby", parms.orderby, true);
 url = addParamToURL(url, "maxresults", parms.maxresults, true);
 url = addParamToURL(url, "exclude", parms.exclude, true);
 bb1LoadScript(url, 'bb1_catalogue_items_suitelet');
}

function bb1LoadPrevCataloguePage() {
 var parms = bb1CatPageParms;
 if (!parms.cataloguePages || parms.cataloguePages=='') return;
 if (isNaN(parms.cataloguePages)) {
  var pages_array = parms.cataloguePages.split(/\D+/);
  if (pages_array.length > 0) parms.cataloguePages = parseInt(pages_array[0]);
  else return;
 }
 if (parms.cataloguePages > 0) parms.cataloguePages--;
 bb1LoadCataloguePageItems();
}

function bb1LoadNextCataloguePage() {
 var parms = bb1CatPageParms;
 if (!parms.cataloguePages || parms.cataloguePages=='') return;
 if (isNaN(parms.cataloguePages)) {
  var pages_array = parms.cataloguePages.split(/\D+/);
  if (pages_array.length > 0) parms.cataloguePages = parseInt(pages_array[0]);
  else return;
 }
 if (parms.cataloguePages <= parms.maxPages) parms.cataloguePages++;
 bb1LoadCataloguePageItems();
}

function bb1LoadScript(filename, id) {
 var head = document.getElementsByTagName('head')[0];
 var scr = document.createElement('script');
 scr.type = 'text/javascript';
 scr.id = id;
 scr.src = filename;
 head.appendChild(scr);
}

function bb1LoadDeferredScript(filename, id, callback) {
 document.write('<script '+((id!='')?'id="'+id+'" ':'')+'defer src="', filename, '" type="text/javascript"><\/script>');
}

function bb1ShowLoadingLayer(show) {
 var results_div = document.getElementById('bb1_catalogue_results_div')
 if (!results_div) return;
 if (show)
  results_div.innerHTML = '<table width="100%" height="172" cellpadding="0" cellspacing="0" border="0" id="bb1_cat_page_progressbar"><tr><td align="center" valign="middle"><img src="/site/images_site/jb-progress-bar.gif"><br><br>Please wait while we search our catalog...</td></tr></table>';
}

function bb1GetParameter(param, doc) {
 if (typeof doc == "undefined" || doc == null)
  doc = document;
 var re = new RegExp(".*[?&]"+param+"=([^&]*)");
 var matches = re.exec(doc.location.href.toString()) ;
 return (matches != null && matches.length > 0) ? unescape(matches[1]) : null;
}

var bb1CatPageParms = new bb1CataloguePageParms();
bb1LoadCataloguePageItems();