/*** local Javascript float routines ***************************************/

var IE = document.all?true:false;
if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = qCalendarGetMouseXY;
var qCalendarMouseX = 0;
var qCalendarMouseY = 0;

function qCalendarGetMouseXY(e) {
	if (IE) {
		qCalendarMouseX = event.clientX + document.body.scrollLeft;
		qCalendarMouseY = event.clientY + document.body.scrollTop;
	}
	else {
		qCalendarMouseX = e.pageX;
		qCalendarMouseY = e.pageY;
	}
	return true;
}

function qCalendarDetailsFloatOn(divLongDesc, theme, id) {
	// move the div box
	document.getElementById(divLongDesc).style.left=qCalendarMouseX + 'px';
	document.getElementById(divLongDesc).style.top=qCalendarMouseY + 'px';
	// display content
	document.getElementById(divLongDesc).style.visibility='visible';
	qCalendarDetails(divLongDesc, theme, id);
}

function qCalendarAllDetailsFloatOn(divLongDesc, theme, d, m, y, c) {
	// move the div box
	document.getElementById(divLongDesc).style.left=qCalendarMouseX + 'px';
	document.getElementById(divLongDesc).style.top=qCalendarMouseY + 'px';
	// display content
	document.getElementById(divLongDesc).style.visibility='visible';
	qCalendarAllDetails(divLongDesc, theme, d, m, y, c);
}

function qCalendarDetailsFloatOff(divLongDesc) {
	// hid float
	document.getElementById(divLongDesc).style.visibility='hidden';
}

/*** AJAX client-side Javascript ********************************************/

function createQCObject() {
   var req;
   if(window.XMLHttpRequest){
	  // Firefox, Safari, Opera...
	  req = new XMLHttpRequest();
	  //req.overrideMimeType('text/html; charset=ISO-8859-2');
   } else if(window.ActiveXObject) {
	  // Internet Explorer 5+
	  req = new ActiveXObject('Microsoft.XMLHTTP');
	  //req.setRequestHeader("Content-Type", "text/html; charset=ISO-8859-2");
	  //req.setRequestHeader("charset", "iso-8859-2");
   } else {
	  alert('Problem creating the XMLHttpRequest object');
   }
   
   return req;
}

// Make the XMLHttpRequest object
var xhr = createQCObject();

//  qcalendarsyspath is set in controller.php

function displayQCalendar(theme, divCalendar, divLongDesc, d, m, y, c) {
	var ran_no = new Date().getTime();
	xhr.open('get', qcalendarsyspath+'controller.php?theme='+theme+'&divCalendar='+divCalendar+'&divLongDesc='+divLongDesc+'&d='+d+'&m='+m+'&y='+y+'&c='+c+'&ran='+ran_no);
	
	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4 && xhr.status == 200) {
			var response = xhr.responseText;
			if(response) {
				document.getElementById(divCalendar).innerHTML = response;
			}
		}
	}
	//xhr.setRequestHeader("Content-Type", "text/html; charset=ISO-8859-2");
	//xhr.setRequestHeader("charset", "iso-8859-2");

	xhr.send(null);

	//
  

}

function qCalendarDetails(divLongDesc, theme, id) {
	var ran_no = new Date().getTime();
	xhr.open('get', qcalendarsyspath+'controller.php?theme='+theme+'&id='+id+'&ran='+ran_no);
	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4 && xhr.status == 200) {
			var response = xhr.responseText;
			if(response) {
				document.getElementById(divLongDesc).innerHTML = response;
			}

		}
	}
	
	xhr.send(null);
	xhr.overrideMimeType('text/html; charset=ISO-8859-2');
}

function qCalendarAllDetails(divLongDesc, theme, d, m, y, c) {
	var ran_no = new Date().getTime();
	xhr.open('get', qcalendarsyspath+'controller.php?theme='+theme+'&d='+d+'&m='+m+'&y='+y+'&c='+c+'&ran='+ran_no);
	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4 && xhr.status == 200) {
			var response = xhr.responseText;
			if(response) {
				document.getElementById(divLongDesc).innerHTML = response;
			}
		}
	}
	
	xhr.send(null);
	xhr.overrideMimeType('text/html; charset=ISO-8859-2');
}


