package body MSHTML.IHTMLFormElement_Object is

   procedure Put_action
     (This : IHTMLFormElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLFormElement_Put_action,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_action;

   function Get_action
     (This : IHTMLFormElement_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLFormElement_Get_action);
   end Get_action;

   procedure Put_dir
     (This : IHTMLFormElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLFormElement_Put_dir,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_dir;

   function Get_dir
     (This : IHTMLFormElement_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLFormElement_Get_dir);
   end Get_dir;

   procedure Put_encoding
     (This : IHTMLFormElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLFormElement_Put_encoding,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_encoding;

   function Get_encoding
     (This : IHTMLFormElement_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLFormElement_Get_encoding);
   end Get_encoding;

   procedure Put_method
     (This : IHTMLFormElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLFormElement_Put_method,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_method;

   function Get_method
     (This : IHTMLFormElement_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLFormElement_Get_method);
   end Get_method;

   function Get_elements
     (This : IHTMLFormElement_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLFormElement_Get_elements);
   end Get_elements;

   procedure Put_target
     (This : IHTMLFormElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLFormElement_Put_target,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_target;

   function Get_target
     (This : IHTMLFormElement_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLFormElement_Get_target);
   end Get_target;

   procedure Put_name
     (This : IHTMLFormElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLFormElement_Put_name,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_name;

   function Get_name
     (This : IHTMLFormElement_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLFormElement_Get_name);
   end Get_name;

   procedure Put_onsubmit
     (This : IHTMLFormElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLFormElement_Put_onsubmit,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_onsubmit;

   function Get_onsubmit
     (This : IHTMLFormElement_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLFormElement_Get_onsubmit);
   end Get_onsubmit;

   procedure Put_onreset
     (This : IHTMLFormElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLFormElement_Put_onreset,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_onreset;

   function Get_onreset
     (This : IHTMLFormElement_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLFormElement_Get_onreset);
   end Get_onreset;

   procedure submit
     (This : IHTMLFormElement_Type)
   is
   begin
      Invoke (This, IHTMLFormElement_submit);
   end submit;

   procedure reset
     (This : IHTMLFormElement_Type)
   is
   begin
      Invoke (This, IHTMLFormElement_reset);
   end reset;

   procedure Put_length
     (This : IHTMLFormElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLFormElement_Put_length,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_length;

   function Get_length
     (This : IHTMLFormElement_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLFormElement_Get_length);
   end Get_length;

   function Getu_newEnum
     (This : IHTMLFormElement_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLFormElement_Getu_newEnum);
   end Getu_newEnum;

   function item
     (This  : IHTMLFormElement_Type;
      name  : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      index : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free  : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         IHTMLFormElement_item,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => index,
          2 => name),
         Free);
   end item;

   function tags
     (This    : IHTMLFormElement_Type;
      tagName : GNATCOM.Types.VARIANT;
      Free    : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         IHTMLFormElement_tags,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => tagName),
         Free);
   end tags;

end MSHTML.IHTMLFormElement_Object;

