calendar = function( szdate , szdiv , mark)
{
	this.date = new Date() ;
	this.mark = mark;
	this.div = szdiv;
	this.MonthDays = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	this.MonthNames = new Array('January','February','March','April','May','June','July','August','September','October','November','December');
	if (szdate != null && szdate != "")
	{
		var daten = szdate.split(".");
		this.date.setFullYear( daten[0],daten[1]-1, 1 );
	}else
	{
		this.date.setDate( 1 );
	}
	this.paint = function()
	{
		var year =  this.date.getFullYear();
		var month =  this.date.getMonth();
		var day = this.date.getDay() -1;
		if (day == -1){day=6;}
		if (month  == 1)
		{
			// check for leepyear
			var e = new Date();
			e.setDate(29);
			e.setMonth(1);
			e.setYear(year);
			if ( month == e.getMonth() )
			{
				this.MonthDays[1] = 29;
			}else
			{
				this.MonthDays[1] = 28;
			}
		}
		var nextmonth = (month == 11?1:(month+2));
		nextmonth = (nextmonth.length == 1 ? "0"+ nextmonth:nextmonth );
		nextmonth = (nextmonth < 10 ? "0"+ nextmonth :nextmonth );
		var nextyear = (nextmonth == 1?(year+1):(year));
		var premonth = (month == 0?12:(month));
		premonth = (premonth < 10 ? "0"+ premonth:premonth);
		var preyear = (premonth == 12?(year-1):(year));
		var szreturn = "";
		szreturn  = szreturn  + "<table id='table_calendar' cellspacing='0' cellpadding='4' summary='This months calendar'>"
		var obj = SYM.util.dom.getObject(this.div );
		obj.innerHTML = szreturn  ;
		szreturn  = szreturn  + "<caption style='width:190px;'><a href='/"+SYM.util.path+"/pages/"+szfilename+"?open&date="+ preyear +"."+premonth +"' title='previous month' style=''><img src='/kunder/unio/cms2011.nsf/media/arrow_left.png/$file/arrow_left.png' alt='Tilbake' border='0' /></a><p style='display:inline; float:none;'>"+ this.MonthNames[month] +"</p><a href='/"+SYM.util.path+"/pages/"+szfilename+"?open&date="+ nextyear +"."+nextmonth +"' title='next month' style=''><img src='/kunder/unio/cms2011.nsf/media/arrow_right.png/$file/arrow_right.png' alt='Frem' border='0' /></a></caption>"
		szreturn  = szreturn  + " <tr>"
		szreturn  = szreturn  + "<th scope='col' abbr='Monday' title='Mandag'>M</th>"
		szreturn  = szreturn  + "<th scope='col' abbr='Tuesday' title='Tirsdag'>T</th>"
		szreturn  = szreturn  + "<th scope='col' abbr='Wednesday' title='Onsdag'>O</th>"
		szreturn  = szreturn  + "<th scope='col' abbr='Thursday' title='Torsdag'>T</th>"
		szreturn  = szreturn  + "<th scope='col' abbr='Friday' title='Fredag'>F</th>"
		szreturn  = szreturn  + "<th scope='col' abbr='Saturday' title='Lørdag'>L</th>"
		szreturn  = szreturn  + "<th scope='col' abbr='Sunday' title='Søndag'>S</th>"
		szreturn  = szreturn  + " </tr>"
		for (  i = 0 ; i < day  ; i++ )
		{
			szreturn  = szreturn  + "<td>&nbsp;</td>"
		}
		
		for (  i = 0 ; i < this.MonthDays[ month ]  ; i++ )
		{
			if ( (this.mark.indexOf("," +  (i+1).toString()+",") != -1 ) || (this.mark.indexOf("," + "0" + (i+1).toString()+",") != -1))
			{
szreturn  = szreturn  + "<td><a href='#'>"+(i+1) +"</a></td>"
			}else
			{
				szreturn  = szreturn  + "<td>"+(i+1) +"</td>"
			}
			if (day == 6)
			{
				day = 0;
				szreturn  = szreturn  + " </tr>"
				szreturn  = szreturn  + " <tr>"
			}else
			{
				day++;
			}
		}
		if (day == 0){day = 200;}
		for (  i = day ; i < 7 ; i++ )
		{
			szreturn  = szreturn  + "<td>&nbsp;</td>"
		}
		szreturn  = szreturn  + " </tr>"
		szreturn  = szreturn  + "</table>"
		var obj = SYM.util.dom.getObject(this.div );
		obj.innerHTML = szreturn  ;
	}
}


