﻿//***************************************************************/
// 日期：2010.11.09 09:11
// 功能：Cmwin系统通用脚本封装
// 修改：修改日期,修改人加说明
//***************************************************************/

//通过ID获取元素
function $$(id) {
    var obj = document.getElementById(id);
    return obj;
}

/*
* 函数说明：获取url参数
* 参数：	url数值key
* 返回值：	
* 时间：2008-06-18
*/
function getQueryString(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
    var r = window.location.search.substr(1).match(reg);
    if (r != null)
        return unescape(r[2]);
    return "";
}

//得到url参数值 
function getParameter(key) {
    var parameters = unescape(window.location.search.substr(1)).split("&");
    for (var i = 0; i < parameters.length; i++) {
        var paramCell = parameters[i].split("=");
        if (paramCell.length == 2 && paramCell[0].toUpperCase() == key.toUpperCase()) {
            return paramCell[1];
        }
    }
    return "";
}


var $A = function (a) {
    //转换数组
    return a ? Array.apply(null, a) : new Array;
};

//去掉字串左边的空格
function lTrim(str) {
    if (str.charAt(0) == " ") {
        //如果字串左边第一个字符为空格 
        str = str.slice(1); //将空格从字串中去掉 
        //这一句也可改成 str = str.substring(1, str.length); 
        str = lTrim(str); //递归调用 
    }
    return str;
}

//去掉字串右边的空格 
function rTrim(str) {
    var iLength;
    iLength = str.length;
    if (str.charAt(iLength - 1) == " ") {
        //如果字串右边第一个字符为空格 
        str = str.slice(0, iLength - 1); //将空格从字串中去掉 
        //这一句也可改成 str = str.substring(0, iLength - 1); 
        str = rTrim(str); //递归调用 
    }
    return str;
}
//去掉字串两边的空格 
function trim(str) {
    return lTrim(rTrim(str));
}

/*
* 函数说明：计算文本框还能输入字的个数
* 参数：	
* 时间：2010.11.09 09:11
*/
function textCounter(field, countfield, maxlimit) {
    var count = document.getElementById(countfield);
    //定义函数，传入3个参数，分别为表单区的名字，表单域元素名，字符限制；     
    if (field.value.length > maxlimit) {
        //如果元素区字符数大于最大字符数，按照最大字符数截断；     
        field.value = field.value.substring(0, maxlimit);
    }
    else {
        //在记数区文本框内显示剩余的字符数；     
        count.innerHTML = maxlimit - field.value.length;
    }
}

//获取浏览器版本
function getBrowserEdition() {
    //判断浏览器
    var str = "";
    var sUserAgent = navigator.userAgent;
    if (sUserAgent.indexOf("Firefox") > -1) {
        str = "firefox";
    }
    else if (sUserAgent.indexOf("MSIE 6.0") > -1) {
        str = "ie6";
    }
    else if (sUserAgent.indexOf("MSIE 7.0") > -1) {
        str = "ie7";
    }
    return str;
}

//得到在线编辑器内容
function getEditorTextContents(EditorName) {
    var oEditor = FCKeditorAPI.GetInstance(EditorName);
    return (oEditor.EditorDocument.body.innerText);
}

//获取AJAX请求方式
function getRequestObject() {
    var req;

    if (window.XMLHttpRequest && !(window.ActiveXObject)) {
        try {
            req = new XMLHttpRequest();
        }
        catch (e) {
            req = false;
        }
    }
    else if (window.ActiveXObject) {
        try {
            req = new ActiveXObject('Msxml2.XMLHTTP');
        }
        catch (e) {
            try {
                req = new ActiveXObject('Microsoft.XMLHTTP');
            }
            catch (e) {
                req = false;
            }
        }
    }

    return req;
}

//显示或隐藏一个控件
function showHide(id) {
    var more = document.getElementById(id);
    if (more != null && more != undefined) {
        more.style.display == ""
        more.style.display = ((more.style.display == "none") ? "" : "none");
        if (more.style.display == "") {
            setCenterDisplay(more);
        }
    }
}

//插入一个元素到指定元素的后面
function insertAfter(newElement, targetElement) {
    var parent = targetElement.parentNode;
    if (parent.lastChild == targetElement) {// 如果最后的节点是目标元素，则直接添加。因为默认是最后 
        parent.appendChild(newElement);
    } else {
        parent.insertBefore(newElement, targetElement.nextSibling); //如果不是，则插入在目标元素的下一个兄弟节点 的前面。也就是目标元素的后面。 
    }
}

