
<!-- Original:  Dev Pragad (devpragad@yahoo.com) -->
<!-- Web Site:  http://www.geocities.com/devpragad -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function start() {
//form1.year.value = "";
form1.age.value = "";
form1.months.value = "";
form1.weeks.value = "";
form1.answer.value = "";
form1.hours.value = "";
form1.min.value = "";
form1.sec.value = "";
form1.bday.value = "";
}
function run() {
if (form1.month.selectedIndex=="0"){alert("Your month of birth, please!");return false}
if (form1.day.selectedIndex=="0"){alert("Your day of birth, please!");return false}
if (form1.year.value==""){alert("Your year of birth, please!");form1.year.focus();return false}
if (form1.year.value.length!=4){alert("Year must have four digits!");form1.year.focus();return false}
var ap;
dd = parseInt(form1.day.selectedIndex);
mm = parseInt(form1.month.selectedIndex);
yy = form1.year.value;
ap = form1.ampm.selectedIndex;
hr = form1.hrs.value;
if(hr < 0 || hr >11){ap = null;alert("number between 0 and 11");form1.hrs.focus();return false}

main="valid";
if ((mm < 1) || (mm > 12) || (dd < 1) || (dd > 31) || (yy < 1) ||(mm == "") || (dd == "") || (yy == ""))
main = "Invalid";
else 
if (((mm == 4) || (mm == 6) || (mm == 9) || (mm == 11)) && (dd > 30))
main = "Invalid";
else 
if (mm == 2) {
if (dd > 29)
main = "Invalid";
else if((dd > 28) && (!leapyear(yy)))
main="Invalid";
}
else
if((yy > 9999)||(yy < 0))
main = "Invalid";
else
main = main;
if(main == "valid") {
function leapyear(a) {
if(((a % 4 == 0) && (a % 100 != 0)) || (a % 400 == 0))
return true;
else 
return false;
}
days = new Date();
gdate = days.getDate();
gmonth = days.getMonth();
gyear = days.getYear();
age = gyear - yy;
if((mm == (gmonth + 1)) && (dd <= parseInt(gdate))) {
age = age;
}
else {
if(mm <= (gmonth)) {
age = age;
}
else {
age = age - 1; 
   }
}
if(age == 0)
age = age;
form1.runningage.value=age+" years ";
if(mm < (gmonth + 1))
{age = age - 1;}
else
if((mm == (gmonth + 1)) && (dd > parseInt(gdate))) 
{age = age + 1;}

var runningmonth
<!--1-->
if (mm == gmonth+1 && dd == gdate){runningmonth=0;numDays=0;weeksDaysetc();}	

<!--2-->
if (mm == gmonth+1 && dd < gdate){runningmonth=0;numDays=Math.abs(gdate-dd);weeksDaysetc();}	

<!--3-->
if (mm == gmonth+1 && dd > gdate){runningmonth=11;
if (gmonth==1 || gmonth==3 || gmonth==5 || gmonth==7 || gmonth==8 || gmonth==10 || gmonth==12){numDays=Math.abs(31-dd+gdate-1);weeksDaysetc()}
if (gmonth==4 || gmonth==6 || gmonth==9 || gmonth==11){numDays=Math.abs(30-dd+gdate-1);weeksDaysetc()}
if (gmonth==2){if (leapyear(gyear)){numDays=Math.abs(29-dd+gdate-1);weeksDaysetc()}
else
{numDays=Math.abs(28-dd+gdate-1);weeksDaysetc()}
	}
}

<!--4-->
if (mm > gmonth+1 && dd == gdate){runningmonth=12-mm+(gmonth+1);numDays=0;weeksDaysetc()}

<!--5-->
if (mm < gmonth+1 && dd < gdate){runningmonth=(gmonth+1)-mm;numDays=gdate-dd;weeksDaysetc()}

<!--6-->
if (mm > gmonth+1 && dd < gdate){runningmonth=12-mm+(gmonth+1);numDays=gdate-dd;weeksDaysetc()}

<!--7-->
if (mm < gmonth+1 && dd >gdate){runningmonth=(gmonth+1)-mm-1;
if (gmonth==1 || gmonth==3 || gmonth==5 || gmonth==7 || gmonth==8 || gmonth==10 || gmonth==12){numDays=Math.abs(31-dd+gdate-1);weeksDaysetc()}
if (gmonth==4 || gmonth==6 || gmonth==9 || gmonth==11){numDays=Math.abs(30-dd+gdate-1);weeksDaysetc()}
if (gmonth==2){if (leapyear(gyear)){numDays=Math.abs(29-dd+gdate-1);weeksDaysetc()}
else
{numDays=Math.abs(28-dd+gdate-1);weeksDaysetc()}
	}
}

<!--8-->
if (mm < gmonth+1 && dd == gdate){runningmonth=(gmonth+1)-mm;numDays=0;weeksDaysetc();}

<!--9-->
if (mm>gmonth+1 && dd > gdate){runningmonth=12-mm+(gmonth+1)-1;
if (gmonth==1 || gmonth==3 || gmonth==5 || gmonth==7 || gmonth==8 || gmonth==10 || gmonth==12){numDays=Math.abs(31-dd+gdate-1);weeksDaysetc()}
if (gmonth==4 || gmonth==6 || gmonth==9 || gmonth==11){numDays=Math.abs(30-dd+gdate-1);weeksDaysetc()}
if (gmonth==2){if (leapyear(gyear)){numDays=Math.abs(29-dd+gdate-1);weeksDaysetc()}
else
{numDays=Math.abs(28-dd+gdate-1);weeksDaysetc()}
	}
}

var m;
var n;
if (mm == 12) { n = 31 - dd; }
if (mm == 11) { n = 61 - dd; }   
if (mm == 10) { n = 92 - dd; }  
if (mm == 9) { n = 122 - dd; } 
if (mm == 8) { n = 153 - dd; }   
if (mm == 7) { n = 184 - dd; }   
if (mm == 6) { n = 214 - dd; }  
if (mm == 5) { n = 245 - dd; } 
if (mm == 4) { n = 275 - dd; } 
if (mm == 3) { n = 306 - dd; }
if (mm == 2) { n = 334 - dd; if(leapyear(yy)) n = n + 1; }
if (mm == 1) { n = 365 - dd; if (leapyear(yy)) n = n + 1; }

if (gmonth == 1) m = 31;
if (gmonth == 2) { m = 59;   if (leapyear(gyear)) m = m + 1; }
if (gmonth == 3) { m = 90;   if (leapyear(gyear)) m = m + 1; }
if (gmonth == 4) { m = 120;  if (leapyear(gyear)) m = m + 1; }
if (gmonth == 5) { m = 151;  if (leapyear(gyear)) m = m + 1; }
if (gmonth == 6) { m = 181;  if (leapyear(gyear)) m = m + 1; }
if (gmonth == 7) { m = 212;  if (leapyear(gyear)) m = m + 1; }
if (gmonth == 8) { m = 243;  if (leapyear(gyear)) m = m + 1; }
if (gmonth == 9) { m = 273;  if (leapyear(gyear)) m = m + 1; }
if (gmonth == 10) { m = 304; if (leapyear(gyear)) m = m + 1; }
if (gmonth == 11) { m = 334; if (leapyear(gyear)) m = m + 1; }
if (gmonth == 12) { m = 365; if (leapyear(gyear)) m = m + 1; }
totdays = (parseInt(age) * 365);
totdays += age / 4;
totdays = parseInt(totdays) + m + n;
form1.answer.value = Comma(totdays) +" days ";
months = age * 12;
months += 12 - parseInt(mm);
months += gmonth;		
form1.months.value = Comma(months) + " months";
if (gmonth == 1) p = 31 + gdate;
if (gmonth == 2) { p = 59 + gdate;   if (leapyear(gyear)) p = p + 1; }
if (gmonth == 3) { p = 90 + gdate;   if (leapyear(gyear)) p = p + 1; }
if (gmonth == 4) { p = 120 + gdate;  if (leapyear(gyear)) p = p + 1; }
if (gmonth == 5) { p = 151 + gdate;  if (leapyear(gyear)) p = p + 1; }
if (gmonth == 6) { p = 181 + gdate;  if (leapyear(gyear)) p = p + 1; }
if (gmonth == 7) { p = 212 + gdate;  if (leapyear(gyear)) p = p + 1; }
if (gmonth == 8) { p = 243 + gdate;  if (leapyear(gyear)) p = p + 1; }
if (gmonth == 9) { p = 273 + gdate;  if (leapyear(gyear)) p = p + 1; }
if (gmonth == 10) { p = 304 + gdate; if (leapyear(gyear)) p = p + 1; }
if (gmonth == 11) { p = 334 + gdate; if (leapyear(gyear)) p = p + 1; }
if (gmonth == 12) { p = 365 + gdate; if (leapyear(gyear)) p = p + 1; }
weeks = totdays / 7;
weeks += " weeks";
weeks = parseInt(weeks);
form1.weeks.value = Comma(weeks) + " weeks";
var time = new Date();
ghour = time.getHours();
gmin = time.getMinutes();
gsec = time.getSeconds();

runningMinute=gmin;
runningSecond=gsec;

hour = ((age * 365) + n + p) * 24;  
hour += (parseInt(age / 4) * 24);

if(ap == 0)
{runningHour=ghour-hr;
hour = hour - hr;}
else {
if(ap == 1) 
{runningHour=ghour-hr;
hour = hour - (12 + hr);
   }
}

form1.hours.value = Comma(hour) + " hours";
var min;
min = (hour * 60) + gmin;
form1.min.value = Comma(min) + " minutes";
sec = (min * 60) + gsec;
form1.sec.value = Comma(sec) + " seconds";
mm = mm - 1;
var r;
if(mm == 0) r = 1;
if(mm == 1) r = 31;
if(mm == 2) { r = 59;    if (leapyear(gyear)) m = m + 1; }
if(mm == 3) { r = 90;    if (leapyear(gyear)) r = r + 1; }
if(mm == 4) { r = 120;   if (leapyear(gyear)) r = r + 1; }
if(mm == 5) { r = 151;   if (leapyear(gyear)) r = r + 1; }
if(mm == 6) { r = 181;   if (leapyear(gyear)) r = r + 1; }
if(mm == 7) { r = 212;   if (leapyear(gyear)) r = r + 1; }
if(mm == 8) { r = 243;   if (leapyear(gyear)) r = r + 1; }
if(mm == 9) { r = 273;   if (leapyear(gyear)) r = r + 1; }
if(mm == 10) { r = 304;  if (leapyear(gyear)) r = r + 1; }
if(mm == 11) { r = 334;  if (leapyear(gyear)) r = r + 1; }
if(mm == 12) { r = 365;  if (leapyear(gyear)) r = r + 1; }
mm = mm + 1;
r = parseInt(r) + parseInt(dd);
if( mm > (gmonth + 1)) {
bday = r - m - gdate-1;
}
else {
if(mm == (gmonth + 1) && (gdate < dd)) {
bday = (r - m - gdate)-1;
}
else {
if((leapyear(gyear)) && ((mm > 2) && (dd < 29))) {
a = 366;
}
else {
a = 365; 
}
bday = a + (r - m - gdate)-1;
   }
}
nhour = 24-parseInt(ghour);
nmin = 60 - parseInt(gmin);
nsec = 60 - parseInt(gsec);
go();
if (bday !=1){dayN="days"}else{dayN="day"}
if (nhour !=1){hourN="hours"}else{hourN="hour"}
if (nmin !=1){minN="minutes"}else{minN="minute"}
if (nsec !=1){secN="seconds"}else{secN="second"}
if (runningmonth !=1){monty="months"}else{monty="month"}
if (runningWeeks !=1){weeky="weeks"}else{weeky="week"}
if (runningDays !=1){daisy="days"}else{daisy="day"}

if(((bday == 366) && (leapyear(yy))) || ((bday == 365) && (!leapyear(yy)))) {
birthday.innerHTML="Happy Birthday!";
form1.bday.value=bday+" "+dayN+" "+nhour+" "+hourN+" "+nmin+" "+minN+" "+nsec+" "+secN;

form1.runningage.value+= runningmonth+" "+monty+" "+runningWeeks+" "+weeky+" "+runningDays+" "+daisy+" "+runningHour+" hrs. "+runningMinute+" mins. "+runningSecond+" secs.";
setTimeout("run()", 1);
}else{
birthday.innerHTML="";
form1.bday.value=bday+" "+dayN+" "+nhour+" "+hourN+" "+nmin+" "+minN+" "+nsec+" "+secN;

form1.runningage.value+= runningmonth+" "+monty+" "+runningWeeks+" "+weeky+" "+runningDays+" "+daisy+" "+runningHour+" hrs. "+runningMinute+" mins. "+runningSecond+" secs.";
setTimeout("run()", 1);
}
function go() {
function lyear(a) {
if(((a % 4 == 0) && (a % 100 != 0)) || (a % 400 == 0)) return true;
else return false;
}
mm = parseInt(mm);
dd = parseInt(dd);
yy = parseInt(yy);
if ((mm < 1) || (mm > 12) || (dd < 1) || (dd > 31) || (yy < 1) ||(mm == " ") || (dd == " ") || (yy == " "))  main="Invalid";
else 
if (((mm == 4) || (mm == 6) || (mm == 9) || (mm == 11)) && (dd > 30)) main = "Invalid";
else
if (mm == 2) {
if (dd > 29)
main = "Invalid";
else
if(( dd > 28) && (!lyear(yy)))
main = "Invalid";
}
else main = main;
if(main == "valid") {
var m;
if (mm == 1) n = 31;
if (mm == 2) n = 59 + 1;
if (mm == 3) n = 90 + 1;
if (mm == 4) n = 120 + 1;
if (mm == 5) n = 151 + 1;
if (mm == 6) n = 181 + 1;
if (mm == 7) n = 212 + 1;
if (mm == 8) n = 243 + 1;
if (mm == 9) n = 273 + 1;
if (mm == 10) n = 304 + 1;
if (mm == 11) n = 334 + 1;
if (mm == 12) n = 365 + 1;
if((mm == 1)||(mm == 3)||(mm == 5)||(mm == 7)||(mm == 8)||(mm == 10)||(mm == 12))
n += 31 + dd;
else if((mm == 4)||(mm == 6)||(mm == 9)||(mm == 11))
n += 31 + dd + 1;
else if(mm == 2) {
if(lyear(yy)) n += 29 + dd - 3;
else if(!lyear(yy)) n += 28 + dd - 1;
}
fours = yy / 4;
hunds = yy / 100;
fhunds = yy / 400;
var day;
day = (yy + n + fours - hunds + fhunds) % 7;
day = parseInt(day)
switch(day)
{
case 1 : form1.age.value =" You were born on a  Sunday"
break
case 2 : form1.age.value =" You were born on a  Monday"
break
case 3 : form1.age.value =" You were born on a  Tuesday"
break
case 4 : form1.age.value =" You were born on a  Wednesday"
break
case 5 : form1.age.value =" You were born on a  Thursday"
break
case 6 : form1.age.value =" You were born on a  Friday"
break
case 0 : form1.age.value =" You were born on a  Saturday"
break
   }
}
else {
form1.age.value += main + " Date";
      }
   }
}
else {
form1.age.value = main + " Date";
form1.months.value = "";
form1.weeks.value = "";
form1.answer.value = "";
form1.hours.value = "";
form1.min.value = "";
form1.sec.value = "";
form1.bday.value = "";
   }
}

