function addToBag(sizetypeindex) {
  var sizetype = sizetypes[sizetypeindex];
  if ( sizetype.selectedsize.sizetypeid == null && sizetype.sizecount > 0 && sizetype.selectedcolor.sizetypeid == null && sizetype.colorcount > 0 ) {
   alert('Please select a size and color first.');
  }
  else if ( sizetype.selectedsize.sizetypeid == null && sizetype.sizecount > 0 ) {
   alert('Please select a size first.');
  }
  else if ( sizetype.selectedcolor.sizetypeid == null && sizetype.colorcount > 0 ) {
   alert('Please select a color first.');
  }
  else {
    savedsizetypeindex = sizetypeindex;
    var addtobag = document.getElementById(sizetypeindex + '_product_addtobag');
    var addingtobag = document.getElementById(sizetypeindex + '_product_addingtobag');
    addtobag.style.display='none';
    addingtobag.style.display='block';
    var qty = document.getElementById(sizetypeindex + '_quantity');
    var color = getColorForSize(sizetypeindex, sizetype.selectedsize.priceid, sizetype.selectedsize.sizeid, sizetype.selectedcolor.colorid);
  // if there are no colors then this will be null.
    if ( color != null ) {
      ajaxGet("/ajax.jsp?action=addsku&skutoadd=" + escape(color.sku) + "&quantity=" + qty.options[qty.selectedIndex].value, addskuError, addskuDone);
      return;
    }
    var size = getSize(sizetypeindex, sizetype.selectedsize.priceid, sizetype.selectedsize.sizeid);
    if ( size != null ) {
      ajaxGet("/ajax.jsp?action=addsku&skutoadd=" + escape(size.sku) + "&quantity=" + qty.options[qty.selectedIndex].value, addskuError, addskuDone);
      return;
    }
    var color = getColor(sizetypeindex, sizetype.selectedcolor.colorid);
    if ( color != null ) {
      ajaxGet("/ajax.jsp?action=addsku&skutoadd=" + escape(color.sku) + "&quantity=" + qty.options[qty.selectedIndex].value, addskuError, addskuDone);
      return;
    }
    ajaxGet("/ajax.jsp?action=addsku&skutoadd=" + escape(sizetypes[sizetypeindex].prices[0].sizes[0].sku) + "&quantity=" + qty.options[qty.selectedIndex].value, addskuError, addskuDone);
  // if no sizes then this will be null.
  }
}
function addskuError(httpRequest) {
  alert('Unable to add item to basket. Please call 1-800-569-9038 for order assistance.');
  var addtobag = document.getElementById(sizetypeindex + '_product_addtobag');
  var addingtobag = document.getElementById(sizetypeindex + '_product_addingtobag');
  addtobag.style.display='block';
  addingtobag.style.display='none';
}
var savedsizetypeindex = 0;
function addskuDone(result) {
  var response = eval("(" + result.responseText + ")");
  if ( response.pass == "true" ) {
  // update the items in shopping bag link.
  // get the html to show from the cookie and stick it into the td
    var td = document.getElementById('items-in-basket');
    while ( td.firstChild ) {
      td.removeChild(td.firstChild);
    }
    td.innerHTML = readCookie('items-in-basket');
    showJustAdded(savedsizetypeindex, response);
  }
  else {
    if ( response.excededmax ) {
      alert('Unable to add item to basket. The quantity selected exceeds available on hands.');
    }
    else {
      alert('Unable to add item to basket. Please call 1-800-569-9038 for order assistance.');
    }
  }
  var addtobag = document.getElementById(savedsizetypeindex + '_product_addtobag');
  var addingtobag = document.getElementById(savedsizetypeindex + '_product_addingtobag');
  addtobag.style.display='block';
  addingtobag.style.display='none';
}
function findBasketGraphic() {
  var itemsinbasket = document.getElementById('items-in-basket');
  var node = itemsinbasket.parentNode;
  while ( node != null ) {
    if ( node.getAttribute ) {
      var src = node.getAttribute('id');
      if ( src != null ) {
        if ( endsWith(src, 'basketsection') ) {
          return node;
        }
      }
    }
    node = node.parentNode;
  }
  return null;
}
function showJustAdded(sizetypeindex, result) {
  var basketgraphic = findBasketGraphic();
  var qty = document.getElementById(sizetypeindex + '_quantity');
  var div = document.getElementById('justadded');
  var image = document.getElementById('justaddedimage');
  // find the correct image for the color added.
  var sizetype = sizetypes[sizetypeindex];
  var colortofind = sizetype.selectedcolor.colorid;
  var colorurl = null;
  if ( colortofind == null ) {
    colortofind = 0;
  }
  for ( var x = 0; x < images.length; x++ ) {
    if ( images[x].type == 'Basket' ) {
      colorurl = images[x].url;
      if ( images[x].colorid == colortofind ) {
        colorurl = images[x].url;
        break;
      }
    }
  }
  if ( colorurl == null ) {
    colorurl = images[0].url;
  }
  image.src = colorurl;
  var options = document.getElementById('justaddedoptions');
  while ( options.firstChild ) {
    options.removeChild(options.firstChild);
  }
  options.appendChild(document.createTextNode('Qty: ' + qty.options[qty.selectedIndex].value));
  var pricetext = document.getElementById('justaddedprice-text');
  while ( pricetext.firstChild ) {
    pricetext.removeChild(pricetext.firstChild);
  }
  if ( parseFloat(result.SALEPRICE) > 0 && parseFloat(result.SALEPRICE) < parseFloat(result.PRICE) ) {
    pricetext.appendChild(document.createTextNode('Sale Price:'));
  }
  else {
    pricetext.appendChild(document.createTextNode('Price:'));
  }
  var price = document.getElementById('justaddedprice');
  while ( price.firstChild ) {
    price.removeChild(price.firstChild);
  }
  if ( parseFloat(result.SALEPRICE) > 0 && parseFloat(result.SALEPRICE) < parseFloat(result.PRICE) ) {
    price.appendChild(document.createTextNode(result.SALEPRICE));
  }
  else {
    price.appendChild(document.createTextNode(result.PRICE));
  }
  var subtotal = document.getElementById('justaddedsubtotal');
  while ( subtotal.firstChild ) {
    subtotal.removeChild(subtotal.firstChild);
  }
  subtotal.appendChild(document.createTextNode(result.SUBTOTAL));
  var shipping = document.getElementById('justaddedshipping');
  while ( shipping.firstChild ) {
    shipping.removeChild(shipping.firstChild);
  }
  shipping.appendChild(document.createTextNode(result.SHIPPING));
  var surchargetext = document.getElementById('justaddedsurcharge-text');
  surchargetext.style.display = 'none';
  var surcharge = document.getElementById('justaddedsurcharge');
  while ( surcharge.firstChild ) {
    surcharge.removeChild(surcharge.firstChild);
  }
  if ( result.SURCHARGE != null && parseFloat(result.SURCHARGE) > 0 ) {
    surcharge.appendChild(document.createTextNode(result.SURCHARGE));
    if ( document.all && !opera ) {
      surchargetext.style.display = 'block';
    }
    else {
      surchargetext.style.display = 'table-cell';
    }
  }
  var total = document.getElementById('justaddedtotal');
  while ( total.firstChild ) {
    total.removeChild(total.firstChild);
  }
  total.appendChild(document.createTextNode(result.TOTAL));
  div.style.display = 'block';
  var y = absy(basketgraphic) + basketgraphic.offsetHeight;
  var x = (absx(basketgraphic) + basketgraphic.offsetWidth) - div.offsetWidth;
  div.style.left = x;
  div.style.top = y;
  setTimeout('hideJustAdded();', 10000);
}
function hideJustAdded() {
  var div = document.getElementById('justadded');
  div.style.display = 'none';
}
function endsWith(src, str) {
  return (src.match(str+"$") == str);
}
function overAddToBag(sizetypeindex) {
  var sizetype = sizetypes[sizetypeindex];
  if ( sizetype.selectedsize.sizetypeid == null ) {
    sizedesc(sizetypeindex, 'Please Select A Size', 'product_option_required');
  }
  if ( sizetype.selectedcolor.sizetypeid == null ) {
    colordesc(sizetypeindex, 'Please Select A Color', 'product_option_required');
  }
}
function notOverAddToBag(sizetypeindex) {
  var sizetype = sizetypes[sizetypeindex];
  if ( sizetype.selectedcolor.colorid ) {
    var color = getColor(sizetypeindex, sizetype.selectedcolor.colorid);
    if ( !color ) {
      colordesc(sizetypeindex, '', 'overcolor');
      return;
    }
    colordesc(sizetypeindex, color.name, 'overcolor');
  }
  else {
    colordesc(sizetypeindex, '', 'overcolor');
  }
  if ( sizetype.selectedsize.sizetypeid ) {
    var size = getSize(sizetypeindex, sizetype.selectedsize.priceid, sizetype.selectedsize.sizeid);
    if ( !size ) {
      sizedesc(sizetypeindex, '', 'oversize');
      return;
    }
    sizedesc(sizetypeindex, size.name + ' ' + size.name2, 'oversize');
  }
  else {
    sizedesc(sizetypeindex, '', 'oversize');
  }
}
function checkCanAdd(sizetypeindex) {
  var sizetype = sizetypes[sizetypeindex];
  var img = document.getElementById(sizetypeindex + '_product_addtobag');
  if ( sizetype.selectedsize.sizetypeid == null && sizetype.sizecount > 0 && sizetype.selectedcolor.sizetypeid == null && sizetype.colorcount > 0 ) {
    img.style.cursor='not-allowed';
    img.title='Please select a size and color.';
    img.src='/graphics/addtobaginactive.gif';
  }
  else if ( sizetype.selectedsize.sizetypeid == null && sizetype.sizecount > 0 ) {
    img.style.cursor='not-allowed';
    img.title='Please select a size.';
    img.src='/graphics/addtobaginactive.gif';
  }
  else if ( sizetype.selectedcolor.sizetypeid == null && sizetype.colorcount > 0 ) {
    img.style.cursor='not-allowed';
    img.title='Please select a color.';
    img.src='/graphics/addtobaginactive.gif';
  }
  else {
    img.style.cursor='pointer';
    img.title='Add to bag';
    img.src='/graphics/addtobag.gif';
  // build up the quantity box.
    var qty = document.getElementById(sizetypeindex + '_quantity');
    qty.options.length = 0;
    var color = getColorForSize(sizetypeindex, sizetype.selectedsize.priceid, sizetype.selectedsize.sizeid, sizetype.selectedcolor.colorid);
    if ( color == null ) {
      count = 10;
    }
    else {
      count = color.count;
      if ( count > 10 ) {
        count = 10;
      }
    }
    for ( i = 0; i < count; i++ ) {
      qty.options[i] = new Option(i + 1, i + 1);
    }
  }
}
function selectcolor(sizetypeindex, colorid) { 
  cmCreatePageviewTag("Alternate Colors","RICHMEDIA-COLORS",null,null);
  var sizetype = sizetypes[sizetypeindex];
  var selectedcolor = sizetype.selectedcolor;
  var selectedsize = sizetype.selectedsize;
  // unpaint the previous selected size
  var outercolorbox = document.getElementById('sizetype' + selectedcolor.sizetypeid + '_color' + selectedcolor.colorid + 'box1');
  var colorbox = document.getElementById('sizetype' + selectedcolor.sizetypeid + '_color' + selectedcolor.colorid + 'box2');
  if ( colorbox ) colorbox.style.borderColor='#ffffff';
  if ( outercolorbox) outercolorbox.style.borderColor='#666666';
  selectedcolor.sizetypeid = sizetype.id;
  selectedcolor.colorid = colorid;
  outercolorbox = document.getElementById('sizetype' + selectedcolor.sizetypeid + '_color' + selectedcolor.colorid + 'box1');
  colorbox = document.getElementById('sizetype' + selectedcolor.sizetypeid + '_color' + selectedcolor.colorid + 'box2');
  if ( colorbox ) colorbox.style.borderColor='#0088ca';
  if ( outercolorbox ) outercolorbox.style.borderColor='#0088ca';
  // show the proper images for the color.
  setImageColor(selectedcolor.colorid);  
  
  // if there are no sizes, then addtobag should be enabled.
  if ( sizetype.sizecount == 0 ) {
    checkCanAdd(sizetypeindex);
    return;
  }
  // is there a currently selected size?
  if ( selectedsize.sizetypeid == null ) {
    return;
  }
  
  // first find the color selected so we can look at its sizes.
  var sizetype = sizetypes[sizetypeindex];
  for ( c = 0; c < sizetype.colors.length; c++ ) {
    var color = sizetype.colors[c];
    if ( color.id == colorid ) {
  // found the color, look through its sizes to see if it has the currently
  // selected size.
        if ( containsSize(color, selectedsize.priceid, selectedsize.sizeid) ) {
          checkCanAdd(sizetypeindex);
          return;
        }
      break;
    }
  }
  
  // is the currently selected size available for this size?
  // if not then the currently selected size is no more.
  // unpaint the previous selected size
  var sizebox = document.getElementById('sizetype' + selectedsize.sizetypeid + 'price_' + selectedsize.priceid + '_size' + selectedsize.sizeid);
  var sizeboxtd = document.getElementById('sizetype' + selectedsize.sizetypeid + 'price_' + selectedsize.priceid + '_size' + selectedsize.sizeid + '_td');
  if ( sizebox ) sizebox.style.borderColor='#666666';
  if ( sizeboxtd) sizeboxtd.style.borderColor='white';
  sizetype.selectedsize = new Object();
  // show all colors now, since no size is selected.
  showAllColors(sizetypeindex);
  checkCanAdd(sizetypeindex);
}
function selectsize(sizetypeindex, priceid, sizeid) { 
  var sizetype = sizetypes[sizetypeindex];
  var selectedcolor = sizetype.selectedcolor;
  var selectedsize = sizetype.selectedsize;
  // unpaint the previous selected size
  var sizebox = document.getElementById('sizetype' + selectedsize.sizetypeid + 'price_' + selectedsize.priceid + '_size' + selectedsize.sizeid);
  var sizeboxtd = document.getElementById('sizetype' + selectedsize.sizetypeid + 'price_' + selectedsize.priceid + '_size' + selectedsize.sizeid + '_td');
  if ( sizebox ) sizebox.style.borderColor='#666666';
  if ( sizeboxtd) sizeboxtd.style.borderColor='white';
  
  selectedsize.sizetypeid = sizetype.id;
  selectedsize.priceid = priceid;
  selectedsize.sizeid = sizeid;
  // paint the selected size.
  sizebox = document.getElementById('sizetype' + sizetype.id + 'price_' + priceid + '_size' + sizeid);
  sizeboxtd = document.getElementById('sizetype' + sizetype.id + 'price_' + priceid + '_size' + sizeid + '_td');
  sizebox.style.borderColor='#0088ca';
  sizeboxtd.style.borderColor='#0088ca';
  
  // if there are no colors, then addtobag should be enabled.
  if ( sizetype.colorcount == 0 ) {
    checkCanAdd(sizetypeindex);
    return;
  }
  // is there a currently selected color?
  if ( selectedcolor.sizetypeid == null ) {
    return;
  }
  
  // first find the size selected so we can look at its colors.
  var sizetype = sizetypes[sizetypeindex];
  for ( p = 0; p < sizetype.prices.length; p++ ) {
    var price = sizetype.prices[p];
    if ( price.id == priceid ) {
      for ( var s = 0; s < price.sizes.length; s++ ) {
        var size = price.sizes[s];
        if ( size.id == sizeid ) {
  // found the size, look through its colors to see if it has the currently
  // selected color.
          if ( containsColor(size.colors, selectedcolor.colorid) ) {
            checkCanAdd(sizetypeindex);
            return;
          }
          break;
        }
      }
      break;
    }
  }

  // unpaint the previous selected color
  var outercolorbox = document.getElementById('sizetype' + selectedcolor.sizetypeid + '_color' + selectedcolor.colorid + 'box1');
  var colorbox = document.getElementById('sizetype' + selectedcolor.sizetypeid + '_color' + selectedcolor.colorid + 'box2');
  if ( colorbox ) colorbox.style.borderColor='#ffffff';
  if ( outercolorbox) outercolorbox.style.borderColor='#666666';
  sizetype.selectedcolor = new Object();
  // show all sizes now, since no color is selected.
  showAllSizes(sizetypeindex);
  checkCanAdd(sizetypeindex); 
}
function overcolor(sizetypeindex, colorid) { 
  var sizetype = sizetypes[sizetypeindex];
  var outercolorbox = document.getElementById('sizetype' + sizetype.id + '_color' + colorid + 'box1');
  var colorbox = document.getElementById('sizetype' + sizetype.id + '_color' + colorid + 'box2');
  colorbox.style.borderColor='#0088ca';
  outercolorbox.style.borderColor='#0088ca';
  showSizesForColor(sizetypeindex, colorid);
  var color = getColor(sizetypeindex, colorid);
  if ( color == null ) { 
    return;
  }
  colordesc(sizetypeindex, color.name, 'overcolor');
}
function notovercolor(sizetypeindex, colorid) {
  var sizetype = sizetypes[sizetypeindex];
  var selectedcolor = sizetype.selectedcolor;
  var selectedsize = sizetype.selectedsize;
  var outercolorbox = document.getElementById('sizetype' + sizetype.id + '_color' + colorid + 'box1');
  var colorbox = document.getElementById('sizetype' + sizetype.id + '_color' + colorid + 'box2');
  if ( sizetype.id != selectedcolor.sizetypeid || colorid != selectedcolor.colorid ) {
    colorbox.style.borderColor='#ffffff';
    outercolorbox.style.borderColor='#666666';
  }
  // is there a selected color?
  if ( selectedcolor.sizetypeid != null ) {
    showSizesForColor(sizetypeindex, selectedcolor.colorid);
    var color = getColor(sizetypeindex, selectedcolor.colorid);
    if ( color == null ) {
      return;
    }
    colordesc(sizetypeindex, color.name, 'overcolor');
  }
  else {
    showAllSizes(sizetypeindex);
    colordesc(sizetypeindex, '', 'overcolor');
  }
}
function oversize(sizetypeindex, priceid, sizeid) {
  var sizetype = sizetypes[sizetypeindex];
  var sizebox = document.getElementById('sizetype' + sizetype.id + 'price_' + priceid + '_size' + sizeid);
  var sizeboxtd = document.getElementById('sizetype' + sizetype.id + 'price_' + priceid + '_size' + sizeid + '_td');
  var sizeanchor = document.getElementById('sizetype' + sizetype.id + 'price_' + priceid + '_size' + sizeid + '_anchor');
  sizebox.style.borderColor='#0088ca';
  sizeboxtd.style.borderColor='#0088ca';
  showColorsForSize(sizetypeindex, priceid, sizeid);
  // show the name of the size.
  var size = getSize(sizetypeindex, priceid, sizeid);
  if ( size == null ) {
    return;
  }
  sizedesc(sizetypeindex, size.name + ' ' + size.name2, 'oversize');
}
function notoversize(sizetypeindex, priceid, sizeid) {
  var sizetype = sizetypes[sizetypeindex];
  var selectedcolor = sizetype.selectedcolor;
  var selectedsize = sizetype.selectedsize;
  // find the size.
  // dont unhighlight the size if it is selected.
  var sizebox = document.getElementById('sizetype' + sizetype.id + 'price_' + priceid + '_size' + sizeid);
  var sizeanchor = document.getElementById('sizetype' + sizetype.id + 'price_' + priceid + '_size' + sizeid + '_anchor');
  var sizeboxtd = document.getElementById('sizetype' + sizetype.id + 'price_' + priceid + '_size' + sizeid + '_td');
  if ( sizetype.id != selectedsize.sizetypeid || priceid != selectedsize.priceid || sizeid != selectedsize.sizeid ) {
    sizebox.style.borderColor='#666666';
    sizeboxtd.style.borderColor='white';
  }
  // is there a selected size?
  if ( selectedsize.sizetypeid != null ) {
    showColorsForSize(sizetypeindex, selectedsize.priceid, selectedsize.sizeid);
    var size = getSize(sizetypeindex, selectedsize.priceid, selectedsize.sizeid);
    if ( size == null ) {
      return;
    }
    sizedesc(sizetypeindex, size.name + ' ' + size.name2, 'oversize');
  }
  else {
    showAllColors(sizetypeindex);
    sizedesc(sizetypeindex, '', 'oversize');
  }
}
function getColor(sizetypeindex, colorid) {
  var sizetype = sizetypes[sizetypeindex];
  var colors = sizetype.colors;
  for ( var x = 0; x < colors.length; x++ ) {
    var color = colors[x];
    if ( color.id == colorid ) {
      return color;
    }
  }
  return null;
}
function showSizesForColor(sizetypeindex, colorid) {
  var sizetype = sizetypes[sizetypeindex];
  var color = getColor(sizetypeindex, colorid);
  if ( color == null ) {
    return;
  }
  for ( var p = 0; p < sizetype.prices.length; p++ ) {
    var price = sizetype.prices[p];
    for ( var s = 0; s < price.sizes.length; s++ ) {
      var size = price.sizes[s];
      if ( size.id != 0 ) {
        var sizebox = document.getElementById('sizetype' + sizetype.id + 'price_' + price.id + '_size' + size.id);
        var sizeanchor = document.getElementById('sizetype' + sizetype.id + 'price_' + price.id + '_size' + size.id + '_anchor');
        if ( containsSize(color, price.id, size.id) ) {
          sizebox.style.borderStyle='solid';
          sizebox.style.background='#cccccc';
          sizeanchor.style.color='#0088ca';
        }
        else {
          sizebox.style.borderStyle='dashed';
          sizebox.style.background='#ffffff';
          sizeanchor.style.color='#cccccc';
        }
      }
    }
  }
}
function showAllSizes(sizetypeindex) {
  var sizetype = sizetypes[sizetypeindex];
  var selectedcolor = sizetype.selectedcolor;
  var selectedsize = sizetype.selectedsize;
  for ( var p = 0; p < sizetype.prices.length; p++ ) {
    var price = sizetype.prices[p];
    for ( var s = 0; s < price.sizes.length; s++ ) {
      var size = price.sizes[s];
      if ( size.id != 0 ) {
        var sizebox = document.getElementById('sizetype' + sizetype.id + 'price_' + price.id + '_size' + size.id);
        var sizeanchor = document.getElementById('sizetype' + sizetype.id + 'price_' + price.id + '_size' + size.id + '_anchor');
  // is this size selected?
        if ( selectedsize.sizetypeid == sizetype.id && selectedsize.priceid == price.id && selectedsize.sizeid == size.id ) {
        }
        else {
        }
        sizebox.style.borderStyle='solid';
        sizebox.style.background='#cccccc';
        sizeanchor.style.color='#0088ca';
      }
    }
  }
}
function getSize(sizetypeindex, priceid, sizeid) {
  var sizetype = sizetypes[sizetypeindex];
  for ( var p = 0; p < sizetype.prices.length; p++ ) {
    var price = sizetype.prices[p];
    if ( price.id == priceid ) {
      for ( var x = 0; x < price.sizes.length; x++ ) {
        var size = price.sizes[x];
        if ( size.id == sizeid ) {
  // set the availability of the colors.
          return size;
        }
      }
    }
  }
  return null;
}
function getColorForSize(sizetypeindex, priceid, sizeid, colorid) {
  var sizetype = sizetypes[sizetypeindex];
  for ( var p = 0; p < sizetype.prices.length; p++ ) {
    var price = sizetype.prices[p];
    if ( price.id == priceid ) {
      for ( var x = 0; x < price.sizes.length; x++ ) {
        var size = price.sizes[x];
        if ( size.id == sizeid ) {
          for ( var c = 0; c < size.colors.length; c++ ) {
            var color = size.colors[c];
            if ( color.id == colorid ) {
              return color;
            }
          }
          return null;
        }
      }
      return null;
    }
  }
  return null;
}
function showColorsForSize(sizetypeindex, priceid, sizeid) {
  var sizetype = sizetypes[sizetypeindex];
  var size = getSize(sizetypeindex, priceid, sizeid);
  if ( !size ) {
    return;
  }
  var colors = size.colors;
  for ( c = 0; c < sizetype.colors.length; c++ ) {
    var color = sizetype.colors[c];
    if ( color.id != 0 ) {
      var colorbox = document.getElementById('sizetype' + sizetype.id + '_color' + color.id + 'box1');
      var colorimage = document.getElementById('sizetype' + sizetype.id + '_color' + color.id + 'image');
  // is this color available for this size?
      colorbox.style.borderColor='#666666';
      if ( containsColor(colors, color.id) ) {
        colorbox.style.borderStyle='solid';
        colorimage.style.opacity=1;
        if( colorimage.filters ) colorimage.filters.alpha.opacity=100;
      }
      else {
        colorbox.style.borderStyle='dashed';
        colorimage.style.opacity=0.2;
        if( colorimage.filters ) colorimage.filters.alpha.opacity=20;
      }
    }
  }
}
function showAllColors(sizetypeindex) {
  var sizetype = sizetypes[sizetypeindex];
  var selectedcolor = sizetype.selectedcolor;
  var selectedsize = sizetype.selectedsize;
  for ( c = 0; c < sizetype.colors.length; c++ ) {
    var color = sizetype.colors[c];
    if ( color.id != 0 ) {
      var colorbox = document.getElementById('sizetype' + sizetype.id + '_color' + color.id + 'box1');
      var colorbox2 = document.getElementById('sizetype' + sizetype.id + '_color' + color.id + 'box2');
      var colorimage = document.getElementById('sizetype' + sizetype.id + '_color' + color.id + 'image');
  // is this color selected?
      if ( selectedcolor.sizetypeid == sizetype.id && selectedcolor.colorid == color.id ) {
        colorbox.style.borderColor='#0088ca';
        colorbox.style.borderStyle='solid';
        colorbox2.style.borderColor='#0088ca';
      }
      else {
        colorbox.style.borderColor='#666666';
        colorbox.style.borderStyle='solid';
        colorbox2.style.borderColor='white';
      }
      colorimage.style.opacity=1;
      if( colorimage.filters ) colorimage.filters.alpha.opacity=100;
    }
  }
}
function containsColor(array, valueid) {
  for ( var x = 0; x < array.length; x++ ) { 
    if ( '' + array[x].id == '' + valueid ) {
      return true;
    }
  }
  return false;
}
function containsSize(color, priceid, sizeid) {
  for ( var p = 0; p < color.prices.length; p++ ) { 
    var price = color.prices[p];
    if ( price.id == priceid ) { 
      for ( var s = 0; s < price.sizes.length; s++ ) { 
        if ( price.sizes[s].id == sizeid ) {
          return true;
        }
      }
      return false;
    }
  }
  return false;
}
function rcbgcolor(id, color) {
  for ( var x = 1; x < 6; x++ ) {
    var b = document.getElementById('' + id + 'back' + x);
    if ( b ) { b.bgColor=color; }
  }
}
function rccolor(id, color) {
  for ( var x = 1; x < 9; x++ ) {
    var b = document.getElementById('' + id + 'side' + x);
    if ( b ) { b.bgColor=color; }
  }
}
function sizedesc(sizetypeindex, desc, classname) {
  var sizetype = sizetypes[sizetypeindex];
  var size = document.getElementById(sizetype.id + '_selectsize');
  if ( size == null ) {
     return;
  }
  while ( size.firstChild ) {
    size.removeChild(size.firstChild);
  }
  var aspan = document.createElement('span')
  aspan.setAttribute('class', classname);
  aspan.setAttribute('className', classname);
  aspan.appendChild(document.createTextNode(desc));
  size.appendChild(aspan);
}
function colordesc(sizetypeindex, desc, classname) {
  var sizetype = sizetypes[sizetypeindex];
  var color = document.getElementById(sizetype.id + '_selectcolor');
  if ( color == null ) {
     return;
  }
  while ( color.firstChild ) {
    color.removeChild(color.firstChild);
  }
  var aspan = document.createElement('span')
  aspan.setAttribute('class', classname);
  aspan.setAttribute('className', classname);
  aspan.appendChild(document.createTextNode(desc));
  color.appendChild(aspan);
}
function showOptionsTab(showtab) {
  var x = 0;
  var div = document.getElementById('product_options_' + x);
  while ( div != null ) {
    div.style.display = 'none';
    tabselect('sizetype' + x, '#cccccc');
    x++;
    div = document.getElementById('product_options_' + x);
  }
  div = document.getElementById('product_options_' + showtab);
  if ( div ) div.style.display = 'block';
  tabselect('sizetype' + showtab, '#ffffff');
}
