private function udpdateColumnType($AdvancedTopMenuColumnClass, $id_lang)
 {
     switch ($AdvancedTopMenuColumnClass->type) {
         case 3:
             if (Tools::getValue('include_subs')) {
                 if ($AdvancedTopMenuColumnClass->id_category) {
                     $childCategories = array();
                     $childCategories = $this->getSubCategoriesId($AdvancedTopMenuColumnClass->id_category);
                     if (sizeof($childCategories)) {
                         foreach ($childCategories as $childCategory) {
                             $id_element = false;
                             if (Tools::getValue('id_column', false)) {
                                 $id_element = AdvancedTopMenuElementsClass::getIdElementCategoryDepend(Tools::getValue('id_column'), $childCategory['id_category']);
                                 if (!$id_element && !Tools::getValue('rebuild')) {
                                     continue;
                                 }
                             }
                             $AdvancedTopMenuElementsClass = new AdvancedTopMenuElementsClass($id_element);
                             $AdvancedTopMenuElementsClass->active = $id_element ? $AdvancedTopMenuElementsClass->active : 1;
                             $AdvancedTopMenuElementsClass->type = $AdvancedTopMenuColumnClass->type;
                             $AdvancedTopMenuElementsClass->id_category = $childCategory['id_category'];
                             $AdvancedTopMenuElementsClass->id_column = $AdvancedTopMenuColumnClass->id;
                             $AdvancedTopMenuElementsClass->id_column_depend = $AdvancedTopMenuColumnClass->id;
                             if (!$AdvancedTopMenuElementsClass->save()) {
                                 $this->errors[] = Tools::displayError('An error occured during save children category');
                             }
                         }
                     }
                 }
             }
             break;
         case 4:
             if (Tools::getValue('include_subs_manu')) {
                 $manufacturersId = $this->getManufacturersId();
                 if (sizeof($manufacturersId)) {
                     foreach ($manufacturersId as $manufacturerId) {
                         $id_element = false;
                         if (Tools::getValue('id_column', false)) {
                             $id_element = AdvancedTopMenuElementsClass::getIdElementManufacturerDepend(Tools::getValue('id_column'), $manufacturerId['id_manufacturer']);
                             if (!$id_element && !Tools::getValue('rebuild')) {
                                 continue;
                             }
                         }
                         $AdvancedTopMenuElementsClass = new AdvancedTopMenuElementsClass($id_element);
                         $AdvancedTopMenuElementsClass->active = $id_element ? $AdvancedTopMenuElementsClass->active : 1;
                         $AdvancedTopMenuElementsClass->type = $AdvancedTopMenuColumnClass->type;
                         $AdvancedTopMenuElementsClass->id_manufacturer = $manufacturerId['id_manufacturer'];
                         $AdvancedTopMenuElementsClass->id_column = $AdvancedTopMenuColumnClass->id;
                         $AdvancedTopMenuElementsClass->id_column_depend = $AdvancedTopMenuColumnClass->id;
                         if (!$AdvancedTopMenuElementsClass->save()) {
                             $this->errors[] = Tools::displayError('An error occured during save manufacturer');
                         }
                     }
                 }
             }
             break;
         case 5:
             if (Tools::getValue('include_subs_suppl')) {
                 $suppliersId = $this->getSuppliersId();
                 if (sizeof($suppliersId)) {
                     foreach ($suppliersId as $supplierId) {
                         $id_element = false;
                         if (Tools::getValue('id_column', false)) {
                             $id_element = AdvancedTopMenuElementsClass::getIdElementSupplierDepend(Tools::getValue('id_column'), $supplierId['id_supplier']);
                             if (!$id_element && !Tools::getValue('rebuild')) {
                                 continue;
                             }
                         }
                         $AdvancedTopMenuElementsClass = new AdvancedTopMenuElementsClass($id_element);
                         $AdvancedTopMenuElementsClass->active = $id_element ? $AdvancedTopMenuElementsClass->active : 1;
                         $AdvancedTopMenuElementsClass->type = $AdvancedTopMenuColumnClass->type;
                         $AdvancedTopMenuElementsClass->id_supplier = $supplierId['id_supplier'];
                         $AdvancedTopMenuElementsClass->id_column = $AdvancedTopMenuColumnClass->id;
                         $AdvancedTopMenuElementsClass->id_column_depend = $AdvancedTopMenuColumnClass->id;
                         if (!$AdvancedTopMenuElementsClass->save()) {
                             $this->errors[] = Tools::displayError('An error occured during save supplier');
                         }
                     }
                 }
             }
             break;
     }
 }