diff --git a/htdocs/adherents/class/adherent.class.php b/htdocs/adherents/class/adherent.class.php
index e682711..3050590 100644
--- a/htdocs/adherents/class/adherent.class.php
+++ b/htdocs/adherents/class/adherent.class.php
@@ -41,7 +41,7 @@ class Adherent extends CommonObject
     public $element='member';
     public $table_element='adherent';
     protected $ismultientitymanaged = 1;  // 0=No test on entity, 1=Test with field entity, 2=Test with link by societe
-	protected $elementType='member';
+
     var $id;
     var $ref;
     var $civilite_id;
diff --git a/htdocs/contact/class/contact.class.php b/htdocs/contact/class/contact.class.php
index d9ac97f..0a9dae0 100644
--- a/htdocs/contact/class/contact.class.php
+++ b/htdocs/contact/class/contact.class.php
@@ -36,8 +36,7 @@ class Contact extends CommonObject
 {
 	public $element='contact';
 	public $table_element='socpeople';
-	protected $elementType='contact';
-	
+
 	var $id;
 	var $civilite_id;  // In fact we stor civility_code
     var $lastname;
diff --git a/htdocs/core/admin_extrafields.inc.php b/htdocs/core/admin_extrafields.inc.php
index 0d251a6..00d4e4c 100644
--- a/htdocs/core/admin_extrafields.inc.php
+++ b/htdocs/core/admin_extrafields.inc.php
@@ -35,15 +35,7 @@ if ($action == 'add')
             $action = 'create';
         }
 
-	    if (GETPOST('type')=='int' && GETPOST('size') > 11)
-        {
-            $error++;
-            $langs->load("errors");
-            $mesg=$langs->trans("ErrorSizeTooLongForIntType");
-            $action = 'create';
-        }
-        
-        if (! $error)
+	    if (! $error)
 	    {
     		// Type et taille non encore pris en compte => varchar(255)
     		if (isset($_POST["attrname"]) && preg_match("/^\w[a-zA-Z0-9-_]*$/",$_POST['attrname']))
@@ -84,14 +76,7 @@ if ($action == 'update')
             $mesg=$langs->trans("ErrorSizeTooLongForVarcharType");
             $action = 'edit';
         }
