/*
Copyright (C) Olav Hellesø-Knutsen 1997-1998. All rights reserved.
This code may be copied for non-commercial use. Redistribution prohibited.
Please do not remove this copyright-information.
Questions goes to: olav@iconmedialab.no
http://home.sol.no/~nbk/olav/
September 17, 1998
Known bugs/features:
- It's not possible to have two calenders on the same page
- The browser have to accept cookies (and IE2.0 and NN2.0++ do!)
*/
// Set this variabel to 1 if you want to be able to click through the month
// If the variabel is anything else than 1 (e.g. 0), you will only be able to see the current month
var usesaved = 1; // valid variables = 1 or 0
// Change the day- and month abbreviation for your own language
var dn = new Array('Søn','Man','Tir','Ons','Tor','Fre','Lør');
var ma = new Array('Jan','Feb','Mar','Apr','Maj','Jun','Jul','Aug','Sep','Okt','Nov','Dec');
// If daylink is anyting else than 1, you're missing the link for each day
// The format for the links in a month explains best by example:
// 19980104.htm = Year:1998, month:01, day:4
// 20011202.htm = Year:2001, month:12, day:2
var daylink = 1; // valid variables = 1 or 0
// If linktarget not is an empty string, you'll get target on each daylink
// Example: var linktarget = '_blank'; opens a new window when clicking on a day
var linktarget = '';
// if the variable 'daylink' is set to 1, this one let you specify if you
// want to show links only up to the current date
var linkstoptoday = 1; // valid variables = 0, 1 and 2
// Change this to your favourite font types and size for all the text
var fontface = 'Verdana, Arial, Helvetica';
var fontsize = '2';
// Special characters for left and right arrow
var leftarr = '«';
var rightarr = '»';
// *******************************************
// Don't change the code below this point
// *******************************************
var nyDato = new Date();
var currmaaned = new Date();
var calcook;
var globaar, globmaaned, globdag;
function makeCalender(aar,maaned,dag){
var il = makeCalender.arguments.length;
var spart;
if(usesaved==1){
spart=GetCookie('calender');
if(spart!=null&&spart!='0'){
var rekke = spart.split('&');
nyDato.setYear(rekke[0])
nyDato.setMonth(rekke[1]);
nyDato.setDate(rekke[2]);
}
else{
if(il==3){
nyDato.setYear(aar)
nyDato.setMonth(maaned-1);
nyDato.setDate(dag);
}
}
}
aar = nyDato.getYear(); //getYear = 76 hvis årstallet er før 2000 etter år 2000 returneres 2001
maaned = nyDato.getMonth();
dag = nyDato.getDate();
var diw = nyDato.getDay(); //getDay = day of week 0-6
globaar = aar;
globmaaned = maaned;
globdag = dag;
var calender, cal;
var as1, as2, ae;
if(daylink==1){
var as1 = '';
}
else{
var as2 = '">';
}
var ae = '';
}
if(aar<2000)aar+=1900; // JavaScritt has it own year 2000 "problem"
cal = dn[diw+1] + ' ' + aar + ' ' +maaned+' '+dag;
var ts = '
';
var rs = '';
var re = '
\n';
var cs = '';
var ce = ' | \n';
cal = ts + rs;
if(usesaved==1)cal += ''+leftarr+' | ';
if(usesaved==1)cal += '' + ma[maaned] +', ' + aar + ce;
if(usesaved==1)cal += ' | '+rightarr+' | ';
cal += re+rs+cs;
for(i=0;i<6;i++)cal += dn[i] + ce + cs;
cal += dn[6] + ce + re;
var tmp;
nyDato.setDate(1);
nyDato.setMonth(maaned);
var midl;
var diu = nyDato.getDay();
cal+=rs;
t = nyDato.getMonth();
for(i=0;i1||(gd==1&&i==1))&&gm==maaned){
diw = nyDato.getDay();
if(diw==0)cal+=rs; // Hvis første dag i uken
if(diw!=7){ // Hvis ikke siste dag i uken
tmp1 = gm + 1;
tmp2 = gd;
if(tmp1<10)tmp1 = '0' + tmp1;
if(tmp2<10)tmp2 = '0' + tmp2;
if(daylink==1){
if(linkstoptoday==1&&nu.valueOf()>=nyDato.valueOf() || linkstoptoday==2){
if(fresh==gd&&globmaaned==currmaaned.getMonth())cal += cs + bs + as1 + gy + tmp1 + tmp2 + '.htm' + as2 + gd + ae + be + ce;
// else cal += cs + as1 + gy+'/'+tmp1+'/' +gy + tmp1 + tmp2 + '.htm' + as2 + gd + ae + ce;
else cal += cs + as1 + gy + tmp1 + tmp2 + '.htm' + as2 + gd + ae + ce;
}
else{
if(fresh==gd&&globmaaned==currmaaned.getMonth())cal += cs + bs + tmp2 + be + ce;
else cal += cs + tmp2 + ce;
}
}
else{
if(fresh==gd&&globmaaned==currmaaned.getMonth())cal += cs + bs + tmp2 + be + ce;
else cal += cs + tmp2 + ce;
}
}
if(diw==7)cal+=re; // Hvis siste dag i uken
}
nyDato.setDate(gd+1);
}
if(diw<6){
for(i=diw;i<6;i++){
if(i<7)cal += cs +' '+ce;
if(i==6)cal += re;
}
}
cal += te;
calender = cal;
return calender;
}
function go(hva){
if(hva==1)SaveCookie(globaar,globmaaned-1,globdag);
else SaveCookie(globaar,globmaaned+1,globdag);
document.location=document.location;
}
// *************************************** Start cookie ******************************
// *************************************** Start cookie ******************************
// If visit before: get saved data
function getCookieVal(offset)
{
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie(name){
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen)
{
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0)
break;
}
return null;
}
function SetCookie(name, value){
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (2 < argc) ? argv[2] : null;
var path = (3 < argc) ? argv[3] : null;
var domain = (4 < argc) ? argv[4] : null;
var secure = (5 < argc) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires="+expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
function SaveCookie(aarvar,maanedvar,dagvar){
var expdate = new Date();
expdate.setTime(expdate.getTime() + (60 * 60*1000*3));
SetCookie("calender", aarvar+'&'+maanedvar+'&'+dagvar, expdate, "/", null, false);
}
function clearCookie(){
var tid = new Date();
tid.setTime(tid.getTime()+(60*60))
SetCookie("calender", 0, tid, "/", null, false);
history.go(0);
}