function trim(str) {
    if (str.charAt(0) != ' ' && str.charAt(str.length) != ' ') {
        return str;
    }
    if (str.charAt(0) == ' ') {
        str = str.substring(1, str.length);
    }
    if (str.charAt(str.length) == ' ') {
        str = str.subsring(0, str.length - 1);
    }
    return trim(str);
}

function removeBlanks(str) {
    var result = str.replace(/(^\s*)|(\s*$)/g, "");
    return trim(result);
}

function validateEmail(email) {
    var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
    var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid
    return !reg1.test(email) && reg2.test(email);
}

function validateTel(tel) {
    var reg = /^((0\d{2,4}\-)?(\d{7,11}))?(_\d{2,5}(\/\d{2,5})*)*([,;:\s]+(0\d{2,4}\-)?(\d{7,11})?(_\d{2,5}(\/\d{2,5})*)*)*$/;
    return reg.test(tel);
}

function validateExpense(expense) {
    var format = /^[1-9](\d)*(\.\d{1,2})?/;
    var zero = /^(0){1,}$/;
    return format.test(expense) || zero.test(expense);
}

function ensureAtLeastOneCheckedbox(form) {
    var flag = 0;
    for (var i = 0; i < form.elements.length; i++) {
        var elem = form.elements[i];
        if (elem.type == 'checkbox' && elem.checked == true) {
            ++flag;
        }
    }
    if (flag == 0) {
        return false;
    } else {
        return true;
    }
}

function chooseDate(obj, contextPath) {
    var ret = window.showModalDialog(contextPath + "/jsp/common/TimeCtrl.jsp","选择日期","scroll=no;status:no;dialogWidth:320px;dialogHeight:210px;");
    if (ret != null) {
        obj.value = ret.substring(0, 10);
        event.returnValue = false;
    }
}

function chooseService(contextPath) {
    window.open(contextPath + "/jsp/govcatalog/catalog_content/service.jsp", "选择引用的服务");
}

function validateLength(obj, num, fieldName) {
    if (obj.value.replace(/[^\x00-\xff]/g, "aa").length > num) {
        alert(fieldName + "内容不能超过" + num + "字");
        return false;
    }
    return true;
}

function ensureAllTextInputsFilled(obj) {
    for (var i = 0; i < obj.elements.length; i++) {
        var element = obj.elements[i];
        if (element.type == 'text') {
            if (trim(element.value) == '') {
                alert("所有选项必须填写完整");
                return false;
            }
        }
    }
    return true;
}

function recoverCheckedValue(form, type, name, value) {
    for (var i = 0; i < form.elements.length; i++) {
        var element = form.elements[i];
        if (element.type == type) {
            if (element.name == name && element.value == value) {
                element.checked = true;
            }
        }
    }
}