-        if (GETPOST('type')=='int' && GETPOST('size') > 11)
-        {
-        	$error++;
-        	$langs->load("errors");
-        	$mesg=$langs->trans("ErrorSizeTooLongForIntType");
-        	$action = 'edit';
-        }
-        
+
 	    if (! $error)
 	    {
             if (isset($_POST["attrname"]) && preg_match("/^\w[a-zA-Z0-9-_]*$/",$_POST['attrname']))
diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php
index 15b3609..064386e 100644
--- a/htdocs/core/class/commonobject.class.php
+++ b/htdocs/core/class/commonobject.class.php
@@ -35,8 +35,7 @@ abstract class CommonObject
     public $error;
     public $errors;
     public $canvas;                // Contains canvas name if it is
-	
-    protected $elementType='member';
+
 
     // No constructor as it is an abstract class
 
@@ -1681,35 +1680,8 @@ abstract class CommonObject
      */
     function insertExtraFields()
     {
-    	global $langs;
-    	
         if (count($this->array_options) > 0)
         {
-        	$langs->load('admin');
-            require_once(DOL_DOCUMENT_ROOT."/core/class/extrafields.class.php");
-            $extrafields = new ExtraFields($this->db);
-            $optionsArray = $extrafields->fetch_name_optionals_label($this->elementType);
-
-            foreach($this->array_options as $key => $value)
-            {
-            	$attributeKey = substr($key,8);   // Remove 'options_' prefix
-            	$attributeType = $extrafields->attribute_type[$attributeKey];
-            	$attributeSize = $extrafields->attribute_size[$attributeKey];
-            	$attributeLabel = $extrafields->attribute_label[$attributeKey];
-            	switch ($attributeType) 
-            	{
-            		case 'int':
-            			if (!is_numeric($value) && $value!='')
-            			{
-            				$error++; $this->errors[]=$langs->trans("ExtraFieldHasWrongValue",$attributeLabel);
-            				return -1;
-            			}
-            			elseif ($value=='') 
-            				$this->array_options[$key] = null;
-            			break;
-            	}
-            }
-        	 
             $this->db->begin();
 
             $sql_del = "DELETE FROM ".MAIN_DB_PREFIX.$this->table_element."_extrafields WHERE fk_object = ".$this->id;
diff --git a/htdocs/core/class/extrafields.class.php b/htdocs/core/class/extrafields.class.php
index 17beef7..86ebf20 100755
--- a/htdocs/core/class/extrafields.class.php
+++ b/htdocs/core/class/extrafields.class.php
@@ -419,33 +419,28 @@ class ExtraFields
         {
             $showsize=19;
         }
+        elseif ($type == 'int')
+        {
+            $showsize=10;
+        }
         else
         {
             $showsize=round($size);
             if ($showsize > 48) $showsize=48;
         }
-        
-        $out_comment = '';
-		switch ($type)
-		{
-			case 'date':
-				$out_comment=' (YYYY-MM-DD)';
-				
-			case 'datetime':
-				$out_comment=' (YYYY-MM-DD HH:MM:SS)';
-			
-			case 'int':
-			case 'varchar':
-				$out='<input type="text" name="options_'.$key.'" size="'.$showsize.'" maxlength="'.$size.'" value="'.$value.'"'.($moreparam?$moreparam:'').'>';
-				$out.=$out_comment;
-				break;
-				
-			case 'text':
-	        	require_once(DOL_DOCUMENT_ROOT."/core/class/doleditor.class.php");
-	        	$doleditor=new DolEditor('options_'.$key,$value,'',200,'dolibarr_notes','In',false,false,$conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_SOCIETE,5,100);
-	        	$out=$doleditor->Create(1);
-				break;
-		}
+
+	    if ($type == 'varchar')
+        {
+        	$out='<input type="text" name="options_'.$key.'" size="'.$showsize.'" maxlength="'.$size.'" value="'.$value.'"'.($moreparam?$moreparam:'').'>';
+        }
+        else if ($type == 'text')
+        {
+        	require_once(DOL_DOCUMENT_ROOT."/core/class/doleditor.class.php");
+        	$doleditor=new DolEditor('options_'.$key,$value,'',200,'dolibarr_notes','In',false,false,$conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_SOCIETE,5,100);
+        	$out=$doleditor->Create(1);
+        }
+	    else if ($type == 'date') $out.=' (YYYY-MM-DD)';
+        else if ($type == 'datetime') $out.=' (YYYY-MM-DD HH:MM:SS)';
 	    return $out;
 	}
 
diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang
index 5a30bc0..c1cb76b 100644
--- a/htdocs/langs/en_US/admin.lang
+++ b/htdocs/langs/en_US/admin.lang
@@ -855,7 +855,6 @@ MAIN_PROXY_USER=Login to use the proxy server
 MAIN_PROXY_PASS=Password to use the proxy server
 DefineHereComplementaryAttributes=Define here all atributes, not already available by default, and that you want to be supported for %s.
 ExtraFields=Complementary attributes
-ExtraFieldHasWrongValue=Attribute %s has wrong value.
 SendingMailSetup=Setup of sendings by email
 SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must conatins option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba).
 PathToDocuments=Path to documents
diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang
index 26745ce..9ddbd77 100644
--- a/htdocs/langs/fr_FR/admin.lang
+++ b/htdocs/langs/fr_FR/admin.lang
@@ -863,7 +863,6 @@ MAIN_PROXY_USER=Login pour passer le serveur proxy mandataire
 MAIN_PROXY_PASS=Mot de passe pour passer le serveur proxy mandataire
 DefineHereComplementaryAttributes=Definissez ici la liste des attributs supplémentaire, non disponible en standard, et que vous voulez voir gérez sur les %s.
 ExtraFields=Attributs suplémentaires
-ExtraFieldHasWrongValue=L'attribut %s à une valeur incorrecte.
 SendingMailSetup=Configuration de l'envoi par mail
 SendmailOptionNotComplete=Attention, sur certains systèmes Linux, avec cette méthode d'envoi, pour pouvoir envoyer des mails en votre nom, la configuration d'exécution de sendmail doit contenir l'option <b>-ba</b> (paramètre <b>mail.force_extra_parameters</b> dans le fichier <b>php.ini</b>). Si certains de vos destinataires ne reçoivent pas de message, essayer de modifer ce paramètre PHP avec <b>mail.force_extra_parameters = -ba</b>.
 PathToDocuments= Chemin d'accès aux documents
diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php
index ba0398e..9c8d61f 100644
--- a/htdocs/product/class/product.class.php
+++ b/htdocs/product/class/product.class.php
@@ -40,7 +40,6 @@ class Product extends CommonObject
 	protected $childtables=array('propaldet','commandedet','facturedet','contratdet','product_fournisseur_price');
 	protected $isnolinkedbythird = 1;     // No field fk_soc
 	protected $ismultientitymanaged = 1;	// 0=No test on entity, 1=Test with field entity, 2=Test with link by societe
-	protected $elementType='product';
 
 	//! Identifiant unique
 	var $id ;
diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php
index 1641cbd..abcc593 100644
--- a/htdocs/societe/class/societe.class.php
+++ b/htdocs/societe/class/societe.class.php
@@ -41,7 +41,6 @@ class Societe extends CommonObject
 	public $fk_element='fk_soc';
     protected $childtables=array("propal","commande","facture","contrat","facture_fourn","commande_fournisseur");
     protected $ismultientitymanaged = 1;	// 0=No test on entity, 1=Test with field entity, 2=Test with link by societe
-    protected $elementType='company';
 
     var $id;
     var $name;
