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

# Additional heading space
HEADINGNEXTPAGE=36
HEADINGLEFT=1
HEADINGRIGHT=20

# GPG Space
NEXTPAGE=62
NEXTFIELDBOTTOM=11
NEXTFIELDRIGHT=31
MAXLENGTH=22

if [ $# -eq 0 ]; then
  echo -e "$0: Syntax:\n$0 FIELD GPG FINGERPRINT WITH SPACES\n\nExample:\n$0 7 1234 5678 1234 1234 1234 1234 1234 1234 1234 ABCD\n\n\nFields:
  ==================
  | VISAS || VISAS |
  ==================
  | 0 | 1 || 4 | 5 |
  |---|---||---|---|
  | 2 | 3 || 6 | 7 |
  ==================
  "
  exit 1
fi

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

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 heading() {
  moveDown


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

  if [ $PAGE -eq 1 ]; then
    makeLeft $HEADINGNEXTPAGE $FILE
  fi

  makeLeft $LEFT $FILE
  makeLeft $SPACE $FILE

  bigLetters $FILE
  printf "GPG" >> $FILE
  resetLetters $FILE
  printf "\n" >> $FILE
}

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

  smallLetters $FILE
  if [ $PAGE -eq 1 ]; then
    makeLeft $NEXTPAGE $FILE
  fi
  makeLeft $LEFT $FILE
  makeLeft $(($SPACE + 2)) $FILE
  printf "$1 $2 $3 $4" >> $FILE
  resetLetters $FILE
  printf "\n" >> $FILE
  shift 4

  smallLetters $FILE
  if [ $PAGE -eq 1 ]; then
    makeLeft $NEXTPAGE $FILE
  fi
  makeLeft $LEFT $FILE
  makeLeft $(($SPACE + 2)) $FILE
  printf "$1 $2 $3 $4" >> $FILE
  resetLetters $FILE
  printf "\n" >> $FILE
  shift 4
  
  smallLetters $FILE
  if [ $PAGE -eq 1 ]; then
    makeLeft $NEXTPAGE $FILE
  fi
  makeLeft $LEFT $FILE
  makeLeft $(($SPACE + 2)) $FILE
  printf "$1 $2" >> $FILE
  resetLetters $FILE
  printf "\n" >> $FILE
  shift 2

  smallLetters $FILE
  if [ $PAGE -eq 1 ]; then
    makeLeft $NEXTPAGE $FILE
  fi
  makeLeft $LEFT $FILE
  makeLeft $(($SPACE + 2)) $FILE

  if [ -n "$EVENT" ]; then
    printf "$EVENT, $(date -I)" >> $FILE
  else
    printf "$(date -I)" >> $FILE
  fi
}

source ../include/nixdorf
init

makeNewline $TOP $FILE
heading
insertFP $@

printFile $FILE
rm $FILE
