//Inline HTML Tooltip script: By JavaScript Kit: http://www.javascriptkit.com
//Created: July 10th, 08'

var htmltooltip={
	tipclass: 'htmltooltip',
	fadeeffect: [true, 500],
	anchors: [],
	tooltips: [], //array to contain references to all tooltip DIVs on the page

	positiontip:function($, tipindex, e){
		var anchor=this.anchors[tipindex]
		var tooltip=this.tooltips[tipindex]
		var scrollLeft=window.pageXOffset? window.pageXOffset : this.iebody.scrollLeft
		var scrollTop=window.pageYOffset? window.pageYOffset : this.iebody.scrollTop
		var docwidth=(window.innerWidth)? window.innerWidth-50 : htmltooltip.iebody.clientWidth-50
		var docheight=(window.innerHeight)? window.innerHeight-18 : htmltooltip.iebody.clientHeight-15
				
		docwidth=756;		
		
		/*if(tooltip.dimensions.w<500)
			tooltip.dimensions.w=500;
		*/
		var tipx=anchor.dimensions.offsetx
		var tipy=anchor.dimensions.offsety+anchor.dimensions.h
		tipx=(tipx+tooltip.dimensions.w-scrollLeft>docwidth)? tipx-tooltip.dimensions.w : tipx //account for right edge
		tipy=(tipy+tooltip.dimensions.h-scrollTop>docheight)? tipy-tooltip.dimensions.h-anchor.dimensions.h : tipy //account for bottom edge
		//tipx+=0;
		if(tipx<0)
			tipx=10;
				
			window.status="tooltip.dimensions:"+tooltip.dimensions.w+" tipx:"+tipx+"   tipy:"+tipy+ "   docwidth:"+docwidth+" anchor.x:"+anchor.dimensions.offsetx+" scrollleft:"+scrollLeft;
		$(tooltip).css({left: tipx, top: tipy})
	},

	showtip:function($, tipindex, e){
		var tooltip=this.tooltips[tipindex]
		                          
	                     
		if (this.fadeeffect[0])
			$(tooltip).hide().fadeIn(this.fadeeffect[1])
		else
			$(tooltip).show()
	},

	hidetip:function($, tipindex, e){
		var tooltip=this.tooltips[tipindex]
		if (this.fadeeffect[0])
			$(tooltip).fadeOut(this.fadeeffect[1])
		else
			$(tooltip).hide()	
	},

	updateanchordimensions:function($){
		var $anchors=$('*[@rel="'+htmltooltip.tipclass+'"]')
		$anchors.each(function(index){
			this.dimensions={w:this.offsetWidth, h:this.offsetHeight, offsetx:$(this).offset().left, offsety:$(this).offset().top}
		})
	},

	render:function(){
		jQuery(document).ready(function($){
			
			//jQuery('.htmltooltip').remove();
			htmltooltip.iebody=(document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
					
			
			$anchors=$('*[@rel="'+htmltooltip.tipclass+'"]')
			$tooltips=$('div[@class="'+htmltooltip.tipclass+'"]')
			
			$anchors.each(function(index){ //find all links with "title=htmltooltip" declaration
				this.dimensions={w:this.offsetWidth, h:this.offsetHeight, offsetx:$(this).offset().left, offsety:$(this).offset().top} //store anchor dimensions
				this.tippos=index+' pos' //store index of corresponding tooltip
				var tooltip=$tooltips.eq(index).get(0) //ref corresponding tooltip
				if (tooltip==null) //if no corresponding tooltip found
					return //exist
				tooltip.dimensions={w:tooltip.offsetWidth, h:tooltip.offsetHeight}
				$(tooltip).remove().appendTo('body') //add tooltip to end of BODY for easier positioning
				htmltooltip.tooltips.push(tooltip) //store reference to each tooltip
				htmltooltip.anchors.push(this) //store reference to each anchor
				var $anchor=$(this)
				$anchor.hover(
					function(e){ //onMouseover element
						//alert(parseInt(this.tippos));	
						htmltooltip.positiontip($, parseInt(this.tippos), e)
						htmltooltip.showtip($, parseInt(this.tippos), e)
					},
					function(e){ //onMouseout element
						htmltooltip.hidetip($, parseInt(this.tippos), e)
					}
				)
				$(window).bind("resize", function(){htmltooltip.updateanchordimensions($)})
			})
		})
	},
	
	nettoyer:function(){
		//alert('nettoyer');
		var $anchors=new Array();
		var $tooltips=new Array();	
	},
	
	relancer:function()
	{
		//alert('relancer');
		htmltooltip.iebody=(document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
				
				
				$anchors=$('*[@rel="'+htmltooltip.tipclass+'"]')
				$tooltips=$('div[@class="'+htmltooltip.tipclass+'"]')
				
				$anchors.each(function(index){ //find all links with "title=htmltooltip" declaration
					this.dimensions={w:this.offsetWidth, h:this.offsetHeight, offsetx:$(this).offset().left, offsety:$(this).offset().top} //store anchor dimensions
					this.tippos=index+' pos' //store index of corresponding tooltip
					var tooltip=$tooltips.eq(index).get(0) //ref corresponding tooltip
					if (tooltip==null) //if no corresponding tooltip found
						return //exist
					tooltip.dimensions={w:tooltip.offsetWidth, h:tooltip.offsetHeight}
					$(tooltip).remove().appendTo('body') //add tooltip to end of BODY for easier positioning
					htmltooltip.tooltips.push(tooltip) //store reference to each tooltip
					htmltooltip.anchors.push(this) //store reference to each anchor
					var $anchor=$(this)
					$anchor.hover(
						function(e){ //onMouseover element
							//alert(parseInt(this.tippos));	
							htmltooltip.positiontip($, parseInt(this.tippos), e)
							htmltooltip.showtip($, parseInt(this.tippos), e)
						},
						function(e){ //onMouseout element
							htmltooltip.hidetip($, parseInt(this.tippos), e)
						}
					)
					$(window).bind("resize", function(){htmltooltip.updateanchordimensions($)})
				})
	}	
}

htmltooltip.render()
