﻿///       备注:验证失败
///     strMsg:[String]验证信息
///strTargetID:[String]显示验证信息控件的ID
function _COM_ValFail(strMsg, strTargetID) {
    var oTarget = document.getElementById(strTargetID);
    if (!oTarget) { return; }
    var numCC = oTarget.childNodes.length;
    for (var i = 0; i < numCC; i++) { oTarget.removeChild(oTarget.childNodes[0]); }
    var oImg = document.createElement("IMG");
    var oTxt = document.createElement("A");
    oImg.src = "../../Content/Images/com.exclamation.gif";
    oImg.title = strMsg;
    oTxt.style.color = "Red";
    oTxt.style.padding = "0px 0px 0px 5px";
    oTxt.style.verticalAlign = "top";
    oTxt.innerHTML = strMsg;
    oTarget.appendChild(oImg);
    oTarget.appendChild(oTxt);
    return false;
}

function _COM_ValFail_A(oVal, strMsg, strTargetID) {
    var oTarget = document.getElementById(strTargetID);
    if (!oTarget) { return; }
    var numCC = oTarget.childNodes.length;
    for (var i = 0; i < numCC; i++) { oTarget.removeChild(oTarget.childNodes[0]); }
    var oImg = document.createElement("IMG");
    var oTxt = document.createElement("A");
    oImg.src = "../../Content/Images/com.exclamation.gif";
    oImg.title = strMsg;
    oTxt.style.color = "Red";
    oTxt.style.padding = "0px 0px 0px 5px";
    oTxt.style.verticalAlign = "top";
    oTxt.innerHTML = strMsg;
    oTarget.appendChild(oImg);
    oTarget.appendChild(oTxt);
    var oTarget1 = document.getElementById(oVal.name + "1");
    if (!oTarget1) { return false; }
    numCC = oTarget1.childNodes.length;
    for (var i = 0; i < numCC; i++) { try { oTarget1.removeChild(oTarget1.childNodes[0]); } catch (e) { } }
    oTarget1.appendChild(oImg);
    return false;
}
///       备注:验证失败
///     strMsg:[String]验证信息
///strTargetID:[String]显示验证信息控件的ID
function _COM_ValFail_A_OnlyImg(oVal, strMsg, strTargetID) {
    var oTarget = document.getElementById(strTargetID);
    if (!oTarget) { return; }
    var numCC = oTarget.childNodes.length;
    for (var i = 0; i < numCC; i++) { oTarget.removeChild(oTarget.childNodes[0]); }
    var oImg = document.createElement("IMG");
    var oTxt = document.createElement("A");
    oImg.src = "../../Content/Images/com.exclamation.gif";
    oImg.title = strMsg;
    oTarget.appendChild(oImg);
    var oTarget1 = document.getElementById(oVal.name + "1");
    if (!oTarget1) { return false; }
    numCC = oTarget1.childNodes.length;
    for (var i = 0; i < numCC; i++) { try { oTarget1.removeChild(oTarget1.childNodes[0]); } catch (e) { } }
    oTarget1.appendChild(oImg);

    return false;
}
///       备注:验证成功
///strTargetID:[String]显示验证信息控件的ID
function _COM_ValSuccess(oVal, strTargetID) {
    var oTarget = document.getElementById(strTargetID);
    if (!oTarget) { return; }
    var numCC = oTarget.childNodes.length;
    for (var i = 0; i < numCC; i++) { oTarget.removeChild(oTarget.childNodes[0]); }
    //            var oImg = document.createElement("IMG");
    //            oImg.src = "../../Content/Images/com.accept.gif";
    //            oTarget.appendChild(oImg);
    var oTarget1 = document.getElementById(oVal.name + "1");
    if (!oTarget1) { return true; }
    numCC = oTarget1.childNodes.length;
    for (var i = 0; i < numCC; i++) { try { oTarget1.removeChild(oTarget1.childNodes[0]); } catch (e) { } }


    return true;
}
///        备注:验证控件长度
///        oVal:[Object]被验证的控件
///numMinLength:[Number]最小长度，可为空
///numMaxLength:[Number]最大长度，可为空
///     strName:[String]被验证的控件名称
/// strValMsgID:[String]显示验证信息控件的ID
function _COM_ValLength(oVal, numMinLength, numMaxLength, strName, strValMsgID) {
    if (!oVal) { return false; }
    if (_COM_IsNull(oVal.value)) { return false; }
    if (!_COM_IsNull(numMinLength)) {
        if (numMinLength > oVal.value.length) {
            var strMsg = "“" + strName + "”少于" + numMinLength + "字符!";

            return _COM_ValFail_A(oVal,strMsg, strValMsgID);
        }
    }
    if (!_COM_IsNull(numMaxLength)) {
        if (numMaxLength < oVal.value.length) {
            var strMsg = "“" + strName + "”大于" + numMaxLength + "字符!";
            return _COM_ValFail_A(oVal, strMsg, strValMsgID);
        }
    }
    return _COM_ValSuccess(oVal, strValMsgID);
}
///        备注:验证控件空
///        oVal:[Object]被验证的控件
///     strName:[String]被验证的控件名称
/// strValMsgID:[String]显示验证信息控件的ID
function _COM_ValNull(oVal, strName, strValMsgID) {
    if (!oVal) { return false; }
    if (_COM_IsNull(oVal.value)) {
        var strMsg = "“" + strName + "”必须输入!";
        return _COM_ValFail_A(oVal, strMsg, strValMsgID);
    }
    return _COM_ValSuccess(oVal,strValMsgID);
}
///        备注:验证控件空
///        oVal:[Object]被验证的控件
///     strName:[String]被验证的控件名称
/// strValMsgID:[String]显示验证信息控件的ID
function _COM_InnerNull(oVal, strName, strValMsgID) {
    if (!oVal) { return false; }
    if (oVal.innerHTML == "") {
        var strMsg = "“" + strName + "”必须选择!";
        return _COM_ValFail_A(oVal, strMsg, strValMsgID);
    }
    return _COM_ValSuccess(oVal,strValMsgID);
}
///        备注:验证控件空
///        oVal:[Object]被验证的控件
///     strName:[String]被验证的控件名称
/// strValMsgID:[String]显示验证信息控件的ID
function _COM_ValNull_OnlyImg(oVal, strName, strValMsgID) {
    if (!oVal) { return false; }
    if (_COM_IsNull(oVal.value)) {
        var strMsg = "“" + strName + "”必须输入!";
        return _COM_ValFail_A_OnlyImg(oVal, strMsg, strValMsgID);
    }
    return _COM_ValSuccess(oVal,strValMsgID);
}
///        备注:验证2控件值是否一致
///       oVal1:[Object]被验证的控件1
///       oVal2:[Object]被验证的控件2
///     strName:[String]被验证的控件名称1
///     strName:[String]被验证的控件名称2
/// strValMsgID:[String]显示验证信息控件的ID
function _COM_ValEqual_OnlyImg(oVal1, oVal2, strName1, strName2, strValMsgID) {
    if (!oVal1) { return false; }
    if (!oVal2) { return false; }
    if (_COM_IsNull(oVal2.value)) { return false; }
    if (oVal1.value < oVal2.value) {
        var strMsg = "“" + strName1 + "”不可小于“" + strName2 + "”!";
        return _COM_ValFail_A_OnlyImg(oVal, strMsg, strValMsgID);
    }
    return _COM_ValSuccess(oVal,strValMsgID);
}
///        备注:验证控件空
///        oVal:[Object]被验证的控件
///     strName:[String]被验证的控件名称
/// strValMsgID:[String]显示验证信息控件的ID
function _COM_ValSelect(oVal, strName, strValMsgID) {
    if (!oVal) { return false; }
    if (_COM_IsNull(oVal.value)) {
        var strMsg = "“" + strName + "”必须选择!";
        return _COM_ValFail_A(oVal, strMsg, strValMsgID);
    }
    return _COM_ValSuccess(oVal,strValMsgID);
}
///        备注:验证控件空
///        oVal:[Object]被验证的控件
///     strName:[String]被验证的控件名称
/// strValMsgID:[String]显示验证信息控件的ID
function _COM_ValSelected(oVal, strName, strValMsgID) {
    if (!oVal) { return false; }
    if (!oVal.checked) {
        var strMsg = "“" + strName + "”必须选择!";
        return _COM_ValFail_A(oVal, strMsg, strValMsgID);
    }
    return _COM_ValSuccess(oVal,strValMsgID);
}
///        备注:验证控件正则
///        oVal:[Object]被验证的控件
///     strName:[String]被验证的控件名称
///     strExpr:[String]验证正则
/// strValMsgID:[String]显示验证信息控件的ID
function _COM_ValExpr(oVal, strName, strExpr, strValMsgID) {
    if (!oVal) { return false; }
    if (_COM_IsNull(oVal.value)) { return false; }
    var oMatch = oVal.value.match(eval(strExpr));
    if (_COM_IsNull(oMatch)) {
        var strMsg = "“" + strName + "”不符合要求,请重新输入!";
        return _COM_ValFail_A(oVal, strMsg, strValMsgID);
    }
    return _COM_ValSuccess(oVal,strValMsgID);
}
///        备注:验证2控件值是否一致
///       oVal1:[Object]被验证的控件1
///       oVal2:[Object]被验证的控件2
///     strName:[String]被验证的控件名称1
///     strName:[String]被验证的控件名称2
/// strValMsgID:[String]显示验证信息控件的ID
function _COM_ValEqual(oVal1, oVal2, strName1, strName2, strValMsgID) {
    if (!oVal1) { return false; }
    if (!oVal2) { return false; }
    //            if (_COM_IsNull(oVal1.value)) { return false; }
    if (_COM_IsNull(oVal2.value)) { return false; }
    if (oVal1.value != oVal2.value) {
        var strMsg = "“" + strName1 + "”与“" + strName2 + "”不一致,请确认!";
        return _COM_ValFail_A(oVal, strMsg, strValMsgID);
    }
    return _COM_ValSuccess(oVal,strValMsgID);
}
///        备注:验证2控件值是否一致
///       oVal1:[Object]被验证的控件1
///       oVal2:[Object]被验证的控件2
///     strName:[String]被验证的控件名称1
///     strName:[String]被验证的控件名称2
/// strValMsgID:[String]显示验证信息控件的ID
function _COM_ValEqual_1(oVal1, oVal2, strName, strValMsgID) {
    if (!oVal1) { return false; }
    if (!oVal2) { return false; }
    if (_COM_IsNull(oVal2.value)) { return false; }
    if (oVal1.value != oVal2.value) {
        var strMsg = "“" + strName + "”不一致,请确认!";
        return _COM_ValFail_A(oVal1, strMsg, strValMsgID);
    }
    return _COM_ValSuccess(oVal1,strValMsgID);
}
///        备注:验证电话号码控件
///        oVal:[Object]被验证的控件
///     strName:[String]被验证的控件名称
/// strValMsgID:[String]显示验证信息控件的ID
function _COM_ValPhone(oVal, strName, strValMsgID) {
    var strExpr = "/^d{3}-d{8}|d{4}-d{7}$/";
    return _COM_ValExpr(oVal, strName, strExpr, strValMsgID);
}
///        备注:验证Email控件
///        oVal:[Object]被验证的控件
///     strName:[String]被验证的控件名称
/// strValMsgID:[String]显示验证信息控件的ID
function _COM_ValEmail(oVal, strName, strValMsgID) {
    var strExpr = "/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/";
    return _COM_ValExpr(oVal, strName, strExpr, strValMsgID);
}

///        备注:异步验证
///        oVal:[Object]被验证的控件
///     strName:[String]被验证的控件名称
///      strUrl:[String]请求URL
/// strValMsgID:[String]显示验证信息控件的ID
function _COM_ValAjax(oVal, strMsg, strUrl, strValMsgID) {
    if (!oVal) { return; }
    var blreturn = false;
    if (_COM_IsNull(oVal.value)) { return; }
    $.getJSON(strUrl + oVal.value, {}, function(json) {
    if (json) { _COM_ValSuccess(oVal, strValMsgID); blreturn = true; }
        else { _COM_ValFail_A(oVal, strMsg, strValMsgID); blreturn = false; }
    });
    return blreturn;
}
