Post by Eric on Dec 24, 2005 18:23:33 GMT
Well, I've made an age calculator for someone for $15. However, someone else had already made the script for that person, and the guy who requested it wasn't kind enough to let everyone else know about that.
Code
function dateCreate(name, type)
{
this.months = [["January", 31],
["February", 29],
["March", 31],
["April", 30],
["May", 31],
["June", 30],
["July", 31],
["August", 31],
["September", 30],
["November", 30],
["December", 31]];
this.name = name;
this.type = type;
this.createForm = function()
{
var form = '<form name="' + this.type + '">';
form += 'Years: <input type="text" maxlength="4" size="4" name="years">';
form += ' Months: <select name="months" onchange="javascript:'+this.name+'.updateDays(this.value, this.parentNode)">';
form += '<option value="">Select Month</option>';
for(var i = 0; i < 11; i++)
{
form += '<option value="' + (i + 1) + '">' + this.months[0] + '</option>';
}
form += '</select>';
form += ' Days: <select name="day" onchange="javascript:ageCalc.set'+this.type+'(this.value,\
document.'+this.type+'.months.value, document.'+this.type+'.years.value)">';
form += '</select><br /></form>';
return form;
}
this.updateDays = function(month, obj)
{
obj.day.length = 0;
var numDays = this.months[month-1][1];
for(var d = 0; d < numDays; d++)
{
obj.day.options[d] = new Option(d + 1, d + 1);
}
}
}
var ageCalc = new function()
{
var birthDay;
var birthMonth;
var birthYear;
var day;
var month;
var year;
this.setBirth = function(bDay, bMonth, bYear)
{
birthDay = bDay;
birthMonth = bMonth;
birthYear = bYear;
}
this.setDate = function(rDay, rMonth, rYear)
{
day = rDay;
month = rMonth;
year = rYear;
}
this.calc = function()
{
yearsOld = year - birthYear;
monthsCheck = month - birthMonth;
if(monthsCheck < 0)
return (yearsOld - 1);
else if(monthsCheck > 0)
return yearsOld;
else {
daysCheck = day - birthDay;
if(daysCheck >= 0)
return yearsOld;
else
return (yearsOld - 1);
}
}
}
var birthForm = new dateCreate("birthForm", "Birth");
document.write("Birth Date:" + birthForm.createForm());
var dateForm = new dateCreate("dateForm", "Date");
document.write("Check Date:" + dateForm.createForm());
var getAgeForm = '<form name="getAge">';
getAgeForm += '<input type="button" onclick="javascript:this.parentNode.age.value = ageCalc.calc();" value="Get Age">';
getAgeForm += '<br /><input type="text" name="age" size="3">';
getAgeForm += '</form>';
document.write(getAgeForm);
Code
function dateCreate(name, type)
{
this.months = [["January", 31],
["February", 29],
["March", 31],
["April", 30],
["May", 31],
["June", 30],
["July", 31],
["August", 31],
["September", 30],
["November", 30],
["December", 31]];
this.name = name;
this.type = type;
this.createForm = function()
{
var form = '<form name="' + this.type + '">';
form += 'Years: <input type="text" maxlength="4" size="4" name="years">';
form += ' Months: <select name="months" onchange="javascript:'+this.name+'.updateDays(this.value, this.parentNode)">';
form += '<option value="">Select Month</option>';
for(var i = 0; i < 11; i++)
{
form += '<option value="' + (i + 1) + '">' + this.months[0] + '</option>';
}
form += '</select>';
form += ' Days: <select name="day" onchange="javascript:ageCalc.set'+this.type+'(this.value,\
document.'+this.type+'.months.value, document.'+this.type+'.years.value)">';
form += '</select><br /></form>';
return form;
}
this.updateDays = function(month, obj)
{
obj.day.length = 0;
var numDays = this.months[month-1][1];
for(var d = 0; d < numDays; d++)
{
obj.day.options[d] = new Option(d + 1, d + 1);
}
}
}
var ageCalc = new function()
{
var birthDay;
var birthMonth;
var birthYear;
var day;
var month;
var year;
this.setBirth = function(bDay, bMonth, bYear)
{
birthDay = bDay;
birthMonth = bMonth;
birthYear = bYear;
}
this.setDate = function(rDay, rMonth, rYear)
{
day = rDay;
month = rMonth;
year = rYear;
}
this.calc = function()
{
yearsOld = year - birthYear;
monthsCheck = month - birthMonth;
if(monthsCheck < 0)
return (yearsOld - 1);
else if(monthsCheck > 0)
return yearsOld;
else {
daysCheck = day - birthDay;
if(daysCheck >= 0)
return yearsOld;
else
return (yearsOld - 1);
}
}
}
var birthForm = new dateCreate("birthForm", "Birth");
document.write("Birth Date:" + birthForm.createForm());
var dateForm = new dateCreate("dateForm", "Date");
document.write("Check Date:" + dateForm.createForm());
var getAgeForm = '<form name="getAge">';
getAgeForm += '<input type="button" onclick="javascript:this.parentNode.age.value = ageCalc.calc();" value="Get Age">';
getAgeForm += '<br /><input type="text" name="age" size="3">';
getAgeForm += '</form>';
document.write(getAgeForm);