// JavaScript Document
<!--
window.onload = function(){resize_window()}

var MonObjet;
var hauteurDiv=0;
var divOpenStatus = false;
var urlRequest = "";

function ouvrir_ajaxPopup(id)
{
	getContentByUrl('index.php?p=agenda&id=' + id)
	document.getElementById("textDiv").style.display = 'block' ;
}

function fermer_ajaxPopup()
{
	document.getElementById("textDiv").innerHTML  = "";
	document.getElementById("textDiv").style.display = 'none' ;
}
function fermeFenetre() 
{
	window.open('','_parent','');
	window.close();
}

function flashHeight() {
	newWidth = document.getElementById("indexFlash").offsetWidth;
	newHeight = newWidth*.20;
	document.getElementById("fruitagenda").style.height = newHeight+"px";
}
		
function detect_ieversion()
{
	//Detect IE5.5+
	version=0
	if (navigator.appVersion.indexOf("MSIE")!=-1){
	temp=navigator.appVersion.split("MSIE");
	version=parseFloat(temp[1]);
	//alert(version);
		if(version<=6)
		{
		document.getElementById("textDiv").style.marginTop = '-210px';
		document.getElementById("textDiv").style.height = '420px';
		}
	}

}


function resize_window()
{
	window.moveTo(0,0);
	
	
	if (document.all)
	{
	  top.window.resizeTo(screen.availWidth,screen.availHeight);
	}
	
	else if (document.layers||document.getElementById)
	{
	  if (top.window.outerHeight<screen.availHeight||top.window.outerWidth<screen.availWidth)
	  {
		top.window.outerHeight = screen.availHeight;
		top.window.outerWidth = screen.availWidth;
	  }
	}	
}

function GetObject(ID) {
   if (document.getElementById) {
      return document.getElementById(ID);
   }
   if (document.layers) {
      return eval('document.'+ID);
   }
   if (document.all) {
      return eval('document.all.'+ID);
   }
}


function InitObjet(ID) {            //Initialisation du DIV
   //MonObjet = GetObject(ID);
   //MoveTo(MonObjet, pos_x, bas_de_page);
   document.getElementById("textDiv").style.height = '1px';
   //scroll(210);
}

function Ajax() {
	var datas = "";
	
	this.init = function(settings) {
		this.settings = settings;
	
		this.def("parametres", null); 					// fonction appelée en retour
		this.def("prechargement", null); 				// fonction, nom d'id, ou objet pour afficher le message de chargement en cours
		this.def("prechargement_complementaire", null); // fonction d'exécution complémentaire au préchargement
		this.def("prechargement_message", "<img src=\"portail/flash/imgchargement.gif\" />");	// message de chargement
		this.def("async", true);			// mode de synchronisation (asynchrone par defaut)
		this.def("alerte", true);			// si true, affiche les erreurs et n'execute pas la fonction de récupération
	};
		
	this.def = function(key, def_val) {
		this.settings[key] = this.getParam(key, def_val);
	};

	this.getParam = function(name, def_val) {
		var v = (typeof(this.settings[name]) == "undefined") ? def_val : this.settings[name];
		return (v == "true" || v == "false") ? (v == "true"): v;
	};
	
	this.prechargement = function() {
		switch (typeof this.settings["prechargement"]) {
			case "function" :
				this.settings["prechargement"]();
				break;
			case "object" :
				this.settings["prechargement"].innerHTML = this.settings["prechargement_message"];
				break;
			case "string" :
				document.getElementById(this.settings["prechargement"]).innerHTML = this.settings["prechargement_message"];
		}
	};
	
	this.prechargement_complementaire = function() {
		if (typeof this.settings["prechargement_complementaire"] == "function")
			this.settings["prechargement_complementaire"]();			
	};
		
	this.charger = function( sMethod, sUrl, funct ) {
		var xhr, oReturn = new Object();
		var parametres = this.settings["parametres"];
		var alerte = this.settings["alerte"];
		
		// objet à utiliser selon navigateur
		if (window.XMLHttpRequest)
			xhr = new XMLHttpRequest();			
		else if (window.ActiveXObject) // IE/Windows ActiveX version
			xhr = new ActiveXObject("Microsoft.XMLHTTP");		

		if (xhr) {	
			this.prechargement_complementaire();	
			this.prechargement();
			
			if(datas.length > 0) {
				(sUrl.indexOf("?") == -1) ? sUrl += "?" : sUrl += "&";
				sUrl += datas;
			}	
			xhr.open(sMethod, sUrl, this.settings["async"]);
			
			// le script appelé doit savoir que c'est un XMLHttpRequest
			xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");

			// s'assurer que le navigateur envoie la bonne longeur de données
			if ( xhr.overrideMimeType )
				xhr.setRequestHeader("Connection", "close");
			
			xhr.onreadystatechange = function() {			
				if (xhr.readyState == 4) {
					if(xhr.status == 200) {						
						oReturn.erreur = false;	
						oReturn.responseText = xhr.responseText;
						oReturn.responseXml = xhr.responseXML;
					}
					else {
						oReturn.erreur = true;
						oReturn.message = "Un problème est survenu lors de la réception de données XML :\n" + xhr.statusText + " (" + xhr.status + ")";
					}
										
					// libére la mémoire
					xhr.onreadystatechange = function(){};
					xhr = null;
					
					if (alerte && oReturn.erreur)
						alert(oReturn.message);
					else
						funct(oReturn, parametres);						
				}
			};					
			if (sMethod.toUpperCase() == "POST") {
				xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");				
				xhr.send(datas);
			}
			else
				xhr.send(null);
		}
		else { 
			oReturn.erreur = true;
			oReturn.message = "Impossible d'obtenir des données XML."; 
			if (alerte)
				alert(oReturn.message);
			else
				funct(oReturn, parametres);	
		}				
	};
		
	this.donnees = function(o) {
		var s = [];
		for ( var j in o )
			s.push( j + "=" + encodeURIComponent(o[j]) );
		datas = s.join("&");
	};
	
	this.effaceDonnees = function() {
		datas = "";
	};
}

function getContentByUrl(urlpath) {
	var oAjax = new Ajax();
	oAjax.init({
		parametres : document.getElementById("textDiv"),
		prechargement : document.getElementById("textDiv")						
	});
	oAjax.charger("GET", urlpath, getXhr);	
}


function getXhr(oXhr, oDiv) {
	if (oDiv) {
		oDiv.innerHTML =  oXhr.responseText;
		//alert(oXhr.responseText);

	}	
}
