﻿function Validata() {
    var i, j, name, value, message, length, type, must, a = Validata.arguments;
    for (i = 0; i < (a.length - 2); i += 3) {
        name = GetName(a[i]); // 控件名称
        type = a[i + 1]; // 类型
        must = a[i + 2]; // 不能为空
        value = name.value;

        // ========不能为空的判断================ //
        if (must == "must") {
            message = "不能为空，必须输入";
            if (value == "") {
                //alert(message + "!\n");
                asyncbox.alert(message + "!\n", '彩色宝石网')
                name.focus();
                name.select();
                return false;
            }
        }

        if (name) {

            // =========只能输入数字=====// 
            if (type == "num") {
                message = "只能输入数字";
                if (name.value != "") {
                    if (value.search(/^[0-9]+$/) == -1) {
                        asyncbox.alert(message + "!\n", '彩色宝石网')
                        name.focus();
                        name.select();
                        return false;
                    }
                }
            }

            // ========只能输入金额=====// 
            if (type == "currency") {
                message = "金额输入错误";
                if (name.value != "") {
                    if (value.search(/^[0-9-.]+$/) == -1) {
                        asyncbox.alert(message + "!\n", '彩色宝石网')
                        name.focus();
                        name.select();
                        return false;
                    }
                }
            }

           

            // =====判断日期,比如2000-12-20=== //
            if (type == "date") {
                flag = true;
                getdate = value;
                message = "日期输入错误";
                if (getdate.search(/^[0-9]{4}-(0[1-9]|[1-9]|1[0-2])-((0[1-9]|[1-9])|1[0-9]|2[0-9]|3[0-1])$/) == -1 && value != "") // 判断输入格式时候正确
                {
                    flag = false;
                }
                else {
                    var year = getdate.substr(0, getdate.indexOf('-')) // 获得年
                    // 下面操作获得月份
                    var transition_month = getdate.substr(0, getdate.lastIndexOf('-'));
                    var month = transition_month.substr(transition_month.lastIndexOf('-') + 1, transition_month.length);
                    if (month.indexOf('0') == 0) {
                        month = month.substr(1, month.length);
                    }
                    //下面操作获得日期
                    var day = getdate.substr(getdate.lastIndexOf('-') + 1, getdate.length);
                    if (day.indexOf('0') == 0) {
                        day = day.substr(1, day.length);
                    }
                    if ((month == 4 || month == 6 || month == 9 || month == 11) && (day > 30)) // 4,6,9,11月份日期不能超过30
                    {
                        flag = false;
                    }
                    if (month == 2)  //判断2月份
                    {
                        if (LeapYear(year)) {
                            if (day > 29 || day < 1) { flag = false; }
                        }
                        else {
                            if (day > 28 || day < 1) { flag = false; }
                        }
                    }
                    else {
                        flag = true;
                    }
                }
                if (flag == false) {
                    asyncbox.alert(message + "!\n", '')
                    name.focus();
                    name.select();
                    return false;
                }
            }

            // ======判断手机======== //
            if (type.indexOf("mobile") != -1) {
                message = "输入手机号码错误。";
                if (name.value != "") {
                    if (value.search(/^[0-9]{11}$/) == -1) {
                        asyncbox.alert(message + "!\n", '彩色宝石网')
                        name.focus();
                        name.select();
                        return false;
                    }
                }
            }

            // ======判断电话====== //
            if (type.indexOf("tel") != -1) {
                message = "输入电话号码错误。";
                if (name.value != "") {
                    if (value.search(/^[0-9--]+$/) == -1) {
                        asyncbox.alert(message + "!\n", '彩色宝石网')
                        name.focus();
                        name.select();
                        return false;
                    }
                }
            }
        }
    }
}

//判断是否闰年
function LeapYear(intYear) {
    if (intYear % 100 == 0) {
        if (intYear % 400 == 0) {
            return true;
        }
    }
    else {
        if ((intYear % 4) == 0) {
            return true;
        }
    }
    return false;
}
function WinClose() {
    window.parent.location.reload();
    window.close();
}

function GetName(n, d) {
    var p, i, x;
    if (!d) d = document;
    if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
        d = parent.frames[n.substring(p + 1)].document;
        n = n.substring(0, p);
    }
    if (!(x = d[n]) && d.all)
        x = d.all[n];
    for (i = 0; !x && i < d.forms.length; i++)
        x = d.forms[i][n];
    for (i = 0; !x && d.layers && i < d.layers.length; i++)
        x = GetName(n, d.layers[i].document);
    return x;
}
