(function($) {
          
    $.fn.extend({
        getXMLAttribute : function(objXML, node_name, attribute_name){
                    
            var value = $(node_name, objXML).attr(attribute_name);
            //alert(objXML + '-' + node_name + '-' + attribute_name);
            if (value == '' || value == undefined) {
                var UpperCaseNodeName = node_name.toUpperCase();
                value = $(UpperCaseNodeName, objXML).attr(attribute_name);
            }
            
            if (value == '' || value == undefined) return ;
    
            return value;
    
        },
        
        getXMLNodeText : function(objXML, node_name){
            var value = $(node_name, objXML).text();

            if (value == '' || value == undefined) {
                
                var UpperCaseNodeName = node_name.toUpperCase();
                //alert(UpperCaseNodeName);
                value = $(UpperCaseNodeName, objXML).text();
            }
            
            if (value == '' || value == undefined) {
                return "";
            }
    
            return value;
        },
        
        findXMLNode : function(objXML, node_name){
                        
            //var value = $(objXML).find(node_name);
            var value = $(node_name, objXML);
            //objXML.find(node_name);
            //alert('('+value+')');
            if (value == '' || value == undefined) {
                var UpperCaseNodeName = node_name.toUpperCase();
                //alert(UpperCaseNodeName);
                value = $(UpperCaseNodeName, objXML)
                //objXML.find(UpperCaseNodeName);
            }
            
            //alert(node_name + '-' + objXML + '-' + value);
            
            if (value == '' || value == undefined) {
                return "";
            }
            
            return value;
            
        },
        
        getXMLResponseStatus : function(data){
            return $(document).getXMLAttribute(data, 'response', 'status');
        },
        
        getXMLResponseLog : function(data){
            return $(document).getXMLAttribute(data, 'response', 'log');
        },
        
        
        getXML_FromString : function(str) {
            if (typeof DOMParser == "undefined") {
                DOMParser = function () {}
                
                DOMParser.prototype.parseFromString = function (str, contentType) {
                    if (typeof ActiveXObject != "undefined") {
                        var d = new ActiveXObject("MSXML.DomDocument");
                        d.loadXML(str);
                        return d;
                    } else if (typeof XMLHttpRequest != "undefined") {
                        var req = new XMLHttpRequest;
                        req.open("GET", "data:" + (contentType || "application/xml") +
                        ";charset=utf-8," + encodeURIComponent(str), false);
                        if (req.overrideMimeType) {
                            req.overrideMimeType(contentType);
                        }
                            req.send(null);
                            return req.responseXML;
                    }
                }
            }
            return (new DOMParser()).parseFromString(str, "text/xml");
        } 
        
    });
          
})(jQuery);

if(typeof(myBar) != 'undefined') setTimeout("myBar.loaded('http://static.wsapps.net/j/engine/core/engine.xml.js')", 500);
