
function XgeoCLASS_HttpRequestObject( iType , obContResponse , bMakeAllInClass , sOpenURL , sOpenMethod , bOpenAsynchron , sSendContent )
{
	var obHttpRequest = null;
	var iType = iType;
	var bMakeAllInClass = bMakeAllInClass==true ? true : false;
	var obContResponse = obContResponse!=null ? obContResponse : null;
	
	if( bMakeAllInClass )
	{
		var sOpenMethod = sOpenMethod=="post" ? "post" : "get";
		var sOpenURL = sOpenURL!=null ? sOpenURL : null;
		var bOpenAsynchron = bOpenAsynchron==false ? false : true;
		var sSendContent = sSendContent!=null && sOpenMethod!="get" ? sSendContent : null;

		funct_NewHttpRequestObject();
		if( obHttpRequest!=null  &&  sOpenURL!=null )
		{
			obHttpRequest.open( sOpenMethod , sOpenURL , bOpenAsynchron );
			obHttpRequest.onreadystatechange = funct_HandleResponse; 
			if( sOpenMethod=="post" )
			{
				obHttpRequest.setRequestHeader(
					"Content-Type",
					"application/x-www-form-urlencoded");

				obHttpRequest.send( sSendContent );
				
			}
			else				
				obHttpRequest.send(null);

		}
	}


	function funct_NewHttpRequestObject()
	{		 
		if (typeof ActiveXObject != 'undefined') 
		{ 
			try	
			{
				obHttpRequest = new ActiveXObject("MSXML2.XMLHTTP");
			} 
			catch(e) 
			{
				try	
				{
					obHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
				} 
				catch(e) 
				{
					obHttpRequest = null;
				}
			} 
		}
		else if (typeof XMLHttpRequest != 'undefined') 
		{ 
			obHttpRequest = new XMLHttpRequest(); 
		}
	}
	
	
	this.getHttpRequestObject = function() 
	{
		if( bMakeAllInClass==true )
		{
			return null;
		}
		else
		{
			funct_NewHttpRequestObject();
			return obHttpRequest;
		}
	}
	
	function funct_HandleResponse()
	{
		if( obHttpRequest!=null )
		{
			if( iType==1 )
			{
				if( obHttpRequest.readyState==4 )
				{
					if (obHttpRequest.status == 200 && obContResponse!=null )
					{					
						obContResponse.innerHTML = obContResponse.innerHTML + "<br>" + obHttpRequest.responseText;	
					}
				}
				//else
				//	obContResponse.innerHTML = "";
			}
			else
			{
				if( obHttpRequest.readyState==4 )
				{
					if (obHttpRequest.status == 200 && obContResponse!=null )
					{					
						obContResponse.innerHTML = obHttpRequest.responseText;	
					}
				}
				//else
				//	obContResponse.innerHTML = "";
			}
		}
	}
	
	this.handleResponse = function()
	{
		return funct_HandleResponse();
	}
	
}



// auch immer in HTE:events-javascript.JS04e019be2771.XMLstruct   +   XGEOasp.XGEOjs_HttpRequest1make.JS04e019be2771__XMLstruct    verwendet  !!!
function JS04e019be2771(p_Type,p_ArrOrData,p_Val)
{
	if( p_ArrOrData!=null  ||  p_Val!=null )
	{
		if( p_Val.length>0 )
		{
			var b_IsNode = false;
			var i_start = p_Val.indexOf('<');
			if( i_start > -1 )
			{
				var i_end = p_Val.indexOf(">");
				if( i_end > -1 )
				{
					var s_Node = p_Val.substring( i_start+1 , i_end );
					var i_NodeStart = p_Val.indexOf("<"+s_Node+">");
					var i_NodeEnd = p_Val.indexOf("</"+s_Node+">");
					if( i_NodeStart > -1  &&  i_NodeEnd > - 1 )
					{
						b_IsNode = true;
								
						var s_Nodedata = p_Val.substring( i_NodeStart+s_Node.length+2 , i_NodeEnd );
						// alert( "Node gefunden: " + s_Node + " |" + s_Nodedata + "|"); 
						
						
						if( p_Type==2 )
						{
							if( p_ArrOrData==null )
								p_ArrOrData = new Array();
								
							var i_ArrIndex = p_ArrOrData.length;
							p_ArrOrData[i_ArrIndex] = new Object();
							p_ArrOrData[i_ArrIndex][s_Node] = s_Nodedata;
						}
						else
						{
							// zuerst noch Unterknoten bearbeiten 
							var ob_val = JS04e019be2771(p_Type,null,s_Nodedata);
							
							//if( ob_val!=null )
							//{
								// if( typeof ob_val == "object" )
									
								if( p_ArrOrData==null )
									p_ArrOrData = new Array();
								
								var i_ArrIndex = p_ArrOrData.length;
								p_ArrOrData[i_ArrIndex] = new Object();
								p_ArrOrData[i_ArrIndex][s_Node] = ob_val;
							//}
						}
								
						
						
						var s_NextString = p_Val.substring( i_NodeEnd+s_Node.length+3 );
						if( s_NextString.length>0 )
						{
							// alert( "Reststring: |" + s_NextString + "|");
							JS04e019be2771(p_Type,p_ArrOrData,s_NextString);
						}
							
							
					}
				}
			}
				
			if( p_ArrOrData==null  &&  b_IsNode==false )
			{
				p_ArrOrData = p_Val;
			}
				
		}
	}
	return p_ArrOrData;
}



