function getData(datasource, identifier, nodeName, postInfo,scriptHandler) {
	var XMLHttpRequestObject = false; 
	if (window.XMLHttpRequest) {
		XMLHttpRequestObject = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if(XMLHttpRequestObject) {
		XMLHttpRequestObject.open("POST", datasource,true);
		XMLHttpRequestObject.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		XMLHttpRequestObject.onreadystatechange = function()
		{
			if((XMLHttpRequestObject.readyState == 4) && (XMLHttpRequestObject.status == 200)) {
				var xmlDocument = XMLHttpRequestObject.responseXML;
				var nodeResult = xmlDocument.getElementsByTagName('item');
				eval(scriptHandler)(identifier,processXML(nodeResult));
			}
		}
		XMLHttpRequestObject.send(postInfo);
	}
}

function processXML(nodeResult){
	function recalcXMLNodeList(nodeResult){
		if(nodeResult.childNodes.length){
			var resultArray = Array(nodeResult.childNodes.length);
			for(var iNodeLoop = 0; iNodeLoop<nodeResult.childNodes.length; iNodeLoop++){
				resultArray[iNodeLoop] = recalcXMLNodeList(nodeResult.childNodes[iNodeLoop]);
			}
			return resultArray;
		} else {return nodeResult.nodeValue;}
	}
	var result = Array(nodeResult.length);
	for(var iParentNodes = 0; iParentNodes < nodeResult.length; iParentNodes++) {
		if(nodeResult[iParentNodes].childNodes.length){result[iParentNodes] = recalcXMLNodeList(nodeResult[iParentNodes]);};
	}
	return result;
}

function eventGetter(){
	this.postGetEvents = Array();
	this.getPostGetEvents = function getPostGetEvents(){
		return this.postGetEvents;
	}
	this.setPostGetEvent = function setPostGetEvent(eventStr){
		this.postGetEvents.push(eventStr);
	}
}
function isNumberKey(evt){	
var charCode = (evt.which) ? evt.which : evt.keyCode
	if (charCode > 31 && (charCode < 48 || charCode > 57))
		return false;
	return true;
}
