AppBuilder = new function(){ return {
namespace: function(){
var a=arguments,o=null, i, j, d, rt;
for (i=0; i<a.length; ++i) {
d=ai.split(".");
rt = d0;
eval('if (typeof ' + rt + ' == "undefined"){' + rt + ' = {};} o = ' + rt + ';');
for (j=1; j<d.length; ++j) {
o[dj]=o[dj] || {};
o=o[dj];
}
}
}
}
}; AppBuilder.namespace("AppBuilder.xml"); AppBuilder.xml.XmlUtils = new function(){ var NODE_ELEMENT = 1;
var NODE_ATTRIBUTE = 2;
var NODE_TEXT = 3;
var NODE_CDDATA = 4;
var map = {};
function add(obj, key, value){
if(objkey == null){
objkey = value;
}else{
var ev = objkey;
if(ev.constructor.name == 'Array'){
ev.push(value);
}else{
ev = value;
}
objkey = ev;
}
};
function createObj(name){
var o = mapname;
if(o == null) return {};
if(typeof(o) == 'function'){
return new o();
}else{
return o;
}
};
function parse(node, obj){
if(!node.hasChildNodes()){
return;
}
for(var i=0 ; i < node.childNodes.length; i++){
if(node.childNodesi.nodeType == NODE_ELEMENT){
if(node.childNodesi.childNodes.length == 1){
add(obj,node.childNodesi.tagName, node.childNodesi.childNodes0.nodeValue);
}else if(node.childNodesi.childNodes.length > 1){
var el = createObj(node.childNodesi.tagName);
add(obj, node.childNodesi.tagName, el);
parse(node.childNodesi, el);
}else{
add(obj, node.childNodesi.tagName, '');
}
}
}
};
var getNode = function(member, obj, xcludes){
if(objmember == null){
return '';
}
if(typeof(objmember) == 'function') return '';
if( typeof(objmember) == 'object' && objmember.constructor && objmember.constructor.name){
var localName = objmember.constructor.name;
return getXml(objmember, member, objmember.constructor.name, xcludes);
}else{
var localName = (obj.constructor.name == 'Array')?'value':member.replace('','');
return '<' + localName + '>' + objmember + '</' + localName + '>';
}
};
var getXml = function(obj, element, elementType, xcludes){
xcludes = xcludes || ;
var type = (elementType== null)?'':' type="' + elementType + '"';
var xml = '<' + element + type + '>';
for(member in obj){
if(xcludes.indexOf(member) == -1)
xml += getNode(member,obj, xcludes);
}
xml += '</' + element + '>';
return xml;
};
return {
bind : function(xml, obj){
obj = obj || {};
var t = xml.documentElement || xml;
parse(t, obj);
return obj;
},
getXml : function(obj,element,elementType, excludeProperties){
var xml = getXml(obj,element,elementType, excludeProperties);
return xml;
},
setTypeMapping : function(m){
map = m;
}
}
}; AppBuilder.Ajax = new function(){ var getXmlHttp = function() {
var xmlhttp=false;
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e2){
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
try {
xmlhttp = new XMLHttpRequest();
} catch (e) {
xmlhttp=false;
}
}
if (!xmlhttp && window.createRequest) {
try {
xmlhttp = window.createRequest();
} catch (e) {
xmlhttp=false;
}
}
return xmlhttp;
};
return {
post : function(uri, data){
var xmlhttp = getXmlHttp();
xmlhttp.open("POST", uri,false);
xmlhttp.setRequestHeader("Man", "POST " + uri + " HTTP/1.1")
xmlhttp.setRequestHeader("MessageType", "CALL");
xmlhttp.setRequestHeader("Content-Type", "text/xml");
xmlhttp.send(data);
if (xmlhttp.status == 200) {
return {
text : xmlhttp.responseText,
xml : xmlhttp.responseXML
};
}else{
return {error: xmlhttp.responseText};
}
},
get : function(uri){
var xmlhttp = getXmlHttp();
xmlhttp.open("GET", uri,false);
xmlhttp.setRequestHeader("Man", "GET " + uri + " HTTP/1.1")
xmlhttp.setRequestHeader("MessageType", "CALL");
xmlhttp.setRequestHeader("Content-Type", "text/xml");
xmlhttp.send(null);
if (xmlhttp.status == 200) {
return {
text : xmlhttp.responseText,
xml : xmlhttp.responseXML
};
}else{
return {error: xmlhttp.responseText};
}
},
getAsync : function(uri, data, callbackFn){
alert('Not Yet!');
}
}
};
|