/*------------------------------------------------------------------*/
function cmf_isDate(obj,msg,alt,fcs) {
    var rtn = cmf_isDate2(obj.value);
    //if (msg == null || msg == "") { msg = ""; }
    //else             { msg = "["+msg+"]"; }
    if (rtn == false) {
        if (alt == "1") { alert(msg); }
        if (fcs == "1") { obj.focus(); }
    }
    return rtn;
}

/*------------------------------------------------------------------*/
function cmf_isDate2(inputstr) {
    for (var i = 0; i < inputstr.length; i++) {
        var onechar = inputstr.charAt(i);
        if ((onechar < "0" || onechar > "9") && (onechar!="/")) {
            return false;
        }
    }

    if (inputstr.length != 10) {
        return false;
    }
    var v_yyyy = inputstr.substring(6,10);
    var v_mm = inputstr.substring(3,5);
    var v_dd = inputstr.substring(0,2);
    if (v_yyyy == null || v_yyyy == "") {
        return false;
    }
    if (v_yyyy == "0000") {
        return false;
    }
    if (v_mm < 1 || v_mm > 12) {
        return false;
    }
    if (v_mm == 4 || v_mm == 6 || v_mm == 9 || v_mm == 11) {
        if (v_dd < 1 || v_dd > 30) {
            return false;
        }
    }
    else if (v_mm == 2 ) {
        if ((v_yyyy % 400 == 0) || ((v_yyyy % 4 == 0) && (v_yyyy % 100 != 0))){
            if (v_dd < 1 || v_dd > 29) {
                return false;
            }
        }
        else {
            if (v_dd < 1 || v_dd > 28) {
                return false;
            }
        }
    }
    else {
        if (v_dd < 1 || v_dd > 31) {
            return false;
        }
    }
    return true;
}

/*------------------------------------------------------------------*/
function cmf_FmtDate(obj,kbn) {
    var fmt = new String;
    var str = new String;
    var onechar1,onechar2 = "";
    var i,i2 = 0;

    if (kbn == "0") {
        fmt = "99999999";
        for (var i = 0; i < obj.value.length; i++) {
            onechar1 = obj.value.charAt(i);
            if (onechar1 >= "0" && onechar1 <= "9") {
                str += onechar1;
            }
        }
    } else if (kbn == "1") {
        fmt = "9999/99/99";
        if (!cmf_isDate2(obj.value)) {
            return str;
        }
        for (var i = 0; i < fmt.length; i++) {
            onechar1 = obj.value.charAt(i2);
            onechar2 = fmt.charAt(i);
            if (onechar2 == "9") {
                str += onechar1;
                i2 += 1;
            } else {
                str += onechar2;
            }
        }
    }

    return str;
}

/*------------------------------------------------------------------*/
function cmf_GetDay(inputstr) {
    var str = "";
    var arr_day = new Array("日","月","火","水","木","金","土")
    var w_year = inputstr.substr(0,4) * 1;
    var w_month = inputstr.substr(4,2) * 1;
    var w_day = inputstr.substr(6,2) * 1;

    if (!cmf_isDate2(inputstr)) {
        return str;
    }

    if (w_month == 1) {
        w_year -= 1;
        w_month = 12;
    } else {
        w_month -= 1;
    }
    var w_date = new Date(w_year,w_month,w_day);
    str = arr_day[w_date.getDay()];

    return str;
}
