mixin overlay(resort, text)
  .opening-date
    if resort.href
      a(href=resort.href,
        title='Go to official #{ resort.name } page',
        target='_blank'
        rel='noopener'
      )!= text
    else
      a!= text

mixin header(resort, widget)
  if resort.href
    a.icon-alone.resort-link(
      href=resort.href,
      title='Go to official #{ resort.name } page',
      target='_blank'
      rel='noopener'
    )
      span.ls-external
  a.resort-name(href='/resort/#{ resort.id }' target=widget && "_blank")= resort.name
  if !widget
    if !single
      if resort.deals
        a.icon-alone(title=resort.deals.title, href=resort.deals.href, target="_blank", rel="nofollow noopener")
          span.ls-deal
    a.right.icon-alone.star
      span.ls-star
    if !single
      a.right.icon-alone.minimax
        span.ls-minimax

mixin lifts(resort)
  .lifts-status
    if resort.opening
      +overlay(resort, 'Opens on <b>' + resort.opening + '</b>')
    else if !resort.lifts
      +overlay(resort, 'Lift status coming soon')
    ul.lifts.expandable
      if resort.lifts
        for status, name in resort.lifts.status
          li.lift
            span.name #{name}
            span.status(class='ls-#{status}')


mixin stats(resort)
  .summary-color-bar
    for key in ['open', 'hold', 'scheduled', 'closed']
      div(class='#{key}', style='width:#{ resort.lifts ? resort.lifts.stats.percentage[key] : 25 }%;')
  ul.summary
    for key in ['open', 'hold', 'scheduled', 'closed']
      li
        span(class='ls-#{key}')= resort.lifts ? resort.lifts.stats[key] : 0
        span #{key}
  .auto-refresh-reminder
    span Next update in&nbsp;
    span.time-to-refresh 60
    span &nbsp;seconds

mixin weather(resort)
  .weather.tile(class= resort.weather ? 'visible' : 'hidden')
    .weather-icon
      ul
        li(class= resort.weather ? resort.weather.icon[0] : '')
        li(class= resort.weather ? resort.weather.icon[1] : '')
    .temperature
    .snow-conditions
      span.conditions
      span.snowforecast
    .text
    .notice Forecast by&nbsp;
      a(target="_blank", href=resort.weather && resort.weather.notice && resort.weather.notice.href, rel='noopener')
        img(src=resort.weather && resort.weather.notice && resort.weather.notice.img)

mixin snow(resort)
  .snow.tile(class= resort.snow ? 'visible' : 'hidden')
    .snowfall
      span.value
      span "
      span &nbsp;snowfall in the last 48 hours
    .depth
      span.value
      span "
      span &nbsp;snow base
      span.condition
        span &nbsp;-&nbsp;
        span.value
    .notice
      != resort.snow && resort.snow.notice

mixin addToTrip(resort)
  if resort.ll
    a.add-to-trip(href='https://trips.furkot.com/trip?#{addToTrip(resort)}', target='_blank', rel='noopener')
      span.ls-furkot
      span Plan trip to #{resort.name}

mixin webcam(webcam)
  .webcam
    a(target="_blank", rel='noopener')
      .title
      img.active(src="")
      img.inactive(src="")
    .notice
      != webcam?.notice

mixin webcams(resort)
  .tile.webcams(class= resort.webcams?.length ? 'visible' : 'hidden')
    .swipe
      ul
        li
          +webcam(resort.webcams?.[0])
    .pager

mixin bestDeal(resort)
  if resort.deals && resort.deals.discount
    .deal
      span= resort.deals.title
      a(title=resort.deals.title, href=resort.deals.href, target="_blank", rel="nofollow noopener")= resort.deals.discount

mixin deals(resort)
  .deals.tile.visible
    for deal in resort.deals.deals
      .deal
        span= deal.title
        a(title=resort.deals.title, href=resort.deals.href, target="_blank", rel="nofollow noopener")= deal.discount

mixin resort(resort, widget)
  section.panel.resort(
    data-resort=resort.id,
    data-timestamp=resort.timestamp,
    data-opening=resort.opening,
    data-name=resort.name,
    data-ll=resort.ll && resort.ll.join(),
    data-weather=single && resort.weather,
    data-webcams=single && resort.webcams,
    data-snow=single && resort.snow,
    class=resort.open ? 'open' : ''
  )
    header
      +header(resort, widget)
    .expandable
      .basics
        if !widget && !single
          +bestDeal(resort)
        +lifts(resort)
        footer
          +stats(resort)
          if !widget && !single
            +addToTrip(resort)
  if !widget && single
    section.panel.extras.open(class= single ? 'visible' : 'hidden' )
      header
        +addToTrip(resort)
      +weather(resort)
      +snow(resort)
      +webcams(resort)
    if resort.deals && resort.deals.deals
      section.panel.extras.open(class= single ? 'visible' : 'hidden' )
        header
          a(href=resort.deals.href, target="_blank", rel="nofollow noopener")
            span.ls-deal
            span= resort.deals.title
        +deals(resort)
