title: Working out how many days old a person is?
body: <p>I need to work out how many days old someone is, but I'm not sure on the math. Here's what I have so far:</p>
  
  <pre><code>var birthYear = parseInt(prompt ('Enter your birth year:'));
  var birthMonth = prompt ('Enter the name of the month of birth:');
  var birthDay = parseInt(prompt ('Enter your day of birth as an integer:'));
  var milliDay = 1000*60*60*24; //Milliseconds in a day
  monthAbb = 'janfebmaraprmayjunjulaugsepoctnovdec';
  chineseZod = 12;
  zodCycle = 1924; //Chinese Zodiac Cycle
  var zodAnimal = new Array('Rat','Ox','Tiger','Rabbit','Dragon','Snake','Horse','Goat','Monkey','Rooster','Dog','Pig');
  var zodAnimalD = new Array('Forthright, tenacious, intense, meticulous, charismatic, sensitive, intellectual, industrious, charming, eloquent, sociable, artistic, and shrewd.  Can be manipulative, vindictive, self-destructive, envious, mendacious, venal, obstinate, critical, over-ambitious, ruthless, intolerant, and scheming.','Dependable, ambitious, calm, methodical, born leader, patient, hardworking, conventional, steady, modest, logical, resolute, and tenacious.  Can be stubborn, dogmatic, hot-tempered, narrow-minded, materialistic, rigid, and demanding.','Unpredictable, rebellious, colorful, powerful, passionate, daring, impulsive, vigorous, stimulating, sincere, affectionate, humanitarian, and generous.  Can be restless, reckless, impatient, quick-tempered, obstinate, selfish, aggressive, and moody.','Gracious, good friend, kind, sensitive, soft-spoken, amiable, elegant, reserved, cautious, artistic, thorough, tender, self-assured, shy, astute, compassionate, lucky, and flexible.  Can be moody, detached, superficial, self-indulgent, opportunistic, and stubborn.','Magnanimous, stately, vigorous, strong, self-assured, proud, noble, direct, dignified, eccentric, intellectual, fiery, passionate, decisive, pioneering, artistic, generous, and loyal.  Can be tactless, arrogant, imperious, tyrannical, demanding, intolerant, dogmatic, violent, impetuous, and brash.','Deep thinker, wise, mystic, graceful, soft-spoken, sensual, creative, prudent, shrewd, elegant, cautious, responsible, calm, strong, constant, and purposeful.  Can be a loner, bad communicator, possessive, hedonistic, self-doubting, distrustful, mendacious, suffocating, and cold.','Cheerful, popular, quick-witted, changeable, earthy, perceptive, talkative, agile, magnetic, intelligent, astute, flexible, and open-minded.  Can be fickle, arrogant, childish, anxious, rude, gullible, and stubborn.','Righteous, sincere, sympathetic, mild-mannered, observant, artistic, intellectual, ingenious, innovative, creative, mothering, peaceful, and generous.  Can be indecisive, over-passive, worrier, pessimistic, sensitive, shy, and weak-willed.','Inventor, motivator, improviser, quick-witted, inquisitive, flexible, innovative, problem solver, self-assured, sociable, artistic, polite, dignified, competitive, objective, and factual.  Can be egotistical, vain, arrogant, selfish, reckless, snobbish, deceptive, manipulative, cunning, jealous, suspicious, and stubborn.','  Acute, neat, meticulous, organized, self-assured, decisive, conservative, critical, perfectionist, alert, zealous, practical, scientific, and responsible.  Can be over zealous and critical, puritanical, egotistical, abrasive, proud, opinionated, and gives into empty bravado.','Honest, intelligent, straightforward, loyal, sense of justice and fair play, attractive, amicable, unpretentious, sociable, open-minded, idealistic, moralistic, practical, affectionate, sensitive, and easy going.  Can be cynical, lazy, cold, judgmental, pessimistic, worrier, stubborn, and quarrelsome.','Honest, gallant, sturdy, sociable, peace-loving, patient, loyal, hard-working, trusting, sincere, calm, understanding, thoughtful, scrupulous, passionate, and intelligent.  Can be naive, over-reliant, self-indulgent, gullible, fatalistic, and materialistic.');
  var monthArr = new Array(11);
  
  monthArr [0] = "jan";
  monthArr [1] = "feb";
  monthArr [2] = "mar";
  monthArr [3] = "apr";
  monthArr [4] = "may";
  monthArr [5] = "jun";
  monthArr [6] = "jul";
  monthArr [7] = "aug";
  monthArr [8] = "sep";
  monthArr [9] = "oct";
  monthArr [10] = "nov";
  monthArr [11] = "dec";
  
  var monthNum = monthAbb.indexOf(birthMonth.slice(0, 3).toLowerCase()) / 3; 
  alert(monthNum);
  var d = new Date (birthYear, monthNum, birthDay);
  alert(d);
  var dCurrent = new Date();
  dCurrent = dCurrent.getTime(); //Grabs the time of the current date in milliseconds.
  var dTotal = dCurrent - d;
  alert(dTotal);
  dTotal = dTotal / milliDay;
  dTotal = Math.floor(dTotal); //7193
  alert(dTotal + ' is after division');
  dTotal = dTotal / 365.25;
  dTotal = Math.floor(dTotal);
  alert(dTotal + ' is how old you are!');
  dTotal = birthYear - zodCycle;
  dTotal = dTotal % chineseZod;
  alert(dTotal);
  alert(d);
  var testS;
  testS = dCurrent - d;
  testS = testS / milliDay;
  testS = testS * 365.25;
  document.write("&lt;span style=\"color: red;\"&gt;" + 'Your birthday is ' + d.toDateString() + "&lt;/span&gt;");
  alert(testS);
  </code></pre>