
teacup = require 'teacup'

#===========================================================================================================
# TEACUP NAMESPACE ACQUISITION
#-----------------------------------------------------------------------------------------------------------
for name_ of teacup
  eval "#{name_.toUpperCase()} = teacup[ #{rpr name_} ]"

#-----------------------------------------------------------------------------------------------------------
templates = {}
app_key   = 'alpha-one'

#-----------------------------------------------------------------------------------------------------------
get_options = ( request ) ->
  return request[ app_key ] ? {}

#-----------------------------------------------------------------------------------------------------------
templates.layout = ( request, content ) ->
  O           = get_options request
  page_style  = O[ 'page-style'       ] ? 'plain'
  title       = O[ 'title'            ] ? 'welcome'
  #.........................................................................................................
  return RENDER =>
    DOCTYPE 5
    HTML =>
      #.....................................................................................................
      HEAD =>
        META charset: 'utf-8'
        TITLE title
      #.....................................................................................................
      BODY ".#{page_style}", => RAW content

#-----------------------------------------------------------------------------------------------------------
templates.alternative_layout = ( request, content ) ->
  O           = get_options request
  page_style  = O[ 'page-style'       ] ? 'plain'
  title       = O[ 'title'            ] ? 'welcome'
  #.........................................................................................................
  return RENDER =>
    DOCTYPE 5
    HTML =>
      #.....................................................................................................
      HEAD =>
        META charset: 'utf-8'
        TITLE title
      #.....................................................................................................
      # makes the layout more 'realistic' ... :-(
      BODY ".#{page_style}",
        DIV '.foo-wrapper', =>
          DIV '.bar-wrapper', =>
            DIV '.baz-wrapper', =>
              RAW content

#-----------------------------------------------------------------------------------------------------------
templates.helo = ( request ) ->
  O           = get_options request
  layout      = O[ 'layout'           ] ? @layout.bind @
  debug O
  #.........................................................................................................
  return layout request, RENDER =>
    DIV '#greeting', 'helo from teacup'

#-----------------------------------------------------------------------------------------------------------
request = {}
request[ app_key ] =
  'title':      'welcome to alpha-one'
  'page-style': 'laid-back'
  # 'layout':     templates.alternative_layout.bind templates

info templates.helo request





