public function submitToZasilkovna($orders_id_arr)
 {
     $db = JFactory::getDBO();
     $gw = new SoapClient("http://www.zasilkovna.cz/api/soap-php-bugfix.wsdl");
     $zas_model = VmModel::getModel('zasilkovna');
     $apiPassword = $zas_model->api_pass;
     $ordersForExport = $this->prepareForExport($orders_id_arr);
     $exportedOrders = array();
     $failedOrders = array();
     $exportedOrdersNumber = array();
     foreach ($ordersForExport as $order) {
         try {
             if (isset($order['zasilkovna_packet_id']) && $order['zasilkovna_packet_id'] != 0) {
                 //some better check?
                 throw new Exception("Objednávka již byla podána na Zásilkovně. Nejprve zrušte číslo zásilky v administraci.");
             }
             $attributes = array('number' => $order['order_number'], 'name' => $order['first_name'], 'surname' => $order['last_name'], 'email' => $order['email'], 'phone' => $order['phone'], 'addressId' => $order['branch_id'], 'cod' => $order['cod'], 'value' => $order['total'], 'eshop' => $order['domain'], 'adultContent' => $order['adult_content'] == 1 ? true : false);
             if (array_key_exists($order['branch_id'], VirtueMartModelZasilkovna::$_couriers_to_address)) {
                 $attributes['street'] = $order['address'];
                 $attributes['houseNumber'] = $order['houseNumber'];
                 $attributes['city'] = $order['city'];
                 $attributes['zip'] = $order['zip_code'];
             }
             $packet = $gw->createPacket($apiPassword, $attributes);
             $q = "UPDATE " . $this->_table_name . " SET zasilkovna_packet_id=" . $packet->id . " WHERE order_number = '" . $order['order_number'] . "'; ";
             $db->setQuery($q);
             $db->loadAssocList();
             $exportedOrders[] = array('order_number' => $order['order_number'], 'zasilkovna_id' => $packet->id);
             $exportedOrdersNumber[] = $order['order_number'];
         } catch (Exception $e) {
             $error_msg = "";
             if (get_class($e) == 'SoapFault') {
                 if (is_array($e->detail->PacketAttributesFault->attributes->fault)) {
                     //more errors
                     foreach ($e->detail->PacketAttributesFault->attributes->fault as $error) {
                         $error_msg .= $error->name . ": " . $error->fault . " ";
                     }
                 } else {
                     if (is_object($e->detail->PacketAttributesFault->attributes->fault)) {
                         //only one error
                         $error_msg .= $e->detail->PacketAttributesFault->attributes->fault->name . ": " . $e->detail->PacketAttributesFault->attributes->fault->fault . " ";
                     } else {
                         //structure error (missing parameter etc)
                         $error_msg .= $e->faultstring . " ";
                     }
                 }
             } else {
                 $error_msg = $e->getMessage();
             }
             $failedOrders[] = array('order_number' => $order['order_number'], 'message' => $error_msg);
         }
     }
     $this->setExportedFlag($exportedOrdersNumber);
     return array('exported' => $exportedOrders, 'failed' => $failedOrders);
 }