// JavaScript Document

function cLoader()
{
	var http_request = false;
	var ziel_container=false;
	var ziel_function=false;
	
	this.loadContent=function(url)
	{
		http_request = false;
	
		if (window.XMLHttpRequest) // Mozilla, Safari,...
		{
			http_request = new XMLHttpRequest();
			if (http_request.overrideMimeType)
			{
				http_request.overrideMimeType('text/xml');
			}
		}
		else if (window.ActiveXObject) // IE
		{
			try
			{
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e)
			{
				try
				{
					http_request = new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (e) {}
			}
		}
	
		if (!http_request)
		{
			alert('Fehler: XMLHTTP-Instanz konnte nicht erzeugt werden');
			return false;
		}
		http_request.open('GET', url, true);
		http_request.onreadystatechange = this.handleContent;
		http_request.send(null);
	}
	
	this.loadContentIC = function(url,obj,fnc)
	{
		ziel_function=fnc && fnc!='undefined' ? fnc : false;
		ziel_container=obj;
		this.loadContent(url);
	}
	this.loadContentIFnc = function(url,fnc)
	{
		ziel_function=fnc;
		ziel_container=false;
		this.loadContent(url);
	}
	
	this.handleContent=function()
	{
		var ret_text='';
		switch(http_request.readyState)
		{
			case 0: // nicht initialisiert
				ret_text='nicht initialisiert';
				break;
			case 1: // lade
				ret_text='<img src="/img/icons/loading.gif" alt="Lade Daten" />';
				break;
			case 2: // geladen
				ret_text='Daten geladen';
				break;
			case 3: // interaktiv
				//ret_text='interaktiv';
				ret_text='<img src="/img/icons/loading.gif" alt="Lade Daten" />';
				break;
			case 4: // vollständig
				switch(http_request.status)
				{
					case 200: // alles korrekt geladen
						ret_text=http_request.responseText;
						break;
					case 404: // nicht gefunden
						ret_text='Bei der Anfrage ist ein Problem aufgetreten: ';	
						ret_text+='Die Seite wurde nicht gefunden';
						break;
					case 500: // interner Server-Fehler
						ret_text='Bei der Anfrage ist ein Problem aufgetreten: ';
						ret_text+='Ein interner Server-Fehler ist aufgetreten';
						break;
					default: // unbekannter Fehler
						ret_text='Bei der Anfrage ist ein Problem aufgetreten: ';
						ret_text+='Ein unbekannter Fehler ist aufgetreten';
						break;
				}
				break;
			default:
				ret_text='Status konnte nicht abgefragt werden';
				//unbekannter Status
				break;
		}
		
		if(!ziel_container)
		{
			//return ret_text
			if(!ziel_function)
			{
				
			}
			else
			{
				window[ziel_function](http_request.responseXML.documentElement,ret_text,http_request.readyState);
			}
		}
		else
		{
			ziel_container.innerHTML=ret_text;
			ziel_container.style.height="auto";
			if(ziel_function)
			{
				window[ziel_function](http_request.responseXML.documentElement,ret_text,http_request.readyState);
			}
		}
	}
}


function loadContentIC(url,obj,fnc)
{
	var cLoader_=new cLoader();
	cLoader_.loadContentIC(url,obj,fnc);
}
function loadContentIFnc(url,fnc)
{
	var cLoader_=new cLoader();
	cLoader_.loadContentIFnc(url,fnc);
}

