Go Back   Internet Business Forums > Design & Development

Reply
 
Thread Tools Display Modes
Old 18-11-2006, 05:18 PM   #1 (permalink)
co-admin
 
army's Avatar
 
Join Date: Oct 2006
Location: Belgium
Posts: 666
Default [ SCRIPT ] (Advanced) Age calculator

Tutorial Name: Age calculator

Description: Just enter the birthday you wish to track and JavaScript will display the person's age, down to the second. Displays your age along with the day you were born.

Author: !i! Army !i!

Difficulty: Advanced

Details:


<!-- THREE STEPS TO INSTALL AGE CALCULATOR:

1. Copy the coding into the HEAD of your HTML document
2. Add the onLoad event handler into the BODY tag
3. Put the last coding into the BODY of your HTML document -->

<!-- STEP ONE: Paste this code into the HEAD of your HTML document -->

[HTML]<HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- Begin
function start() {
document.form1.day.value = "";
document.form1.month.value = "";
document.form1.year.value = "";
document.form1.age.value = "";
document.form1.months.value = "";
document.form1.weeks.value = "";
document.form1.answer.value = "";
document.form1.hours.value = "";
document.form1.min.value = "";
document.form1.sec.value = "";
document.form1.bday.value = "";
document.form1.milli.value = "";
}
function run() {
var ap;
dd = document.form1.day.value;
mm = document.form1.month.value;
yy = document.form1.year.value;
with(document.form1) {
ap = parseInt(ampm.selectedIndex);
hr = parseInt(hrs.value);
if(hr <= 0 && hr >= 13) {
ap = null;
alert("asdf")
}
}
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) && (!lyear(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;
document.form1.age.value=" You are " + age+ " years old & ";
if(mm <= (gmonth + 1))
age = age - 1;
if((mm == (gmonth + 1)) && (dd > parseInt(gdate)))
age = age + 1;
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) + gdate + m + n;
document.form1.answer.value = "" + totdays +" days ";
months = age * 12;
months += 12 - parseInt(mm);
months += gmonth;
document.form1.months.value = months + " Months";
if (gmonth == 1) p = 31 + gdate;
if (gmonth == 2) { p = 59 + gdate; if (leapyear(gyear)) m = m + 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);
document.form1.weeks.value = weeks + " Weeks";
var time = new Date();
ghour = time.getHours();
gmin = time.getMinutes();
gsec = time.getSeconds();
hour = ((age * 365) + n + p) * 24;
hour += (parseInt(age / 4) * 24);
if(ap == 0)
hour = hour - hr;
else {
if(ap == 1) {
hour = hour - (11 + hr)
}
}
document.form1.hours.value = hour + " Hours";
var min;
min = (hour * 60) + gmin;
document.form1.min.value = min + " Minutes";
sec = (min * 60) + gsec;
document.form1.sec.value = sec + " Seconds";
var millisec;
var gmil;
gmil = days.getMilliseconds();
millisec = (sec * 1000) + gmil;
document.form1.milli.value = millisec + " Milliseconds";
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;
}
else {
if(mm == (gmonth + 1) && (gdate < dd)) {
bday = (r - m - gdate);
}
else {
if((leapyear(gyear)) && ((mm > 2) && (dd < 29))) {
a = 366;
}
else {
a = 365;
}
bday = a + (r - m - gdate);
}
}
nhour = 24-parseInt(ghour);
nmin = 60 - parseInt(gmin);
nsec = 60 - parseInt(gsec);
go();
if(((bday == 366) && (leapyear(yy))) || ((bday == 365) && (!leapyear(yy)))) {
document.form1.bday.value = "today is your birthday";
alert("Happy Birthday");
} else {
document.form1.bday.value = bday + " days " + nhour + " hours " + nmin + " minutes " + nsec + " seconds";
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 : document.form1.age.value +=" you were born on a Sunday"
break
case 2 : document.form1.age.value +=" you were born on a Monday"
break
case 3 : document.form1.age.value +=" you were born on a Tuesday"
break
case 4 : document.form1.age.value +=" you were born on a Wednesday"
break
case 5 : document.form1.age.value +=" you were born on a Thursday"
break
case 6 : document.form1.age.value +=" you were born on a Friday"
break
case 7 : document.form1.age.value +=" you were born on a Saturday"
break
case 0 : document.form1.age.value +=" you were born on a Saturday"
break
}
}
else {
document.form1.age.value += main + " Date";
}
}
}
else {
document.form1.age.value = main + " Date";
document.form1.months.value = "";
document.form1.weeks.value = "";
document.form1.answer.value = "";
document.form1.hours.value = "";
document.form1.min.value = "";
document.form1.sec.value = "";
document.form1.bday.value = "";
document.form1.milli.value = "";
}
}
// End -->
</script>

