/************************************************************************************
			Author : Patrick Mettraux
			Release : 1.0
			Date : 21.04.2009
			Name : functionAjax.inc.js
			Description : This file contain the function for use ajax.
	************************************************************************************/
	
	/************************************************************************************
		Purpose : use ans ajax page
		Return : The fonction return the result of ajax page in the tagetHTML
	************************************************************************************/
	function SendAjax (param, target, targetHTML, JS, id_page)
	{
		//Check if we can use ajax with this web browser
		var xhr_object = null; 	     
		if(window.XMLHttpRequest) //Firefox 
			xhr_object = new XMLHttpRequest(); 
			
		else if(window.ActiveXObject) //Internet Explorer 
		
			xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); 
		else 
		{ 
			//XMLHttpRequest unsuported by this web browser
			alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
			return; 
		} 
		//end of ajax verification
		
		var Result = '';
		//open the page
		xhr_object.open('POST', target, true); 
		
		//waiting the answer
		xhr_object.onreadystatechange = function() 
		{ 
			if(xhr_object.readyState == 4)
			{
				if (JS != null)
				{
					switch(JS)
					{
						case 'height':
							document.getElementById(targetHTML).style.height = xhr_object.responseText+"px";
						break;
						case 'value':
							document.getElementById(targetHTML).innerHTML = xhr_object.responseText;
							var texte = document.getElementById(targetHTML).innerHTML;
							texte = texte.replace(/&quot;/g,'";'); // 34 22
							document.getElementById(targetHTML).innerHTML = '<form method="post" action="page-'+id_page+'-sauvegarde.html">\n<input type="hidden" name="id_page" value="'+id_page+'">\n<textarea name="texte" id="texte_page_ta">'+texte+'</textarea>\n<input type="submit" name="submit" value="Sauvegarder" /><input type="button" name="cancel" value="Annuler" onclick="javascript:document.location.href=\'\'" /></form>'
							
							var oFCKeditor = new FCKeditor( 'texte' ) ;
							oFCKeditor.BasePath = "/cms_core/script/fckeditor/" ;
							oFCKeditor.Height   = 300 ;
							oFCKeditor.Value = texte;
							oFCKeditor.ReplaceTextarea() ;	
						break;
					}
				}
				else
				{
					document.getElementById(targetHTML).innerHTML = xhr_object.responseText; // Execution du code javascript renvoyé par la page	
				}
			}
		} 
		xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
		
		// Envoie de la requête
		xhr_object.send(param); 
		
		return xhr_object;
	}
	
	/************************************************************************************
		Purpose : change de number of day in a select in function of the month and year
		Return : The fonction return nothing
	************************************************************************************/
	function editDate(day, month, year, maxYear, minYear, targetDiv, targetLoading)
	{
		dd = document.getElementById(day);
		dm = document.getElementById(month);
		dy = document.getElementById(year);
		data_day = dd.options[dd.selectedIndex].value;
		data_month = dm.options[dm.selectedIndex].value;
		data_year = dy.options[dy.selectedIndex].value;
		donnee = 'day='+data_day+'&month='+data_month+'&year='+data_year+'&maxYear='+maxYear+'&minYear='+minYear+'&target='+targetDiv;
		SendAjax(donnee, 'include/ajax/editDate.ajx.php', targetDiv, targetLoading);
	}
	
	/************************************************************************************
		Purpose : draw the global loading
		Return : The fonction return nothing
	************************************************************************************/
	function drawLoading()
	{
		donnee = 'width='+screen.availWidth+'&height='+screen.availHeight;
		SendAjax(donnee, 'include/ajax/drawLoading.ajx.php', 'loadingGlob', 'loadingGlob');
	}
