﻿function $() {
    ///	<summary>
    ///		1.$(elementid)通过控件ID获取控件对象
    ///     2.$(elementid,elementid2,...)通过N个ID获取对象
    ///     3.$本身是工具类，里面放了常用的函数，例如$.trim(string s)取出s的前后空格
    ///	</summary>
    ///	<returns type="object" />
    ///	<param name="elementid" type="String">
    ///		获取的控件ID
    ///	</param>
    var elements = new Array();
    for (var i = 0; i < arguments.length; i++) {
        var element = arguments[i];
        if (typeof element == 'string')
            element = document.getElementById(element);
        if (arguments.length == 1)
            return element;
        elements.push(element);
    }
    return elements;
}
$.GetValue = function(textboxid) {
    ///	<summary>
    ///		获取文本框的内容
    ///	</summary>
    ///	<returns type="String" />
    ///	<param name="textboxid" type="String">
    ///		文本框的ID
    ///	</param>
    /// <remark>by djbone</remark>
    return $(textboxid).value; //.getAttribute("value");
};
$.trim = function(text) {
    ///	<summary>
    ///		移除字符串前后的空格
    ///	</summary>
    ///	<returns type="String" />
    ///	<param name="text" type="String">
    ///		要移除前后字符串的字符串
    ///	</param>
    /// <remark>by djbone</remark>
    return (text || "").replace(/^\s+|\s+$/g, "");
};
$.show = function(domobj) {
    domobj.style.display = "";
};
$.hide = function(domobj) {
    domobj.style.display = "none";
};

function XmlUtility() {
    this.createDomDoc = function() {
        var signatures = ["Msxml2.DOMDocument.5.0", "Msxml2.DOMDocument.4.0", "Msxml2.DOMDocument.3.0", "Msxml2.DOMDocument", "Microsoft.XmlDom"];
        for (var i = 0; i < signatures.length; i++) { try { var domDoc = new ActiveXObject(signatures[i]); return domDoc; } catch (e) { } }
        return null;
    }
    this.SelectNodes = function(xpath) {
        if (isIE)
            return domDoc.selectNodes(xpath);
        else {
            var aNodeArray = new Array();
            var xPathResult = domDoc.evaluate(xpath, domDoc, domDoc.createNSResolver(domDoc.documentElement), XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);
            if (xPathResult) {
                var oNode = xPathResult.iterateNext();
                while (oNode) {
                    aNodeArray[aNodeArray.length] = oNode;
                    oNode = xPathResult.iterateNext();
                }
            }
            return aNodeArray;
        }
    }
    this.addxml = function(doc, tagName, tagText) {
        var node = domDoc.createElement(tagName);
        if (tagText != null) {
            if (isIE)
                node.text = tagText;
            else
                node.textContent = tagText;
        }
        doc = doc == null ? domDoc : doc
        doc.appendChild(node);
    }
    this.lookxml = function() {
        if (isIE) { return domDoc.xml; }
        else {
            var serializer = new XMLSerializer();
            var xml = serializer.serializeToString(domDoc)
            return xml
        }
    }
    this.xva = function(xpath) { return this.SelectNodes(xpath) } 														//获取所有节点
    this.o = function(xpath, n) { n = n == null ? 0 : n; return this.SelectNodes(xpath)[n] } 										//获取单个节点
    this.xv = function(xpath, n) { try { return this.getText(this.SelectNodes(xpath)[n == null ? 0 : n]) } catch (e) { return "" } } 	//获取单个节点内容
    this.getText = function(obj) { return obj.firstChild.nodeValue } 														//获取节点的内容
    this.getkey = function(obj, key) { var o = obj.getAttribute(key); return o == null ? "" : o } 									//获取节点属性
    this.setText = function(obj, text) { obj.firstChild.nodeValue = text } 													//设置节点内容
    this.setkey = function(obj, key, text) { obj.setAttribute(key, text) }

    var domDoc = isIE ? this.createDomDoc() : document.implementation.createDocument("", "", null)								//创建对象
    this.addxml(null, "root", null);
    
}


