protected static function renderCollectionItemsContent(User $user, GameCollection $collection, GameCollectionRules $gameCollectionRules)
 {
     $itemTypesAndLabels = $gameCollectionRules->getItemTypesAndLabels();
     $content = null;
     $canCollect = true;
     foreach ($collection->getItemsData() as $itemType => $quantityCollected) {
         $itemLabel = $itemTypesAndLabels[$itemType];
         $collectionItemImagePath = $gameCollectionRules::makeMediumCOllectionItemImagePath($itemType);
         $itemContent = static::resolveLazyLoadImage($collectionItemImagePath, $itemLabel, array('class' => 'qtip-shadow', 'data-tooltip' => $itemLabel));
         $qtip = new ZurmoTip(array('options' => array('position' => array('my' => 'bottom center', 'at' => 'top center'), 'content' => array('attr' => 'data-tooltip'))));
         $qtip->addQTip(".gd-collection-item img");
         $itemContent .= ZurmoHtml::tag('span', array('class' => 'num-collected'), 'x' . $quantityCollected);
         $classContent = 'gd-collection-item';
         if ($quantityCollected == 0) {
             $classContent .= ' missing';
             $canCollect = false;
         }
         $content .= ZurmoHtml::tag('div', array('class' => $classContent), $itemContent);
     }
     $itemRedeemContent = static::renderCompleteButton($collection->id, $user->id, $canCollect);
     $content .= ZurmoHtml::tag('div', array('class' => 'gd-collection-item-redeemed'), $itemRedeemContent);
     return ZurmoHtml::tag('div', array('class' => 'gd-collection-items clearfix'), $content);
 }