function buildCalendar(m, y, dda, from, through, status)
{	
	//You can change these data depending on your language...
	var daysofweek= "SunMonTueWedThuFriSat";
	var mn=['January','February','March','April','May','June','July','August','September','October','November','December'];
	
	var dim=[31,0,31,30,31,30,31,31,30,31,30,31];
	
	m= parseInt(m);

	y= parseInt(y);

	dda= parseInt(dda);

	var mmm= m + 1;

	var amm= m - 1;

	var yyy= y;

	var ayy= y;

	//Does the next month means a new year:

	if(mmm == 13)
	{
		mmm=1
		yyy=y+1;
	}
	
	if(amm == 0)
	{
		amm=12;
		ayy=y-1;
	}

	//http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Date

	var lastmonth = new Date(y, m-1, 1);
	var lastmonthday=lastmonth.getDay()+1;
	
	var todaydate=new Date();
	var scanfortoday= (y == todaydate.getFullYear() && m == todaydate.getMonth()+1)?todaydate.getDate():0;
	
	scanfortoday=dda;

	// Leap year - http://en.wikipedia.org/wiki/Leap_year

	dim[1]=(((lastmonth.getFullYear()%100 != 0) && (lastmonth.getFullYear()%4==0)) || (lastmonth.getFullYear()%400 == 0))?29:28;

	//The designed calendar - look at the css file

	var returnval='<div class="main"><table class="main" cols="7" cellpadding="0" border="0" cellspacing="1" width="100%"><tr align="center">';

	/*returnval+='<td colspan="7" align="center" class="month"><a href="">&larr;</a> '+ mn[m-1]+ ' - ' + y + ' <a href="">&rarr;</a></td></tr><tr align="center">';*/
	
	returnval+='<td colspan="7" align="center" class="month"><a href="?day=1&month=' + amm + '&year=' + ayy + '">&larr;</a> '+ mn[m-1]+ ' - ' + y + ' <a href="?day=1&month=' + mmm + '&year=' + yyy + '">&rarr;</a></td></tr><tr align="center">';

	for(s=0;s<21;s+=3)

	returnval+= '<td class="daysofweek">' + daysofweek.substr(s,3) + '</td>';
	returnval+= '</tr><tr align="center">';

	for(i=1;i<=42;i++)
	{
		var x=((i-lastmonthday>=0) && (i-lastmonthday<dim[m-1]))? i-lastmonthday+1 : '';
		
		if (x <= scanfortoday)
		{
			/*x='<span id="today">' + x + '</span>';*/
			returnval+= '<td class="today">' + x + '</td>';
		}
		else if((x >= from) && (x <= through))
		{
			if(status=='1')
				returnval+= '<td class="avail">' + x + '</td>';
			else
				returnval+= '<td class="notavail">' + x + '</td>';
		}
		else
		{
			/*x= x ;*/
			returnval+= '<td class="avail">' + x + '</td>';
		}
			
		/*returnval+= '<td class="days">' + x + '</td>';*/

		if(((i)%7==0) && (i<36))
			returnval+= '</tr><tr align="center">';
	}

	return returnval+='</tr></table></div>';

}