// JavaScript Document

var ajaxRequest = function(w, u, m, s)
{
	this.which			= 	w;
	this.url			= 	u;
	this.method			=	m || "GET";
	this.body			=	null;
	this.head			=	false;
	this.async			=	s || true;

	var _this = this;
	
	//---------------------------------------------------------------------------
	try {
		this.request = new XMLHttpRequest();
	}catch(e){
		try {
			this.request = new ActiveXObjekt("Microsoft.XMLHTTP");
		}catch(e){
			this.request = false;
		}
	}
	
	//---------------------------------------------------------------------------
	this.doRequest = function()
	{
		if(!this.url)
		{
			this.onError("Keine URL gesetzt");
			return false;
		}
		if (!this.method)
		{
				this.method = "GET";
		}else{
			this.method = this.method.toUpperCase();
		}
		if (!this.request)
		{
			this.onError("Kein Verbindungsobjekt gesetzt");
			return false;
		}
		
		this.request.open(this.method, this.url, this.async);
		
		if (this.method == "POST")
		{
			this.request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		}
		if (this.head)
		{
			for(var i = 0; i<this.head.length; i+=2)
			{
				this.request.setRequestHeader(this.head[i], this.head[i+1]);
			}
		}
		
		this.request.onreadystatechange = this.checkState;
		this.request.send(this.body);
		
	}
	
	//---------------------------------------------------------------------------
	/*
	this.onSuccess = function(txt, xml)
	{
		alert("los gehts");
		try
		{
			eval("var text=" + txt);
			alert("tets3");
			var wert = text.data;
			var anzahl = wert.length;
			for (var i = 0; i <  anzahl ; i++)
			{
				
				var tit = wert[i].titel;
				var txt = wert[i].text;
				var dat = wert[i].datum;
				var aut = wert[i].autor;
		
				var contain = document.createElement("div");
				var titel = document.createElement("div");
				var datum = document.createElement("div");
				var text = document.createElement("div");
				var autor = document.createElement("div");
							
					titel.appendChild(
						document.createTextNode(tit)
						);
					titel.setAttribute("class","titelAusgabe");
					
					contain.appendChild(
						titel
						);
					datum.appendChild(
						document.createTextNode(dat)
						);
					datum.setAttribute("class","datumAusgabe");
					contain.appendChild(
						datum
						);
					
					text.appendChild(
						document.createTextNode(txt)
						);
					text.setAttribute("class","textAusgabe");
					
					contain.appendChild(
						text
						);
					
					autor.appendChild(
						document.createTextNode("Autor:  " + aut)
						);
					autor.setAttribute("class", "autorAusgabe");
					
					contain.appendChild(
						autor
						);
					
					
					contain.setAttribute("class","newsForm");
				document.getElementById("newsContent").appendChild(
						contain
					);
			}
		}
		catch(e)
		{
			alert("fehlerbeim eval");
		}
		
	
			   
	}*/
	// Application mit Json
	
	
	//Application mit XML
	this.onSuccess = function(txt, xml)
	{
		try
		{
			//alert("Start reading XML");;
			//alert(xml);
			
			
			var root = xml.getElementsByTagName("nachrichten")[0];
			//alert(root.childNodes.length);
			
			var anzahl = root.childNodes.length;
			for (var i = 0; i <  anzahl ; i++)
			{

				var tit = xml.getElementsByTagName("titel")[i].firstChild.nodeValue;
				var txt = xml.getElementsByTagName("text")[i].firstChild.nodeValue;
				var dat = xml.getElementsByTagName("datum")[i].firstChild.nodeValue;
				var aut = xml.getElementsByTagName("autor")[i].firstChild.nodeValue;
				var id = xml.getElementsByTagName("eintrag")[i].attributes[0].nodeValue;
		
				var contain = document.createElement("div");
				var titel = document.createElement("div");
				var datum = document.createElement("div");
				var text = document.createElement("div");
				var autor = document.createElement("div");
				var link1 = "<div onclick='showText("+id+")' onmouseover='cursor("+id+")' onmouseout='cursorout("+id+")' id='"+id+"' width='250px' >"
				var link2 = "</div>"
				
					titel.innerHTML = link1 + tit + link2;
					titel.setAttribute("class","titelAusgabe");
					titel.style.width = "250px";
                                        titel.style.maxWidth = "250px";
					titel.style.cssFloat = "left";		
					titel.style.styleFloat = "left";
					titel.style.marginTop = "10px";
					titel.style.borderTop = "1px dotted #CCC";
					
					contain.appendChild(
						titel
						);
					
					/*
					datum.appendChild(
						document.createTextNode(dat)
						);
					datum.setAttribute("class","datumAusgabe");
					datum.style.width = "200px";
					datum.style.cssFloat = "left";
					datum.style.textAlign = "Right";
					datum.style.styleFloat = "left";
					datum.style.backgroundColor = "#CCC";
					
					contain.appendChild(
						datum
						);
					
					text.innerHTML = txt;
					text.setAttribute("class","textAusgabe");
					text.style.borderTop = "1px solid #0F0F0F";
					text.style.clear = "both";
					text.style.width = "950px";
					
					
					contain.appendChild(
						text
						);
					
					autor.appendChild(
						document.createTextNode("Autor:  " + aut)
						);
					autor.style.borderTop = "1px solid #0F0F0F";
					autor.setAttribute("class", "autorAusgabe");
					
					contain.appendChild(
						autor
						);
					
					*/
					
					contain.setAttribute("class","newsForm");
				document.getElementById("newsContent").appendChild(
						contain
					);
				document.getElementById("newsContent").style.background = "none";
				
			}
			
		}
		catch(e)
		{
			alert("fehler");	
		}
	}
	
	//Application Details
	
	this.onSuccess2 = function(txt, xml)
	{
		try
		{
			//alert("Start reading XML");;
			//alert(xml);
			
			
			var root = xml.getElementsByTagName("nachrichten")[0];
			//alert(root.childNodes.length);
			
			var anzahl = root.childNodes.length;
			
			for (var i = 0; i <  anzahl ; i++)
			{

				var tit = xml.getElementsByTagName("titel")[i].firstChild.nodeValue;
				var txt = xml.getElementsByTagName("text")[i].firstChild.nodeValue;
				var dat = xml.getElementsByTagName("datum")[i].firstChild.nodeValue;
				var aut = xml.getElementsByTagName("autor")[i].firstChild.nodeValue;
				var id = xml.getElementsByTagName("eintrag")[i].attributes[0].nodeValue;
		
				var contain = document.createElement("div");
				var titel = document.createElement("div");
				var datum = document.createElement("div");
				var text = document.createElement("div");
				var autor = document.createElement("div");
				var cell = document.getElementById("newsTicker");
				var p = document.createElement("p");
				var i = 300;
				
				while ( cell.childNodes.length >= 1 )
				{
					cell.removeChild( cell.firstChild );       
				}
				
				
				document.getElementById("newsTicker").style.width="600px";
				document.getElementById("newsTicker").style.marginLeft="194px";
				document.getElementById("newsTicker").style.height="400px";
				document.getElementById("newsTicker").style.backgroundImage = "none";
				
					titel.innerHTML = tit;
					titel.setAttribute("class","titelAusgabe");
					titel.style.width = "460px";
					titel.style.marginLeft = "10px";
					titel.style.cssFloat = "left";		
					titel.style.styleFloat = "left";
					
					contain.appendChild(
						titel
						);
					
					
					datum.appendChild(
						document.createTextNode(dat)
						);
					datum.setAttribute("class","datumAusgabe");
					datum.style.width = "120px";
					datum.style.marginRight = "10px";
					datum.style.cssFloat = "left";
					datum.style.textAlign = "Right";
					datum.style.styleFloat = "left";
					
					contain.appendChild(
						datum
						);
					
					p.innerHTML = txt;
					p.style.marginLeft = "25px";
					
					text.appendChild(
						p
						)
					text.setAttribute("class","textAusgabe");
					text.style.borderTop = "1px solid #0F0F0F";
					text.style.clear = "both";
					text.style.width = "600px";
					
					
					contain.appendChild(
						text
						);
					
					autor.appendChild(
						document.createTextNode("Autor:  " + aut)
						);
					autor.style.borderTop = "1px solid #0F0F0F";
					autor.style.width = "600px";
					autor.setAttribute("class", "autorAusgabe");
					
					contain.appendChild(
						autor
						);
					
					
					
					contain.setAttribute("class","newsForm");
				document.getElementById("newsTicker").appendChild(
						contain
					);
				
			}
			
		}
		catch(e)
		{
			alert("fehler");	
		}
	}
	
	
	
	//---------------------------------------------------------------------------
	this.onError = function(msg)
	{
		alert("Error: " + msg);
	}
	
		//---------------------------------------------------------------------------
	this.checkState = function()
	{
		if(_this.request.readyState < 4)
		{
			return false;
		}
		if (_this.request.status == 200 || _this.request.status == 200)
		{
			if(_this.which == 1)
			{
				_this.onSuccess(_this.request.responseText, _this.request.responseXML);
			}
			else if(_this.which == 2)
			{
				_this.onSuccess2(_this.request.responseText, _this.request.responseXML);
			}
			else
			{
				alert ("fehler beim auswähen der Function");
			}
		}
		else
		{
			_this.onError("Fehler Bei der Datenübertragung");
		}
		
		
		}
}
