<div [hidden]="!visible" #root>

  <div class="blackCanvas"
       [style.opacity]="blackCanvasOpacity">
  </div>

  <div class="lightbox" #lightbox>
    <gallery-lightbox-photo [gridPhoto]="activePhoto ? activePhoto.gridPhoto : null"
                            [loadImage]="!animating"
                            [windowAspect]="getPhotoFrameWidth()/getPhotoFrameHeight()"
                            #photo>
    </gallery-lightbox-photo>
  </div>
  <div
    (swipeleft)="nextImage()" (swiperight)="prevImage()" (swipeup)="hide()"
    *ngIf="controllersVisible"
    id="controllers-container" #controls [style.width.px]="getPhotoFrameWidth()"
    [ngClass]="!controllersDimmed ? 'dim-controls':  ''">
    <div class="controls controls-top">
      <a *ngIf="activePhoto" [href]="activePhoto.gridPhoto.getPhotoPath()"
         [download]="activePhoto.gridPhoto.photo.name">
        <span class="glyphicon glyphicon-download-alt highlight control-button"
              title="download"></span>
      </a>
      <span class="glyphicon glyphicon-info-sign highlight control-button" (click)="toggleInfoPanel()"
            title="info"></span>

      <span class=" glyphicon glyphicon-resize-small highlight control-button"
            *ngIf="fullScreenService.isFullScreenEnabled()"
            (click)="fullScreenService.exitFullScreen()" title="toggle fullscreen"></span>

      <span class="glyphicon glyphicon-fullscreen highlight control-button"
            *ngIf="!fullScreenService.isFullScreenEnabled()"
            (click)="fullScreenService.showFullScreen(root)" title="toggle fullscreen"></span>

      <span class="glyphicon glyphicon-remove highlight" (click)="hide()" title="close"></span>
    </div>

    <div class="navigation-arrow highlight"
         *ngIf="navigation.hasPrev" title="key: left arrow" id="leftArrow"
         (click)="prevImage()"><span
      class="glyphicon glyphicon-chevron-left"></span></div>
    <div class="navigation-arrow highlight"
         *ngIf="navigation.hasNext" title="key: right arrow" id="rightArrow"
         (click)="nextImage()"><span
      class="glyphicon glyphicon-chevron-right"></span></div>

    <div class="controls controls-playback">
      <span class="glyphicon glyphicon-pause highlight control-button"
            [ngClass]="playBackState == 0 ? 'button-disabled':''"
            (click)="pause()"
            title="pause"></span>
      <span
        class="glyphicon glyphicon-play highlight control-button"
        [ngClass]="playBackState == 1 ? 'button-active':''"
        (click)="play()"
        title="auto play"></span>
      <span class="glyphicon glyphicon-forward highlight control-button"
            [ngClass]="playBackState == 2 ? 'button-active':''"
            (click)="fastForward()"
            title="fast auto play"></span>
    </div>
  </div>
  <info-panel *ngIf="activePhoto && infoPanelVisible"
              id="info-panel"
              [style.width.px]="infoPanelWidth"
              [photo]="activePhoto.gridPhoto.photo"
              (onClose)="hideInfoPanel()">

  </info-panel>
</div>