Xeon.Core.namespace('Xeon');

Xeon.Xml = {
	callback : "",
	loadFromFile : function(fileName, callback, callbackParams) {
		this.callback = callback;
	    var oXmlDom = zXmlDom.createDocument();
	    oXmlDom.onreadystatechange = function () {
	        if (oXmlDom.readyState == 4) {
	            if (oXmlDom.parseError.errorCode == 0) {
	            	var params = "";
	            	if (callbackParams && callbackParams.length) {
	            		for(var i=0; i < callbackParams.length; i++) {
	            			params += ",'" + callbackParams[i] + "'";
	            		}
	            	}
	            	eval(Xeon.Xml.callback + "(oXmlDom" + params + ")");
	            } else {
	                var str = "An error occurred!!\n" +
	                    "Description: " + oXmlDom.parseError.reason + "\n" +
	                    "File: " + oXmlDom.parseError.url + "\n" +
	                    "Line: " + oXmlDom.parseError.line + "\n" +
	                    "Line Position: " + oXmlDom.parseError.linepos + "\n" +
	                    "Source Code: " + oXmlDom.parseError.srcText;
	
	                alert(str);
	            }
	        }
	    };
	    oXmlDom.load(fileName);
	}
};
