// OLD ICELANDIC CALENDAR
// (c) Tim Stridmann
// http://norse.narod.ru
// http://stridmann.narod.ru
// mailto:stridmann@mail.ru

months = new Array("jan\u00FAar", "febr\u00FAar", "mars", "apr\u00EDl", "ma\u00ED", "j\u00FAn\u00ED", "j\u00FAl\u00ED", "\u00E1g\u00FAst", "september", "okt\u00F3ber", "n\u00F3vember", "desember");
vikudagr = new Array("Sunnudagr", "M\u00E1nadagr", "T\u00FDsdagr", "\u00D3\u00F0insdagr", "\u00DE\u00F3rsdagr", "Frj\u00E1dagr", "Laugardagr");
manudhr = new Array("Gorm\u00E1nu\u00F0r", "\u00FDlir", "M\u00F6rsugr", "&THORN;orri", "G\u00F3a", "Einm\u00E1nu\u00F0r", "Harpa", "Skerpla", "S\u00F3lm\u00E1nu\u00F0r", "Heyannir", "Tv\u00EDm\u00E1nu\u00F0r", "Haustm\u00E1nu\u00F0r", "Sumarauki");

//function OldIcelandicDate() {
 var date,day,month,year;
 var jd,sa,n,id,im,heyannir;
 date = new Date();
 day = date.getDate();
 month = date.getMonth()+1;
 year = date.getFullYear();
 jd = JD(day,month,year);
 sa = sumarauki(year);
 if (jd < sa) {
  n = jd - sa + 270;
  id = (n % 30) + 1;
  im = Math.floor(n / 30);
 } else {
  heyannir = sumarauki(year + 1) - 360;
  if (jd < heyannir) {
   id = jd - sa + 1;
   im = 12;
  } else {
   n = jd - heyannir;
   id = (n % 30) + 1;
   im = Math.floor(n / 30) + 9;
   if (im >= 12) {
	im -= 12;
   }
  }
 }
// return "<div class=calendar><FONT COLOR=#FFFFFF>
//<span class=vikudagr>"+vikudagr[(jd+1)%7]+"</span><br><span class=icelandic>"+String(id)+". "+manudhr[im]+"</span><br><span class=gregorian>e\u00F0a "+String(day)+". "+months[month-1]+" "+String(year)+" A.D.</span></div>";
//}

function getOIDay()
{
	getOIDay = vikudagr[(jd + 1) % 7];
	return getOIDay;
}

function getOIDate()
{
	getOIDate = id;
	return getOIDate;
}

function getOIMonth()
{
	getOIMonth = manudhr[im];
	return getOIMonth;
}

function getOIYear()
{
	getOIYear = year;
	return getOIYear;
}

function getJD()
{
	return jd;
}

function sumarauki(year) {
 var j, diff;
 j = JD(18, 7, year);
 diff = 2 - (j % 7);
 if (diff < 0) diff += 7;
 j += diff;
 return j;
}

function JD(d,m,y) {
 if (m < 3) { y--; m += 12; }
 return Math.floor(y * 365) + Math.floor(y / 4) + Math.floor((m * 153 + 3) / 5) + d + 1721012;
}