// global request and XML document objects
var req;

// retrieve XML document (reusable generic function);
// parameter is URL string (relative or complete) to
// an .xml file whose Content-Type is a valid XML
// type, such as text/xml; XML source must be from
// same domain as HTML file
function loadXMLDoc(url) {
	// branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
	    req = new XMLHttpRequest();
	    req.onreadystatechange = processReqChange;
        req.open("GET", url, true);
        req.send(null);
		// branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        isIE = true;
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
			req.onreadystatechange = processReqChange;
            req.open("GET", url, true);
            req.send();
        } else {
			document.write("Error creating document");
		}
    }
}

// handle onreadystatechange event of req object
function processReqChange() {
	//document.write(req.readyState);
    // only if req shows "loaded"
    if (req.readyState == 4) {
	     // only if "OK"
        if (req.status == 200) {
             setCalendar(req.responseText);             
         } else {
            alert("There was a problem retrieving the XML data:\n" +
                req.statusText);
         }
    }
}

function setCalendar( cal ) {
	document.getElementById("kalenderData").innerHTML = cal;
}

var currentMonth;
var currentYear;
var currentAppartment;

function getCalendar( month, year, appartement ) {
	currentMonth = month;
	currentYear = year;
	currentAppartment = appartement;

	document.getElementById("kalenderData").innerHTML = 'Laden...';
	
	url = "/getAppartementKalender.php?m="+month+"&j="+year+"&a="+appartement;
	
	loadXMLDoc(url);
}

function nextMonth() {
	nextMonthX = currentMonth + 3;
	nextYear = currentYear;
	if(nextMonthX>12) {
		diff = nextMonthX - 12;
		nextMonthX = diff;
		nextYear++;
	}
	
	currentMonth = nextMonthX;
	currentYear = nextYear;
	getCalendar( currentMonth, currentYear, currentAppartment );
}

function previousMonth() {
	prevMonth = currentMonth - 3;
	prevYear = currentYear;
	if(prevMonth<1) {
		diff = 0-prevMonth;
		prevMonth = 12-diff;
		prevYear--;
	}
	
	currentMonth = prevMonth;
	currentYear = prevYear;

	var time=new Date();
	maand = time.getMonth()+1;
	year = time.getYear();
	if (year < 2000)
		year = year + 1900;
		
	if(currentYear<year) {
		currentMonth = maand;
		currentYear = year;
	} else if(currentYear==year && currentMonth<maand) {
		currentMonth = maand;
		currentYear = year;
	}	
	getCalendar( currentMonth, currentYear, currentAppartment );
}

