var owner;
var year;
var month;

function set_date(y, m, d) {
	document.getElementById('table_date').style.visibility = "hidden";
	document.getElementById('year_' + owner).selectedIndex = y - new Date().getFullYear();
	document.getElementById('month_' + owner).selectedIndex = m;
	document.getElementById('day_' + owner).selectedIndex = d - 1;	
}

function set_table(io, step, e) {
	owner = io;
	shown = 0;
	
	if(document.getElementById('table_date').style.visibility != "visible") {
		document.getElementById('table_date').style.left=document.body.scrollLeft+e.clientX - 150
		document.getElementById('table_date').style.top=document.body.scrollTop+e.clientY + 25 + (io == 'in' ? 25 : 0)
		document.getElementById('table_date').style.visibility = "visible"
	}

	if(step == 0) {
		year = parseInt(document.getElementById('year_' + io).options[document.getElementById('year_' + io).selectedIndex].value);
		month = parseInt(document.getElementById('month_' + io).options[document.getElementById('month_' + io).selectedIndex].value);
	} else {
		month += step;
		switch(month) {
			case 12 : { month = 0; year++; break; }
			case -1 : { month = 11; year--; break; }
		}
	}

	first_day = new Date(year, month, 1).getDay();
								
	if(first_day == 0) { first_day = 7; }
	
	last_day = 29;
	
	for(d = new Date(year, month, last_day); month == d.getMonth(); ++last_day) {
		d.setTime(d.getTime()+24*60*60*1000);
	}
	if(--last_day == 32) {
		last_day--;
	}
	
	document.getElementById('td_month_year').innerHTML = MONTHES[month] + " " + year;
	
	for(i = 1; i < 42; i++) {
		if(i >= first_day && i < last_day + first_day) {
			document.getElementById('td_'+i).innerHTML = "<a class='small' href='javascript:{set_date(" + year + ", " + month + ", " + (i - first_day + 1) + ")}'>" + (i - first_day + 1) + "</a>";
		} else {
			document.getElementById('td_'+i).innerHTML = "";
		}		
	}
}

