/**
 * @author Thomas.Wicht
 * Ludwigstrasse 38 
 * 23554 Lübeck
 * www.XqHq.de
 */
var httpRequest = 
{	
    XMLHttp       : null,
	response      : null,
	requestMethod : "",
	parameter     : "",
	targetID      : "",
	callback      : "",
	useAlert      : "",
	
	openURL : function(url)
	{
		if(httpRequest.getXMLHttpRequest())
		{
			var getExtension = "";
			
			if(httpRequest.requestMethod == 'POST')
			{
				httpRequest.XMLHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			}
			else if(httpRequest.requestMethod == 'GET')
			{
				getExtension = "?" + httpRequest.parameter;
			}
			
		    httpRequest.XMLHttp.open(httpRequest.requestMethod,url + getExtension,true);
		    httpRequest.XMLHttp.send(httpRequest.parameter);
		    httpRequest.XMLHttp.onreadystatechange = function() 
		    {
		        if (httpRequest.XMLHttp.readyState == 4) 
		        {
					if(httpRequest.XMLHttp.responseText.length > 0)
					{
						var responseTEXT = httpRequest.XMLHttp.responseText;
						// Falls die Antwort einen HTML Element zugeordnet werden soll
						if(httpRequest.targetID.length > 0)
						{
							document.getElementById(httpRequest.targetID).innerHTML = unescape(httpRequest.XMLHttp.responseText);
						}
					}
					// Falls ein Callback vorliegt
					if(httpRequest.callback.length > 0)
					{
						eval(httpRequest.callback);
					}
		        }
		    }
		}
		
		httpRequest.XMLHttp.send(null);
	},
	
	parseForm : function(formId)
	{
		var formular = document.getElementById(formId);
		var formElements = formular.elements.length;
		
		for(i = 0;i < formElements; i++)
		{
			httpRequest.addParameter(formular.elements[i].name,formular.elements[i].value);
		}
	},
/**
 * Fügt dem Request Parameter hinzu
 * @param {Object} name
 * @param {Object} value
 */	
	addParameter : function (name,value)
	{
		httpRequest.parameter += name + "=" + escape(value) + "&";
	},
	
/* Erzeugen des XMLHttpRequests */	
	getXMLHttpRequest : function()
	{
		if (typeof XMLHttpRequest != 'undefined') 
	    {
	       if(httpRequest.XMLHttp = new XMLHttpRequest())
		   {
		   		return true;
		   }
	    }
		
		if(!httpRequest.XMLHttp)
		{
			// Internet Explorer 6 und älter
		    try 
			{
		        httpRequest.XMLHttp  = new ActiveXObject("Msxml2.XMLHTTP");
				return true;
		    }
			catch(e) 
			{
		        try 
				{
		            httpRequest.XMLHttp  = new ActiveXObject("Microsoft.XMLHTTP");
					return true;
		        } 
				catch(e) 
				{
		            httpRequest.XMLHttp  = null;
					return false;
		        }
		    }
		}
	
	    if (!httpRequest.XMLHttp && window.createRequest) 
	    {
	        try 
	        {
	            httpRequest.XMLHttp = window.createRequest();
				return true;
	        }
	        catch (e) 
			{ 
				httpRequest.XMLHttp = null;
				return false;
			}
	    }
	}, 
	
	resetData : function()
	{
		httpRequest.xmlhttp       = null;
		httpRequest.response      = null;
		httpRequest.requestMethod = null;
		httpRequest.parameter     = "";
		httpRequest.callback      = "";
		httpRequest.targetID      = "";
		httpRequest.useAlert      = "";
	}
}

function speedConnect(url,targetID)
{
    var XMLHttp = '';
    
    if (typeof XMLHttpRequest != 'undefined') 
    {
       if(XMLHttp = new XMLHttpRequest())
       {
               
       }
    }
    if(!XMLHttp)
    {
        try 
        {
            XMLHttp  = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch(e) 
        {
            try 
            {
                XMLHttp  = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch(e) 
            {
                XMLHttp  = null;
                alert(e);   
            }
        }
    }

    if (!XMLHttp && window.createRequest) 
    {
        try 
        {
            XMLHttp = window.createRequest();
        }
        catch (e) 
        { 
            alert(e);
            XMLHttp = null;
        }
    }

    XMLHttp.open('GET',url,true); 
    XMLHttp.send(null); 
    
    XMLHttp.onreadystatechange = function() 
    {    
        if (XMLHttp.readyState == 4) 
        {
            if(XMLHttp.responseText.length > 0)
            {
                var responseTEXT = XMLHttp.responseText;
                
                if(targetID.length > 0)
                {
                    document.getElementById(targetID).innerHTML = unescape(XMLHttp.responseText);
                }
            }
        }
        
    }
}
