function generateRequest($dbusercat)
 {
     //       require ("../include/mailMessage_".$_SESSION['userLang'].".php");
     //       require	("../catalogov2.0/cart_".$_SESSION['userLang'].".php");
     require "mailMessage_" . $_SESSION['userLang'] . ".php";
     require "cart_" . $_SESSION['userLang'] . ".php";
     include_once "globals.php";
     // Today
     $dbcadastro = $GLOBALS["dbusercat"];
     $today = date("Y-m-d H:i:s");
     $messageItem = "\t";
     setlocale(LC_MONETARY, 'bra');
     // Serching user
     $objUser = new User($dbusercat);
     $objUser->selectByUserId($this->userId);
     // Generating Request
     $objReq = new Request($this->bd);
     $reqIp = $_SERVER['REMOTE_ADDR'];
     $sql = "SELECT COUNTRY_NAME FROM ipToCountry WHERE IP_FROM <= inet_aton('{$reqIp}') AND IP_TO >= inet_aton('{$reqIp}')";
     $dbcadastro->query($sql) or $dbcadastro->error($sql);
     $row = $dbcadastro->fetchRow();
     $reqCountry = $row[COUNTRY_NAME];
     $objReq->fill($this->userId, $today, 0, 0, 0, 0, $this->operator, $this->addressId, $reqIp, $reqCountry);
     if (!($reqId = $objReq->insert())) {
         echo "Problema inserindo o request!";
         return false;
     }
     // Generating Request Itens
     $nItensReq = 0;
     for ($i = 0; $i < $this->nItens; $i++) {
         $carItem = $this->cart[$i]["Id"];
         $objItemCart = new Cart($this->bd);
         $objItemCart->search($carItem);
         $price = $objItemCart->price;
         $userType = $objUser->getTypeOfUser();
         if ($price == 0 or $price > 0 and $userType != 2) {
             //Searching the scene
             $sql = "SELECT * FROM Scene WHERE SceneId='" . $objItemCart->sceneId . "'";
             $this->bd->query($sql) or $this->bd->error($sql);
             $itens = $this->bd->numRows();
             if ($itens == 0) {
                 echo "Erro nas Cenas";
                 return false;
             }
             $row = $this->bd->fetchRow();
             $this->bd->freeResult($results);
             // Setting email message
             //$price = money_format('%10.2n', $objItemCart->price);
             $messageItem .= sprintf("\n%-8d%s\t\t%s", $i + 1, $strMessageSatellite, $row["Satellite"]);
             $messageItem .= sprintf("\n%-9s%s\t%s\t\t\t\t%s\t\tR\$%7.2f", " ", $strInstrument, $row["Sensor"], $objItemCart->media, $objItemCart->price);
             $messageItem .= sprintf("\n%-9s%s/%s\t%s/%s", " ", $strMessagePath, $strMessageRow, $row["Path"], $row["Row"]);
             $messageItem .= sprintf("\n%-9s%s\t\t\t%s\n", " ", $strDate, $row["Date"]);
             $reqTot += $objItemCart->price;
             // Generate Request Item
             if (!$objItemCart->generateReqItem($reqId, $userType)) {
                 echo "<br>Problema ao gerar item de pedido a partir do Carrinho</br>";
                 return false;
             }
             // Removing from cart
             if (!$objItemCart->removeId()) {
                 echo "<br>Problema ao remover pedido do Carrinho</br>";
                 return false;
             }
             $nItensReq++;
         }
     }
     $this->nItens -= $nItensReq;
     if ($reqTot) {
         $messageItem .= sprintf("%s\n\t\t\t\t\t\t\t\t%s\tR\$%7.2f\n\n", str_repeat("-", 98), $strTotal, $this->total);
     } else {
         $messageItem .= sprintf("%s\n\n", str_repeat("-", 98));
     }
     // Generating E-mail
     $message = sprintf($mailMsgReq1, $objUser->fullname, $reqId);
     if ($reqTot) {
         $message .= " " . $mailMsgReq2;
     }
     $message .= $mailMsgReq3 . str_repeat("-", 98);
     $message .= $messageItem;
     $message .= $mailMsgAtus;
     if (!mail($objUser->email, $mailSubReq . $reqId, $message, $mailSender)) {
         echo "Problema ao enviar o e-mail";
         return false;
     }
     // Returnind Request Number
     return $reqId;
 }