Changeover to Sortables
Styling/CSS Changes

Change a lot of CSS to make the form more reactive and to allow elements
to fit depending on size
(In Progress) Change New to Working Animals

Work in Progress on changing New animals to Working animals when they
are dragged into the WorkingArea
workingAnimal area changed to 1 column

Made the workingAnimal area only have 1 large column, as opposed to
three columns that each use 33% of the space.
Animals change from New to Working

Animals now change from newAnimal to workingAnimal when dragged into the
workingArea. They also increase in size (to fit the workingArea) and are
renamed to a temporary name 'Animal '+indexNumber, where indexNumber is
the animal object's position in the animalObjectArray. The animal's DOM
node also is given an ID with their index number.
Created animalObject and bug fixes

Created animalObject and added functionality that creates a new
animalObject when a newAnimal becomes a workingAnimal and sets their
AnimalIDs together. Also minor bug fixes with re-sorting animals causing
duplication of certain elements.
Updated trashcan functionality to use animalObjects

Trashcan will now mark the 'active' boolean variable inside of the
animalObject to false when a workingAnimal is being deleted. Animals
that are inactive are ignored during the fee generation.

Also fixed a bug where workingAnimals DOM elements were too large to be
detected as hovering over the trashcan. Changed the tolerance to "touch"
so any touching of the elements causes the Droppable to work.
Cleaned up Constant Variable names

Made Constant variable names consistant, all uppercase with underscores.
Non-constants still in no-space camelback style.
Fixed Expansion Button and Placeholder bugs

Fixed the position of the Expand button, now located in the bottom right
of each workingAnimal object

Fixed the Placeholder remaining for a few seconds after it's object is
deleted (now it is deleted instantly)

Added animalType enumerated list which includes the allowed animal types
for more robust and obvious variable names.

Allowed the workingAnimal area to scroll when full of animals (may
implement workingAnimal limit later, if necessary.)

Added form Radio buttons inside of animals. The radio buttons are given
a unique id which includes the animal's ID number and the button's type
(the ID of the dog button for the first animal is 'dog0').  Added event
handler for when the radio buttons are changed. Added values to the
buttons which correspond to the animalType enumerated list.
Adding animalGender and animalWeight options

Adding options to set animalGender and animalWeight. Also made
animalWeight hidden by default (only used if the animal is a dog).
Weight appears when Dog is selected.
animalWeight is updated as it is entered

animalWeight now updates as the user enters numbers, to prevent the user
from needing to press enter for the weight to save into the
animalObject.
animalWeight fades in and animalObj grows

When a dog is selected, the animalWeight field fades into the form, and
the animalObject grows to accommodate it.
Updated Grow with special dog height

Updated grow() to grow an extra amount of space to show the weightInput
when Dog is selected.

Bug currently exists where having multiple animalObjects of different
types causes strange behavior.
Fixed bug with multiple animalType objects

Bug was caused by variable not being in correct area of the scope, and
thus not reset when the function was re-run,. This was not an issue with
the selector, as previously thought.
animalWeight changes

animalWeight validation to make sure it is within a reasonable range,
that it isn't negative or zero, and that it doesn't allow letters. (In
Progress)

Minor CSS change to hide the up and down arrows next to the animalWeight
input field (may not be hidden on IE)
animalWeight validation changes

more changes to validation. Added regular expression test.
more animalWeight validation

Finalized animalweight validation. No longer clears the textbox when a
non-digit is entered, but instead cuts the last entered character off
the end.
Added animalExtras

Added buttons for all animal extras. They are separated into Dogs and
Cats, and then sub-divided into Shots and Tests.
Major animalExtras functionality update

1. animalExtras now set a boolean array in the animalObject to TRUE or
FALSE when toggled. The value of the checkbox is the index in the
animalExtras array
2. Fixed issue where Extras interaction affected other animals
3. Fixed animations for displaying animalExtras (correct order, much
smoother to watch, no strange clipping/jumping)
4. Fixed expand/contract button to take animalExtras into account. It
needed to open wider for animalExtras buttons to fit within the
animalObject)
5. Implemented major portion of animalFee calculator (excluding
animalExtras). This function is temporarily set to run when an
"animalExtra" is selected. This is purely temporary for testing until
the fee determining function works.
Calculate fees updated

1. Placed fee calculation functions on all major Form events (animal
type, gender, weight changes, or extras being selected)
2. Implemented total fee calculation function, which totals all
currently working animals. Currently bound to Q key for testing.
3. Implemented animalExtras fee totaling based on array of costs
(ANIMAL_EXTRAS_ARRAY).
3. Fixed shaking animation for animalWeight input (when incorrect input
is received), so it no longer causes the Extras to move up and down.
(Need Padding, not Margins)