	ajax = {
		makeObject: function() {
		  var xmlhttp;
		  /*@cc_on
		  @if (@_jscript_version >= 5)
		    try {
		      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		    } catch (e) {
		      try {
		        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		      } catch (E) {
		        xmlhttp = false;
		      }
		    }
		  @else
		  xmlhttp = false;
		  @end @*/
		  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		    try {
		      xmlhttp = new XMLHttpRequest();
		    } catch (e) {
		      xmlhttp = false;
		    }
		  }
		  return xmlhttp;
		},

		loadData: function(year,month) {
			month++;
			var myurl = '/getCalendar/'+year+'/'+month;
			
			http.open("GET", myurl, true);
			http.onreadystatechange = function() {
				if (http.readyState == 4) {
					eventData = eval("("+http.responseText+")");
					calendar.parseData(eventData);
				}
			}
			http.send(null);
		}
	}
	
	calendar = {
		months: new Array('JANUAR', 'FEBRUAR', 'MAREC', 'APRIL', 'MAJ', 'JUNIJ', 'JULIJ', 'AVGUST', 'SEPTEMBER', 'OKTOBER', 'NOVEMBER', 'DECEMBER'),
		currMonth: new Date().getMonth(),
		currYear: new Date().getFullYear(),
		calData: '',
				
		init: function() {
			this.currMonth = new Date().getMonth();
			this.currYear = new Date().getFullYear();
			
			ajax.loadData(this.currYear,this.currMonth);
		},
		
		nextMonth: function() {
			if (this.currMonth < 11) this.currMonth++;
			else {
				this.currMonth = 0;
				this.currYear++;
			}
			ajax.loadData(this.currYear,this.currMonth);
		},

		prevMonth: function() {
			if (this.currMonth > 0) this.currMonth--;
			else {
				this.currMonth = 11;
				this.currYear--;
			}
			
			ajax.loadData(this.currYear,this.currMonth);
		},
				
		parseData: function(evdata) {
			calendar.calData = evdata;
			this.drawMonth(this.currYear,this.currMonth);
		},
		
		showDay: function(day) {
			var tmpHTML = "";
			var tmpOut = "";
			targetDiv = document.getElementById('eventsList');
			debugDiv = document.getElementById('debug');

			for (var x in calendar.calData[day]) {
				if (x >= 0 && x <= 31) {
   				tmpHTML += '<div class="dogdatum">'+calendar.calData[day][x]["datumSI"]+'</div>';
   				tmpHTML += '<div class="dogopis"><div class="dogkraj">'+calendar.calData[day][x]["location"]+'</div>'+calendar.calData[day][x]["text"];
   				tmpHTML += '<div class="dogorg">org: '+calendar.calData[day][x]["organizer"];
				if (calendar.calData[day][x]["link"]) tmpHTML += ' | <a href="'+calendar.calData[day][x]["link"]+'">več info..</a>';
				tmpHTML += '</div></div>';
   			}
			}

			targetDiv.innerHTML = tmpHTML;
		},
		
		hideDay: function() {
			targetDiv = document.getElementById('events');
			targetDiv.style.visibility = 'hidden';
		},
		
		drawMonth: function(year,month) {
			var mydate = new Date(year,month,1);
			var firstday = mydate.getDay()-1;
			if (firstday == -1) firstday = 6;
			
			var totaldays = mydate.daysInMonth() + firstday;
			var rows = Math.ceil(totaldays/7);
			var totalfields = rows*7;
			var out;
			var htmlOut = "";
			var dayHasEvents;
			var day;

			htmlOut = '<table id="koledarcek" border="0" cellpadding="0" cellspacing="0"><tbody>';
			htmlOut += '<td class="dan"><strong>P</strong></td><td class="dan"><strong>T</strong></td><td class="dan"><strong>S</strong></td><td class="dan"><strong>Č</strong></td><td class="dan"><strong>P</strong></td><td class="dan"><strong>S</strong></td><td class="dan"><strong>N</strong></td></tr>';
			
			for (var i=0; i<totalfields; i++) {
				if (i == 0) htmlOut += '<tr>';
				if (i>0 && i%7 == 0) htmlOut += '</tr><tr>';

				day = i - firstday + 1;				
				if (i<firstday || (day > mydate.daysInMonth())) out = '&nbsp;';
				else out = day;
				
				dayHasEvents = false;
				for (var x in calendar.calData) {
					if (x == out) dayHasEvents = true; 
				}


				if (dayHasEvents) {
					htmlOut += '<td class="dog"><a href="javascript:calendar.showDay('+out+');">'+out+'</a></td>';
				}
				else {
					htmlOut += '<td>'+out+'</td>';
				}
				
				if (i == (totalfields-1)) htmlOut += '</tr>';
			}
			htmlOut += '</tbody></table>';
			
			var target = document.getElementById('koledarpolja');
			target.innerHTML = htmlOut;
			
			var mesectarget = document.getElementById('mesecName');
			mesectarget.innerHTML = this.months[this.currMonth] + " " + this.currYear.toString().substring(2);
		}
	}
	
	var http = ajax.makeObject();
	window.addEvent('load', calendar.init);