var d=document;
var today=new Date();
var thisyear=today.getYear();
if(thisyear<2000)thisyear+=1900;
function clickMess(e){
if(document.all&&event.button==2){
alert('Gheos Calendar © Roy Digital Design\n\nhttp://www.gheos.com');
return false;
}
else if(navigator.appName=='Netscape'){if(document.getElementById&&e.which==3)alert('Gheos Calendar © Roy Digital Design\n\nhttp://www.gheos.com');
else if(document.layers&&e.which==3)return false;}
}
if(document.layers)document.captureEvents(Event.MOUSEDOWN);
document.onmousedown=clickMess;

if(clocksize==null)var clocksize='6';

var linkmonth;
var linkurl=document.location+'';
var caution=false;
var originalYear=thisyear;
var month=today.getMonth();
var originalMonth=month;
if(location.search){
linkmonth=location.search;
month=linkmonth.substring(1,linkmonth.indexOf('&year='));
thisyear=linkmonth.substring(linkmonth.indexOf('&year=')+6);
linkurl=linkurl.substring(0,linkurl.indexOf('?'));
}
var monthName=getMonthName(month);
var date=today.getDate();
now=null;

var firstDayInstance=new Date(thisyear,month,1);
var firstDay=firstDayInstance.getDay();
firstDayInstance=null;
var days=getDays(month,thisyear);
drawCal(firstDay+1,days,date,monthName,thisyear);

function setCookie(AtlasAgenda,value,expires,path,domain,secure){
var curCookie=AtlasAgenda+"="+escape(value)+((expires)?"; expires="+expires.toGMTString():"")+((path)?"; path="+path:"")+((domain)?"; domain="+domain:"")+((secure)?"; secure":"")
if(!caution||(AtlasAgenda+"="+escape(value)).length<=10000)document.cookie=curCookie
else if(confirm("Your Agenda exceeds 10KB and will be cut!"))document.cookie=curCookie
}

function getCookie(AtlasAgenda) {
var prefix=AtlasAgenda+"="
var cookieStartIndex=document.cookie.indexOf(prefix)
if(cookieStartIndex==-1)return null
var cookieEndIndex=document.cookie.indexOf(";",cookieStartIndex+prefix.length)
if(cookieEndIndex==-1)cookieEndIndex=document.cookie.length
return unescape(document.cookie.substring(cookieStartIndex+prefix.length,cookieEndIndex))
}

function deleteCookie(AtlasAgenda,path,domain){
if(getCookie(AtlasAgenda)){
document.cookie=AtlasAgenda+"="+((path)?"; path="+path:"")+((domain)?"; domain="+domain:"")+"; expires=Thu, 01-Jan-70 00:00:01 GMT"
	}
}

function fixDate(date){
var base=new Date(0)
var skew=base.getTime()
if (skew>0)date.setTime(date.getTime()-skew)
}

function initCookie(monthName){
var text='';
for(var i=1;i<=31;++i){
text+="^"+i+"^"
}
var now=new Date();
fixDate(now)
now.setTime(now.getTime()+1000*60*60*24*31*12)
setCookie(monthName+'Calendar',text,now)
}

function getSpecificReminder(num, monthName) {
var prefix="^"+num+"^"
var totalCookie=getCookie(monthName+"Calendar")
var startIndex=totalCookie.indexOf(prefix, 0)
var startData=totalCookie.indexOf("^",startIndex+1)+1
if(num==31)var endData=totalCookie.length
else var endData=totalCookie.indexOf("^",startData)
return totalCookie.substring(startData, endData)
}

function setSpecificReminder(num,monthName,newValue){
var prefix="^"+num+"^"
var totalCookie=getCookie(monthName+"Calendar")
var startIndex=totalCookie.indexOf(prefix, 0)
var startData=totalCookie.indexOf("^", startIndex+1)+1
if(num==31)var endData=totalCookie.length
else var endData=totalCookie.indexOf("^", startData)
var now=new Date()

fixDate(now)
now.setTime(now.getTime()+1000*60*60*24*31)
setCookie(monthName+"Calendar", totalCookie.substring(0, startData)+newValue+totalCookie.substring(endData, totalCookie.length), now)
}

function getInput(num, monthName){
if(!getCookie(monthName+"Calendar"))initCookie(monthName)
var newValue=prompt("Enter appointments for "+num+" "+monthName+":", getSpecificReminder(num, monthName))
if(newValue)setSpecificReminder(num, monthName, newValue)
}

function getTime(){
var now=new Date()
var hour=now.getHours()
var minute=now.getMinutes()
now=null
var ampm="" 
if(minute<10)minute="0"+minute
}

function leapYear(thisyear){
if(thisyear%4==0)return true
return false
}

function getDays(month, thisyear){
var ar=new Array(31,(leapYear(thisyear))?29:28,31,30,31,30,31,31,30,31,30,31)
return ar[month]
}

function getMonthName(month){
var ar=new Array('January','February','March','April','May','June','July','August','September','October','November','December')
return ar[month]
}

