/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
// 前後空白削除
function trim(value) {
    return value.replace(/(^\s*)/g, "").replace(/(\s*$)/g, "");
}
// 空白チェック
function blankCheck (value) {
    return value.length != 0;
}
// 数字チェック
function numCheck (value) {
    return !value.match(/[^0-9]+/);
}
// 半角英数字チェック
function alphabetCheck(value) {
    return value.match(/[0-9a-zA-Z\+\-\/\*\,\. ]+/g);
}
// 長さチェック
function lengthCheck(value, length_s, length_l) {
    return (value.length >= length_s && value.length <= length_l);
}
// カンマと数字チェック
function moneyCheck (value) {
    return !value.match(/[^0-9,]+/);
}
// メールチェック
function emailCheck(value){
    /* E-mail形式の正規表現パターン */
    /* @が含まれていて、最後が .(ドット)でないなら正しいとする */
    if (value.length == 0) {
        return true;
    } else {
        return value.match(/[!#-9A-~]+@+[a-z0-9]+.+[^.]$/i);
    }
}
// 数字の前頭零を消す
function zeroShift(value){
    return value.replace(/^0+0?/g, "");
}
// パスワード確認
function passwordCheck(oldPassword, newPassword) {
    return oldPassword == newPassword;
}
// 郵便番号確認 000-0000
function zipcodeCheck(value1, value2) {
    var length1 = value1.length;
    var length2 = value2.length;
    if (!numCheck(value1) || !numCheck(value2)) {
        return false;
    }
    return (length1 == 3 && length2 == 4)?true:false;
}
// 固定電話番号確認 2~4 2~4 4 sum=10
function localPhoneCheck(value1, value2, value3) {
    var length1 = value1.length;
    var length2 = value2.length;
    var length3 = value3.length;
    if (length1 == 0 && length2 == 0 && length3 == 0) {
        return true;
    }
    if (length1 > 0 || length2 > 0 || length3 > 0) {
        if (!numCheck(value1) || !numCheck(value2) || !numCheck(value3)) {
            return false;
        }
        if (length1 + length2 + length3 != 10) {
            return false;
        }
        if ((length1 < 2 || length1 > 4) || (length2 < 2 || length2 > 4) || length3 != 4){
            return false;
        }
    }
    return true;
}
// 電話番号確認 3 4 4
function mobilePhoneCheck(value1, value2, value3) {
    var length1 = value1.length;
    var length2 = value2.length;
    var length3 = value3.length;
    if (length1 == 0 && length2 == 0 && length3 == 0) {
        return true;
    }
    if (!numCheck(value1) || !numCheck(value2) || !numCheck(value3)) {
        return false;
    }
    if (length1 != 3 || length2 != 4 || length3 != 4) {
        return false;
    } else {
        return true;
    }
}
// 年月日形式確認
function dateCheck(date, form) {
    if (date.length == 0) {
        return true;
    }
    if (form == null) {
        form = "yyyy-MM-dd";
    }
    var yIndex = form.indexOf("yyyy");
    if (yIndex == -1) {
        return false;
    }
    var mIndex = form.indexOf("MM");
    if (mIndex == -1) {
        return false;
    }
    var dIndex = form.indexOf("dd");
    if (dIndex == -1) {
        return false;
    }
    var year = date.substring(yIndex,yIndex+4);
    var month = date.substring(mIndex,mIndex+2);
    var day = date.substring(dIndex,dIndex+2);
    if(!numCheck(year) || year > "2100" || year < "1000")
    {
        return false;
    }
    if(!numCheck(month) || month > "12" || year < "01")
    {
        return false;
    }
    if(!numCheck(day) || day > getMaxDay(year, month) || day < "01")
    {
        return false;
    }
    return true;
}
// 年形式確認
function yearCheck(year) {
    if (year.length == 0) {
        return true;
    }
    if(!numCheck(year) || year > "2100" || year < "1000")
    {
        return false;
    }
    
    return true;
}
function getMaxDay(year, month) {
    if(month == 4 || month == 6 || month == 9 || month == 11) {
        return "30";
    } else if (month == 2) {
        if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
            return "29";
        } else {
            return "28";
        }
    } else {
        return "31";
    }
}
// 全角チェック
function zennkakuCheck(value){
    for(var i = 0; i < value.length; i++){
        /* 1文字ずつ文字コードをエスケープし、その長さが4文字以上なら全角 */
        var len = escape(value.charAt(i)).length;
        if ( len < 4) {
            return false;
        }
    }
    return true;
}
// 半角チェック
function hannkakuCheck(value){
    for(var i = 0; i < value.length; i++){
        /* 1文字ずつ文字コードをエスケープし、その長さが4文字以上なら全角 */
        var len = escape(value.charAt(i)).length;
        if ( len >= 4) {
            return false;
        }
    }
    return true;
}
// ふりがなチェック
function furiganaCheck(value) {
    return !value.match(/[^ぁ-んァ-ン　\s]+/);
}