/* 
 * jQuery Cursor Message Plugin Perso
 * Depends:
 * jQuery UI Position 1.8.2
 */
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 		+= '<table border="0" style="width: 100%; height:100%;">';
			xDiv 		+= '<table >';
			xDiv 		+= '    <tr height="8px">';
			xDiv 		+= '      <td class="cursorMessage-hg" width="8px" />';
			xDiv 		+= '      <td class="cursorMessage-h" />';
			xDiv 		+= '      <td class="cursorMessage-hd" width="8px" />';
			xDiv 		+= '    </tr>';
			xDiv 		+= '    <tr>';
			xDiv 		+= '      <td class="cursorMessage-g" width="8px" />';
			xDiv 		+= '      <td class="cursorMessage-content"> <div id="cursorMessageDiv-Text" class="CursorMessage-defaut"> &nbsp; </div> </td>';
			xDiv 		+= '      <td class="cursorMessage-d" width="8px" />';
			xDiv 		+= '    </tr>';
			xDiv 		+= '    <tr height="8px">';
			xDiv 		+= '      <td class="cursorMessage-bg" width="8px" />';
			xDiv 		+= '      <td class="cursorMessage-b" />';
			xDiv 		+= '      <td class="cursorMessage-bd" width="8px" />';
			xDiv 		+= '    </tr>';
			xDiv 		+= '</table>';
			xDiv 		+= '</div>';

			$('body').append(xDiv);
			$('#cursorMessageDiv-Box').hide();
			
		}
		
		
		$('body').bind('mousemove.cursorMsgHandler',function(e) {
			$.cursorMessageData.mouseX = e.pageX;
			$.cursorMessageData.mouseY = e.pageY;
			if ($.cursorMessageData.options != undefined) $._showCursorMessage();
		});
		
		// $(document).bind('mousemove.cursorMsgHandler',function(e) {
		// //$(document).mousemove(function(e) {
			// $("#cursorMessageDiv-Box").position({
				// my: "center bottom",
				// of: e,
				// offset: "0 -10",
				// collision: "fit"
			// });
		// });


	});	
	$.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 = 30000;
			if( options.close == undefined ) options.close= false;
			if( options.width == undefined ) options.width= 0;
			if( options.typeMessage == undefined ) options.typeMessage= "Aide";
			if( options.posTop == undefined ) options.posTop= 0;
			if( options.posLeft == undefined ) options.posLeft= 0;
			
			// var hideCursorMessage = function() {
				// $('#cursorMessageDiv-Box').hide();
				// $(document).unbind('mousemove.cursorMsgHandler');
			// };

			if(options.close){	
				$.hideCursorMessage();
			}else{
				 if(options.width>0) {
					 $('#cursorMessageDiv-Text').css({width:options.width+'px' , display:'block'});
					 $('#cursorMessageDiv-Box').css({width:(options.width+40)+'px' , display:'block'});
				 }
				
				
				// Type de message
				if (options.typeMessage == "Aide"){
					$('#cursorMessageDiv-Text').removeClass();
					$('#cursorMessageDiv-Text').addClass("CursorMessage-aide");
					$('#cursorMessageDiv-Text').html(message);
				}else if(options.typeMessage == "Alerte"){
					$('#cursorMessageDiv-Text').removeClass();					
					$('#cursorMessageDiv-Text').addClass("CursorMessage-alerte");
					$('#cursorMessageDiv-Text').html("<img src='/PORTAIL_FAMILLES_WEB/attention_20.png'> &nbsp; "+message);
				}
				
				$('#cursorMessageDiv-Box').show();
				
				//alert("window.event.x :"+window.event.x + " - window.event.y : "+window.event.x)
				
				if (jQuery.cursorMessageData.hideTimoutId != undefined)  clearTimeout(jQuery.cursorMessageData.hideTimoutId);
				jQuery.cursorMessageData.hideTimoutId = setTimeout($.hideCursorMessage,options.hideTimeout);
				jQuery.cursorMessageData.options = options;
				$._showCursorMessage();


			}
		},
		hideCursorMessage: function() {
			$('#cursorMessageDiv-Box').hide();
			
			//alert("hideCursorMessage");
			//$(document).unbind('mousemove.cursorMsgHandler');
		},

//		},
//		
		_showCursorMessage: function() {
			var xPosX;
			
			if ($.cursorMessageData.options.typeMessage == 'Alerte' ){
			
				$('#cursorMessageDiv-Box').css({ top: ($.cursorMessageData.options.posTop)+'px', left: ($.cursorMessageData.options.posLeft)+"px" })
				
			}else{
			
				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);
}
