function birthCardHandler(formRef)
{
  var valueArray = new Array (formRef.month1.value, formRef.day1.value, formRef.year1.value);
  if (!validateBirthDate(valueArray))
  {
    alert('Please enter your birth date');
    return false;
  } else {
    //var cardNum = getCardNum(valueArray);
    var birthCard = new Object();
    birthCard.id = getCardNum(valueArray);
    birthCard.name = getCardName(birthCard.id);
    birthCard.motto = getCardMotto(birthCard.id);
    
    displayBirthCard(birthCard);
  }
}


// takes a card id (1-9)
// returns a card name string
function getCardName(cardNum)
{
  var cardNamesArray = new Array();
  cardNamesArray[1] = "The Magician";
  cardNamesArray[2] = "The High Priestess";
  cardNamesArray[3] = "The Empress";
  cardNamesArray[4] = "The Emperor";
  cardNamesArray[5] = "The Hierophant";
  cardNamesArray[6] = "The Lovers";
  cardNamesArray[7] = "The Chariot";
  cardNamesArray[8] = "Strength";
  cardNamesArray[9] = "The Hermit";
  
  return (cardNamesArray[cardNum]);
}

// takes a card id (1-9)
// returns a card moto string
function getCardMotto(cardNum)
{
  var cardMottosArray = new Array();
  cardMottosArray[1] = "May imagination be your muse!";
  cardMottosArray[2] = "May Wisdom be your guide.";
  cardMottosArray[3] = "May the Goddess be with you!";
  cardMottosArray[4] = "May you be master of your realm.";
  cardMottosArray[5] = "May good counsel be yours.";
  cardMottosArray[6] = "May commitment bring out your best.";
  cardMottosArray[7] = "May your victories be sweet.";
  cardMottosArray[8] = "May courage be your ally.";
  cardMottosArray[9] = "May you find your solitude nourishing.";
  
  return (cardMottosArray[cardNum]);
}


// takes an array of (birth month, birth day, birth year) 
// order doesn't matter since they just get added together
// returns a number between 1 & 9 
function getCardNum(valueArray)
{
  // formula is $year + $day + month = $number;add together didgits of number
  // until you have a number less than 10 but geater than 0
  var baseNum = Number(valueArray[0]) + Number(valueArray[1]) + Number(valueArray[2]);
  var reducedNum = recursiveNumerology(baseNum);
  
  while (Number(reducedNum) > 9)
  {
    reducedNum = recursiveNumerology(reducedNum);
  }
  return (reducedNum);
}

// add together each number in the string
// takes a string of numbers
// returns those numbers added together
function recursiveNumerology(numAsString)
{
  numAsString = String(numAsString);
  var newNumAsNum = 0;
  var stringLength = numAsString.length
  // loop thru & add the numbers together
  for(var i = 0; i < stringLength; i++)
  {
    newNumAsNum += Number(numAsString.charAt(i));
  }
  return (newNumAsNum);
}

// each numeric value needs to be greater than 0 
// returns t/f 
function validateBirthDate(valueArray)
{
  var valid = true;
  for (x in valueArray)
  {
    if (Number(valueArray[x]) <= 0)
    {
      valid = false;
    }
  }
  return valid;
}