
    document.write('<link rel="stylesheet" type="text/css" href="http://www.amazon.com/widgets/people/style/favorite-items.css?_encoding=UTF8&skinName=stylish" />');






if (!window.AmazonPopoverImages) {

var amznJQ = {
    _a: [], _s: [], _d: [], _l: [], _o: [],
    addLogical: function() {
        this._l.push(arguments)
    },
    addStyle: function() {
        this._s.push(arguments)
    },
    declareAvailable: function() {
        this._d.push(arguments)
    },
    available: function() {
        this._a.push(arguments)
    },
    onReady: function() {
        this._o.push(arguments)
    },
    strings: {},
    chars: {
        EOL: String.fromCharCode(0x0A),
        SQUOTE: String.fromCharCode(0x27),
        DQUOTE: String.fromCharCode(0x22),
        BACKSLASH: String.fromCharCode(0x5C),
        YEN: String.fromCharCode(0xA5)
    }
};

window.AmazonPopoverImages = { };



}



// utility functions objects ////////////////////////////////////////////////

function amzScaleDimension(actual, maxDesired) {
  var scale = null;
  for (var i=0; i<actual.length; i++) {
    var curScale = actual[i] / maxDesired[i];
    if (scale==null || curScale > scale)
      scale = curScale;
  }
  
  var result = new Array();
  for (var i=0; i<actual.length; i++) {
    var scaled = actual[i] / scale;
    scaled = Math.round(Math.floor(scaled));
    result.push( actual[i] / scale );
  }

  return result;
};

function amzFindByTagClass(parent, tag, className) {
  if (!parent)
    return null;

  var candidates = parent.getElementsByTagName(tag);

  for (var i=0; i<candidates.length; i++) {
    var elem = candidates[i];

    if (!className)
      return elem;
        
    if (elem.className == className)
      return elem;
  }
    
  return null;
}

function amzGetElementChildNodes(parent) {
  var ret = new Array();
  if (parent && parent.childNodes) {
      for (var i=0; i<parent.childNodes.length; i++) {
          var elem = parent.childNodes[i];

          if (parent.childNodes[i].nodeType==1)
              ret.push(parent.childNodes[i])
      }
  }
    
  return ret;
}


// widget definition /////////////////////////////////////////////////////


