var it_calendar = {
	month: 1,
	year: null,
	server_url: '/news/calendar/script.php',
	init: function(){
		if(!it_calendar.month || !it_calendar.year){
			var d = new Date();
			it_calendar.month = d.getMonth()+1;
			it_calendar.year = (navigator.appName.indexOf("Explorer")!=-1) ? d.getYear() : d.getYear()+1900;
		}
		it_calendar.send();
		document.onclick = it_calendar.onclick;
	},
	onclick: function(e){
		var ua = navigator.userAgent.toLowerCase(), _id = null;
		if(ua.indexOf("msie") != -1 || ua.indexOf("opera") != -1 && ua.indexOf("webtv") == -1) //IE || Opera
			_id = window.event.srcElement.getAttribute('id');
		if(ua.indexOf("gecko") != -1)
			_id = e.target.getAttribute('id');
		switch(_id){
			case 'next_month'	: ++it_calendar.month; it_calendar.send(); break;
			case 'prev_month' : --it_calendar.month; it_calendar.send(); break;
			case 'next_year'  : ++it_calendar.year;  it_calendar.send(); break;
			case 'prev_year'	: --it_calendar.year;  it_calendar.send(); break;
		}
	},
	send: function(){
		if(it_calendar.month <= 0){
			it_calendar.month = 12;
			it_calendar.year--;	
		}
		if(it_calendar.month >= 13){
			it_calendar.month = 1;
			it_calendar.year++;	
		}
		var http_request = false;
    if(window.XMLHttpRequest){ // Mozilla, Safari, ...
			http_request = new XMLHttpRequest();
      if(http_request.overrideMimeType){
				http_request.overrideMimeType('text/xml');
      }
    } else if(window.ActiveXObject){ // IE
     		try{
           	http_request = new ActiveXObject("Msxml2.XMLHTTP");
           }catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
           }
    }
    if (!http_request) {
            alert('Не вышло :( Невозможно создать экземпляр класса XMLHTTP ');
            return false;
    }

	http_request.open('GET', it_calendar.server_url+"?month="+it_calendar.month+"&year="+it_calendar.year, false);
    http_request.send("");
    it_calendar.draw(http_request);
	/*
    http_request.onreadystatechange = function() { it_calendar.draw(http_request); };
    http_request.open('GET', it_calendar.server_url+"?month="+it_calendar.month+"&year="+it_calendar.year, false);
    http_request.send("");
	*/
	},
	draw: function(http_request){
		if(http_request.readyState == 4) {
            if (http_request.status == 200){
                if(http_request.responseText != '_error_'){
                	document.getElementById('it_calendar').innerHTML = http_request.responseText;
                } else {
                	alert('С запросом возникла проблема.');
                	return;
                }
            } else {
                alert('С запросом возникла проблема.');
                return;
            }
       }
	}
}

window.onload = it_calendar.init;
