/*
 * Tooltip script 
 * powered by jQuery (http://www.jquery.com)
 * 
 * written by Alen Grakalic (http://cssglobe.com)
 * 
 * for more info visit http://cssglobe.com/post/1695/easiest-tooltip-and-image-preview-using-jquery
 *
 */
 


this.tooltip = function(){	
	/* CONFIG */		
		xOffset = 10;
		yOffset = 20;		
		// these 2 variable determine popup's distance from the cursor
		// you might want to adjust to get the right result		
	/* END CONFIG */		
	jQuery("a.tooltip").hover(
	function(e){		
		this.tip = jQuery(this).next("div").html();
		jQuery("body").append("<p id='tooltip'>"+ this.tip +"</p>");
		jQuery("#tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px")
			.fadeIn("fast");		
    },
	function(){
		jQuery("#tooltip").remove();
    });	
	jQuery("a.tooltip").mousemove(function(e){
		jQuery("#tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px");
	});			
};



// starting the script on page load
jQuery(document).ready(function(){
	tooltip();
});

/*** 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();

   } else if(window.ActiveXObject) {
	  // Internet Explorer 5+
	  req = new ActiveXObject('Microsoft.XMLHTTP');
   } else {
	  alert('JavaScript : votre navigateur ne supporte pas les objets XMLHttpRequest...');
   }
   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.overrideMimeType('text/plain; charset=ISO-8859-1'); 
	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4 && xhr.status == 200) {
			var response = xhr.responseText;
			if(response) {
				document.getElementById(divCalendar).innerHTML = response;
					tooltip();
			}
		}
	}
	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.overrideMimeType('text/plain; charset=ISO-8859-1'); 
	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4 && xhr.status == 200) {
			var response = xhr.responseText;
			if(response) {
				document.getElementById(divLongDesc).innerHTML = response;
			}

		}
	}
	xhr.send(null);
}

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.overrideMimeType('text/plain; charset=ISO-8859-1'); 
	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4 && xhr.status == 200) {
			var response = xhr.responseText;
			if(response) {
				document.getElementById(divLongDesc).innerHTML = response;
			}
		}
	}
	xhr.send(null);
}

