
//AJAX--start
function CMX_CreateRequestObject()
{
    CMX_http_request = false;
    if(window.XMLHttpRequest)
    { // Mozilla, Safari, ...
        CMX_http_request = new XMLHttpRequest();
        if (CMX_http_request.overrideMimeType)
        {
            CMX_http_request.overrideMimeType('text/plain');
     	}
    }
    else
    {
     	CMX_http_request = new ActiveXObject("Microsoft.XMLHTTP");
    }
    if(!CMX_http_request)
    {
        alert('Fehler: XMLHTTP-Instanz konnte nicht erzeugt werden');
    }
   	CMX_http_request.onreadystatechange = CMX_GetStatechanges;
}

function CMX_GetStatechanges()
{
	if(CMX_http_request.readyState == 0)
	{
		//uninitialized
	}
	else if(CMX_http_request.readyState == 1)
	{
		//loading
	}
	else if(CMX_http_request.readyState == 2)
	{
		//loaded
	}
	else if(CMX_http_request.readyState == 3)
	{
		//interactive
	}
	else if(CMX_http_request.readyState == 4)
	{
		//complete
       	if(CMX_http_request.status == 200)
       	{
       		if(cmx_ajaxidarea.seite && cmx_ajaxdestination == "")
       		{
				document.getElementById('CMX_AJAXIDAREA_' + cmx_ajaxidarea.elementid).innerHTML = CMX_http_request.responseText;
				cmx_search_and_execute(CMX_http_request.responseText);
				if(cmx_ajaxidarea.load_one_time == "true")
				{
					cmx_ajaxidareas[cmx_ajaxidarea.elementid] = null;
				}
				//cmx_ajaxidarea = null;
       		}
       		else if(cmx_ajaxdestination != "")
       		{
				document.getElementById(cmx_ajaxdestination).innerHTML = CMX_http_request.responseText;
				cmx_search_and_execute(CMX_http_request.responseText);
				cmx_ajaxdestination = "";
       		}
       		else
       		{
				document.getElementById('POSTLOADAREA_' + cmx_postloadarea.elementid).innerHTML = CMX_http_request.responseText;
				cmx_search_and_execute(CMX_http_request.responseText);
				if(cmx_postloadareas.length > 0)
				{
					CMX_GetPostloadAreas();
				}
       		}
       	}
       	else
       	{
           alert('Es gab ein Problem mit der Serververbindung, bitte versuchen Sie es noch einmal.');
       	}
	}
}

function cmx_search_and_execute(cmx_string)
{
	while(cmx_string.indexOf("<script") != -1)
	{
		var cmx_scriptpos = cmx_string.indexOf("<script");
		cmx_string = cmx_string.substring(cmx_scriptpos);

		cmx_scriptpos = cmx_string.indexOf(">") + 1;
		cmx_string = cmx_string.substring(cmx_scriptpos);


		cmx_scriptpos = cmx_string.indexOf("</script");
		var cmx_js = cmx_string.substring(0, cmx_scriptpos);
		eval(cmx_js);
	}
}

function cmx_load_ajaxarea(ajaxid)
{
	if(cmx_ajaxidareas[ajaxid] == null)
	{
		return;
	}
	if(document.getElementById('PRELOADER_' + ajaxid))
	{
		document.getElementById('CMX_AJAXIDAREA_' + ajaxid).innerHTML = document.getElementById('PRELOADER_' + ajaxid).innerHTML;
	}
	CMX_CreateRequestObject();
	cmx_ajaxidarea = cmx_ajaxidareas[ajaxid];
	var query = cmx_ajaxidarea.indexfile + '?seite=' + cmx_ajaxidarea.seite
	+ '&seitenart=' + cmx_ajaxidarea.seitenart
	+ '&cmx_startpunkt=' + cmx_ajaxidarea.startpunkt
	+ '&cmx_elementid=' + cmx_ajaxidarea.elementid;
    CMX_http_request.open('GET', query, true);
    CMX_http_request.send(null);
}


function cmx_load_ajaxuri(query,destinationarea)
{
	if(query != "")
	{
		if(document.getElementById('PRELOADER_' + destinationarea))
		{
			document.getElementById(destinationarea).innerHTML = document.getElementById('PRELOADER_' + destinationarea).innerHTML;
		}
		cmx_ajaxdestination = destinationarea;
		CMX_CreateRequestObject();
	    CMX_http_request.open('GET', query, true);
	    CMX_http_request.send(null);
	}
}

function CMX_GetPostLoadArea()
{
	CMX_CreateRequestObject();
	if(document.getElementById('PRELOADER_' + cmx_postloadarea.elementid))
	{
		document.getElementById('POSTLOADAREA_' + cmx_postloadarea.elementid).innerHTML = document.getElementById('PRELOADER_' + cmx_postloadarea.elementid).innerHTML;
	}
	var query = cmx_postloadarea.indexfile + '?seite=' + cmx_postloadarea.seite
	+ '&seitenart=' + cmx_postloadarea.seitenart
	+ '&cmx_startpunkt=' + cmx_postloadarea.startpunkt
	+ '&cmx_elementid=' + cmx_postloadarea.elementid;
    CMX_http_request.open('GET', query, true);
    CMX_http_request.send(null);
}

function CMX_GetPostloadAreas()
{
	cmx_postloadarea = cmx_postloadareas.pop();
	//window.setTimeout("CMX_GetPostLoadArea()", 2500);
	CMX_GetPostLoadArea();
}




var CMX_http_request;
var cmx_postloadareas = new Array();
var cmx_postloadarea;
var cmx_ajaxidareas = new Array();
var cmx_ajaxidarea = new Object();
var cmx_ajaxdestination = "";
//AJAX--ende
