/**
  * Remove gift from cart after special product has been removed
  *
  * @param $observer
  * @return $this
  */
 public function deleteGift($observer)
 {
     if ($this->_helper->productGiftEnabled()) {
         $quote_item = $observer->getEvent()->getQuoteItem();
         $product = Mage::getModel('catalog/product')->load($quote_item->getProduct()->getId());
         $child_items = $quote_item->getChildren();
         if (!empty($child_items)) {
             $id_delete = current($child_items)->getProduct()->getId();
         } else {
             $id_delete = $quote_item->getProduct()->getId();
         }
         $has_gift = $product->getData('is_product_gift_enabled');
         if (!$has_gift) {
             return $this;
         }
         $cart = Mage::getSingleton('checkout/cart');
         $quote = $cart->getQuote();
         foreach ($quote->getItemsCollection() as $it) {
             $gift_attr = $it->getOptionByCode('gift_for_product_id');
             if ($gift_attr) {
                 if ($gift_attr->getValue() == $id_delete) {
                     $cart->removeItem($it->getItemId());
                     $quote->save();
                     return $this;
                 }
             }
         }
         return $this;
     }
 }