function weeksDaysetc(){
runningWeeks=parseInt(numDays/7);
runningDays=numDays%7;
}
//  End -->

var clockID=0
function UpdateClock()
{
if (clockID)
{clearTimeout(clockID);
clockID = 0;}

var H,M,S,Mth,Day,AMPM,Yr
var tDate = new Date();
Day=tDate.getDate()
if (Day<10)
{Day="0"+Day;}

Mth=tDate.getMonth()+1
if (Mth==1){Mth="Jan"}
if (Mth==2){Mth="Feb"}
if (Mth==3){Mth="Mar"}
if (Mth==4){Mth="Apr"}
if (Mth==5){Mth="May"}
if (Mth==6){Mth="Jun"}
if (Mth==7){Mth="Jul"}
if (Mth==8){Mth="Aug"}
if (Mth==9){Mth="Sep"}
if (Mth==10){Mth="Oct"}
if (Mth==11){Mth="Nov"}
if (Mth==12){Mth="Dec"}

Yr=tDate.getFullYear()

H=tDate.getHours();
if (H>11){AMPM="pm";}
else
{AMPM="am";}

if (H>12){H=H-12;}
if (H<10){H="0"+H;}

M=tDate.getMinutes()
if (M<10){M="0"+M;}

S=tDate.getSeconds()
if (S<10){S="0"+S;}

theTime.innerHTML = Day + " " + Mth + " " + Yr + "::"
+ H + ":" + M + ":" + S + AMPM;
clockID = setTimeout("UpdateClock()",1000);
}

