<?php

/*
 * This file is part of eSales Media ContentHelperBundle
 *
 * (c) Benjamin Roth
 *
 * @license proprietary
 */

namespace EsalesMedia\ContentHelperBundle\EventListener;

use Contao\CoreBundle\Framework\FrameworkAwareInterface;
use Contao\CoreBundle\Framework\FrameworkAwareTrait;
use Contao\Template;

class TemplateListener implements FrameworkAwareInterface
{
  use FrameworkAwareTrait;

  public function onParseTemplate(Template $template)
  {
    $assetsDir = 'bundles/esalesmediacontenthelper';

    if ($template->es_spacing)
    {
      $template->class = trim($template->class . ' spc_' . $template->es_spacing);
    }
    if ($template->es_padding)
    {
      $template->class = trim($template->class . ' pad_default');
    }
    if ($template->es_textAlign)
    {
      $template->class = trim($template->class . ' ta_'.$template->es_textAlign);
    }
    if ($template->type == 'text' && $template->es_col_text)
    {
      $GLOBALS['TL_CSS'][] = $assetsDir . '/css/col_text.scss||static';
      $template->class = trim($template->class . ' layout_' . $template->es_col_text);
    }
    if ($template->es_animate)
    {
      $GLOBALS['TL_CSS'][] = $assetsDir . '/css/animate.scss||static';
      $GLOBALS['TL_BODY'][] = Template::generateScriptTag('bundles/esalesmediacontenthelper/js/inView_animate.js');

      $template->class = trim($template->class . ' is-animated ' . $template->es_animate_type);

      if ($template->es_animate_children)
      {
          $template->class = trim($template->class . ' animate-children');
      }
      if ($template->es_animate_fade)
      {
          $template->class = trim($template->class . ' -fade');
      }
    }
  }
}