module Data.DOM.Attr
       (get'name, getm'name, get'specified, getm'specified, set'value,
        get'value, getm'value, get'ownerElement, getm'ownerElement)
       where
import Data.DOM.Dom
import Control.Monad
import BrownPLT.JavaScript
import Data.DOM.WBTypes
import Data.DOM.Document (createElement)
 
get'name ::
         (Monad mn, CAttr this) => Expression this -> mn (Expression String)
get'name thisp
  = do let et = undefined :: String
       let r = DotRef et (thisp /\ et) (Id et "name")
       return r
 
getm'name ::
          (Monad mn, CAttr this) => Expression this -> mn (Expression String)
getm'name = get'name
 
get'specified ::
              (Monad mn, CAttr this) => Expression this -> mn (Expression Bool)
get'specified thisp
  = do let et = undefined :: Bool
       let r = DotRef et (thisp /\ et) (Id et "specified")
       return r
 
getm'specified ::
               (Monad mn, CAttr this) => Expression this -> mn (Expression Bool)
getm'specified = get'specified
 
set'value ::
          (Monad mn, CAttr zz) =>
            Expression String -> Expression zz -> mn (Expression zz)
set'value = setjsProperty "value"
 
get'value ::
          (Monad mn, CAttr this) => Expression this -> mn (Expression String)
get'value thisp
  = do let et = undefined :: String
       let r = DotRef et (thisp /\ et) (Id et "value")
       return r
 
getm'value ::
           (Monad mn, CAttr this) => Expression this -> mn (Expression String)
getm'value = get'value
 
get'ownerElement ::
                 (Monad mn, CAttr this, CElement zz) =>
                   Expression this -> mn (Expression zz)
get'ownerElement thisp
  = do let et = undefined :: zz
       let r = DotRef et (thisp /\ et) (Id et "ownerElement")
       return r
 
getm'ownerElement ::
                  (Monad mn, CAttr this) =>
                    Expression this -> mn (Expression TElement)
getm'ownerElement = get'ownerElement