#!/bin/bash
FILE=/tmp/$RANDOM
TOP=0
LEFT=3

# Additional heading space
HEADINGNEXTPAGE=16
HEADINGLEFT=0
HEADINGRIGHT=8

# GPG Space
NEXTPAGE=30
NEXTPAGESMALL=48
NEXTFIELDBOTTOM=7
NEXTFIELDRIGHT=14
NEXTFIELDRIGHTSMALL=25
MAXLENGTH=22

if [ $# -eq 0 ]; then
  echo -e "$0: Syntax:\n$0 FIELD\n\nExample:\n$0 7\n\n\nFields:
  ==================
  | 0 | 1 || 6 | 7 |
  |---|---||---|---|
  | 2 | 3 || 8 | 9 |
  |---|---||---|---|
  | 4 | 5 || 10| 11|
  ==================
  "
  exit 1
fi

PAGE=$(($1 / 6))
FIELD=$(($1 % 6))

shift 1


echo "PAGE: $PAGE, FIELD: $FIELD"



function moveDown() {
  for((i=0; i<$(($FIELD / 2)); i++)); do
    for((j=0; j<$NEXTFIELDBOTTOM; j++)); do
      printf "\n" >> $FILE
    done
  done
}

function makeNewline() {
  for((i=0; i<$1; i++)); do
    printf "\n" >> $FILE
  done
}

function makeLeft() {
  for((i=0; i<$1; i++)); do
    printf " " >> $FILE
  done
}


function heading() {
  moveDown


  if [ $(($FIELD % 2)) -eq 0 ]; then
    HSPACE=$HEADINGLEFT
    SPACE=0
  else
    HSPACE=$HEADINGRIGHT
    SPACE=$NEXTFIELDRIGHT
  fi

  
  if [ $PAGE -eq 1 ]; then
    makeLeft $NEXTPAGE
  fi
  makeLeft 1
  makeLeft $SPACE
  italicLetters $FILE
  printf "INTERGALACTIC\n" >> $FILE
  
  if [ $PAGE -eq 1 ]; then
    makeLeft $NEXTPAGE
  fi
  makeLeft 1
  makeLeft $SPACE
  printf "REGISTRATION\n" >> $FILE
  bigLetters $FILE

  if [ $PAGE -eq 1 ]; then
    makeLeft $HEADINGNEXTPAGE
    if [ $(($FIELD % 2)) -eq 1 ]; then
      makeLeft $(($HSPACE - 1))
    fi
  else
    if [ $(($FIELD % 2)) -eq 0 ]; then
      makeLeft 1
    fi
    makeLeft $HSPACE
  fi
  printf "OFFICE\n" >> $FILE
  resetLetters $FILE

}

function insertDate() {
  if [ $(($FIELD % 2 )) -eq 0 ]; then
    SPACE=0
  else
    SPACE=$NEXTFIELDRIGHTSMALL
  fi

  smallLetters $FILE
  if [ $PAGE -eq 1 ]; then
    makeLeft $NEXTPAGESMALL
  fi
  makeLeft $LEFT
  makeLeft $(($SPACE + 2))
  if [ -n "$EVENT" ]; then
    printf "$EVENT, $(date -I)" >> $FILE
  else
    printf "$(date -I)" >> $FILE
  fi

}

source ../include/nixdorf
init

makeNewline $TOP
heading
insertDate

printFile $FILE
rm $FILE