public function initDCRates($event)
 {
     if (!Mage::helper('dccharge')->enabledShowTax()) {
         return;
     }
     /* @var $order Mage_Sales_Model_Order */
     $order = $event->getOrder();
     /* @var $quote Mage_Sales_Model_Quote */
     $quote = $event->getQuote();
     if (!$quote->getFailedCalculation() && !$quote->getIsVirtual()) {
         $quoteItems = $quote->getAllVisibleItems();
         $params = array();
         $params['cat'] = array();
         $params['desc'] = array();
         $params['reference'] = array();
         $idx = 0;
         $additionalAttributes = explode(',', Mage::getStoreConfig('dc_charge_extension/dccharge/additional-attributes-for-documents'));
         /* @var $attributesCollection Mage_Eav_Model_Resource_Entity_Attribute_Collection */
         $attributesCollection = Mage::getModel('eav/entity_attribute')->getResourceCollection();
         $attributesCollection->setCodeFilter($additionalAttributes);
         $attributesCollection->load();
         $additionalAttributes = array();
         foreach ($attributesCollection as $additionalAttribute) {
             $additionalAttributes[$additionalAttribute->getAttributeCode()] = $additionalAttribute->getFrontendLabel();
         }
         foreach ($quoteItems as $quoteItem) {
             /* @var $quoteItem Mage_Sales_Model_Quote_Item */
             /* @var $product Mage_Catalog_Model_Product */
             $product = $quoteItem->getProduct();
             $product->load($product->getId());
             $quoteItemId = $quoteItem->getId();
             $qty = $quoteItem->getQty();
             if ($product->isVirtual() || $qty <= 0) {
                 continue;
             }
             $params['reference'][$idx] = $quoteItemId;
             if ($product->getDcProductId()) {
                 $params['cat'][$idx] = $product->getDcProductId();
             } else {
                 $params['cat'][$idx] = '';
             }
             $description = $product->getName();
             if ($additionalAttributes) {
                 $additionalDescription = '';
                 foreach ($additionalAttributes as $attrCode => $attrLabel) {
                     if ($product->getAttributeText($attrCode)) {
                         $additionalDescription .= $attrLabel . ': ' . $product->getAttributeText($attrCode) . ', ';
                     } else {
                         if ($product->getData($attrCode)) {
                             $additionalDescription .= $attrLabel . ': ' . $product->getData($attrCode) . ', ';
                         }
                     }
                 }
                 if (strlen($additionalDescription)) {
                     $description .= ' ' . rtrim($additionalDescription, ', ');
                 }
             }
             $params['desc'][$idx] = $description;
             $idx++;
         }
         $quote->save();
         $rates = Dutycalculator_Charge_Model_Importdutytaxes::getRatesDetails($quote->getShippingAddress(), $params['cat'], $params['desc'], $params['reference']);
         foreach ($quoteItems as $quoteItem) {
             if (isset($rates[$quoteItem->getId()])) {
                 $quoteItem->setSalesTaxRate($rates[$quoteItem->getId()]['sales_tax_rate']);
                 $quoteItem->setImportDutyRate($rates[$quoteItem->getId()]['duty_rate']);
             }
         }
         $quote->save();
         $orderItems = $order->getAllVisibleItems();
         foreach ($orderItems as $orderItem) {
             /* @var $orderItem Mage_Sales_Model_Order_Item */
             if (isset($rates[$orderItem->getQuoteItemId()])) {
                 $orderItem->setSalesTaxRate($rates[$orderItem->getQuoteItemId()]['sales_tax_rate']);
                 $orderItem->setImportDutyRate($rates[$orderItem->getQuoteItemId()]['duty_rate']);
             }
         }
     }
 }