var request;
if (navigator.appName == "Microsoft Internet Explorer") {
	request = new ActiveXObject("Microsoft.XMLHTTP");
} else {
	request = new XMLHttpRequest();
}
var currentUrl;
var currentLanguage;
var currentApartment;
var currentMonth;
var currentYear;
var currentFrom;
var currentTo;
var clickCounter = 0;

var tooltip = null;
var tooltipFrom = "";
var tooltipTo = "";
var tooltipAgain = "";
var tooltipText = "";

function updatePopup(e) {
	if (tooltip != null) {
		x = (document.all) ? window.event.x + tooltip.offsetParent.scrollLeft : e.pageX;
		y = (document.all) ? window.event.y + tooltip.offsetParent.scrollTop  : e.pageY;
		tooltip.style.left = (x + 14) + "px";
		tooltip.style.top   = (y + 18) + "px";
	}
}

document.onmousemove = updatePopup;

function getPopupCalendar(from, to, again) {
	tooltipFrom = from;
	tooltipTo = to;
	tooltipAgain = again;
	tooltip = document.getElementById('tooltip');
	fillPopup(1);
	tooltip.style.display = "block"
}

function getPopup(text) {
	tooltipText = text;
	tooltip = document.getElementById('tooltip');
	fillPopup(0);
	tooltip.style.display = "block"
}

function removePopup() {
	if (tooltip != null) {
		tooltip.style.display = "none";
	}
}

function fillPopup(calendar) {
	if (tooltip != null) {
		if (calendar == 0) {
			tooltip.innerHTML = tooltipText;
		} else {
			if (clickCounter == 0) {
				tooltip.innerHTML = tooltipFrom;
			} else {
				if (clickCounter % 2 == 0) {
					tooltip.innerHTML = tooltipAgain;
				} else {
					tooltip.innerHTML = tooltipTo;
				}
			}
		}
	}
}

function getCalendar(url, language, apartment, month, year, from, to)
{
	currentUrl = url;
	currentLanguage = language;
	currentApartment = apartment;
	currentMonth = month;
	currentYear = year;
	currentFrom = from;
	currentTo = to;
	
	_getCalendarRequest(0);
}

function getNextMonth()
{
	currentMonth = (currentMonth % 12) + 1;
	if (currentMonth == 1) {
		currentYear++;
	}
	_getCalendarRequest(1);
}

function getPreviousMonth()
{
	currentMonth = currentMonth - 1;
	if (currentMonth == 0) {
		currentMonth = 12;
		currentYear = currentYear - 1;
	}
	_getCalendarRequest(1);
}

function _getCalendarRequest(navigated)
{
	document.getElementById('calendar').innerHTML = "<div style=\"width:190px;padding-top:60px;padding-bottom:62px;text-align:center;\"><img src=\"/img/calendar/loader.gif\" width=\"32\" height=\"32\" border=\"0\" /></div>";
	
	removePopup();
		
	var success = 4;
	//currentUrl
	nocache = Math.random();
	var url = "/" + currentLanguage + "/calendar/index/apartment/" + currentApartment + "/m/" + currentMonth + "/y/" + currentYear + "/from/" + currentFrom + "/to/" + currentTo + "/cache/" + nocache;
	if (navigated == 1) {
		url += "/navigated/" + navigated;
	}

	request.abort();
	request.open("GET", url, true);
	request.onreadystatechange=function() {
		if (request.readyState == success) {
			document.getElementById('calendar').innerHTML = request.responseText;
		}
	}
	request.send(null);
}

function setDate(date)
{
	if (clickCounter % 2 == 0) {
		document.getElementById('from').value = date;
		document.getElementById('to').value = date;
	} else {
		document.getElementById('to').value = date;
	}
	clickCounter++;
	fillPopup(1);
}

function exactWindow(url, fname)
{
	width=660;
	height=444;
	Fhelpwindow=window.open(url,fname,"width="+(width)+",height="+(height)+",location=no,menubar=no,resizable=no,statusbar=no,scrollbars=yes,dependent=yes,locationbar=no,personalbar=no");
	Fhelpwindow.focus();
}
