function JsonCore(xml) {
	if (document.implementation.createDocument) { // Mozilla, Safari,...
		var xmlobject	 = (new DOMParser()).parseFromString(xml, 'text/xml');
	} else if (window.ActiveXObject) { // IE
		try {
			var xmlobject	 = new ActiveXObject('Microsoft.XMLDOM');
			xmlobject.async	 = 'false';
			xmlobject.loadXML(xml);
		} catch (e) {}
	}
	
	if(xmlobject.getElementsByTagName('answer')[0] != null) {
		var root		 = xmlobject.getElementsByTagName('answer')[0];
		var messages	 = root.getElementsByTagName('message');

		for (var i = 0 ; i < messages.length ; i++) {
			// get one item after another
			var item = messages[i];
			// now we have the item object, time to get the contents
			// get the name of the item
			try {
				var targetid = item.getElementsByTagName('targetid')[0].firstChild.nodeValue;
				/* new version window bidding process */
				if(item.getElementsByTagName('text')[0] != null && item.getElementsByTagName('icon')[0] != null) {
					//Text gesetzt also wird nichts extra gebaut
					var text = '<p>' + item.getElementsByTagName('text')[0].firstChild.nodeValue + '</p>';
					var icon = item.getElementsByTagName('icon')[0].firstChild.nodeValue;
					openMsgBox(targetid, icon, text);
				} else if(item.getElementsByTagName('text')[0] != null) {
					//Text gesetzt also wird nichts extra gebaut
					var text = item.getElementsByTagName('text')[0].firstChild.nodeValue;
					var bold 	 = false;

					if(item.getElementsByTagName('bold')[0] != null)  {
						bold = item.getElementsByTagName('bold')[0].firstChild.nodeValue;
						if(bold == 'true')
							document.getElementById(targetid).innerHTML = '?<b>' + text + '</b>';
						else
							document.getElementById(targetid).innerHTML = text;
					} else {
						document.getElementById(targetid).innerHTML = text;
					}

					if(text == 'empty')
						document.getElementById(targetid).style.display = 'none';
					else {
						if(bold == false)
							document.getElementById(targetid).style.display = 'block';
						else
							document.getElementById(targetid).style.display = 'inline';
					}
				}

				if(item.getElementsByTagName('value')[0] != null) {
					//inhalte werden veraendert
					//falls mehrere values vorhanden sind werden options gesetzt
					var text = '';
					var type = 'value';

					if(item.getElementsByTagName('type')[0] != null) {
						type = item.getElementsByTagName('type')[0].firstChild.nodeValue;
					}

					if(type == 'option') {
						document.getElementById(targetid).innerHTML = document.getElementById(targetid).innerHTML + text;
					} else {
						document.getElementById(targetid).value = text;
					}

					for (var x = 0 ; x < item.getElementsByTagName('value').length; x++) {
						text = item.getElementsByTagName('value')[x].firstChild.nodeValue;

						if(type == 'option') {
							if (document.getElementById(targetid) != null && document.getElementById(targetid).options != null) {
								document.getElementById(targetid).options[document.getElementById(targetid).options.length] = new Option(text, text, false, false);
							}
						} else {
							document.getElementById(targetid).value = text;
						}
					}
				}

				if(item.getElementsByTagName('field')[0] != null) {
					//veraendern von feldern
					var text	 = item.getElementsByTagName('field')[0].firstChild.nodeValue;

					switch(text) {
					case 'disable':
						document.getElementById(targetid).style.display		 = 'none';
						break;
					case 'enable':
						document.getElementById(targetid).style.display		 = 'inline';
						break;
					case 'block':
						document.getElementById(targetid).style.display		 = 'block';
						break;
					case 'visible':
						document.getElementById(targetid).style.visibility	 = 'visible';
						break;
					case 'hidden':
						document.getElementById(targetid).style.visibility	 = 'hidden';
						break;
					case 'collapse':
						document.getElementById(targetid).style.visibility	 = 'collapse';
						break;
					default:
						;
					}

					if(item.getElementsByTagName('resetih')[0] != null)
						document.getElementById('statistik_content').innerHTML = '';
				}

				if(item.getElementsByTagName('stats')[0] != null) {
					// check and get keyword
					var keyword	 = '';
					try {
						keyword	 = item.getElementsByTagName('info0')[0].firstChild.nodeValue;
					} catch (e) {}

					// check and get top
					var top		 = '';
					var hastop	 = false;
					try {
						top		 = item.getElementsByTagName('info1')[0].firstChild.nodeValue.replace(/^\s+|\s+$/g,'');

						if(top.length > 0)
							hastop	 = true;
					} catch (e) {}

					// check and get multi
					var multi	 = '';
					try {
						multi		 = item.getElementsByTagName('info2')[0].firstChild.nodeValue;
					} catch (e) {}

					// check and get unique
					var single		 = '';
					var hassingle	 = false;
					try {
						single		 = item.getElementsByTagName('info3')[0].firstChild.nodeValue.replace(/^\s+|\s+$/g,'');

						if(single.length > 0)
							hassingle	 = true;
					} catch (e) {}

					// get colour
					var color	 = 'red';
					if(hastop) {
						color	 = 'green';
					} else if(hassingle) {
						color	 = 'orange';
					}

					//do things with the template
					var textblock	 = getTpl('stats');

					textblock	 = textblock.replace(/@@PHPSESSION@@/gi, '');
					textblock	 = textblock.replace(/@@PID@@/gi, item.getElementsByTagName('pid')[0].firstChild.nodeValue);
					textblock	 = textblock.replace(/@@AUKTION@@/gi, item.getElementsByTagName('stats')[0].firstChild.nodeValue);
					textblock	 = textblock.replace(/@@STATUS0@@/gi, keyword);
					textblock	 = textblock.replace(/@@STATUS1@@/gi, top);
					textblock	 = textblock.replace(/@@STATUS2@@/gi, multi);
					textblock	 = textblock.replace(/@@STATUS3@@/gi, single);
					textblock	 = textblock.replace(/@@COLOR@@/gi, color);

					textblock	 = textblock.replace(/@@[\w]+@@/gi, '');
					textblock	 = textblock.replace(/\|/gi, '<br />').replace(/EURO/gi, '&euro;');

					document.getElementById('statistik_content').innerHTML	+= textblock;
				}

				if(item.getElementsByTagName('image')[0] != null) {
					//Text gesetzt also wird nichts extra gebaut
					document.getElementById(targetid).innerHTML = '<img src="'+item.getElementsByTagName('image')[0].firstChild.nodeValue+'" />';
					document.getElementById(targetid).style.display = 'inline';
				}

				if(item.getElementsByTagName('href')[0] != null) {
					//Text gesetzt also wird nichts extra gebaut
					document.getElementById(targetid).href = item.getElementsByTagName('href')[0].firstChild.nodeValue;
				}

				if(item.getElementsByTagName('run')[0] != null) {
					switch(item.getElementsByTagName('run')[0].firstChild.nodeValue) {
						case 'setprice':
							setprice(item.getElementsByTagName('price')[0].firstChild.nodeValue, item.getElementsByTagName('row')[0].firstChild.nodeValue);
							break;
						default:
							break;
					}
				}

				if(item.getElementsByTagName('tmpl')[0] != null) {
					var vars	 = '';
					if(item.getElementsByTagName('vars')[0] != null) {
						vars	 = item.getElementsByTagName('vars')[0].firstChild.nodeValue;
					}
					var template	 = getTemplate('?tpl='+item.getElementsByTagName('tmpl')[0].firstChild.nodeValue+'&section='+item.getElementsByTagName('section')[0].firstChild.nodeValue, vars);
					document.getElementById(targetid).innerHTML	 = template;
				}
			} catch (e) {}
		}
	} else {
		alert(xml);
	}
}

function makeRequest(get, postparams) {
	makeHttpRequest('json.php'+get, JsonCore, 'POST', postparams);
}
