avivak1
asked on
Free/Cheap Calendar Script
Hi,
I need a FREE calendar script that shows the present month (month name and year, week names, and day numbers etc) with forward and backward buttons to go to the previous month(s) and future month(s). I need a script that has no serious copyright infringements and that I can use it on any site of my choosing. I also want the ability to change the colors and look of the month without too much difficulty.
If there isn't any free calendar script - then perhaps something in a low range of under $50 that can be used muliple times and no extra licensing fees.
Thanks for your help in advance, looking forward to a speedy reply.
Aviva
I need a FREE calendar script that shows the present month (month name and year, week names, and day numbers etc) with forward and backward buttons to go to the previous month(s) and future month(s). I need a script that has no serious copyright infringements and that I can use it on any site of my choosing. I also want the ability to change the colors and look of the month without too much difficulty.
If there isn't any free calendar script - then perhaps something in a low range of under $50 that can be used muliple times and no extra licensing fees.
Thanks for your help in advance, looking forward to a speedy reply.
Aviva
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Oops, sorry, that last function (showevt) is not necessary...
Some for you to take a look at - I've only listed the better looking ones. In most the script is free you just need to leave their name in the source.
http://javascript.internet.com/calendars/dynamic.html
http://javascript.internet.com/calendars/fuushikaden-pop-up-calendar.html
Hmmm, thats enough calendars for me - the above 2 seems pretty good in comparison to some of the calendars that are out there.
http://javascript.internet.com/calendars/dynamic.html
http://javascript.internet.com/calendars/fuushikaden-pop-up-calendar.html
Hmmm, thats enough calendars for me - the above 2 seems pretty good in comparison to some of the calendars that are out there.
ASKER
First of all, thanks for your input,
lil_puffball - the two scripts you sent didn't work - I pasted them into an .html document and I have internet explorer 6.0 - the first one I get a black screen with half the month in a mess and the second one - only a black screen.
Lord McFly (cool nick btw) I saw those two calendars - the first one has no forward or back buttons and the pop up - I don't want the calendar to be linked to return any code - just to show a simple calendar with the days, weeks and month,year name - no dropdowns etc...
Thanks,
Aviva
lil_puffball - the two scripts you sent didn't work - I pasted them into an .html document and I have internet explorer 6.0 - the first one I get a black screen with half the month in a mess and the second one - only a black screen.
Lord McFly (cool nick btw) I saw those two calendars - the first one has no forward or back buttons and the pop up - I don't want the calendar to be linked to return any code - just to show a simple calendar with the days, weeks and month,year name - no dropdowns etc...
Thanks,
Aviva
ASKER
Sorry, lil_puffball - all of a sudden it did work - weird...
I like your compact one - If I don't want the year forward and back buttons can I just remove the links?
Thanks again,
Aviva
I like your compact one - If I don't want the year forward and back buttons can I just remove the links?
Thanks again,
Aviva
Are you sure you copied them correctly? They work fine on my computer.
Are you using Mac maybe?
Anyways I uploaded them for you:
http://www34.brinkster.com/lilpuffball/ee/calendar.htm
http://www34.brinkster.com/lilpuffball/ee/calendar-compact.htm
Are you using Mac maybe?
Anyways I uploaded them for you:
http://www34.brinkster.com/lilpuffball/ee/calendar.htm
http://www34.brinkster.com/lilpuffball/ee/calendar-compact.htm
Sorry, missed your last post...
Feel free to do whatever you want with the script. :)
Feel free to do whatever you want with the script. :)
ASKER
Thanks again lil_p'!
You're the best!
You're the best!
Glad to help. :) Thanks for the points and the A!
<html>
<head>
<title>Easy Calendar</title>
<style>
body{font-family:zero twos;font-size:14px;}
#tbl{background:#000066;}
.divider{background:#00006
#title{font-weight:bold;he
.wkd{width:1in;height:0.25
.sq{vertical-align:top;fon
.sqS{vertical-align:top;fo
.sqE{height:1in;width;1in;
.notes{vertical-align:top;
.mtitle{color:#000066;font
.msq{background:#ffffff;co
.msqS{background:#ffffff;c
.msqE{background:#ffffff;}
.mwkd{color:#3366ff;}
</style>
<script>
var now, y, m, frm, initClr=1, KD=true;
var hlptxt="Previous Year:\tSHIFT + LEFT ARROW\nPrevious Month:\tLEFT ARROW\nCurrent Month:\tC\nNext Month:\tRIGHT ARROW";
hlptxt+="\nNext Year:\tSHIFT + RIGHT ARROW\nToggle Print:\tP\nHelp Dialogue:\tH";
function init(){
now=new Date(); frm=document.forms[0].elem
frm[0].options[now.getMont
frm[1].value=now.getFullYe
y=frm[1].value*1; m=frm[0].selectedIndex; create(); frm['clr'][initClr].checke
function create(){
//Create Title and Weekday rows
var str="<table id=tbl border=0 cellspacing=2 cellpadding=1><tr><td id=title colspan=7 align=center>"+mthn[m]+" "+y+"</td></tr><tr>";
for(i=0;i<7;i++){str+="<td
//Add Main Squares
var str=str+generate('sq','sqS
//Create notes square
str+="</tr><tr><td colspan=7 style='height:2.5in;backgr
str+="<tr><td class=notes rowspan=3>Notes:</td><td rowspan=3 class=divider style='width:2px;'> <
//Create Before/After Calendars
var mt=m-1, yt=y; if(mt==-1){mt=11;yt-=1;}
str+="<table style='font-family:verdana
str+="<tr><td colspan=7 align=center class=mtitle>"+mthn[mt]+" "+yt+"</td></tr><tr>";
for(i=0;i<7;i++){str+="<td
str=str+generate('msq','ms
str+="</td><td style='font-size:0;width:5
str+="<tr><td colspan=2 class=divider style='height:2px;'>
var mt=m+1, yt=y; if(mt==12){mt=0;yt+=1;}
str+="<table style='font-family:verdana
str+="<tr><td colspan=7 align=center class=mtitle>"+mthn[mt]+" "+yt+"</td></tr><tr>";
for(i=0;i<7;i++){str+="<td
str=str+generate('msq','ms
str+="</td><td style='font-size:0;width:5
str+="</table></td></tr></
//Display Calendar
document.getElementById('t
frm[0].selectedIndex=m; frm[1].value=y;}
function generate(cl1,cl2,cl3,yt,mt
var strtWkd=new Date(yt,mt,1).getDay(); var leapYr=(yt%400==0 || (yt%4==0 && yt%100!=0))?true:false;
var col=0, row=0, cl, str="";
//Get Holiday Days
var hdayN=new Array(), temp1, temp2, temp3;
for(i=0;i<hday[mt].length;
temp1=hday[mt][i].split('=
if(temp2.length>1){temp3=t
hdayN[temp3]=temp1[1];}
//Create empty squares
for(i=0;i<strtWkd;i++){
str+="<td class="+cl3+"> </td>"
//Create main Squares
var mthL=mthl[mt]; if(mt==1&&leapYr){mthL+=1;
for(i=0;i<mthL;i++){cl=(co
str+="<td id=sq"+i+" class="+cl+" style='"+WH+"'>"+(i+1)+txt
if(col==7){col=0;row++;if(
//Create empty squares
if(col!=0){while(col!=7){
str+="<td class="+cl3+"> </td>"
return str;}
function switchCSS(num){
var cssclrs=new Array(), css=document.styleSheets[0
cssclrs[0]=new Array('#000066','#99ccff',
cssclrs[1]=new Array('#000000','#c5c5c5','#e
cssclrs[2]=new Array('#000000','#c5c5c5','#e
cssclrs[3]=new Array('#005500','#aaff99',
var bg=new Array('1:0','2:0','3:1','4
var clr=new Array('3:0','5:0','6:0','8
for(i=0;i<bg.length;i++){v
for(i=0;i<clr.length;i++){
}
function mark(num,txt,repl){
if(isNaN(num)||num<1||num>
var obj=document.getElementByI
if(repl){
if(otxt.indexOf('<br>')){o
obj.innerHTML=otxt+"<br><f
else{
obj.innerHTML+="<br><font style='font-size:9;font-fa
}
function act(ev){
var k=ev.keyCode, x=ev.shiftKey;
if(k==37){
if(x){y-=1;create();}
else{m-=1;if(m==-1){m=11;y
}else if(k==39){
if(x){y+=1;create();}
else{m+=1;if(m==12){m=0;y+
}else if(k==67){
y=now.getFullYear();m=now.
}else if(k==80){
var obj=document.forms[0].styl
obj.display=(obj.display==
}else if(k==72){
alert(hlptxt);
}}
var mthl=new Array(31,28,31,30,31,30,31
var mthn=new Array('January','February'
var wkdn1=new Array('Sunday','Monday','T
var wkdn=new Array('Sun','Mon','Tues','
var hday=new Array(12);
hday[0]=new Array();
hday[0][0]="1=New Year's Day";
hday[1]=new Array();
hday[1][0]="14=Valentine's
hday[2]=new Array();
hday[3]=new Array();
hday[3][0]="5#2=Good Friday";
hday[3][1]="1#2=Easter";
hday[4]=new Array();
hday[4][0]="0#2=Mother's Day";
hday[4][1]="1#4=Victoria Day";
hday[5]=new Array();
hday[5][0]="0#3=Father's Day";
hday[6]=new Array();
hday[6][0]="1=Canada Day";
hday[7]=new Array();
hday[7][0]="1#1=Civic Day";
hday[8]=new Array();
hday[8][0]="1#1=Labour Day";
hday[9]=new Array();
hday[9][0]="1#2=Thanksgivi
hday[9][1]="31=Halloween";
hday[10]=new Array();
hday[10][0]="11=Remembranc
hday[11]=new Array();
hday[11][0]="25=Christmas Day";
hday[11][1]="26=Boxing Day";
hday[11][2]="31=New Year's Eve";
</script>
</head>
<body onload="init();" onkeydown="if(KD){act(even
<form style='font-family:verdana
Please select the month and year:
<p>
Month:
<select>
<option>January</option>
<option>February</option>
<option>March</option>
<option>April</option>
<option>May</option>
<option>June</option>
<option>July</option>
<option>August</option>
<option>September</option>
<option>October</option>
<option>November</option>
<option>December</option>
</select>
Year: <input type=text maxlength=4 style="width:40px;" onfocus="KD=false;" onblur="KD=true;">
<input type=button value="Create Calendar" onclick="var temp=frm[1].value*1;if(isN
<p>
Date: <input type=text maxlength=2 style="width:30px;" onfocus="KD=false;" onblur="KD=true;">
Holiday: <input type=text onfocus="KD=false;" onblur="KD=true;">
<input type=button value="Mark Holiday" onclick="mark(frm[3].value
<input type=checkbox checked>Replace
<p>
<input type=button value="<<" onclick="y-=1;create();">
<input type=button value="<" onclick="m-=1;if(m==-1){m=
<input type=button value="Now" onclick="y=now.getFullYear
<input type=button value=">" onclick="m+=1;if(m==12){m=
<input type=button value=">>" onclick="y+=1;create();">
<input type=button value="Print" onclick="document.forms[0]
<input type=button value="?" onclick="alert(hlptxt);">
<p>Color:
<input type=radio name=clr value=0 onclick="switchCSS(this.va
<input type=radio name=clr value=1 onclick="switchCSS(this.va
<input type=radio name=clr value=2 onclick="switchCSS(this.va
<input type=radio name=clr value=3 onclick="switchCSS(this.va
</form>
<div id=temp> </div>
</body>
</html>