//得到单选框的值
function getRadioValue(radioName) {
    var obj = document.getElementsByName(radioName);
    for (var i = 0; i < obj.length; i++) {
        if (obj[i].checked) {
            return obj[i].value;
        }
    }
}

//复选框检查是否选中
function SCheckBox(_formName, _checkboxName) {
    var selflag = { 'checked': 0, 'cvalues': [] };
    _scheckbox = eval('document.' + _formName + '.' + _checkboxName);
    if (_scheckbox) {
        if (eval(_scheckbox.length)) {
            for (i = 0; i < _scheckbox.length; i++) {
                if (_scheckbox[i].checked) {
                    selflag.checked++;
                    selflag.cvalues.push(_scheckbox[i].value);
                }
            };
        } else if (_scheckbox.checked) {
            selflag.checked++;
            selflag.cvalues.push(_scheckbox.value);
        }
        if (selflag.checked) {
            return selflag;
        }
    }
    return false;
}

//搜索框的缺省值在获取时消失，移除焦点时再出现
function SearchTxtTip(parElement) {
    var inputs = parElement.getElementsByTagName("input");
    for (var i = 0; i < inputs.length; i++) {
        if (inputs[i].type == "submit") continue;
        if (!inputs[i].defaultValue) continue;
        inputs[i].onfocus = function () {
            if (this.value == this.defaultValue) {
                this.value = "";
            }
        }
        inputs[i].onblur = function () {
            if (this.value == "") {
                this.value = this.defaultValue;
            }
        }
    }

}

//得到选中的多选框值的Array 
function getCheckBoxArray(element) {
    var values = new Array();
    if (null == element) {
    }
    else if (null == element.length) {
        if (element.checked) {
            values.push(element.value);
        }
    }
    else {
        for (i = 0; i < element.length; i++) {
            if (element[i].checked) {
                values.push(element[i].value);
            }
        }
    }
    return values;
}




//------------------------------自定义控件所需要的脚本（曾协）-----------------------------------
function checkInput(obj, type, Oper, DataLength) {
    var Reg = /^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$/;
    var Reg2 = /^[0-9]*.[0-9]*$/;
    if (type == "int") {
        if (Oper == "0") {
            obj.value = obj.value.replace(/[^\d]/g, '');
            if (obj.value.length > 8) {
                obj.value = obj.value.substring(0, obj.value.length - 1);
            }
        }
        if (Oper == "1") {
            clipboardData.setData('text', clipboardData.getData('text').replace(/[^\d]/g, ''))
            if (obj.value.length > 8) {
                obj.value = obj.value.substring(0, obj.value.length - 1);
            }
        }
    }
    if (type == "decimal") {
        if (Oper == "0") {
            if (Reg.test(obj.value) || Reg2.test(obj.value)) {
                var v = obj.value.split(".");
                if (v.length == 2) {
                    if (v[1].length > 18) {
                        obj.value = obj.value.substring(0, obj.value.length - 1);
                    }
                }
            }
            else {
                obj.value = obj.value.substring(0, obj.value.length - 1);
            }
        }
        if (Oper == "1") {
            clipboardData.setData('text', clipboardData.getData('text').replace(/^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$/, ''))
            if (Reg.test(obj.value) || Reg2.test(obj.value)) {
                var v1 = obj.value.split(".");
                if (v1.length == 2) {
                    if (v1[1].length > 18) {
                        alert("格式不正确!");
                        obj.value = "";
                    }
                }
            }
            else {
                alert("格式不正确!");
                obj.value = "";
            }
        }
    }
    if (type == "varchar") {
        if (Oper == "0" || Oper == "1") {
            if (obj.value.length > parseInt(DataLength)) {
                obj.value = obj.value.substring(0, obj.value.length - 1);
                if (Oper == "1") {
                    obj.value = "";
                }
                alert("已经超过最大字数!");
                obj.value = "";
                return;
            }
        }
    }
}

//------------------------------自定义控件所需要的脚本（曾协）-----------------------------------




//点击列表标题行列的名称弹出选择框
function showColumnName(obj, id) {
    var div = $$(id);
    var posX = getLeft(obj);
    var posY = getTop(obj);
    div.style.top = (parseInt(posY, 10) + 20) + "px";
    var left = parseInt(posX, 10);
    if (left > 800) {
        div.style.left = (left - 100) + "px";
    }
    else {
        div.style.left = (left + 60) + "px";
    }
    div.style.display = div.style.display == "none" ? "" : "none";
}