function amzFavoritesItemsWidget(instanceName) {
  this.instanceName = instanceName;
  this.currentCategory = null;
  this.shovelerCurrentIndex = null; // the index of the image in the middle
  this.shovelerNumItems = 3;
  this.shovelerAnimateTimeStep = 100;
  this.shovelerAnimationId = null;
  this.maxNumItems = 5;
  this.commentsAnimateDelay = 20;
  this.shovelerImageSize = [40, 62];
  this.shovelerInitialImageSize = [48, 75];
  this.shovelerActiveImageSize = [58,90];
  this.categorySelectDisplayStyle = 'inline';

  this.maxCommentsHeight = 165;
  this.maxWidgetWidth = null;

  // this is necessary because IE will report the size of a hidden
  // image as 0x0
  this.shovelerActualImageSizes = new Object();

  this.commentsShowing = false; // preserve in category-category transitions
      
  this.renderWidget = function(sections, preloadedContent) {
    this.sections = sections;
    // TODO: load content from XHR request
    var content = preloadedContent;
    var placeholder = document.getElementById(this.instanceName);
    
    if (this.maxWidgetWidth && jQuery('#' + this.instanceName).width() > this.maxWidgetWidth) {
      placeholder.style.width = this.maxWidgetWidth + 'px';
    }
 
    placeholder.innerHTML = content;
  };
  
  this.init = function() {
    //
    // JS widget initialization- set up default display
    //

    var categorySelector = this.getCategorySelectionElement();
    var categories = this.getCategoriesElement();
    categories = amzGetElementChildNodes(categories);

    this.categoryElements = new Object();
    this.categorySelectionElements = new Object();

    for (var i=0; i<categories.length; i++) {
      var elem = categories[i];
      var cat = this.sections[i];
      this.categoryElements[cat] = elem;
    }

    var defaultCat;
    for (var i=0; i<this.sections.length; i++) {
      var cat = this.sections[i];

      if (defaultCat == null) 
        defaultCat = cat;

      var nameElem = this.getCategoryNameElement(cat);
      var selItem = this._createCategorySelectItem(categorySelector, cat, nameElem.innerHTML);
      this.categorySelectionElements[cat] = selItem;

      var comments = this.getCommentsElement(cat);
      if (comments && this.maxCommentsHeight && jQuery(comments).height() > this.maxCommentsHeight) {
        comments.style.height = this.maxCommentsHeight + 'px';
        comments.style.overflow = 'scroll';
        comments.style.overflowX = 'hidden';
        comments.style.overflowY = 'scroll';
      }
    }
    
    // only continue the init sequence if there are actually any categories
    // that were rendered
    if (categories.length) {
      this._initShoveler();

      this.setCategory(defaultCat);
    }
  };

  this._initShoveler = function() {
    var widget = this;
	
    for (var i=0; i<this.shovelerNumItems; i++) {
      var itm = this.getShovelerImageElement(i);

      itm.onload = function() {
        widget.shovelerImageOnloadHandler(this);
      };
    }  
  };


  this.getNumCategories = function() { return this.sections.length; };

  this.getNextCategory = function(cat, direction) {
    direction = (direction<0) ? -1 : 1;
  
    var currentIndex;
    for (var i=0; i<this.sections.length; i++) {
      if (this.sections[i] == cat) {
        currentIndex = i;
        break;
      }
    }

    if (currentIndex==null)
      return null;
  
    var nextIndex = currentIndex + direction;
    while (true) {
      // wrap indexes around- note that Javascript's modulo operator doesn't work
      // right for negative numbers
      nextIndex = nextIndex % this.getNumCategories();
      if (nextIndex < 0)
        nextIndex = this.getNumCategories() + nextIndex;
    
      if (nextIndex == currentIndex)
        break;
    
      var nextCat = this.sections[nextIndex];
      if (this.isCategoryEnabled(nextCat))
        return nextCat;
    
      nextIndex += direction;
    }
  
    return null;

  };

  /**
   returns a relative index that indicates the item in the previous/next
   category to display. Basically, if index<0, it's assumed that we want to display
   the last item of the previous category, and if index>=0, we want to display
   the first item of the next category
   */
  this.getNextCategoryItemIndex = function(cat, index, relative) {
    return index >= 0 ? 0 : -1;
  };

  /**
   Converts a relative index to an absolute one for the specified category
   */
  this.getRotatedCategoryItemIndex = function(cat, index) {		
    var numItems = this.getNumItemsInCategory(cat);
    index = index % numItems;
    if (index < 0)
      index = numItems + index;

    return index;
  };


  this.setCategory = function(cat, startIndex) {
    
    for (var i in this.categoryElements) {
      this.categorySelectionElements[i].className = (i==cat) ? 'amzActive' : 'amzInactive';
      this.categoryElements[i].style.display = (i==cat) ? '' : 'none';
    }
    
    this.currentCategory = cat;
        
    this.showDefaultDisplay(startIndex);
  };

  this.isCategoryEnabled = function(cat) {
    var selElem = this.categorySelectionElements[cat];
    return selElem!=null && selElem.style.display != 'none';
  };


  this.setCategoryEnabled = function(cat, enabled) {
    var selector = this.categorySelectionElements[cat];
    if (selector) {
      selector.style.display = enabled ? this.categorySelectDisplayStyle : 'none';
      

      if (this.getCurrentCategory() != cat || enabled) {
        // refresh the shoveler display, to make sure items from the prev/next 
        // category are displayed correctly
        this.refreshShovelerDisplay();

      // re-select a category if the current one is being disabled
      } else {
        var defaultCat = null;
        for (var i=0; i<this.sections.length; i++) {
          var cat = this.sections[i]
          if (this.categorySelectionElements[cat].style.display != 'none') {
            defaultCat = cat;
            break;
          }
        }

        if (defaultCat == null) {
          // TODO: display empty widget?
        } else {
          this.setCategory(cat);
        }
      }
      
    } // else, assume it's an invalid category
  };
  
  this.showDefaultDisplay = function(startIndex) {
    var isInit = false;
    if (startIndex == null) {
      isInit = true;
      startIndex = 0;
    }
	
    this.shovelerShowImage(startIndex, isInit);

    if (this.commentsShowing)
      this.showComments(true);
    else
      this.hideComments(true);
  };
  
  this.getCurrentCategory = function() { return this.currentCategory; };
  
  this.getNumItemsInCategory = function(cat) {
    var catElem = this.categoryElements[cat];
    if (catElem==null)
        return 0;
    
    var listElem = amzFindByTagClass(catElem, 'OL');
    var numItems = 0;
    var items = amzGetElementChildNodes(listElem);
    
    return items.length;
  };
  
  this.shovelerImageClicked = function(index, event) {

    var shovelerImage = this.getShovelerImageElement(index);
    if (shovelerImage && shovelerImage.blur)
      shovelerImage.blur();

    if (this.shovelerCurrentIndex == null)
      this.shovelerShowImage(index);
    else {
      var itemIndex = null;
      if (index == 0) {
        itemIndex = this.shovelerCurrentIndex - 1;
      } else if (index == (this.shovelerNumItems-1)) {
        itemIndex = this.shovelerCurrentIndex + 1;
      } else { // ignore- in the future could have functionality for lists with > 3 items
        return;
      }

      var cat = this.getCurrentCategory();

      if (itemIndex >= 0 && itemIndex < this.getNumItemsInCategory(cat)) {
        this.shovelerShowImage(itemIndex);
        
      } else {
        cat = this.getNextCategory(cat, itemIndex);
        
        if (cat != null) {
          // normalize itemIndex to be either the first item (0), or the last item (-1)
          itemIndex = this.getNextCategoryItemIndex(cat, itemIndex, true);
            
          this.setCategory(cat, itemIndex);
        }
      }
    }

    return false;
  };


  this.refreshShovelerDisplay = function() {
    this.shovelerShowImage(this.shovelerCurrentIndex, true);
  };
  
  /**
   index is the the index of the desired item to select. If index is negative, then
     it is taken to mean the index from the end of the list. For example, -1 would
	 specify to show the last item in the list.
   isInit is a flag to specify that this is the initial showing of items in the shoveler
   */
  this.shovelerShowImage = function(index, isInit) {
    var shovelerStartIndex;
    var itemStartIndex;
    var loadDirection;

    // startOffset is essentially the index of the center item
    var startOffset = Math.round(Math.floor(this.shovelerNumItems / 2));

    if (index==null || isInit) {
      shovelerStartIndex = 0;
      loadDirection = 1;
    } else {

      var currentMiddle = (this.shovelerCurrentIndex!=null) ? this.shovelerCurrentIndex : startOffset;
      
      // loadDirection is backwards: when advancing, load from the right (backwards)
      // and when going back, load from the left (forwards)
      loadDirection = (index > currentMiddle) ? -1 : 1;
      
      shovelerStartIndex = (loadDirection > 0) ? 0 : this.shovelerNumItems-1;
    }
    
    var cat = this.getCurrentCategory();
    
    // kill any previous animation
    if (this.shovelerAnimationId != null)
      clearTimeout(this.shovelerAnimationId);
    
    var shoveler = this.getShovelerElement();
    if (cat==null) {
      shoveler.style.display = 'none';
      this.shovelerCurrentIndex = null;
            
    } else {
      shoveler.style.display = '';

      index = this.getRotatedCategoryItemIndex(cat, index);

      itemStartIndex = index - (loadDirection * startOffset);

      this.shovelerCurrentIndex = index;

      // don't use animation when setting up initial display
      var animationDelay = isInit ? 0 : this.shovelerAnimateTimeStep;

      this._animateShoveler(itemStartIndex, shovelerStartIndex, loadDirection, 0, animationDelay);
    }

    this.setActiveItem(this.shovelerCurrentIndex);
  };
  

  this._isElementActive = function(element) {
    if (!element)
      return false;

    if (element.className == 'amzActive')
      return true;

    return this._isElementActive(element.parentNode);
  };

  this._scaleShovelerImage = function(shovelerImage) {
    var desiredSize;
    if (this.shovelerCurrentIndex == null)
      desiredSize = this.shovelerInitialImageSize;
    else {
      desiredSize = this._isElementActive(shovelerImage) ? 
                      this.shovelerActiveImageSize :
                      this.shovelerImageSize;
    }

    var actualSize = this.shovelerActualImageSizes[shovelerImage.src];
    if (actualSize) { // this should always exist
      var finalSize = amzScaleDimension(actualSize, desiredSize);

      // set width on the style object. Setting the width on the
      // image object is irreversible
      shovelerImage.style.width = finalSize[0] + 'px';
      shovelerImage.style.height = finalSize[1] + 'px';
    }
  };

  this.shovelerImageOnloadHandler = function(shovelerImage) {
    if (shovelerImage.width==1 && shovelerImage.height==1)
      return;

    if (!this.shovelerActualImageSizes[shovelerImage.src]) {
      shovelerImage.style.width = '';
      shovelerImage.style.height = '';

      this.shovelerActualImageSizes[shovelerImage.src] = [shovelerImage.width, shovelerImage.height];
    }

    this._scaleShovelerImage(shovelerImage);
  };

  this._animateShoveler = function(itemStartIndex, shovelerStartIndex, loadDirection, offset, animationTimeStep) {
    if (offset >= this.shovelerNumItems) {
      this.shovelerAnimationId = null;
      return;
    }
    
    var shovelerIndex = shovelerStartIndex + (offset * loadDirection);
    var itemIndex = itemStartIndex + (offset * loadDirection);
    
    var cat = this.getCurrentCategory();
    var isActive = (itemIndex == this.shovelerCurrentIndex);
    var itemPictureLink;
    var itemPicture;
    var categoryNameElem;

    if (itemIndex >= 0 && itemIndex < this.getNumItemsInCategory(cat)) {
      itemPictureLink = isActive ? 
              this.getItemPictureElement(cat, itemIndex) : 
              this.getItemThumbnailElement(cat, itemIndex);

    } else {
      // show the first/last item from the next/previous category, but only
      // if there is another category
      if (this.getNumCategories() > 1) {
        var previewCategory = this.getNextCategory(cat, itemIndex);
        var previewItemIndex = this.getNextCategoryItemIndex(cat, itemIndex);
        previewItemIndex = this.getRotatedCategoryItemIndex(previewCategory, previewItemIndex);

        itemPictureLink = this.getItemThumbnailElement(previewCategory, previewItemIndex);
        categoryNameElem = this.getCategoryNameElement(previewCategory);
      }
    }

    if (itemPictureLink) {
        itemPicture = itemPictureLink.getElementsByTagName('IMG');
        itemPicture = itemPicture[0];
    }
          
    var shovelerItem = this.getShovelerItemElement(shovelerIndex);
    if (shovelerItem) {
      if (this.shovelerCurrentIndex == null)
        shovelerItem.className = '';
      else if (isActive)
        shovelerItem.className = 'amzActive';
      else
        shovelerItem.className = 'amzInactive';
      
      shovelerItem.style.width = this.getShovelerItemWidth(this.shovelerCurrentIndex==null, this.shovelerCurrentIndex==itemIndex);
    }


    var shovelerImage = this.getShovelerImageElement(shovelerIndex);
    
    if (shovelerImage) {
      if (!itemPicture) {
        shovelerImage.style.display = 'none';
      } else {
        shovelerImage.src = itemPicture.src;
        shovelerImage.alt = itemPicture.alt;
        shovelerImage.style.display = '';
      }
    }

    var shovelerLink = this.getShovelerLinkElement(shovelerIndex);
    if (shovelerLink) {
      if (isActive && itemPictureLink) {
        shovelerLink.href = itemPictureLink.href;
        shovelerLink.target = '_new';
      } else {
        shovelerLink.href = '#';
        shovelerLink.target = '';
      }
    }


    var categoryIndicator = this.getShovelerCategoryIndicatorElement(shovelerIndex);
    if (categoryIndicator) {
      var indicatorContent = categoryNameElem ? categoryNameElem.innerHTML : '';
      var newNode = document.createTextNode(indicatorContent);
      if (categoryIndicator.childNodes.length == 0)
        categoryIndicator.appendChild(newNode);
      else {
        var child = categoryIndicator.childNodes[0];
        categoryIndicator.replaceChild(newNode, child);
      }
    }

    var widget = this;
    if (!animationTimeStep) {
      this._animateShoveler(itemStartIndex, shovelerStartIndex, loadDirection, offset+1, animationTimeStep);
    } else {
      var fn = function() { widget._animateShoveler(itemStartIndex, shovelerStartIndex, loadDirection, offset+1, animationTimeStep); };
      this.shovelerAnimationId = setTimeout(fn, animationTimeStep);
    }
  };
  
  this.getShovelerItemWidth = function(isDefaultDisplay, isActive) {
    if (isDefaultDisplay)
      return "33%";

    if (isActive) {
      return "40%";
    } else {
      return "30%";
    }
  };
  
  this.setActiveItem = function(index) {
    // common
    var cat = this.getCurrentCategory();
    if (cat==null)
      return;
  
    for (var i = 0; i < this.getNumItemsInCategory(cat); i++) {
      var itm = this.getItemElement(cat, i);
      
      if (itm) {
        if (index == i)
          itm.className = 'amzActive';
        else
          itm.className = 'amzInactive';
      }
    }  
  };

  this.setCommentsShowing = function(show, immediate) {
    var cat = this.getCurrentCategory();
    if (cat==null)
      return;

    var comments = this.getCommentsElement(cat);
    var showLink = this.getCommentsShowElement(cat);
    var hideLink = this.getCommentsHideElement(cat);

    if (!comments || !showLink || !hideLink) return;
    
    if (show) {
      jQuery(hideLink).show();
      jQuery(showLink).hide();
      jQuery(comments).show('fast');

    } else {
      jQuery(showLink).show();
      jQuery(hideLink).hide();
      jQuery(comments).hide('fast');
    }

    this.commentsShowing = show;
  };
  
  this.showComments = function(immediate) {
    this.setCommentsShowing(true, immediate);
  };
  
  this.hideComments = function(immediate) {
    this.setCommentsShowing(false, immediate);
  };
    
  this.getCategorySelectionElement = function() { 
    var widget = jQuery('#' + this.instanceName)[0];
    return amzFindByTagClass(widget, 'DIV', 'amzCategorySelect');
  };

  this.getCategorySelectorElement = function(cat) {
    return this.categorySelectionElements[cat];
  }

  this.getShovelerElement = function() { 
    var widget = jQuery('#' + this.instanceName)[0];
    return amzFindByTagClass(widget, 'DIV', 'amzShoveler');
  };

  this.getShovelerItemElement = function(index) { return jQuery('#' + this.instanceName + '_shovelerItem' + index)[0]; };
  this.getShovelerImageElement = function(index) { return jQuery('#' + this.instanceName + '_shovelerImage' + index)[0]; };
  this.getShovelerLinkElement = function(index) {
    var item = this.getShovelerItemElement(index);
    return amzFindByTagClass(item, 'A');
  };

  this.getShovelerCategoryIndicatorElement = function(index) {
    var item = this.getShovelerItemElement(index);
    if (!item) return null;
    return amzFindByTagClass(item, 'DIV', 'amzCategoryIndicator');
  };

  this.getCategoriesElement = function() { 
    var widget = jQuery('#' + this.instanceName)[0];
    return amzFindByTagClass(widget, 'DIV', 'amzCategories');
  };

  this.getCategoryNameElement = function(cat) {
    var category = this.categoryElements[cat];
	return amzFindByTagClass(category, 'DIV', 'amzName');
  };

  this.getItemElement = function(cat,index) { 
    var category = this.categoryElements[cat];

    var itemList = amzFindByTagClass(category, 'OL');

    itemList = amzGetElementChildNodes(itemList);

    return itemList[index];
  };
  
  this.getItemThumbnailElement = function(cat,index) { 
      var item = this.getItemElement(cat,index);
    var thumb = amzFindByTagClass(item, 'A', 'amzProductThumb');
    return thumb;
  };

  this.getItemPictureElement = function(cat,index) { 
    var item = this.getItemElement(cat,index);
    var pic = amzFindByTagClass(item, 'A', 'amzProductPic');
    return pic;
  };

  this._getCommentsContainerElement = function(cat) { 
      var category = this.categoryElements[cat];
    return amzFindByTagClass(category, 'DIV', 'amzComments');
  };

  this.getCommentsElement = function(cat) { 
      var container = this._getCommentsContainerElement(cat);
    return amzFindByTagClass(container, 'DIV', 'amzContent');
  };

  this.getCommentsShowElement = function(cat) { 
      var container = this._getCommentsContainerElement(cat);
    return amzFindByTagClass(container, 'SPAN', 'amzShowLink');
  };
  
  this.getCommentsHideElement = function(cat) { 
      var container = this._getCommentsContainerElement(cat);
    return amzFindByTagClass(container, 'SPAN', 'amzHideLink');
  };


  this._createCategorySelectItem = function(parentElement, index, title) {
    var item = document.createElement('DIV');
    item.style.display = this.categorySelectDisplayStyle;

    var link = document.createElement('SPAN');
    link.className = 'amzClickable';
    
    var widget = this;
    link.onclick = function() {
      widget.setCategory(index);
    };
    
    var text = document.createTextNode(title);
    link.appendChild(text);
    item.appendChild(link);
    parentElement.appendChild(item);
    
    return item;
  };

};


