You are here: irt.org | Articles | JavaScript | Date and Time | What sign are you? [ previous next ]
Published on: Friday 24th October 1997 By: Martin Webb
<HTML><HEAD> <SCRIPT LANGUAGE="JavaScript"><!-- function y2k(number) { return (number < 1000) ? number + 1900 : number; } var today = new Date(); var year = y2k(today.getYear()); var month = today.getMonth()+1; var day = today.getDate(); var thisYear = year; var thisMonth = month; var thisDay = day; //--></SCRIPT> <FRAMESET ROWS="50%,50%"> <FRAME SCROLLING=NO FRAMEBORDER=0 BORDER=0 NORESIZE SRC="input.htm"> <FRAME SCROLLING=YES FRAMEBORDER=0 BORDER=0 NORESIZE SRC="blank.htm" NAME="outputFrame"> </FRAMESET> </HEAD></HTML>
<BODY></BODY>
<HTML><HEAD> <SCRIPT LANGUAGE="JavaScript"><!-- function makeArray() { this[0] = makeArray.arguments.length; for (i = 0; i<makeArray.arguments.length; i++) this[i+1] = makeArray.arguments[i]; } var daysofmonth = new makeArray( 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); var daysofmonthLY = new makeArray( 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); var monthsofyear = new makeArray('January','February','March','April','May','June','July','August','September','October','November','December'); function LeapYear(year) { if ((year/4) != Math.floor(year/4)) return false; if ((year/100) != Math.floor(year/100)) return true; if ((year/400) != Math.floor(year/400)) return false; return true; } function ValidDate(day,month,year) { if ( (LeapYear(year) && (day > daysofmonthLY[month])) || (!LeapYear(year) && (day > daysofmonth[month])) ) return false; else return true; } function ChosenDate(object) { year = object.year.value; month = object.month.options[object.month.selectedIndex].value; day = object.day.options[object.day.selectedIndex].value; if (!ValidDate(day-0,month-0,year-0)) { alert('You must enter a valid date'); return false; } if (parent.location.href != window.location.href) { parent.year = year; parent.month = month; parent.day = day; parent.outputFrame.location.href = 'output.htm'; } else { return true; } return false; } function y2k(number) { return (number < 1000) ? number + 1900 : number; } function padout(number) { return (number < 10) ? '0' + number : number; } var today = new Date(); var thisYear = y2k(today.getYear()); var thisMonth = today.getMonth()+1; var thisDay = today.getDate(); var dayOutput = ''; for (var days=1; days <= 31; days++) { if (days == thisDay) dayOutput += '<OPTION VALUE="' + padout(days) + '" SELECTED>' + days; else dayOutput += '<OPTION VALUE="' + padout(days) + '">' + days; } var monthOutput = ''; for (var months=1; months <=12; months++) { if (months == thisMonth) monthOutput += '<OPTION VALUE="' + padout(months) + '" SELECTED>' + monthsofyear[months]; else monthOutput += '<OPTION VALUE="' + padout(months) + '">' + monthsofyear[months]; } var yearOutput = '<INPUT TYPE="TEXT" NAME="year" SIZE="4" VALUE="' + thisYear + '">'; //--></SCRIPT> </HEAD> <BODY><FONT FACE="ARIAL,HELVETICA"><CENTER> <H2>Select your date of birth:</H2> <FORM NAME="inputDateForm" ACTION="output.htm" onSubmit="return ChosenDate(document.inputDateForm);"> Day: <SELECT NAME="day"> <SCRIPT LANGUAGE="JavaScript"><!-- document.write(dayOutput); //--></SCRIPT> </SELECT> Month: <SELECT NAME="month"> <SCRIPT LANGUAGE="JavaScript"><!-- document.write(monthOutput); //--></SCRIPT> </SELECT> Year: <SCRIPT LANGUAGE="JavaScript"><!-- document.write(yearOutput); //--></SCRIPT> <INPUT TYPE="SUBMIT" VALUE="Show"> </FORM> <A HREF="index.htm" TARGET="_parent">Return</A> </CENTER></FONT></BODY> </HTML>
<HTML> <HEAD> <SCRIPT LANGUAGE="JavaScript"><!-- function y2k(number) { return (number < 1000) ? number + 1900 : number; } function makeArray() { this[0] = makeArray.arguments.length; for (i = 0; i<makeArray.arguments.length; i++) this[i+1] = makeArray.arguments[i]; } var daysofweek = new makeArray('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'); var monthsofyear = new makeArray('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'); var horroscopes = new makeArray( 20, 19, 21, 20, 21, 22, 23, 23, 23, 23, 22, 22); var starsigns = new makeArray('Capricorn', 'Aquarius', 'Pisces', 'Aries', 'Taurus', 'Gemini', 'Cancer', 'Leo', 'Virgo', 'Libra', 'Scorpio', 'Sagittarius'); var starsymbols = new makeArray('Goat', 'Water Bearer', 'Fishes', 'Ram', 'Bull', 'Twins', 'Crab', 'Lion', 'Virgin', 'Balance', 'Scorpion', 'Archer'); var birthstones = new makeArray('Garnet', 'Amethyst', 'Aquamarine, bloodstone', 'Diamond', 'Emerald', 'Pearl, alexandrite, moonstone', 'Ruby', 'Peridot, sardonyx', 'Sapphire', 'Opal, tourmaline', 'Topaz', 'Turquoise, zircon'); var qualities = new makeArray('Constancy', 'Sincerity', 'Courage', 'Innocence', 'Love, success', 'Health, longevity', 'Contentment', 'Married happiness', 'Clear thinking', 'Hope', 'Fidelity', 'Prosperity'); function DayOfWeek(day,month,year) { var a = Math.floor((14 - month)/12); var y = year - a; var m = month + 12*a - 2; var d = (day + y + Math.floor(y/4) - Math.floor(y/100) + Math.floor(y/400) + Math.floor((31*m)/12)) % 7; return d+1; } function Nths(day) { if (day == 1 || day == 21 || day == 31) return 'st'; if (day == 2 || day == 22) return 'nd'; if (day == 3 || day == 23) return 'rd'; return 'th'; } function FullDate(day,month,year) { return daysofweek[DayOfWeek(day,month,year)] +' '+ day + Nths(day) +' '+ monthsofyear[month] +' '+ year; } function StarSign(day,month) { if (day < horroscopes[month]) return month; else if (month == 12) return 1; else return month + 1; } function StarDate(day,month,year) { var beginYear = year; var endYear = year; var beginMonth = month; var endMonth = month; if (day < horroscopes[month]) beginMonth--; else endMonth++; if (beginMonth == 0) { beginMonth = 12; beginYear--; } else if (endMonth == 13) { endMonth = 1; endYear++; } beginDay = horroscopes[beginMonth]; endDay = horroscopes[endMonth] - 1; return FullDate(beginDay,beginMonth,beginYear) + ' - ' + FullDate(endDay,endMonth,endYear); } if (location.search.length == 0) { var year = parent.year - 0; var month = parent.month - 0; var day = parent.day - 0; } else { var day = location.search.substring(5,7) - 0; var month = location.search.substring(14,16) - 0; var year = location.search.substring(22) - 0; } var today = new Date(); var thisYear = y2k(today.getYear()); var thisMonth = today.getMonth()+1; var thisDay = today.getDate(); //--></SCRIPT> </HEAD> <BODY><CENTER> <SCRIPT LANGUAGE="JavaScript"><!-- document.write('Todays Date: '+thisDay+'/'+thisMonth+'/'+thisYear+'<BR>'); document.write('Date Entered: '+day+'/'+month+'/'+year+'<BR>'); document.write(starsigns[StarSign(day,month)] +' - '+ starsymbols[StarSign(day,month)]+'<BR>'); document.write(StarDate(day,month,year)+'<BR>'); document.write('Birthstone ' + birthstones[month] + ' Symbolizes ' + qualities[month]+'<BR>'); //--></SCRIPT> <A HREF="index.htm" TARGET="_parent">Return</A> </CENTER></BODY> </HTML>
And now...The Weekly Update Script
Extending "Born of the 4th of July"