

this.load = function(element_id,url,message)
{
	
	if( !message ) message = '<div class="tnChargement">Chargement en cours...</div>';
	var req = null; 
	var div = document.getElementById(element_id);
	var memoire = div.innerHTML;
	
	
	div.innerHTML=message;
	if(window.XMLHttpRequest)
		req = new XMLHttpRequest(); 
	else if (window.ActiveXObject)
		req  = new ActiveXObject("Microsoft.XMLHTTP"); 
	
	req.onreadystatechange = function()
	{ 
		div.innerHTML=message;
		if(req.readyState == 4)
		{
			switch( req.status ){
				case 12029: // Erreurs de proxy ou firewall, on reessaie la requete 3 fois
			    case 12030:
			    case 12031:
			    case 12152:
			    case 12159:
			    	div.innerHTML = '<div class="tnChargement">Vous rencontrez des probl&egrave;mes de connexion &agrave; cause d\'un proxy ou d\'un par-feu. <br/>Pour plus de renseignement, contactez votre administrateur ou Tehms &agrave; l\'adresse contact@tehms.com</div>';
			    break;
			    
			    case 200: // Reponse positive
			    	
		    		var header_debut = req.responseText.substring(0,47);
		    		
		    		if( header_debut == "<div class=\"tehmsheader\" style=\"display:none;\">" ){
			    		var header_fin = req.responseText.substring(47).indexOf("</div>\n\n\n\n") + 47;
			    		var header_contenu = req.responseText.substring(47,header_fin);
			    		var header_text = req.responseText.substring(51,header_fin);
						var page_html = req.responseText.substring(header_fin + 9);
		    			var code = header_contenu.substring(0,4);
						code = parseInt(code,10);
						switch( code ){
					    	case 201: // Execution automatique d'un script
						    	div.innerHTML=page_html;
						    	eval(header_text);
						    break;
						    case 3001: // LOGIN
						    	document.location.href="/";
						    break;
						   	default:	// Autre code d'erreur, on affiche le formulaire de retour de bug
						    	div.innerHTML = memoire;
						    break;
						}
		    		}else{
		    			div.innerHTML=req.responseText;
		    		}
		    	
			    break;
			    
			    
				default: 	// Autre code d'erreur, on affiche le formulaire de retour de bug
			    	div.innerHTML = '<div class="tnChargement">Erreur ' + req.status + ' : ' + req.statusText + '<br/><a href="#" onclick="popup(\'erreur\',\'index.php5?module=portail&amp;page=saisie_erreur&amp;libelle='+(req.status + ' : ' + encodeURIComponent(req.statusText).replace(/\'/g,'\\\''))+'&url='+encodeURIComponent(url)+'\');return false;">Signaler l\'erreur</a></div>';
			    break;
			}

		}
	}; 
	req.open("GET", url, true); 
	req.setRequestHeader("Pragma","no-cache");
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	req.send(null);
} 

	