function StartClock() {
clockID = setTimeout("UpdateClock()",500);
}

function KillClock() {
if (clockID)
 {clearTimeout(clockID);
 clockID = 0;}
}

 function putFocus(formInst, elementInst)
{document.forms[0].elements[2].focus();}

function addbookmark()
{
if (document.all)
{window.external.AddFavorite(document.location,document.title)}
}

function Comma(number) {
number = '' + number;
if (number.length > 3) {
var mod = number.length % 3;
var output = (mod > 0 ? (number.substring(0,mod)) : '');
for (i=0 ; i < Math.floor(number.length / 3); i++) {
if ((mod == 0) && (i == 0))
output += number.substring(mod+ 3 * i, mod + 3 * i + 3);
else
output+= ',' + number.substring(mod + 3 * i, mod + 3 * i + 3);
}
return (output);
}
else return number;
}

var units=new Array("one","two","three","four","five","six","seven","eight","nine");
var teens=new  Array("ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen ","nineteen");
var tens=new Array("twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety");
var illions=new Array('m','b','tr','quadr','quint','sext','sept','oct','non','dec','undec','duodec','tredec','quattuordec','quindec','sexdec','septendec','octodec','novemdec','vigint','unvigint','duovigint','trevigint','quattuorvigint','quinvigint','sexvigint','septenvigint','octovigint','novemvigint','trigint','untrigint','duotrigint','tretrigint','quattuortrigint','quintrigint','sextrigint','septentrigint','octotrigint','novemtrigint','quadragint','unquadragint','duoquadragint','trequadragint','quattuorquadragint','quinquadragint','sexquadragint','septenquadragint','octoquadragint','novemquadragint','quinquagint','unquinquagint','duoquinquagint','trequinquagint','quattuorquinquagint','quinquinquagint','sexquinquagint','septenquinquagint','octoquinquagint','novemquinquagint','sexagint','unsexagint','duosexagint','tresexagint','quattuorsexagint','quinsexagint','sexsexagint','septsexagint','octosexagint','novemsexagint','septuagint','unseptuagint','duoseptuagint','treseptuagint','quattuorseptuagint','quinseptuagint','sexseptuagint','septseptuagint','octoseptuagint','novemseptuagint','octogint','unoctogint','duooctogint','treoctogint','quattuoroctogint','quinoctogint','sexoctogint','septoctogint','octooctogint','novemoctogint','nonagint','unnonagint','duononagint','trenonagint','duattuornonagint','quinnonagint','sexnonagint','septnonagint','octononagint','novemnonagint','cent','cenunt','duocent','centret');
function doit(){
/* This script and many more are available free online at
The JavaScript Source!! http://javascript.internet.com
Created by: Abraham Joffe :: http://www.abrahamjoffe.com.au/ */
  fixChars();
  var s=document.forms.moose.num.value;
  document.forms.moose.num.value=Comma(s);
  if (s.length>315) {
    alert("Your number is "+s.length+" digits long.\nThe maximum length is 303  digits.");
    return false;
  }
  var r="", temp="";
  while(s.length%3>0)s="0"+s;
  var max=Math.ceil(s.length/3);
  for (var i=0; i<max; i++) {
    temp=smallNum(s.substr(i*3, 3));
    if (temp!="") {
      if (max-i==1 && r!="" && s.substr(i*3, 3)<100) r+=" and ";
      else if (r!="") r+=", ";
      if (max-i==2) temp+=" thousand";
      if (max-i>2) temp+=" "+illions[max-i-3]+"illion";
    }
    r+=temp;
  }
  if (s==0) r="zero";
  r=r.charAt(0).toUpperCase()+r.substring(1,r.length)+".";
  document.getElementById("output").innerHTML=r;
  return false;
 
}

function smallNum(num, mag){
  var a=num.charAt(0);
  var b=num.charAt(1);
  var c=num.charAt(2);
  var s="";
  if (a!=0) {
    s+=units[a-1] + " hundred";
    if (b==0 && c==0) return s;
    else s+=" and ";
  }
  if (b==0) {
    if (c==0) return "";
    return s+units[c-1];
  }
  if (b==1) {
    return s+teens[c];
  }
  if (b>1) {
    s+=tens[b-2];
    if (c>0) s+="-" + units[c-1];
    return s;
  }
}

function fixChars(){
  var subject=document.forms.moose.num;
  var str=subject.value;
  var str2="";
  var L=str.length;
  var t;
  var f=false;
  for (var i=0; i<L; i++) {
    t=str.charAt(i);
    if (t*1==t) {
      if (t!=0) f=true;
      if (f) str2+=t;
    }
  }
  if (str2=="") str2="0"
  subject.value=str2;
  }
