/*
 * Returns a new XMLHttpRequest object, or false if this browser
 * doesn't support it
 */
var AJ =
{
	newXMLHttpRequest: function() 
	{
	  var xmlreq = false;
	
	  if (window.XMLHttpRequest) {
		xmlreq = new XMLHttpRequest();
	  } else if (window.ActiveXObject) {
		try {
		  xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
	
		} catch (e1) {
			try {
			xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
	
		  } catch (e2) {
	
			// Unable to create an XMLHttpRequest with ActiveX
		  }
		}
	  }
	
	  return xmlreq;
	},
	
	setKat: function(typ){
		var req = AJ.newXMLHttpRequest();
		var handlerFunction = AJ.getReadyStateHandler(req, actElem.erzeugen);
		req.onreadystatechange = handlerFunction;
		var strURL = "ajax/setKat.php?typ="+typ;
		req.open( "GET", strURL, true );
		req.setRequestHeader('Content-Type', 'text/xml');
		req.setRequestHeader('If-Modified-Since', 'Sat, 1 Jan 2000 00:00:00 GMT');
		req.send( strURL );
	},
	
	getData: function(typ, id) {
		var req = AJ.newXMLHttpRequest();
		var handlerFunction = AJ.getReadyStateHandler(req, actElem.updateMenu);
		req.onreadystatechange = handlerFunction;
		var strURL = "ajax/getEnd.php?typ="+typ+"&id="+id;
		req.open( "GET", strURL, true );
		req.setRequestHeader('Content-Type', 'text/xml');
		req.setRequestHeader('If-Modified-Since', 'Sat, 1 Jan 2000 00:00:00 GMT');
		req.send( strURL );
	},
	
	getTipps: function(id) {
	  var req = AJ.newXMLHttpRequest();
	  var handlerFunction = AJ.getReadyStateHandler(req, actElem.updateTipps);
	  req.onreadystatechange = handlerFunction;
	  var strURL = "ajax/getTipps.php?id="+id;
	  req.open( "GET", strURL, true );
	  req.setRequestHeader('Content-Type', 'text/xml');
	  req.setRequestHeader('If-Modified-Since', 'Sat, 1 Jan 2000 00:00:00 GMT');
	  req.send( strURL );
	},
	
	
	getAmt: function(kat2, kat3) {
	  var req = AJ.newXMLHttpRequest();
	  var handlerFunction = AJ.getReadyStateHandler(req, actElem.updateAmt);
	  req.onreadystatechange = handlerFunction;
	  var strURL = "ajax/getAmt.php?kat2="+kat2+"&kat3="+kat3;
	  req.open( "GET", strURL, true );
	  req.setRequestHeader('Content-Type', 'text/xml');
	  req.setRequestHeader('If-Modified-Since', 'Sat, 1 Jan 2000 00:00:00 GMT');
	  req.send( strURL );
	},
	
	ajaxSend: function(t1, t2) {
		var req = AJ.newXMLHttpRequest();
		var handlerFunction = AJ.getReadyStateHandler(req, actElem.updateLog);
		req.onreadystatechange = handlerFunction;
		var strURL = "ajax/getLog.php?name="+t1+"&pass="+t2;
		req.open( "GET", strURL, true );
		req.setRequestHeader('Content-Type', 'text/xml');
		req.setRequestHeader('If-Modified-Since', 'Sat, 1 Jan 2000 00:00:00 GMT');
		req.send( strURL );
	},
	
	getMerk: function() {
		document.getElementById("loaders").style.display = "inline";
		/*
		if (document.implementation.createDocument)
		{
			xml_document = document.implementation.createDocument("", "", null);
		}
		else if(window.ActiveXObject)
		{
			xml_document = new ActiveXObject("Microsoft.XMLDOM");
		}
		xml_document.async = true;
		//xml_document.async = false;
		xml_document.load("http://nettraders.hopto.org/m2/ajax/aktMerk.php");
		xml_document.onload = aktMerk(xml_document);
		*/
		
		var req = AJ.newXMLHttpRequest();
		var handlerFunction = AJ.getReadyStateHandler(req, aktMerk);
		req.onreadystatechange = handlerFunction;
		var strURL = "ajax/aktMerk.php";
		req.open( "GET", strURL, true );
		req.setRequestHeader('Content-Type', 'text/xml');
		req.setRequestHeader('If-Modified-Since', 'Sat, 1 Jan 2000 00:00:00 GMT');
		req.send( strURL );
		
	},
	
	addMerk: function(id, akt) {
		document.getElementById("loaders").style.display = "inline";
		
		var req = AJ.newXMLHttpRequest();
		var handlerFunction = AJ.getReadyStateHandler(req, AJ.getMerk);
		req.onreadystatechange = handlerFunction;
		var strURL = "ajax/addMerk.php?id="+id+"&akt="+akt;
		req.open( "GET", strURL, true );
		req.setRequestHeader('Content-Type', 'text/xml');
		req.setRequestHeader('If-Modified-Since', 'Sat, 1 Jan 2000 00:00:00 GMT');
		req.send( strURL );
		/*
		if (document.implementation.createDocument)
		{
			xml_document = document.implementation.createDocument("", "", null);
		}
		else if(window.ActiveXObject)
		{
			xml_document = new ActiveXObject("Microsoft.XMLDOM");
		}
		xml_document.async = false;
		//xml_document.async = false;
		xml_document.load("http://nettraders.hopto.org/m2/ajax/addMerk.php?id="+id+"&akt="+akt);
		//xml_document.onload = aktMerk;
		xml_document.onload = aktMerk(xml_document);
		*/
		AJ.getMerk();
	},
	
	
	addAmt: function(id, akt) {
		document.getElementById("loaders").style.display = "inline";
		var req = AJ.newXMLHttpRequest();
		var handlerFunction = AJ.getReadyStateHandler(req, AJ.getMerk);
		req.onreadystatechange = handlerFunction;
		var strURL = "ajax/addAmt.php?id="+id+"&akt="+akt;
		req.open( "GET", strURL, true );
		req.setRequestHeader('Content-Type', 'text/xml');
		req.setRequestHeader('If-Modified-Since', 'Sat, 1 Jan 2000 00:00:00 GMT');
		req.send( strURL );
	},
	
	
	getReadyStateHandler: function(req, responseXmlHandler) 
	{
		return function () 
		{
			// If the request's status is "complete"
			if (req.readyState == 1) 
			{
				// Loading
			}
			else if (req.readyState == 2) 
			{
				// Loaded
			}
			else if (req.readyState == 3) 
			{
				// interactive
			}
			else if (req.readyState == 4) 
			{
				// Check that a successful server response was received
				if (req.status == 200) 
				{
					// Pass the XML payload of the response to the 
					// handler function
					responseXmlHandler(req.responseXML);
				} 
				else 
				{
				
					// An HTTP problem has occurred
					alert("HTTP error: "+req.status+ "\n" + req.statusText);
				}
			}
		}
	}
}