</HEAD>[/HTML]

<!-- STEP TWO: Insert the onLoad event handler into your BODY tag -->

[HTML]<BODY onLoad="start()">[/HTML]

<!-- STEP THREE: Copy this code into the BODY of your HTML document -->

[HTML]<CENTER>
<br>
Enter your date of birth
<br>
<FORM name=form1>
Month<INPUT name=month size=3> *
Date<INPUT name=day size=3>*
Year<INPUT name=year size=6> *
Hours<INPUT name=hrs value=00 size=6>
<select size="1" name="ampm">
<option selected>AM</option>
<option>PM</option>
</select>
<INPUT name=start onclick=run() type=button value="Calculate">
<BR>
<BR>
<INPUT name=age size=55 value="Your age will be displayed here">
<BR>
<BR>
You have been living for:
<BR>
<TABLE border = 0>
<TBODY>
<TR>
<TD>In months:</TD>
<TD><INPUT name=months size=30></TD>
</TR>
<TR>
<TD>In weeks:</TD>
<TD><INPUT name=weeks size=30></TD>
</TR>
<TR>
<TD>In days:</TD>
<TD><INPUT name=answer size=30></TD>
</TR>
<TR>
<TD>In hours:</TD>
<TD><INPUT name=hours size=30></TD>
</TR>
<TR>
<TD>In minutes:</TD>
<TD><INPUT name=min size=30></TD>
</TR>
<TR>
<TD>In seconds:</TD>
<TD><INPUT name=sec size=30></TD>
</TR>
<TR>
<TD>In Milliseconds:</TD>
<TD><INPUT name=milli size=30></TD>
</TR>
</TBODY>
</TABLE>
Your next birthday will be in:
<BR>
<INPUT name=bday size=40>
</FORM>
</CENTER>[/HTML]
army is offline   Reply With Quote
Old 18-11-2006, 05:32 PM   #2 (permalink)
I am not *****
 
Join Date: Aug 2006
Location: Pakistan
Posts: 370
Default Re: [ SCRIPT ] (Advanced) Age calculator

Again a nice tutorial. Its a funny one too. I really love it + i learned from it .

Thanks alot army! .
-FR- is offline   Reply With Quote
Old 21-11-2006, 01:49 AM   #3 (permalink)
Senior Member
 
Join Date: Nov 2006
Posts: 225
Default Re: [ SCRIPT ] (Advanced) Age calculator

Hi! very nice man, i like the cool idea! looks like a fun script. Yet how would that be helpful in a website community? thanks for the tutorial!
roy77
roy77 is offline   Reply With Quote
Old 21-11-2006, 08:48 PM   #4 (permalink)
co-admin
 
army's Avatar
 
Join Date: Oct 2006
Location: Belgium
Posts: 666
Default Re: [ SCRIPT ] (Advanced) Age calculator

Quote:
Originally Posted by roy77 View Post
Hi! very nice man, i like the cool idea! looks like a fun script. Yet how would that be helpful in a website community? thanks for the tutorial!
roy77
It has no direct purpose... it is a script, just so you can learn from it . When I want to learn something, about a scripting-language, I take all kind of scripts, because they all have a little different way of working. And by examinating them all, you can learn the language more complete .
army is offline   Reply With Quote
Old 23-11-2006, 01:10 AM   #5 (permalink)
Senior Member
 
Join Date: Nov 2006
Posts: 225
Default Re: [ SCRIPT ] (Advanced) Age calculator

true army, yet i am more interasted in php at the momment. but java will be my next stop. peace
roy77
roy77 is offline   Reply With Quote
Old 23-11-2006, 02:38 PM   #6 (permalink)
Junior Member
 
Join Date: Nov 2006
Posts: 27
Default Re: [ SCRIPT ] (Advanced) Age calculator

Nice tutorial,
Thanks for sharing,
munmun is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


All times are GMT +1. The time now is 07:10 AM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.