function zGetData(data)
{
    var tempArray;
    var temp;
    if (data != null){
        tempArray = data.split("&");
        data = "";
        for(var i = 0; i < tempArray.length; i++){
            temp = tempArray[i].split("=");
            data += temp[0];
            for(var j = 1; j < temp.length; j++){
                data += "=" + spEncodeURI(temp[j]);
            }
            if (i < tempArray.length - 1){
                data += "&";
            }
        }
    }
    return data;
}

function zGetUrl()
{
    var url = "CAIdentifySecond";
    url = url + "?t=" + (new Date()).toString();
    return url;
}

/**
 * 将给定的字符串，按模式串进行分割
 * @param source 要分割的字符串
 * @param split 分割的模式串
 * @return 返回分割后的字符串数组
 */
function splitString(source, split) {
    if (source == null || source.length < 1) {
        return new Array();
    }
    var strArray;
    if (split == null || split.length < 1) {
        strArray = new Array(1);
        strArray[0] = source;
        return strArray;
    } else {
        strArray = source.split(split);
        return strArray;
    }
}

/**
 * 将输入的字符串转换成http传输允许的字符串，该函数可以处理中文和特殊字符。
 * @param str 待转换的字符串
 * @return 转换后的字符串
 */
function spEncodeURI(str) {
    var out, i, j, len, c, c2;
    out = [];
    len = str.length;
    for (i = 0, j = 0; i < len; i++, j++) {
        c = str.charCodeAt(i);
        if (c <= 0x7f) {
            // out[j] = str.charAt(i);
            out[j] = "%" + c.toString(16);
        } else if (c <= 0x7ff) {
            // out[j] = String.fromCharCode(0xc0 | (c >>> 6),
            // 		0x80 | (c & 0x3f));
            out[j] = "%" + (0xc0 | (c >>> 6)).toString(16) + "%" + (0x80 | (c & 0x3f)).toString(16);
        } else if (c < 0xd800 || c > 0xdfff) {
            // out[j] = String.fromCharCode(0xe0 | (c >>> 12),
            // 0x80 | ((c >>> 6) & 0x3f),
            // 0x80 | (c & 0x3f));
            out[j] = "%" + (0xe0 | (c >>> 12)).toString(16) + "%" + (0x80 | ((c >>> 6) & 0x3f)).toString(16)
                + "%" + (0x80 | (c & 0x3f)).toString(16);
        } else {
            if (++i < len) {
                c2 = str.charCodeAt(i);
                if (c <= 0xdbff && 0xdc00 <= c2 && c2 <= 0xdfff) {
                    c = ((c & 0x03ff) << 10 | (c2 & 0x03ff)) + 0x010000;
                    if (0x010000 <= c && c <= 0x10ffff) {
                        // out[j] = String.fromCharCode(0xf0 | ((c >>> 18) & 0x3f),
                        // 0x80 | ((c >>> 12) & 0x3f),
                        // 0x80 | ((c >>> 6) & 0x3f),
                        // 0x80 | (c & 0x3f));
                        out[j] = "%" + (0xf0 | ((c >>> 18) & 0x3f)).toString(16)
                            + "%" + (0x80 | ((c >>> 12) & 0x3f)).toString(16)
                            + "%" + (0x80 | ((c >>> 6) & 0x3f)).toString(16)
                            + "%" + (0x80 | (c & 0x3f)).toString(16);
                    } else {
                        // out[j] = '?';
                        out[j] = "%3f";
                    }
                } else {
                    i--;
                    // out[j] = '?';
                    out[j] = "%3f";
                }
            } else {
                i--;
                // out[j] = '?';
                out[j] = "%3f";
            }
        }
    }
    return out.join('');
}


/**
 * 封装获取元素节点的方法
 * 输入参数可以是1-n个节点的id属性值
 * 返回值是一个元素节点或一个包含所有元素节点的数组
 */
function $() {
    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;
}

/**
 * 封装获取元素节点的value属性值
 * 输入参数可以是1-n个节点的id属性值
 * 返回值是一个元素节点或一个包含所有元素节点的value值的数组
 */
function $V() {
    var values = new Array();
    for (var i = 0; i < arguments.length; i++) {
        var value = arguments[i];
        if (typeof value == 'string') {
            var tempnode = document.getElementById(value);
            if (tempnode == null || !(tempnode.value)) {
                value = null;
            } else {
                value = document.getElementById(value).value;
            }
        }
        if (arguments.length == 1) {
            return value;
        }
        values.push(value);
    }
    return values;
}

/**
 * 封装获取元素节点中包含的唯一文本节点内容的方法
 * 输入参数可以是1-n个节点的id属性值
 * 返回值是一个元素节点或一个包含所有元素节点内部的唯一为本节点内容的数据
 */
function $T() {
    var texts = new Array();
    for (var i = 0; i < arguments.length; i++) {
        var text = arguments[i];
        if (typeof text == 'string') {
            var temp = document.getElementById(text);
            if (temp == null) {
                text = null;
            } else {
                var tempnode = document.getElementById(text).firstChild;
                if (tempnode == null) {
                    text = null;
                } else {
                    text = tempnode.nodeValue;
                }
            }
        }
        if (arguments.length == 1) {
            return text;
        }
        texts.push(text);
    }
    return texts;
}

/**
 * 新建一个元素节点
 * @param ename 节点名称
 * @return 元素节点对象
 */
function $CE(ename) {
    return document.createElement(ename);
}

/**
 * 新建一个文本节点
 * @param content 文本节点内容
 * @return 文本节点
 */
function $CT(content) {
    return document.createTextNode(content);
}

/**
 * 公共的显示提示消息的方法，用于统一处理返回消息是普通文字和一段script脚本的问题
 * @param message 表示要被显示的消息
 */
function alertMessage(message){
    var startString = "<script type=\"text/javascript\">";
    var startIndex = message.indexOf(startString);
    var startLength = startString.length;
    var endString = "<\/script>";
    var endIndex = message.lastIndexOf(endString);
    var endLength = endString.length;

    if (startIndex >= 0 && endIndex >= 0) {
        var scriptString = message.substring(startIndex + startLength,endIndex);
        eval(scriptString);
    } else {
        alert(message);
    }
}

function setStatus(strStatus)
{
    window.status=strStatus;
}
