var dagnamna = Array ("søndag","måndag","tysdag","onsdag","torsdag","fredag","laurdag");
var mndnamna = Array ("januar","februar","mars","april","mai","juni","juli",
					  "august","september","oktober","november","desember");

var mndLengde = Array ("31","28","31","30","31","30","31","31","30","31","30","31");					  
maanad = 0;

function SkrivKalenderMaanad(aar,mnd,dag) { // Årstal, månadsnr. og dato
  var i = 0; 
  maanad = mnd;
  var skotaar = erSkotaar(aar);
  mndDagar = mndLengde[mnd];
  if (mnd ==1 && skotaar) {
    mndDagar = 29;
    Merkedagane[1][29] = "Skotårsdagen";
  }
  var innrykk = FinnInnrykk(aar,mnd);
  var auke = 7 - innrykk; 
  document.write ('<b><font size="4">' +mndnamna[mnd]+ ' '+aar+ '</font></b>'); // Namn på månaden  
  document.write ('<table border="1" cellpadding="0" cellspacing="0" width="595">'); // Start table
  
  SkrivDagnamna();
  SkrivLinje(innrykk,0,dag); // Skriv første linja  
  
  for(i=1;i<=5;i++)
  {
    SkrivLinje(0,auke,dag);          // Skriv dei neste linjene
    auke = auke + 7;  
  }
  document.write ('</table>');  
}


function SkrivDagnamna() {
document.write ('<tr>');
document.write ('<td width="85" valign="middle" align="center" bgcolor="#F0F0F0">');
document.write (' <font color="#FF0000">'+dagnamna[0]+'</font></td>');
for(i=1;i<=6;i++) 
{
  document.write ('<td width="85" valign="middle" align="center" bgcolor="#F0F0F0">'+dagnamna[i]+'</td>');   
}
document.write ('</tr>');
}

function SkrivLinje(innrykk,start,dag){
var dagnr = 0;
var i = 0;
var tommeruter = innrykk;
innrykk--;
document.write ('<tr>');
var helg = false;

for(i=1;i<=7;i++)
{
  if (innrykk < 0) 
    dagnr = i + start - tommeruter;
  else dagnr = '&nbsp';

  if (dagnr <= mndDagar){ 
    if (i ==1){
 	  document.write ('<td width="85" valign="middle" align="center"');
      if (dagnr == dag) document.write('bgcolor="#C0C0C0">')
      else  document.write('>');     
	  document.write ('<font color="#FF0000"> <b>'+ dagnr +'</b></font>');
	  if (flaggedag(dagnr)) document.write (' <img border="0" src="flag.jpg" width="20" height="12">');  
	  document.write ('</td>');
	}
    else {
      document.write ('<td width="85" valign="middle" align="center"');
         if (dagnr == dag) document.write('bgcolor="#C0C0C0">')
         else  document.write('>');
	    if (heilagdag(dagnr)) document.write ('<b><font color="#FF0000">'+ dagnr);
	    else document.write ('<b><font color="#0000FF">'+dagnr);
	  document.write ('</font></b>');
	  if (flaggedag(dagnr)) document.write (' <img border="0" src="flag.jpg" width="20" height="12">');
	  document.write ('</td>');
	}  
  }	
  else {
    if (i==1) break; //Ikkje skriv tom linje
	dagnr = '&nbsp;';
    document.write ('<td width="85" valign="middle" align="center"><b>'+ dagnr +'</b></td>');
  }
  innrykk--;
}
document.write ('</tr>');
}

function FinnInnrykk(aar,mnd) {
  var tmpDate = new Date();
  tmpDate.setFullYear(aar,mnd,1);
  startdag = tmpDate.getDay();  
  return (startdag);
}

function erSkotaar(aar) {
var aar = parseInt(aar);
  if (aar % 4 == 0){
    if (aar % 100 != 0) return (true);
	else if (aar % 100 == 0) return (true);
         else return (false);
  }
  return (false);		 
}

function heilagdag(d){
var helg = false;
var dagen = Merkedagane[maanad][d];
  if (dagen == undefined) dagen = 32;
  if (isNaN(dagen)) {
    if (dagen.indexOf('*',0) > -1) helg = true;
  }
  return(helg);
}

function flaggedag(d){
var flag = false;
var dagen = Merkedagane[maanad][d];
  if (dagen == undefined) dagen = 32;
  if (isNaN(dagen)) {
    if (dagen.indexOf('+',0) > -1) flag = true;
  }
  return(flag);
}


//  var a = 2009;
//  var maanad = 5;  // månadsnr. Januar = 1, osv,

//SkrivMaanaden(2007,4);  // TEST

function SkrivMaanaden(aar,mnd,dag) {
  var helgedag = false;
  var flagdag = false;
  aar = parseInt(aar);
  mnd = parseInt(mnd);
  mnd--;
  settOppTabellane(aar); 
  SkrivKalenderMaanad(aar,mnd,dag);
  
  
  document.write ('<br />Merkedagar: ');
  if (medPrimstav) document.write('(§: Frå primstaven)');
  document.write ('<br />');

  var funn = 0;
  var dagen = ' ';
  
  for (i=1;i<=31;i++){
    dagen = Merkedagane[mnd][i];
    helgedag = false; flagdag = false;
    if (isNaN(dagen)) {
      funn = dagen.indexOf('*',0);
	  if (funn > -1) {
        helgedag = true;
        dagen = dagen.substr(funn+1);
	  }
	  funn = dagen.indexOf('+',0);
	  if (funn > -1) {
        flagdag = true;
        dagen = dagen.substr(funn+1);
	  }	
	  funn = dagen.indexOf('/',0);  // Fjern unødvendig "/"
	  if (funn > -1) {
        dagen = dagen.substr(funn+1);
	  }	
	  document.write (i + '.: '+dagen);
	  if (flagdag) document.write(' (Off. flagdag)');
	  document.write ('<br />');
	}
  }
}
