/**
  * Calculates average item level
  * @todo should be rewrited "Total Item level" part (Equipped IL is ok)
  */
 private static function CalculateAverageItemLevel()
 {
     if (!self::IsInventoryLoaded()) {
         if (!self::LoadInventory(true)) {
             self::$item_level = array('avgEquipped' => 0, 'avg' => 0);
             return true;
         }
     }
     $total_iLvl = 0;
     $maxLvl = 0;
     $minLvl = 500;
     $i = 0;
     self::$item_level = array('avgEquipped' => 0, 'avg' => 0);
     foreach (self::$m_items as $item) {
         if (!in_array($item->GetSlot(), array(EQUIPMENT_SLOT_BODY, EQUIPMENT_SLOT_TABARD))) {
             if ($item->GetItemLevel() > 0) {
                 $total_iLvl += $item->GetItemLevel();
                 if ($item->GetItemLevel() < $minLvl) {
                     $minLvl = $item->GetItemLevel();
                 }
                 if ($item->GetItemLevel() > $maxLvl) {
                     $maxLvl = $item->GetItemLevel();
                 }
                 $i++;
             }
         }
     }
     if ($i == 0) {
         // Prevent divison by zero.
         return true;
     }
     self::$item_level['avgEquipped'] = round(($maxLvl + $minLvl) / 2);
     self::$item_level['avg'] = round($total_iLvl / $i);
     return true;
 }