	
	//*********************************************************************************************
	//************************************* INFO BULLE ********************************************
	//*********************************************************************************************
	// Infobulle par Aurélien Da Campo
	document.write('<div id="infobulle" /></div>');

	var bulle;
	
	if(document.getElementById("infobulle") != null)
		bulle = document.getElementById("infobulle").style;
	
	var move 	= true;
	var moveX 	= true;
	var moveY 	= true;
	
	// Add listener for relevant browser
	if(navigator.appName.substring(0,3) == "Net") 
		document.captureEvents(Event.MOUSEMOVE);
	document.onmousemove = positionneInfoBulle;
		
	//------------------
	//-- Show tooptip --
	//------------------
	// ADC
	function afficheInfoBulle(msg) 
	{
		if(bulle.visibility == 'hidden')
		{
			document.getElementById("infobulle").innerHTML = msg;
			bulle.visibility = "visible";
			bulle.display = "block";
		}
	}
	
	//--------------------
	//-- Bounds tooptip --
	//--------------------
	// ADC
	function positionneInfoBulle(e) 
	{
		if(move)
		{
			// Init sizes from the relevant browser
			if (document.documentElement.clientHeight != 0)
			{
				cltHeight 	= document.documentElement.clientHeight;
				cltWidth	= document.documentElement.clientWidth;
				sclLeft 	= document.documentElement.scrollLeft;
				sclTop 		= document.documentElement.scrollTop;
			}
			else if (document.body.clientHeight != 0)
			{	
				cltHeight 	= document.body.clientHeight;
				cltWidth	= document.body.clientWidth;
				sclLeft 	= document.body.scrollLeft;
				sclTop 		= document.body.scrollTop;
			}

			// Mouse on screen position
			var x 			= (navigator.appName.substring(0,3) == "Net") ? e.pageX : event.clientX+sclLeft;
			var y 			= (navigator.appName.substring(0,3) == "Net") ? e.pageY : event.clientY+sclTop;
		
			// Real window's size 
			var winWidth 	= (cltWidth)+sclLeft;
			var winHeight 	= (cltHeight)+sclTop;

			// Size of the tooltip
			var bulleHeight = document.getElementById("infobulle").offsetHeight;
			var bulleWidth 	= document.getElementById("infobulle").offsetWidth;
			
			// Set Y position
			if(y+bulleHeight > winHeight && winHeight != 0)
				bulle.top 	= y-(y+bulleHeight-winHeight+15)+'px'; 
			else
				bulle.top 	= (y+15)+'px';
			
			// Set X position
			if(x+bulleWidth+20 > winWidth) 
				bulle.left 	= (x-bulleWidth-15)+'px';
			else 
				bulle.left 	= (x+15)+'px';
		}
	}
	
	//------------------
	//-- Stop tooltip --
	//------------------
	function stopInfoBulle() { move = false; }
	
	//------------------
	//-- Move tooltip --
	//------------------
	function moveInfoBulle() { move = true; }
	
	//------------------
	//-- Hide tooltip --
	//------------------
	// Author : ADC
	function effaceInfoBulle() 
	{
		if(move)
		{
			bulle.visibility = "hidden";
			bulle.display = "none";
		}
	}

	//---------------
	//-- Show sort --
	//---------------
	function showSort()
	{
		var sortBox = document.getElementById('sortBox');
			
		if(sortBox.style.display == 'block') sortBox.style.display = 'none';
		else sortBox.style.display = 'block';
	}
	
	
	//*********************************************************************************************
	//************************************* NEW WINDOW ********************************************
	//*********************************************************************************************

	//------------------------
	//-- new window (popup) --
	//------------------------
	function newin(url, name, width, height, top, left, param)
	{
		
		if(param == "all") param = 'location=yes,toolbar=yes,directories=yes,menubar=yes,resizable=yes,scrollbars=yes,status=yes';
		if(param == "nothing") param = 'location=no,toolbar=no,directories=no,menubar=no,resizable=no,scrollbars=no,status=no';
		if(param == "scroll") param = 'location=no,toolbar=no,directories=no,menubar=no,resizable=yes,scrollbars=yes,status=no';

		if(top=='') top=(screen.height/2-height/2);
		if(left=='') left=(screen.width/2-width/2);
		
		var fenetre = window.open(url,name,param+',width='+width+',height='+height+',screenY='+top+',screenX='+left);
		fenetre.moveTo(left,top);
		
	}
	
	//-------------------
	//-- resize window --
	//-------------------
	function resizeWin()
	{
		window.resizeTo(document.photo.width+50,document.photo.height+200);
		window.focus();
	}

	//****************************************************************************************
	//************************************* COOKIE *******************************************
	//****************************************************************************************
	function getCookie ( cookie_name )
	{
	  var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );
	
	  if ( results )
		return ( unescape ( results[2] ) );
	  else
		return null;
	}

	//******************************************************************************************
	//************************************* CALENDAR *******************************************
	//******************************************************************************************

	//-------------------------
	//-- open popup calendar --
	//-------------------------
	function popupCalend(fieldName)
	{
		// Init DOM object
		var yearSelect 	= document.getElementById(fieldName+"Y");
		var daySelect 	= document.getElementById(fieldName+"D");
		var monthSelect = document.getElementById(fieldName+"M");
		
		// Get year limits
		maxYear = yearSelect.options[1].text;
		minYear = yearSelect.options[yearSelect.length-1].text;
		
		// Build the current selected date
		var date = yearSelect.value.toString()+'-'+monthSelect.value.toString()+'-'+daySelect.value.toString();
		
		// Open the little calendar
		newin('../Scripts/littleCalendar.php?date='+date+'&fieldName='+fieldName+'&minYear='+minYear+'&maxYear='+maxYear,'FenCalendar',300,220,'','',"nothing");
	}
	
	//----------------
	//-- Show Frame --
	//----------------
	function showFrame(id)
	{
		frameLoginStyle = document.getElementById(id).style;
		if(frameLoginStyle.display == 'none')
			frameLoginStyle.display = 'block';
		else
			frameLoginStyle.display = 'none';
	}
	
	//-------------------
	//-- get extension --
	//-------------------
	function getExtension(fileName)
	{
		return (/[.]/.exec(fileName)) ? /[^.]+$/.exec(fileName) : undefined;
	}

	//**************************************************************************************
	//************************************* AJAX *******************************************
	//**************************************************************************************
	
	//------------------------
	//-- get XmlHttpRequest --
	//------------------------
	function getXhr()
	{
		var xhr = null; 
		
		if(window.XMLHttpRequest) // Firefox et autres
		   xhr = new XMLHttpRequest(); 
		else if(window.ActiveXObject) // Internet Explorer 
		{ 
			try			{ xhr = new ActiveXObject("Msxml2.XMLHTTP");	} 
			catch(e)	{ xhr = new ActiveXObject("Microsoft.XMLHTTP"); }
		}
		else // XMLHttpRequest non supporté par le navigateur
		{
		   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
		   xhr = false; 
		}
		
		return xhr
	}
	
	//----------------
	//-- add Ad Hit --
	//----------------
	function addAdHit(id,toViews)
	{
		var xhr		= getXhr();
		var params 	= "id="+id;
		var url 	= "http://"+window.location.hostname+"/Views/addClick.php";
		
		// onreadystatechange
		/*xhr.onreadystatechange = function() 
		{ 
			if (xhr.readyState==4) 
			{
				alert(xhr.responseText) 
			}
		};*/
		
		// call the page
		xhr.open("POST", url, true);
		
		// send the proper header information along with the request
		xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xhr.setRequestHeader("Content-length", params.length);
		xhr.setRequestHeader("Connection", "close");
		
		xhr.send(params);
	}
	
	
	//**************************************************************************************
	//********************************* MISCELLANEOUS **************************************
	//**************************************************************************************
	
	
	function changePage(page)
	{
		document.getElementById('pageStart').value = page ;
		document.getElementById('formSort').submit() ;
	}
	
	
	function focusOnSearchField(field)
	{
		if(field.value == 'Rechercher')
			field.value = '';
	}
	
	
	function getElementsByClassName(className, tag, elm)
	{
		var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
		var tag = tag || "*";
		var elm = elm || document;
		var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
		var returnElements = [];
		var current;
		var length = elements.length;
		for(var i=0; i<length; i++){
			current = elements[i];
			if(testClass.test(current.className)){
				returnElements.push(current);
			}
		}
		return returnElements;
	}
	
	
	function getNbrDaysInMonth(month, year)
	{
		return 32 - new Date(year, month, 32).getDate();
	}

	
	
