
		var arrWeekdayNames = new Array();
		var arrMonthNames   = new Array();

		arrWeekdayNames["IS"] = new Array('Sunnudagur','Mánudagur','Ţriđjudagur','Miđvikudagur','Fimmtudagur','Föstudagur','Laugardagur');
		arrMonthNames["IS"]   = new Array('Janúar','Febrúar','Mars','Apríl','Maí','Júní','Júlí','Ágúst','September','Október','Nóvember','Desember');
		arrWeekdayNames["EN"] = new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
		arrMonthNames["EN"]   = new Array('January','February','March','April','May','June','July','August','September','October','November','December');

		var objCal = "";

		function Calendar(strCalObject, strCalElement, blnAlignment) {
			var dteNow       = new Date();
			var dteCal       = new Date();
			var dteSel       = new Date();
			var dteLast      = new Date();
			var dteNext      = new Date();
			var strHTML      = "";
			var blnOpen      = false;

			var strSnidmatURL = "/snidmat/v2/";

			var objCalElement  = getElement(strCalElement);
			var objEditElement = "";

			var objCalTimer    = "";


			// ----------------------------------------------
			// Methods
			// ----------------------------------------------

			this.open    = open;
			this.show    = show;
			this.close   = close;
			this.setDate = setDate;
			this.change  = change;
			this.draw    = draw;

			function open(strForm, strEditElement) {
				dteNow  = new Date();
				dteSel  = new Date();
				dteCal  = new Date();
				dteLast = new Date();
				dteNext = new Date();

				objEditElement = document.forms[strForm].elements[strEditElement];
				// If the datefield is read only then do not open the calendar
				if (objEditElement.readOnly)
				{
				    return;
				}
				var strDate = objEditElement.value;

				if (strDate.indexOf(".") > 0) {
					var arrDate = (objEditElement.value).split(".");

					if (arrDate.length == 3) {
						dteSel.setDate(parseInt(arrDate[0], 10));
						dteSel.setMonth(parseInt(arrDate[1], 10)-1);
						dteSel.setYear(parseInt(arrDate[2], 10));

						dteCal.setDate(parseInt(arrDate[0], 10));
						dteCal.setMonth(parseInt(arrDate[1], 10)-1);
						dteCal.setYear(parseInt(arrDate[2], 10));
					}
				}

				draw();

				if (objCalTimer) clearTimeout(objCalTimer);
				objCalTimer = setTimeout("objCal.show()", 50);
			}

			function show() {
				if (objTooltip) fncTipClose();

				blnOpen      = true;

				objCalElement.style.left = getAbsX(objEditElement)  + "px";
				objCalElement.style.top  = (getAbsY(objEditElement) + 25) + "px";

				objCalElement.style.visibility = "visible";
			}

			function close(blnForce) {
				blnOpen    = false;
				objCalElement.style.visibility = "hidden";
			}

			function setDate(strDate) {
				objEditElement.value = strDate;
				close(true);
			}

			function change(intNewMonth, intNewYear) {
				dteCal.setMonth(intNewMonth);
				dteCal.setYear(intNewYear)
				draw();
				show();
			}

			function draw() {
				var intYear    = dteCal.getFullYear(); // Ár
				var intMonth   = dteCal.getMonth();    // 0-11
				var intWeekday = dteCal.getDay();      // 1-31

				dteCal.setDate(1);

				dteLast = new Date(dteCal.getFullYear(), dteCal.getMonth()-1, dteCal.getDate());
				dteNext = new Date(dteCal.getFullYear(), dteCal.getMonth()+1, dteCal.getDate());

				strHTML = "";
				strHTML += "<table border=\"0\" cellpadding=\"0	\" cellspacing=\"0\" class=\"withborder\" xonMouseOver=\"" + strCalObject + ".setOver();\" xonMouseOut=\"" + strCalObject + ".setOut();\">\n";
				strHTML += "<tr>\n";
				strHTML += "	<td class=\"bottom\" align=\"right\"><a href=\"javascript:" + strCalObject + ".change(" + dteLast.getMonth() + "," + dteLast.getFullYear() + ");\"><img class=\"scale\" src=\"" + strSnidmatURL + "img/cal-arrow-left2.gif\" border=\"0\" alt=\"Fara til baka um einn mánuđ\" /></a></td>\n";
				strHTML += "	<td class=\"bottom\" colspan=\"5\">" + arrMonthNames[TUNGUMAL][intMonth] + "&nbsp;" + intYear + "</td>\n";
				strHTML += "	<td class=\"bottom\" align=\"left\"><a href=\"javascript:" + strCalObject + ".change(" + dteNext.getMonth() + "," + dteNext.getFullYear() + ");\"><img class=\"scale\" src=\"" + strSnidmatURL + "img/cal-arrow-right2.gif\" border=\"0\" alt=\"Fara áfram um einn mánuđ\" /></a></td>\n";
				strHTML += "</tr>\n";
				strHTML += "<tr>\n";

					// Nöfn á dögum

					for (intWeekdays=0; intWeekdays < 7; intWeekdays++) {
						strHTML += "<td class=\"weekday\"><abbr title=\"" + arrWeekdayNames[TUNGUMAL][intWeekdays] + "\">" + (arrWeekdayNames[TUNGUMAL][intWeekdays].substring(0,3)).toLowerCase() + "</abbr></td>";
					}

				strHTML += "</tr>\n";
				strHTML += "<tr>\n";

					// Dagar sem tilheyra mánuđinum á undan

					for (intDays=0; intDays < dteCal.getDay(); intDays++) {
						strHTML += "<td class=\"day\">&nbsp;</td>";
					}

					// Dagar í mánuđinum (31 = max dagar í mánuđi)

					for (intDays=0; intDays < 31; intDays++) {
						if (dteCal.getDate() > intDays ) {
							intWeekday = dteCal.getDay();

							if (intWeekday == 0) {
								strHTML += "<tr>\n";
								//intNoWeeks++;
							}

							if (intWeekday != 7) {
								var dteDay = dteCal.getDate();

								strDateLink = strCalObject + ".setDate('" + fncLZ(dteDay,2) + "." + fncLZ(intMonth+1,2) + "." + intYear + "');"; //\">"; // + dteDay + "</a>";

								var strTDclass = "day";
								var strTDstyle = ""

								if (dteNow.getDate() == dteCal.getDate() && dteNow.getMonth() == dteCal.getMonth() && dteNow.getFullYear() == dteCal.getFullYear()) {
									//strTDstyle += " style=\"border: 1px solid #c9c2b3;\"";
									strTDclass = "today";
								}

								if (dteSel.getDate() == dteCal.getDate() && dteSel.getMonth() == dteCal.getMonth() && dteSel.getFullYear() == dteCal.getFullYear()) {
									strTDclass += "selected";
								}

								//if (strTDstyle != "") strTDstyle = "style=\"" + strTDstyle + "\"";

								strHTML += "<td class=\"" + strTDclass + "\" " + strTDstyle + " onMouseUp=\"" + strDateLink + "\"><a href=\"javascript:" + strDateLink + "\">" + dteDay + "</a></td>";
							}

							if (intWeekday == 7) strHTML += "</tr>\n";
						}

						dteCal.setDate(dteCal.getDate()+1);
					}

					if (intWeekday != 7) {
						for (intDaysleft=intWeekday; intDaysleft < 6; intDaysleft++) {
							strHTML += "<td class=\"day\">&nbsp;</td>";
						}

						strHTML += "</tr>\n";
					}

				strHTML += "</table>\n";

				objCalElement.innerHTML = strHTML;
			}
		}
