/    Sign up×
Community /Pin to ProfileBookmark

Javascript Modify Calendar.JS

Hello Everyone,

Since I could not get my first calenda ro do what I want. I looked around this site and saw calendar.js. This is exactly the calendar I need for my website. However I need the date to be a link when clicked on display a message in a read-only text box. She display the message “Click on this link and see whats happening”. When they click the link it should an alternate message. Any ideas. I am going crazy trying to figure this out.

Thanks,
Ginaann.

Here is the calendar.js script:

<!– Begin
// SET ARRAYS
var day_of_week = new Array(‘S’,’M’,’T’,’W’,’T’,’F’,’S’);
var month_of_year = new Array(‘January’,’February’,’March’,’April’,’May’,’June’,’July’,’August’,’September’,’October’,’November’,’December’);

// DECLARE AND INITIALIZE VARIABLES
var Calendar = new Date();

var year = Calendar.getYear(); // Returns year
var month = Calendar.getMonth(); // Returns month (0-11)
var today = Calendar.getDate(); // Returns day (1-31)
var weekday = Calendar.getDay(); // Returns day (1-31)

var DAYS_OF_WEEK = 7; // “constant” for number of days in a week
var DAYS_OF_MONTH = 31; // “constant” for number of days in a month
var cal; // Used for printing

Calendar.setDate(1); // Start the calendar day at ‘1’
Calendar.setMonth(month); // Start the calendar month at now

/* VARIABLES FOR FORMATTING
NOTE: You can format the ‘BORDER’, ‘BGCOLOR’, ‘CELLPADDING’, ‘BORDERCOLOR’
tags to customize your caledanr’s look. *
/

var TR_start = ‘<TR>’;
var TR_end = ‘</TR>’;
var highlight_start = ‘<TD WIDTH=”30″><TABLE CELLSPACING=0 BORDER=1 BGCOLOR=DEDEFF BORDERCOLOR=CCCCCC><TR><TD WIDTH=20><B><CENTER>’;
var highlight_end = ‘</CENTER></TD></TR></TABLE></B>’;
var TD_start = ‘<TD WIDTH=”30″><CENTER>’;
var TD_end = ‘</CENTER></TD>’;

/* BEGIN CODE FOR CALENDAR
NOTE: You can format the ‘BORDER’, ‘BGCOLOR’, ‘CELLPADDING’, ‘BORDERCOLOR’
tags to customize your calendar’s look.*
/

cal = ‘<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=0 BORDERCOLOR=BBBBBB><TR><TD>’;
cal += ‘<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=2>’ + TR_start;
cal += ‘<TD COLSPAN=”‘ + DAYS_OF_WEEK + ‘” BGCOLOR=”#EFEFEF”><CENTER><B>’;
cal += month_of_year[month] + ‘ ‘ + year + ‘</B>’ + TD_end + TR_end;
cal += TR_start;

// DO NOT EDIT BELOW THIS POINT //

// LOOPS FOR EACH DAY OF WEEK
for(index=0; index < DAYS_OF_WEEK; index++)
{

// BOLD TODAY’S DAY OF WEEK
if(weekday == index)
cal += TD_start + ‘<B>’ + day_of_week[index] + ‘</B>’ + TD_end;

// PRINTS DAY
else
cal += TD_start + day_of_week[index] + TD_end;
}

cal += TD_end + TR_end;
cal += TR_start;

// FILL IN BLANK GAPS UNTIL TODAY’S DAY
for(index=0; index < Calendar.getDay(); index++)
cal += TD_start + ‘ ‘ + TD_end;

// LOOPS FOR EACH DAY IN CALENDAR
for(index=0; index < DAYS_OF_MONTH; index++)
{
if( Calendar.getDate() > index )
{
// RETURNS THE NEXT DAY TO PRINT
week_day =Calendar.getDay();

// START NEW ROW FOR FIRST DAY OF WEEK
if(week_day == 0)
cal += TR_start;

if(week_day != DAYS_OF_WEEK)
{

// SET VARIABLE INSIDE LOOP FOR INCREMENTING PURPOSES
var day = Calendar.getDate();

// HIGHLIGHT TODAY’S DATE
if( today==Calendar.getDate() )
cal += highlight_start + day + highlight_end + TD_end;

// PRINTS DAY
else
cal += TD_start + day + TD_end;
}

// END ROW FOR LAST DAY OF WEEK
if(week_day == DAYS_OF_WEEK)
cal += TR_end;
}

// INCREMENTS UNTIL END OF THE MONTH
Calendar.setDate(Calendar.getDate()+1);

}// end for loop

cal += ‘</TD></TR></TABLE></TABLE>’;

// PRINT CALENDAR
document.write(cal);

// End –>

to post a comment
JavaScript

6 Comments(s)

Copy linkTweet thisAlerts:
@blah1985Jun 15.2005 — sure change the variable TD_start = '<TD WIDTH="30"><CENTER>';

to
[CODE]TD_start = '<TD WIDTH="30"><CENTER onClick="setLink(this.innerHTML);/">';[/CODE]
and add this function (change the alert to the code u want).
[CODE]function setLink(whatObject)
{
var messages = new Array(
['0 NOT A DAY'],
['It's the first day of the month ya!'],['Day2'],['Day3'],['Day4'],['Day5'],['Day6'],['Day7'],['Day8'],
['Day9'],['Day10'],['Day11'],['Day12'],['Day13'],['Day14'],['Day15'],['Day16'],['Day17'],['Day18'],['Day19'],
['Day20'],['Day21'],['Day22'],['Day23'],['Day24'],['Day25'],['Day26'],['Day27'],['Day28'],['Day29'],['Day30'],
['Day31'] );
alert(messages[whatObject]);

}[/CODE]

obviously you can change the Day# to what ever message you want.

and also you can change the alert to what u want
Copy linkTweet thisAlerts:
@ExuroJun 15.2005 — This can be done server-side too. I wrote a calendar script fairly similar to this using ASP.NET and we're currently using it on the PhoenixTeam news page:

[url=http://beta.phoenixteam.org/]http://beta.phoenixteam.org/[/url]
Copy linkTweet thisAlerts:
@blah1985Jun 15.2005 — This can be done server-side too. I wrote a calendar script fairly similar to this using ASP.NET and we're currently using it on the PhoenixTeam news page:

[url=http://beta.phoenixteam.org/]http://beta.phoenixteam.org/[/url][/QUOTE]

Yeah the best bet is serverside PHP works well.
Copy linkTweet thisAlerts:
@ginaannauthorJun 17.2005 — Question:

I think my mind is going, but will I have to go in and change the message each day or will the message rotate through the day of each week?
Copy linkTweet thisAlerts:
@ExuroJun 18.2005 — It'd work however you write it to work :p
Copy linkTweet thisAlerts:
@blah1985Jun 20.2005 — Use the array. Just put the message in each one. You'll have to change it monthly
×

Success!

Help @ginaann spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.18,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,

tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,
)...