// jQuery Cursor Message Plugin
//
// Version 0.1
//
// Tim de Koning
// Kingsquare Information Services (http://www.kingsquare.nl/)
//
// Visit http://www.kingsquare.nl/cursorMessage for usage and more information
//
// Terms of Use
//
// This file is released under the GPL, any version you like
//

if(jQuery) {
	( function($) {
	$.cursorMessageData = {}; // needed for e.g. timeoutId
	//start registring mouse coöridnates from the start!

	$(window).ready(function(e) {
		if ($('#cursorMessageDiv').length==0) {		
			// Petite modification au plugin, pour ajouter des bords arrondis
			var xDiv	 = '<div id="cursorMessageDiv-Box">';
			xDiv 		+= '<div class="cursorMessageDiv-Border1"/>';
			xDiv 		+= '<div class="cursorMessageDiv-Border2"/>';
			xDiv 		+= '<div class="cursorMessageDiv-Border3"/>';
			xDiv 		+= '<div class="cursorMessageDiv-Border4"/>';
			xDiv 		+= '<div class="cursorMessageDiv-Border5"/>';
			xDiv 		+= '<div class="cursorMessageDiv-Border6"/>';
			xDiv 		+= '<div class="cursorMessageDiv-Border7"/>';
			xDiv 		+= '<div class="cursorMessageDiv-Border8">';
			xDiv 		+= '<div id="cursorMessageDiv-Text" class="Lib-aide"> &nbsp; </div></div>'
			xDiv 		+= '<div class="cursorMessageDiv-Border7"/>';
			xDiv 		+= '<div class="cursorMessageDiv-Border6"/>';
			xDiv 		+= '<div class="cursorMessageDiv-Border5"/>';
			xDiv 		+= '<div class="cursorMessageDiv-Border4"/>';
			xDiv 		+= '<div class="cursorMessageDiv-Border3"/>';
			xDiv 		+= '<div class="cursorMessageDiv-Border2"/>';
			xDiv 		+= '<div class="cursorMessageDiv-Border1"/>';
			xDiv 		+= '</div>';
		
			$('body').append(xDiv);
			$('#cursorMessageDiv-Box').hide();
		}

		$('body').mousemove(function(e) {
			$.cursorMessageData.mouseX = e.pageX;
			$.cursorMessageData.mouseY = e.pageY;
			if ($.cursorMessageData.options != undefined) $._showCursorMessage();
		});
	});	
	$.extend({
		cursorMessage: function(message, options) {
			if( options == undefined ) options = {};
			if( options.offsetX == undefined ) options.offsetX = 5;
			if( options.offsetY == undefined ) options.offsetY = 5;
			if( options.hideTimeout == undefined ) options.hideTimeout = 1000;
			if( options.close == undefined ) options.close= false;
			if( options.width == undefined ) options.width= 200;
			
			var hideCursorMessage = function() {
				$('#cursorMessageDiv-Text').html(message)
				$('#cursorMessageDiv-Box').fadeOut('slow');				
			};

			if(options.close){	
				//$('#cursorMessageDiv-Box').fadeOut('normal');	
				$('#cursorMessageDiv-Box').hide();					
			}else{
				if(options.width>0) {
					$('#cursorMessageDiv-Text').css({width:options.width+'px' , display:'block'});
					$('#cursorMessageDiv-Box').css({width:(options.width+12)+'px' , display:'block'});
				}

				$('#cursorMessageDiv-Text').html(message);
				//document.getElementById('cursorMessageDiv-Text').innerHTML = message;
				$('#cursorMessageDiv-Box').fadeIn('slow');
				if (jQuery.cursorMessageData.hideTimoutId != undefined)  clearTimeout(jQuery.cursorMessageData.hideTimoutId);
				jQuery.cursorMessageData.hideTimoutId = setTimeout(hideCursorMessage,options.hideTimeout);
				jQuery.cursorMessageData.options = options;
				$._showCursorMessage();
			}
		},
		
		_showCursorMessage: function() {
			var xPosX;
			
			if (($.cursorMessageData.mouseX + $.cursorMessageData.options.offsetX+$.cursorMessageData.options.width) <= $(window).width()){
				xPosX = $.cursorMessageData.mouseX + $.cursorMessageData.options.offsetX ;
			}else{
				xPosX = $.cursorMessageData.mouseX + $.cursorMessageData.options.offsetX - $.cursorMessageData.options.width
			}			
			
			$('#cursorMessageDiv-Box').css({ top: ($.cursorMessageData.mouseY + $.cursorMessageData.options.offsetY)+'px', left: (xPosX)+"px" })
			//$('#cursorMessageDiv-Box').css({ top: ($.cursorMessageData.mouseY + $.cursorMessageData.options.offsetY)+'px', left: ($.cursorMessageData.mouseX + $.cursorMessageData.options.offsetX) })
		}
	});
})(jQuery);
}
