/**
  * @param bool $roundfloat: if true total price will have view like 0.00
  * @param mixed
  * @return float: total price in UC
  */
 function calculateTotalPrice($roundfloat = true, $currency = 0, $ignore_freeshipping = false)
 {
     $total_price = 0;
     $r_aItem = $this->Items->getChildNodes('item');
     foreach ($r_aItem as $aItem) {
         /* @var $aItem xmlNodeX */
         $aProduct =& $aItem->getFirstChildByName('product');
         if ($ignore_freeshipping && $aProduct->attribute('free-shipping')) {
             continue;
         }
         $aPrice =& $aItem->getFirstChildByName('price');
         $aQuantity =& $aItem->getFirstChildByName('quantity');
         $item_price = virtualModule::_convertCurrency($aPrice->getData(), $aPrice->attribute('currency'), $currency);
         $total_price += ($roundfloat ? RoundFloatValue($item_price) : $item_price) * $aQuantity->getData();
     }
     return $total_price;
 }