function checkYMd(paramYear,paramMonth,paramDay){

    if (!CheckNen(paramYear,"生年月日")) {
        return false;
    }
    if (!CheckTsuki(paramMonth,"生年月日")) {
        return false;
    }
    if (!CheckHi(paramDay,"生年月日")) {
        return false;
    }
    var yearValue  = parseInt(paramYear.value,10);
    var monthValue = parseInt(paramMonth.value,10);
    var dayValue   = parseInt(paramDay.value,10);
    if (!Check_Ymd(yearValue, monthValue, dayValue)) {
        alert("生年月日"+ERROR_002);
        paramYear.focus();
        paramYear.select();
        return false;
    }
    return true;
}

function checkYM(paramYear,paramMonth){

    if (!CheckNen(paramYear,"有効期限")) {
        return false;
    }
    if (!CheckTsuki(paramMonth,"有効期限")) {
        return false;
    }

    var yearValue  = parseInt(paramYear.value,10);
    var monthValue = parseInt(paramMonth.value,10);
    var iputDate = yearValue * 100 + monthValue;

    var currDate = new Date();
    currDate = currDate.getYear() *100 + currDate.getMonth();

    if(iputDate < currDate){
        alert("有効期限"+ERROR_007);
        paramMonth.focus();
        return false;
    }

    return true;
}

//年チェック
function CheckNen(param1,objName){
    if(isNull(param1 , objName + "（年）" + ERROR_001)){
        return false;
    }
    if (param1.value.length != 4) {
        alert(objName + "（年）"+ERROR_006);
        param1.focus();
        param1.select();
        return false;
    }
    if (isNaN(param1.value) == true){
        alert(objName + "（年）"+ERROR_003);
        param1.focus();
        param1.select();
        return false;
    }
    return true;
}

// 月チェック
function CheckTsuki(param1,objName){
    if(isNull(param1 , objName + "（月）" + ERROR_001)){
        return false;
    }
    if (isNaN(param1.value) == true){
        alert(objName + "（月）"+ERROR_003);
        param1.focus();
        param1.select();
        return false;
    }
    var monthValue = parseInt(param1.value,10);
    if ((monthValue<1) || (monthValue>12)) {
        alert(objName + "（月）"+ERROR_002);
        param1.focus();
        param1.select();
        return false;
    }
    addZero(2, param1);
    return true;
}

// 日チェック
function CheckHi(param1,objName){
    if(isNull(param1 , objName + "（日）" + ERROR_001)){
        return false;
    }
    if (isNaN(param1.value) == true){
        alert(objName + "（日）"+ERROR_003);
        param1.focus();
        param1.select();
        return false;
    }
    var dayValue = parseInt(param1.value,10);
    if ((dayValue<1) || (dayValue>31)) {
        alert(objName + "（日）"+ERROR_002);
        param1.focus();
        param1.select();
        return false;
    }
    addZero(2, param1);
    return true;
}

//年月日チェック
function Check_Ymd(p1_1_y,p1_1_m,p1_1_d){

  	switch (p1_1_m) { // 月に対する日数チェック
  	case 4:
  	case 6:
  	case 9:
  	case 11:
    		if((p1_1_d < 1) || (p1_1_d > 30)) {
    			  return false;
    		}
    		break;
  	case 2:
  		if(p1_1_y%4 == 0){ // うるう年考慮
    			if(p1_1_y%100 == 0){
      				if(p1_1_y%400 == 0){
      				    p1_u_dd = 29;
      				}else{
      				    p1_u_dd = 28;
      				}
    			}else{
    			    p1_u_dd = 29;
    			}
  		}else{
  		     p1_u_dd = 28;
  		}
  		if((p1_1_d < 1) || (p1_1_d > p1_u_dd)) {
  			return false;
  		}
  		break;
  	}
  	return true;
}

function checkYMD(paramYear,paramMonth,paramDay){

    var yearValue  = parseInt(paramYear.value,10);
    var monthValue = parseInt(paramMonth.value,10);
    var dayValue = parseInt(paramDay.value,10);
    var iputDate = (yearValue * 10000) + (monthValue * 100) + dayValue;

    var currDate = new Date();
    chkDate = (currDate.getFullYear() * 10000) + ((currDate.getMonth() + 1) * 100) + currDate.getDate();

    if(iputDate < chkDate){
       alert("スケジュール"+ERROR_007);
//        paramYear.focus();
//        paramYear.select();
        return false;
    }

    return true;
}