function drawCal(firstDay, lastDate, date, monthName, thisyear){
var headerHeight=50;
var border=5;
var cellspacing=0;
var headerColor='#000000';
var headerSize='6';
var colWidth=75;
var dayCellHeight=25;
var dayColor='#000000';
var cellHeight=50;
var todayColor='#FF0080';

var text='';
text+='<CENTER>'
text+='<TABLE BORDER='+border+' CELLSPACING='+cellspacing+' WIDTH=300>'
text+='<TH><A HREF="javascript:lastMonth()" onMouseOver="window.status=\'Previous Month\';return true" onMouseOut="window.status=\'\';return true"><IMG SRC="http://www.gheos.com/js/calendar/lt.gif" ALIGN=left BORDER="0" ALT="Last Month"></A></TH><TH COLSPAN=5 HEIGHT='+headerHeight+'>'
text +='<FONT COLOR="'+headerColor+'" SIZE="'+headerSize+'" FACE="Arial">'
text+=monthName+' '+thisyear 
text+='</FONT></TH><TH><A HREF="javascript:nextMonth()" onMouseOver="window.status=\'Next Month\';return true" onMouseOut="window.status=\'\';return true"><IMG SRC="http://www.gheos.com/js/calendar/gt.gif" ALIGN=right BORDER="0" ALT="Next Month"></A>'
text+=	'</TH>'

var openCol='<TD WIDTH='+colWidth+' HEIGHT='+dayCellHeight+'>'
openCol+='<B><FONT COLOR="'+dayColor+'" FACE="Arial">'
var closeCol='</FONT></B></TD>'

var weekDay=new Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat')
	
text+='<TR ALIGN="center" VALIGN="center">'
for(var dayNum=0;dayNum<7;++dayNum){
text+=openCol+weekDay[dayNum]+closeCol 
}
text+='</TR>'
	
var digit=1
var curCell=1
	
for(var row=1;row<=Math.ceil((lastDate+firstDay-1)/7);++row){
text+='<TR ALIGN="right" VALIGN="top">'
for(var col=1;col<=7;++col){
if(digit>lastDate)break
if(curCell<firstDay){
text+='<TD></TD>';
curCell++
} else {
if(digit==date&&month==originalMonth&&thisyear==originalYear){
text+='<TD HEIGHT='+cellHeight+'><FONT SIZE="4" FACE="Arial">'
text+='<FORM NAME="RDDclock" onSubmit="alert(\'Time\');return false"><FONT SIZE="1" FACE="Small Fonts"><INPUT TYPE="text" NAME="face" SIZE="'+clocksize+'" READONLY STYLE="background-color: #DEDEDE; border: 0"></FONT>&nbsp;<A HREF="javascript:getInput('+digit+',\''+monthName+'\')" onMouseOver="window.status=\'Click to add or modify appointments for Today\'; return true" onMouseOut="window.status=\'\'; return true"><B><FONT COLOR="'+todayColor+'">'+digit+'</FONT></B></A></FORM></FONT></TD>'
} else text+='<TD HEIGHT='+cellHeight+'><FONT SIZE="4" FACE="Arial"><B><A HREF="javascript:getInput('+digit+',\''+monthName+'\')" onMouseOver="window.status=\'Click to add or modify appointments for this Date\'; return true" onMouseOut="window.status=\'\'; return true">'+digit+'</A></B></FONT></TD>'
digit++
}
}
text+='</TR>'
}
	
text+='</TABLE>'
text+='</CENTER>'

document.write(text)
}

var timerID=null
var timerRunning=false

function stopclock(){
if(timerRunning)clearTimeout(timerID)
timerRunning=false
}

function startclock(){
if(month==originalMonth&&thisyear==originalYear){
stopclock();
showtime();
}
}

function showtime(){
var now=new Date()
var hours=now.getHours()
var minutes=now.getMinutes()
var seconds=now.getSeconds()
var timeValue=""+((hours<10)?"0":"")+hours
timeValue+=((minutes<10)?":0":":")+minutes
timeValue+=((seconds<10)?":0":":")+seconds
document.RDDclock.face.value=timeValue; 
timerID=setTimeout('showtime()',1000)
timerRunning=true
}

function nextMonth(){
month=(month-0)+1;
if(month>11){
month=month-12;
thisyear=(thisyear-0)+1;
}
location=(linkurl+'?'+month+'&year='+thisyear);
}

function lastMonth(){
month=month-1;
if(month<0){
month=month+12;
thisyear=thisyear-1;
}
location=(linkurl+'?'+month+'&year='+thisyear);
}
d.write('<CENTER><A HREF="http://www.gheos.com/js/calendar" onMouseOver="window.status=\'Click here to get a FREE calendar for your homepage, NO coding experience required!!!\'; return true" onMouseOut="window.status=\'\'; return true"><FONT SIZE="1" FACE="Arial" COLOR="#000000">Click here to get a calendar for your own homepage - &copy; '+originalYear+' Roy Digital Design - all rights reserved</FONT></A></CENTER>');
startclock();