document.write('<div id="myAmzFavs" class="amzFavoriteItemsWidget"><div style="height: 263px;">&nbsp;</div></div>');

amznJQ.onReady('jQuery', function() {
(function($) {
  window.myAmzFavs = new amzFavoritesItemsWidget('myAmzFavs');

    var sections = ['books', 'music', 'movies', 'other'];

  myAmzFavs.renderWidget(sections, myAmzFavs_pre_load);

  myAmzFavs.init();
})(jQuery);
});


myAmzFavs_pre_load = '\n\
\n\
\n\
\n\
\n\
\n\
<table id="myAmzFavs_styler" border="0" cellpadding="0" cellspacing="0" width="100%">\n\
\n\
<tr class="amzStylerHeader"><td class="amzStylerLeft"><div class="amzHeader">\n\
  <div class="amzWidgetTitle">My favorite</div>\n\
  <div class="amzCategorySelect">\n\
    \n\
  </div>\n\
\n\
</div></td><td class="amzStylerRight">&nbsp;</td></tr>\n\
<tr class="amzStylerBody"><td class="amzStylerLeft"><div class="amzMainContentArea">\n\
\n\
\n\
    \n\
<div class="amzShoveler">\n\
<table border="0" cellpadding="0" cellspacing="0" width="100%" height="93"><tr>\n\
  <td align="left" valign="top"\n\
      id="myAmzFavs_shovelerItem0" width="33%" height="93"  style="overflow: hidden; position: relative;">\n\
    <a href="#" onclick="return myAmzFavs.shovelerImageClicked(0, event);"  style="display: block; overflow: hidden; position: relative; height: 100%;" class="amzPrevious">\n\
      <img src="http://g-ecx.images-amazon.com/images/G/01/misc/clearpixel._V192551096_.gif"  style="margin-left: -10px;" id="myAmzFavs_shovelerImage0"  border="0" />\n\
      <div class="amzCategoryIndicator" onclick="return myAmzFavs.shovelerImageClicked(0, event);">&nbsp;</div>\n\
      <div class="amzIndicator" onclick="return myAmzFavs.shovelerImageClicked(0, event);"><img src="http://g-ecx.images-amazon.com/images/G/01/x-locale/communities/widgets/prev._V192250018_.gif" width="21" alt="&lt;-" height="14" border="0" /></div>\n\
    </a>\n\
  </td>\n\
  <td align="center" valign="bottom"\n\
      id="myAmzFavs_shovelerItem1" width="33%" height="93" >\n\
    <a href="#" onclick="return myAmzFavs.shovelerImageClicked(1, event);" >\n\
      <img src="http://g-ecx.images-amazon.com/images/G/01/misc/clearpixel._V192551096_.gif"  style="" id="myAmzFavs_shovelerImage1"  border="0" />\n\
    </a>\n\
  </td>\n\
  <td align="right" valign="top"\n\
      id="myAmzFavs_shovelerItem2" width="33%" height="93"  style="overflow: hidden; position: relative; ">\n\
    <a href="#" onclick="return myAmzFavs.shovelerImageClicked(2, event);"  style="display: block; overflow: hidden; position: relative; height: 100%;" class="amzNext">\n\
      <img src="http://g-ecx.images-amazon.com/images/G/01/misc/clearpixel._V192551096_.gif"  style="margin-right: -10px;" id="myAmzFavs_shovelerImage2"  border="0" />\n\
      <div class="amzCategoryIndicator" onclick="return myAmzFavs.shovelerImageClicked(2, event);">&nbsp;</div>\n\
      <div class="amzIndicator" onclick="return myAmzFavs.shovelerImageClicked(2, event);"><img src="http://g-ecx.images-amazon.com/images/G/01/x-locale/communities/widgets/next._V192250018_.gif" width="21" alt="-&gt;" height="14" border="0" /></div>\n\
    </a>\n\
  </td>\n\
</tr></table>\n\
</div>\n\
\n\
\n\
\n\
<div class="amzCategories">\n\
\n\
    \n\
<div class="amzCategory">\n\
  <div class="amzTitle">My favorite <span class="amzName">Books</span></div>\n\
  <div class="amzName">Books</div>\n\
  <ol>\n\
\n\
    <li>\n\
      <span class="amzProductRank">1.</span>\n\
      <a href="http://www.amazon.com/The-Chord-Wheel-Ultimate-Musicians/dp/0634021427" class="amzProductThumb"><img src="http://ecx.images-amazon.com/images/I/51GOElZMgOL._SL500_PIsitb-sticker-arrow-big,TopRight,35,-73_OU01_SS75_.jpg" width="75" alt="The Chord Wheel: The Ultimate Tool for All Musicians by Jim Fleser" height="75" border="0" /></a><span class="amzProductTitle"><a href="http://www.amazon.com/The-Chord-Wheel-Ultimate-Musicians/dp/0634021427">The Chord Wheel</a> <span class="amzByline" >by Jim Fleser</span></span>\n\
      <div class="amzProductDetails"><a href="http://www.amazon.com/The-Chord-Wheel-Ultimate-Musicians/dp/0634021427" class="amzProductPic"><img src="http://ecx.images-amazon.com/images/I/51GOElZMgOL._SL500_PIsitb-sticker-arrow-big,TopRight,35,-73_OU01_SS110_.jpg" width="110" alt="The Chord Wheel: The Ultimate Tool for All Musicians by Jim Fleser" height="110" border="0" /></a></div>\n\
    </li>\n\
    <li>\n\
      <span class="amzProductRank">2.</span>\n\
      <a href="http://www.amazon.com/Flatland-Romance-Dimensions-Thrift-Editions/dp/048627263X" class="amzProductThumb"><img src="http://ecx.images-amazon.com/images/I/51WITI8AHjL._SL500_PIsitb-sticker-arrow-big,TopRight,35,-73_OU01_SS75_.jpg" width="75" alt="Flatland: A Romance of Many Dimensions (Dover Thrift Editions) by Edwin A. Abbott" height="75" border="0" /></a><span class="amzProductTitle"><a href="http://www.amazon.com/Flatland-Romance-Dimensions-Thrift-Editions/dp/048627263X">Flatland</a> <span class="amzByline" >by Edwin A. Abbott</span></span>\n\
      <div class="amzProductDetails"><a href="http://www.amazon.com/Flatland-Romance-Dimensions-Thrift-Editions/dp/048627263X" class="amzProductPic"><img src="http://ecx.images-amazon.com/images/I/51WITI8AHjL._SL500_PIsitb-sticker-arrow-big,TopRight,35,-73_OU01_SS110_.jpg" width="110" alt="Flatland: A Romance of Many Dimensions (Dover Thrift Editions) by Edwin A. Abbott" height="110" border="0" /></a></div>\n\
    </li>\n\
    <li>\n\
      <span class="amzProductRank">3.</span>\n\
      <a href="http://www.amazon.com/Godel-Escher-Bach-Eternal-Golden/dp/0394745027" class="amzProductThumb"><img src="http://ecx.images-amazon.com/images/I/41CTLSybN8L._SL500_SS75_.jpg" width="75" alt="Godel, Escher, Bach: An Eternal Golden Braid by Douglas R. Hofstadter" height="75" border="0" /></a><span class="amzProductTitle"><a href="http://www.amazon.com/Godel-Escher-Bach-Eternal-Golden/dp/0394745027">Godel, Escher, Bach</a> <span class="amzByline" >by Douglas R. Hofstadter</span></span>\n\
      <div class="amzProductDetails"><a href="http://www.amazon.com/Godel-Escher-Bach-Eternal-Golden/dp/0394745027" class="amzProductPic"><img src="http://ecx.images-amazon.com/images/I/41CTLSybN8L._SL500_SS110_.jpg" width="110" alt="Godel, Escher, Bach: An Eternal Golden Braid by Douglas R. Hofstadter" height="110" border="0" /></a></div>\n\
    </li>\n\
    <li>\n\
      <span class="amzProductRank">4.</span>\n\
      <a href="http://www.amazon.com/In-Beginning-was-Command-Line/dp/0380815931" class="amzProductThumb"><img src="http://ecx.images-amazon.com/images/I/51fq3smMF5L._SL500_PIsitb-sticker-arrow-big,TopRight,35,-73_OU01_SS75_.jpg" width="75" alt="In the Beginning...was the Command Line by Neal Stephenson" height="75" border="0" /></a><span class="amzProductTitle"><a href="http://www.amazon.com/In-Beginning-was-Command-Line/dp/0380815931">In the Beginning...was the Command Line</a> <span class="amzByline" >by Neal Stephenson</span></span>\n\
      <div class="amzProductDetails"><a href="http://www.amazon.com/In-Beginning-was-Command-Line/dp/0380815931" class="amzProductPic"><img src="http://ecx.images-amazon.com/images/I/51fq3smMF5L._SL500_PIsitb-sticker-arrow-big,TopRight,35,-73_OU01_SS110_.jpg" width="110" alt="In the Beginning...was the Command Line by Neal Stephenson" height="110" border="0" /></a></div>\n\
    </li>\n\
    <li>\n\
      <span class="amzProductRank">5.</span>\n\
      <a href="http://www.amazon.com/The-Book-Mormon-Testament-Official/dp/0967686555" class="amzProductThumb"><img src="http://ecx.images-amazon.com/images/I/51QB4Z046FL._SL500_PIsitb-sticker-arrow-big,TopRight,35,-73_OU01_SS75_.jpg" width="75" alt="The Book of Mormon: Another Testament of Jesus Christ (Official Edition) by Joseph Smith" height="75" border="0" /></a><span class="amzProductTitle"><a href="http://www.amazon.com/The-Book-Mormon-Testament-Official/dp/0967686555">The Book of Mormon</a> <span class="amzByline" >by Joseph Smith</span></span>\n\
      <div class="amzProductDetails"><a href="http://www.amazon.com/The-Book-Mormon-Testament-Official/dp/0967686555" class="amzProductPic"><img src="http://ecx.images-amazon.com/images/I/51QB4Z046FL._SL500_PIsitb-sticker-arrow-big,TopRight,35,-73_OU01_SS110_.jpg" width="110" alt="The Book of Mormon: Another Testament of Jesus Christ (Official Edition) by Joseph Smith" height="110" border="0" /></a></div>\n\
    </li>\n\
  </ol>\n\
\n\
\n\
  <div class="amzComments">\n\
    &nbsp;\n\
  </div>\n\
\n\
</div>\n\
\n\
\n\
\n\
    \n\
<div class="amzCategory">\n\
  <div class="amzTitle">My favorite <span class="amzName">Music</span></div>\n\
  <div class="amzName">Music</div>\n\
  <ol>\n\
\n\
    <li>\n\
      <span class="amzProductRank">1.</span>\n\
      <a href="http://www.amazon.com/Dimension-Hatross/dp/B00008FH7Q" class="amzProductThumb"><img src="http://ecx.images-amazon.com/images/I/51dFa2%2BKrQL._SL500_SS75_.jpg" width="75" alt="Dimension Hatross ~ Voivod" height="75" border="0" /></a><span class="amzProductTitle"><a href="http://www.amazon.com/Dimension-Hatross/dp/B00008FH7Q">Dimension Hatross</a> <span class="amzByline" >~ Voivod</span></span>\n\
      <div class="amzProductDetails"><a href="http://www.amazon.com/Dimension-Hatross/dp/B00008FH7Q" class="amzProductPic"><img src="http://ecx.images-amazon.com/images/I/51dFa2%2BKrQL._SL500_SS110_.jpg" width="110" alt="Dimension Hatross ~ Voivod" height="110" border="0" /></a></div>\n\
    </li>\n\
    <li>\n\
      <span class="amzProductRank">2.</span>\n\
      <a href="http://www.amazon.com/Peoples-History-United-States-Lecture/dp/B00000HF66" class="amzProductThumb"><img src="http://ecx.images-amazon.com/images/I/61MSQKDZ81L._SL500_SS75_.gif" width="75" alt="A People\'s History of the United States: A Lecture at Reed College ~ Howard Zinn" height="75" border="0" /></a><span class="amzProductTitle"><a href="http://www.amazon.com/Peoples-History-United-States-Lecture/dp/B00000HF66">A People\'s History of the United States</a> <span class="amzByline" >~ Howard Zinn</span></span>\n\
      <div class="amzProductDetails"><a href="http://www.amazon.com/Peoples-History-United-States-Lecture/dp/B00000HF66" class="amzProductPic"><img src="http://ecx.images-amazon.com/images/I/61MSQKDZ81L._SL500_SS110_.gif" width="110" alt="A People\'s History of the United States: A Lecture at Reed College ~ Howard Zinn" height="110" border="0" /></a></div>\n\
    </li>\n\
    <li>\n\
      <span class="amzProductRank">3.</span>\n\
      <a href="http://www.amazon.com/Extraterrestrial-Live-Blue-Oyster-Cult/dp/B0012GMVM6" class="amzProductThumb"><img src="http://ecx.images-amazon.com/images/I/61FLFe0x46L._SL500_SS75_.jpg" width="75" alt="Extraterrestrial Live ~ Blue Oyster Cult" height="75" border="0" /></a><span class="amzProductTitle"><a href="http://www.amazon.com/Extraterrestrial-Live-Blue-Oyster-Cult/dp/B0012GMVM6">Extraterrestrial Live</a> <span class="amzByline" >~ Blue Oyster Cult</span></span>\n\
      <div class="amzProductDetails"><a href="http://www.amazon.com/Extraterrestrial-Live-Blue-Oyster-Cult/dp/B0012GMVM6" class="amzProductPic"><img src="http://ecx.images-amazon.com/images/I/61FLFe0x46L._SL500_SS110_.jpg" width="110" alt="Extraterrestrial Live ~ Blue Oyster Cult" height="110" border="0" /></a></div>\n\
    </li>\n\
    <li>\n\
      <span class="amzProductRank">4.</span>\n\
      <a href="http://www.amazon.com/Stories-Hollywood-Never-Tells-Howard/dp/B000056KXG" class="amzProductThumb"><img src="http://ecx.images-amazon.com/images/I/31S8FP4592L._SL500_SS75_.jpg" width="75" alt="Stories Hollywood Never Tells ~ Howard Zinn" height="75" border="0" /></a><span class="amzProductTitle"><a href="http://www.amazon.com/Stories-Hollywood-Never-Tells-Howard/dp/B000056KXG">Stories Hollywood Never Tells</a> <span class="amzByline" >~ Howard Zinn</span></span>\n\
      <div class="amzProductDetails"><a href="http://www.amazon.com/Stories-Hollywood-Never-Tells-Howard/dp/B000056KXG" class="amzProductPic"><img src="http://ecx.images-amazon.com/images/I/31S8FP4592L._SL500_SS110_.jpg" width="110" alt="Stories Hollywood Never Tells ~ Howard Zinn" height="110" border="0" /></a></div>\n\
    </li>\n\
    <li>\n\
      <span class="amzProductRank">5.</span>\n\
      <a href="http://www.amazon.com/Artists-Time-War-Howard-Zinn/dp/B00006NSER" class="amzProductThumb"><img src="http://ecx.images-amazon.com/images/I/41V37FJY54L._SL500_SS75_.jpg" width="75" alt="Artists in a Time of War ~ Howard Zinn" height="75" border="0" /></a><span class="amzProductTitle"><a href="http://www.amazon.com/Artists-Time-War-Howard-Zinn/dp/B00006NSER">Artists in a Time of War</a> <span class="amzByline" >~ Howard Zinn</span></span>\n\
      <div class="amzProductDetails"><a href="http://www.amazon.com/Artists-Time-War-Howard-Zinn/dp/B00006NSER" class="amzProductPic"><img src="http://ecx.images-amazon.com/images/I/41V37FJY54L._SL500_SS110_.jpg" width="110" alt="Artists in a Time of War ~ Howard Zinn" height="110" border="0" /></a></div>\n\
    </li>\n\
  </ol>\n\
\n\
\n\
  <div class="amzComments">\n\
    &nbsp;\n\
  </div>\n\
\n\
</div>\n\
\n\
\n\
\n\
    \n\
<div class="amzCategory">\n\
  <div class="amzTitle">My favorite <span class="amzName">Movies</span></div>\n\
  <div class="amzName">Movies</div>\n\
  <ol>\n\
\n\
    <li>\n\
      <span class="amzProductRank">1.</span>\n\
      <a href="http://www.amazon.com/This-Divided-State-Michael-Moore/dp/B000A7BQVU" class="amzProductThumb"><img src="http://ecx.images-amazon.com/images/I/51514XDSCDL._SL500_SS75_.jpg" width="75" alt="This Divided State DVD ~ Michael Moore" height="75" border="0" /></a><span class="amzProductTitle"><a href="http://www.amazon.com/This-Divided-State-Michael-Moore/dp/B000A7BQVU">This Divided State</a> <span class="amzByline" ><b>DVD</b> ~ Michael Moore</span></span>\n\
      <div class="amzProductDetails"><a href="http://www.amazon.com/This-Divided-State-Michael-Moore/dp/B000A7BQVU" class="amzProductPic"><img src="http://ecx.images-amazon.com/images/I/51514XDSCDL._SL500_SS110_.jpg" width="110" alt="This Divided State DVD ~ Michael Moore" height="110" border="0" /></a></div>\n\
    </li>\n\
    <li>\n\
      <span class="amzProductRank">2.</span>\n\
      <a href="http://www.amazon.com/Bowling-Columbine-Michael-Caldwell/dp/B00008DDVV" class="amzProductThumb"><img src="http://ecx.images-amazon.com/images/I/61A47R28MGL._SL500_SS75_.jpg" width="75" alt="Bowling for Columbine DVD ~ Michael Caldwell" height="75" border="0" /></a><span class="amzProductTitle"><a href="http://www.amazon.com/Bowling-Columbine-Michael-Caldwell/dp/B00008DDVV">Bowling for Columbine</a> <span class="amzByline" ><b>DVD</b> ~ Michael Caldwell</span></span>\n\
      <div class="amzProductDetails"><a href="http://www.amazon.com/Bowling-Columbine-Michael-Caldwell/dp/B00008DDVV" class="amzProductPic"><img src="http://ecx.images-amazon.com/images/I/61A47R28MGL._SL500_SS110_.jpg" width="110" alt="Bowling for Columbine DVD ~ Michael Caldwell" height="110" border="0" /></a></div>\n\
    </li>\n\
    <li>\n\
      <span class="amzProductRank">3.</span>\n\
      <a href="http://www.amazon.com/Fahrenheit-9-11-Michael-Moore/dp/B000SINT52" class="amzProductThumb"><img src="http://ecx.images-amazon.com/images/I/51KDRVF1JGL._SL500_SS75_.jpg" width="75" alt="Fahrenheit 9/11 DVD ~ Michael Moore" height="75" border="0" /></a><span class="amzProductTitle"><a href="http://www.amazon.com/Fahrenheit-9-11-Michael-Moore/dp/B000SINT52">Fahrenheit 9/11</a> <span class="amzByline" ><b>DVD</b> ~ Michael Moore</span></span>\n\
      <div class="amzProductDetails"><a href="http://www.amazon.com/Fahrenheit-9-11-Michael-Moore/dp/B000SINT52" class="amzProductPic"><img src="http://ecx.images-amazon.com/images/I/51KDRVF1JGL._SL500_SS110_.jpg" width="110" alt="Fahrenheit 9/11 DVD ~ Michael Moore" height="110" border="0" /></a></div>\n\
    </li>\n\
  </ol>\n\
\n\
\n\
  <div class="amzComments">\n\
    &nbsp;\n\
  </div>\n\
\n\
</div>\n\
\n\
\n\
\n\
    \n\
<div class="amzCategory">\n\
  <div class="amzTitle">My favorite <span class="amzName">Stuff</span></div>\n\
  <div class="amzName">Stuff</div>\n\
  <ol>\n\
\n\
    <li>\n\
      <span class="amzProductRank">1.</span>\n\
      <a href="http://www.amazon.com/Love-Kills-In-Strict-Confidence/dp/B0011Y5RPW" class="amzProductThumb"><img src="http://ecx.images-amazon.com/images/I/51pc7d9VfWL._SL500_SS75_.jpg" width="75" alt="Love Kills! In Strict Confidence | Format: MP3 Music" height="75" border="0" /></a><span class="amzProductTitle"><a href="http://www.amazon.com/Love-Kills-In-Strict-Confidence/dp/B0011Y5RPW">Love Kills!</a> <span class="amzByline" ><a href="http://www.amazon.com/Love-Kills-In-Strict-Confidence/dp/artist-redirect/B0011Y5RPW">In Strict Confidence</a><span class="byLinePipe"> | </span><span class="byLinePipe">Format:</span> MP3 Music</span></span>\n\
      <div class="amzProductDetails"><a href="http://www.amazon.com/Love-Kills-In-Strict-Confidence/dp/B0011Y5RPW" class="amzProductPic"><img src="http://ecx.images-amazon.com/images/I/51pc7d9VfWL._SL500_SS110_.jpg" width="110" alt="Love Kills! In Strict Confidence | Format: MP3 Music" height="110" border="0" /></a></div>\n\
    </li>\n\
    <li>\n\
      <span class="amzProductRank">2.</span>\n\
      <a href="http://www.amazon.com/Sharpie-Permanent-Markers-Colored-37600PP/dp/B00105ELEA" class="amzProductThumb"><img src="http://ecx.images-amazon.com/images/I/51aNYQ7ZiDL._SL500_SS75_.jpg" width="75" alt="Sharpie Ultra Fine Point Permanent Markers, 8 Colored Markers(37600PP) by Sharpie" height="75" border="0" /></a><span class="amzProductTitle"><a href="http://www.amazon.com/Sharpie-Permanent-Markers-Colored-37600PP/dp/B00105ELEA">Sharpie Ultra Fine Point Permanent Markers, 8 Colored Markers(37600PP)</a> <span class="amzByline" >by Sharpie</span></span>\n\
      <div class="amzProductDetails"><a href="http://www.amazon.com/Sharpie-Permanent-Markers-Colored-37600PP/dp/B00105ELEA" class="amzProductPic"><img src="http://ecx.images-amazon.com/images/I/51aNYQ7ZiDL._SL500_SS110_.jpg" width="110" alt="Sharpie Ultra Fine Point Permanent Markers, 8 Colored Markers(37600PP) by Sharpie" height="110" border="0" /></a></div>\n\
    </li>\n\
    <li>\n\
      <span class="amzProductRank">3.</span>\n\
      <a href="http://www.amazon.com/Futronik-Structures-Vol-Years-Dsbp/dp/B000WKR4MU" class="amzProductThumb"><img src="http://ecx.images-amazon.com/images/I/51zMp3BglQL._SL500_SS75_.jpg" width="75" alt="Futronik Structures Vol 5 - 10 Years Of Dsbp Various artists | Format: MP3 Music" height="75" border="0" /></a><span class="amzProductTitle"><a href="http://www.amazon.com/Futronik-Structures-Vol-Years-Dsbp/dp/B000WKR4MU">Futronik Structures Vol 5 - 10 Years Of Dsbp</a> <span class="amzByline" ><a href="http://www.amazon.com/Futronik-Structures-Vol-Years-Dsbp/dp/artist-redirect/B000WKR4MU">Various artists</a><span class="byLinePipe"> | </span><span class="byLinePipe">Format:</span> MP3 Music</span></span>\n\
      <div class="amzProductDetails"><a href="http://www.amazon.com/Futronik-Structures-Vol-Years-Dsbp/dp/B000WKR4MU" class="amzProductPic"><img src="http://ecx.images-amazon.com/images/I/51zMp3BglQL._SL500_SS110_.jpg" width="110" alt="Futronik Structures Vol 5 - 10 Years Of Dsbp Various artists | Format: MP3 Music" height="110" border="0" /></a></div>\n\
    </li>\n\
    <li>\n\
      <span class="amzProductRank">4.</span>\n\
      <a href="http://www.amazon.com/A-Cross-The-Universe-Justice/dp/B001M7AGBS" class="amzProductThumb"><img src="http://ecx.images-amazon.com/images/I/41Es9s11ifL._SL500_SS75_.jpg" width="75" alt="A Cross The Universe Justice | Format: MP3 Music" height="75" border="0" /></a><span class="amzProductTitle"><a href="http://www.amazon.com/A-Cross-The-Universe-Justice/dp/B001M7AGBS">A Cross The Universe</a> <span class="amzByline" ><a href="http://www.amazon.com/A-Cross-The-Universe-Justice/dp/artist-redirect/B001M7AGBS">Justice</a><span class="byLinePipe"> | </span><span class="byLinePipe">Format:</span> MP3 Music</span></span>\n\
      <div class="amzProductDetails"><a href="http://www.amazon.com/A-Cross-The-Universe-Justice/dp/B001M7AGBS" class="amzProductPic"><img src="http://ecx.images-amazon.com/images/I/41Es9s11ifL._SL500_SS110_.jpg" width="110" alt="A Cross The Universe Justice | Format: MP3 Music" height="110" border="0" /></a></div>\n\
    </li>\n\
    <li>\n\
      <span class="amzProductRank">5.</span>\n\
      <a href="http://www.amazon.com/Sarah-Chang-Selections/dp/B002PCXLHU" class="amzProductThumb"><img src="http://ecx.images-amazon.com/images/I/51FMKaPkDDL._SL500_SS75_.jpg" width="75" alt="Sarah Chang: Selections Sarah Chang | Format: MP3 Music" height="75" border="0" /></a><span class="amzProductTitle"><a href="http://www.amazon.com/Sarah-Chang-Selections/dp/B002PCXLHU">Sarah Chang</a> <span class="amzByline" ><a href="http://www.amazon.com/Sarah-Chang-Selections/dp/artist-redirect/B002PCXLHU">Sarah Chang</a><span class="byLinePipe"> | </span><span class="byLinePipe">Format:</span> MP3 Music</span></span>\n\
      <div class="amzProductDetails"><a href="http://www.amazon.com/Sarah-Chang-Selections/dp/B002PCXLHU" class="amzProductPic"><img src="http://ecx.images-amazon.com/images/I/51FMKaPkDDL._SL500_SS110_.jpg" width="110" alt="Sarah Chang: Selections Sarah Chang | Format: MP3 Music" height="110" border="0" /></a></div>\n\
    </li>\n\
  </ol>\n\
\n\
\n\
  <div class="amzComments">\n\
    &nbsp;\n\
  </div>\n\
\n\
</div>\n\
\n\
\n\
</div>\n\
\n\
</div></td><td class="amzStylerRight">&nbsp;</td></tr>\n\
<tr class="amzStylerFooter"><td class="amzStylerLeft"><div class="amzFooter">\n\
\n\
    <div class="amzTeaserLink"><a href="http://www.amazon.com/gp/pdp/profile/widget-intro/favorites">Create</a> or <a href="http://www.amazon.com/gp/pdp/profile/edit/favorites?ie=UTF8&amp;continueToPubWidget=favorites">edit</a> your Favorite list</div>\n\
<a href="http://www.amazon.com/gp/pdp/profile/AF7DZ97VNSEWN"><img src="http://g-ecx.images-amazon.com/images/G/01/x-locale/communities/widgets/amazon-logo-default._V192250017_.gif" width="74" alt="www.amazon.com" height="15" border="0" /></a>\n\
\n\
</div></td><td class="amzStylerRight">&nbsp;</td></tr>\n\
\n\
</table>\n\
\n\
\n\
\n\
\n\
\n\
\n\
\n\
\n\
\n\
';









