function get_param(name){
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}

function buildCalendar(y,m,dda){
	var pagepath = "articles.php";
	//You can change these data depending on your language...
	var daysofweek= "Sn Mn Tu Wd Th Fr St";
	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"><tr align="center">';
	//returnval+='<td colspan="7" align="center" class="month"><a href="?date='+(ayy-1)+'-'+amm+'-1"><b>&larr;</b></a> <a href="?date='+ayy+'-'+ amm +'-1"><b>&laquo;</b></a> '+ mn[m-1]+ ' ' + y + ' <a href="?date='+yyy+'-'+mmm+'-1"><b>&raquo;</b></a> <a href="?date='+(yyy+1)+'-'+mmm+'-1"><b>&rarr;</b></a></td></tr><tr align="center">';
	returnval+='<td colspan="7" align="center" class="month"><a href="'+pagepath+'?date='+ayy+'-'+ amm +'-1"><b>&laquo;</b></a> '+ mn[m-1]+ ' ' + y + ' <a href="'+pagepath+'?date='+yyy+'-'+mmm+'-1"><b>&raquo;</b></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>';}else{x='<a href="?date='+y+'-'+m+'-'+x+'">' + x + '</a>';}
		//returnval+= '<td class="days">' + x + '</td>';
		if (x != scanfortoday){x='<a href="'+pagepath+'?date='+y+'-'+m+'-'+x+'">' + x + '</a>';}
		if (x == scanfortoday){tdclass='todays';}else{tdclass='days'}
		returnval+= '<td class="'+tdclass+'">' + x + '</td>';
		if(((i)%7==0) && (i<36)){returnval+= '</tr><tr align="center">';}
	}
	return returnval+='</tr></table></div>';
}

var getvars = new Array();
var pdate = get_param('date');
var myvar = pdate.split("-");
getvars['year'] = myvar[0];
getvars['month'] = myvar[1];
getvars['day'] = myvar[2];
//Check if there are query strings and if the fields are valid:
//if(getvars['day'] <= 31 &&  getvars['day'] > 0 && getvars['month'] <= 12 &&  getvars['month'] > 0 && getvars['year'] > 2008){
if(getvars['day'] <= 31 &&  getvars['day'] > 0 && getvars['month'] <= 12 &&  getvars['month'] > 0 && getvars['year'] > 2008){
	var month= getvars['month'];
	var day= getvars['day'];
	var year= getvars['year'];
}else{
	var thedate= new Date();
	var month= thedate.getMonth() + 1;
	var day= thedate.getDate();
	var year= thedate.getFullYear();
}
document.write(buildCalendar(year,month,day));
