/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*  Author:	Ronald Everts
*  (c) Copyright 1999-2006 Starsale BV, Enschede, The Netherlands																													*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

/***********************************
*	Posible Errors
*
*					Status
* - 200	= File is found and load
* - 404	=	File not found
*
*					readyState
* - 0 	= uninitialized
* - 1 	= loading
* - 2		= loaded
* - 3		= interactive
* - 4		= complete					
***********************************/


var xmlDoc = null;
var xmlhttp = null;

/* WAITING BOX OPEN */
function waitingForLoading(obj) {
	WAITDIV =  document.createElement('div');
	WAITDIV.setAttribute('id', 'WAITDIV');
	WAITDIV.className = 'waitDiv';
	WAITDIV.innerHTML = 'Loading....';
	
	var IFRAME = document.createElement('iframe');
	IFRAME.setAttribute('id', 'WAITIFRAME');
	//IFRAME.style.border = '0';
	IFRAME.className= 'waitIframe';
	IFRAME.style.zIndex = '999998';
	
	if(obj) {
		if(document.getElementById(obj)) {
			if(!document.getElementById('WAITDIV')) {
				document.getElementById(obj).appendChild(WAITDIV);
				if(IE) {document.getElementById(obj).appendChild(IFRAME);}
			}
		}
	} else {
		if(!document.getElementById('WAITDIV')) {
			document.body.appendChild(WAITDIV);
			if(IE) {document.body.appendChild(IFRAME);}
		}
	}
}

/* WAITING BOX CLOSE */
function waitingForLoadingClose() {
	if(document.getElementById('WAITDIV')) {	
		//alert('whaaaaa' + document.getElementById('WAITDIV'))
		document.getElementById('WAITDIV').parentNode.removeChild(document.getElementById('WAITDIV'));
	}
	if(document.getElementById('WAITIFRAME')) {
		//alert(document.getElementById('WAITIFRAME').parentNode);
		document.getElementById('WAITIFRAME').parentNode.removeChild(document.getElementById('WAITIFRAME'));
	}
}

/* OPENEN VAN EEN XMLBESTAND */
function XMLPARSER(page, data, funct, type) {
	xmlDoc = null;
	var link = page + (data ? '?' + data : '');
	//alert(link)
	//document.write(link);
	if(IE) {
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		if(xmlhttp) {
			if(type) {xmlhttp.onreadystatechange = XMLHANDLER3D;} 
			else {xmlhttp.onreadystatechange = XMLHANDLER2D;}
		 	xmlhttp.open('GET', link, true);
		 	xmlhttp.send();
		}
	} else {
		xmlhttp = new XMLHttpRequest();
		xmlhttp.open("GET", link, false);
		xmlhttp.send(null);
		if(type) {xmlhttp.onreadystatechange = XMLHANDLER3D();} 
		else {xmlhttp.onreadystatechange = XMLHANDLER2D();}
	}
	
	/* MAKEN VAN EEN ARRAY 2D */
	function XMLHANDLER2D() {
		//alert(xmlhttp.readyState);
		if (xmlhttp.readyState == 4) {
			//try {
						
				if (xmlhttp.status == 200) {
					if(xmlhttp.responseXML.getElementsByTagName('DATA').length > 0) {
						xmlDoc = new Array();
						var j = 0;
						var object = xmlhttp.responseXML.getElementsByTagName('DATA')[0];
						if(object.childNodes.length > 0) {
							for(i = 0; i < object.childNodes.length; i++) {
								if(object.childNodes[i].nodeType == 1) {
									xmlDoc[j] = new Array();
									if(object.childNodes[i].childNodes.length > 0) {
										for(k = 0; k < object.childNodes[i].childNodes.length; k++) {
											if(object.childNodes[i].childNodes[k].nodeType != 3) {
												xmlDoc[j][object.childNodes[i].childNodes[k].nodeName] = replaceBadStrings(object.childNodes[i].childNodes[k].firstChild.nodeValue);
											}
										}
									}
									j++;
								}
							}
						}
						if(funct) {
							funct();
						}
						//setTimeout("waitingForLoadingClose()", 500);
					}
				}
			//} catch(e) {
			//	alert(e)
			//}
		}
	}
	
	/* MAKEN VAN EEN ARRAY 3D */
	function XMLHANDLER3D() {
		if (xmlhttp.readyState == 4) {
			if (xmlhttp.status == 200) {
				if(xmlhttp.responseXML.getElementsByTagName('DATA').length > 0) {
					xmlDoc = new Array();
					var j1 = 0;
					var j2 = 0;
					var object = xmlhttp.responseXML.getElementsByTagName('DATA')[0];
					
					if(object.childNodes.length > 0) {
						for(i = 0; i < object.childNodes.length; i++) {
							if(object.childNodes[i].nodeType == 1) {
								xmlDoc[j1] = new Array();
								
								if(object.childNodes[i].childNodes.length > 0) {
									for(k = 0; k < object.childNodes[i].childNodes.length; k++) {
										if(object.childNodes[i].childNodes[k].nodeType == 1) {
											if(object.childNodes[i].childNodes[k].childNodes.length > 0) {
												for(l = 0; l < object.childNodes[i].childNodes[k].childNodes.length; l++) {
													if(object.childNodes[i].childNodes[k].childNodes[l].nodeType != 3) {
														xmlDoc[j1][j2] = new Array();
														xmlDoc[j1][j2][object.childNodes[i].childNodes[k].childNodes[l].nodeName] = replaceBadStrings(object.childNodes[i].childNodes[k].childNodes[l].firstChild.nodeValue);
														j2++;
													}
												}
											}
										}
									}
								}
								j1++;
								j2 = 0;
							}
						}
					}
					if(funct) {
						funct();
					}
					//setTimeout("waitingForLoadingClose()", 500);
				}
			}
		}
	}
}

/* REPLACE ERROR GIVING STRINGS */
function replaceBadStrings(oldVal) {
/*	var newVal = '';
	if(oldVal != '') {
		newVal = oldVal;
		newVal = newVal.replace('\"', '\\\"');
	}
	return newVal;*/
	return oldVal;
}