$control[$gfName]["params"] = array();
     $control[$gfName]["params"]["id"] = $id;
     $control[$gfName]["params"]["field"] = $fName;
     $control[$gfName]["params"]["value"] = @$defvalues[$fName];
     if (UseRTE($fName)) {
         $_SESSION[$strTableName . "_" . $fName . "_rte"] = @$defvalues[$fName];
     }
     //	Begin Add validation
     $arrValidate = getValidation($fName, $strTableName);
     $control[$gfName]["params"]["validate"] = $arrValidate;
     //	End Add validation
 }
 $controls["controls"]['ctrlInd'] = 0;
 $controls["controls"]['id'] = $id;
 $controls["controls"]['fieldName'] = $fName;
 if (UseRTEFCK($fName) || UseRTEInnova($fName) || UseRTEBasic($fName)) {
     if (!$detailKeys || !in_array($fName, $detailKeys)) {
         $control[$gfName]["params"]["mode"] = "add";
     }
     $controls["controls"]['mode'] = "add";
 } else {
     if ($inlineadd == ADD_ONTHEFLY || $inlineadd == ADD_POPUP) {
         if (!$detailKeys || !in_array($fName, $detailKeys) || $fName == postvalue("category")) {
             $control[$gfName]["params"]["mode"] = "inline_add";
         }
         $controls["controls"]['mode'] = "inline_add";
     } else {
         if (!$detailKeys || !in_array($fName, $detailKeys) || $fName == postvalue("category")) {
             $control[$gfName]["params"]["mode"] = "add";
         }
         $controls["controls"]['mode'] = "add";
 /**
  * Fill field settings for current table 
  */
 function fillFieldSettings()
 {
     $arrFields = $this->getFieldsByPageType();
     foreach ($arrFields as $fName) {
         if (!array_key_exists($fName, $this->jsSettings['tableSettings'][$this->tName]['fieldSettings'])) {
             $this->jsSettings['tableSettings'][$this->tName]['fieldSettings'][$fName] = array();
         }
         $matchDK = false;
         if ($this->matchWithDetailKeys($fName)) {
             $matchDK = true;
         }
         foreach ($this->settingsMap["fieldSettings"] as $key => $val) {
             $fData = GetFieldData($this->tName, $fName, $key, $val['default']);
             if ($key != "validateAs") {
                 if ($key == "EditFormat") {
                     if ($matchDK) {
                         $fData = EDIT_FORMAT_READONLY;
                     }
                 } elseif ($key == "RTEType") {
                     if (UseRTEBasic($fName)) {
                         $fData = "RTE";
                     } elseif (UseRTEFCK($fName)) {
                         $fData = "RTECK";
                         if (!$this->isUseCK) {
                             $this->isUseCK = true;
                         }
                         $this->jsSettings['tableSettings'][$this->tName]['fieldSettings'][$fName]['nWidth'] = GetNCols($fName);
                         $this->jsSettings['tableSettings'][$this->tName]['fieldSettings'][$fName]['nHeight'] = GetNRows($fName);
                     } elseif (UseRTEInnova($fName)) {
                         $fData = "RTEINNOVA";
                     }
                 } elseif ($key == "autoCompleteFieldsAdd") {
                     $fData = GetFieldData($this->tName, $fName, "autoCompleteFields", $val['default']);
                 } elseif ($key == "autoCompleteFieldsEdit") {
                     if (GetFieldData($this->tName, $fName, 'autoCompleteFieldsOnEdit', false)) {
                         $fData = GetFieldData($this->tName, $fName, "autoCompleteFields", $val['default']);
                     } else {
                         $fData = array();
                     }
                 }
                 $isDefault = false;
                 if (is_array($fData)) {
                     $isDefault = !count($fData);
                 } else {
                     if (!is_array($val['default'])) {
                         $isDefault = $fData === $val['default'];
                     }
                 }
                 if (!$isDefault && !$matchDK) {
                     $this->jsSettings['tableSettings'][$this->tName]['fieldSettings'][$fName][$val['jsName']] = $fData;
                 } else {
                     if ($matchDK && ($key == "EditFormat" || $key == "strName")) {
                         $this->jsSettings['tableSettings'][$this->tName]['fieldSettings'][$fName][$val['jsName']] = $fData;
                     }
                 }
             } elseif (!$matchDK) {
                 $this->fillValidation($fData, $val, $this->jsSettings['tableSettings'][$this->tName]['fieldSettings'][$fName]);
             }
         }
         $this->jsSettings['tableSettings'][$this->tName]['isUseCK'] = $this->isUseCK;
         if (!empty($this->googleMapCfg) and $this->googleMapCfg['isUseGoogleMap']) {
             $this->jsSettings['tableSettings'][$this->tName]['isUseGoogleMap'] = true;
             $this->jsSettings['tableSettings'][$this->tName]['googleMapCfg'] = $this->googleMapCfg;
         }
         if (GetLookupTable($fName, $this->tName)) {
             $this->jsSettings['global']['shortTNames'][GetLookupTable($fName, $this->tName)] = GetTableURL(GetLookupTable($fName, $this->tName));
         }
         if (GetEditFormat($fName) == 'Time') {
             $this->fillTimePickSettings($fName);
         }
     }
     if ($this->pageType == PAGE_REGISTER) {
         $this->addConfirmToFieldSettings();
     }
 }