<?php 

namespace Model;

class Track extends Model {
  public $start;
  public $itemCode;
  public $title;
  public $artist;
  public $duration;
  public $ends;

  public function __construct($data) {
    parent::__construct($data);
    parent::ConvertToDateTime($this->start);
    parent::ConvertToDateTime($this->ends);
  }

  private static $IDENTS = ['UURSLUITER' => 'Nieuws', 'NIEUWSOPEN ' => 'Nieuws', 'ANWB' => 'Verkeersinformatie', 'REGIO' => 'Regionieuws', 'CB' => 'Reclame'];

  public function isLayout() {
    if(strlen($this->itemCode) > 0 && ($this->itemCode[0] == 'V')) {
      foreach(self::$IDENTS as $ident => $display) {
        if(substr($this->itemCode, 0, strlen($ident)) == $ident || substr($this->title, 0, strlen($ident)) == $ident) {
          return false;
        }
      }

      return true;
    }

    return false;
  }

  public function ends($ends = null) {
    $this->ends = $ends;
  }

  public function secondsRemaining() {
    return ($this->ends) ? ($this->ends->getTimestamp() - time()) : -1;
  }

  public function display() { 
    foreach(self::$IDENTS as $ident => $display) {
      if(substr($this->itemCode, 0, strlen($ident)) == $ident || substr($this->title, 0, strlen($ident)) == $ident) {
        return $display;
      }
    }

    return $this->artist . ($this->artist ? ' - ' : '') . $this->title;
  }
}
