JavaScriptで開始から終了の日付チェックみたいな〜

開始と終了があり、今日以降から予約みたいなもののために考えました。
HTML

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<script type="text/javascript" src="inputYMDCheck.js"></script>
</head>
<body>
<input type="text" id="before"/>から
<input type="text" id="after"/>まで
<button onClick="main()">予約</button>
</body>
</html>

JavaScript (inputYMDCheck.js)

/* inputYMDCheck.js 2011-01-11*/
function main(){
	var beforeYMD=document.getElementById("before").value;
	var afterYMD=document.getElementById("after").value;
	if(!inputYMDCheck(beforeYMD,afterYMD)){
		alert("日付エラー");
		return;
	}
	alert(beforeYMD+'から'+afterYMD+'まで予約する準備ができました');
}
function inputYMDCheck(beforeYMD,afterYMD){//予約日付チェック
	var flg=false;
	var dateCheck=new RegExp(/[2][0-9]{3}-[0-1][0-9]-[0-3][0-9]/); //2XXX年-0X月〜1X月-0X日〜3X日
	if(!dateCheck.test(beforeYMD) || !dateCheck.test(afterYMD)){
		return false;
	}
	var now=new Date();
	nowYMD=now.getFullYear()+'-'+('0'+(now.getMonth()+1)).slice(-2)+'-'+now.getDate();	//現在日
	if(dateCalc(nowYMD,beforeYMD)<0){//現在より前の予約開始(datepickerを使う場合なくてもよい)
		return false;
	}
	if(dateCalc(beforeYMD,afterYMD)<0){//予約前より予約後のほうが昔
		return false;
	}
	return true;
}
function dateCalc(beforeYMD,afterYMD){
	var isMSIE = /*@cc_on!@*/false;
	if(isMSIE){
		var afterYMD=afterYMD.replace('-','/');
		var beforeYMD=beforeYMD.replace('-','/');
	}
	var d=Math.floor(Date.parse(afterYMD)-Date.parse(beforeYMD))/1000/60/60/24;
	return d;
}

現在jQueryのdatepickerと併用して使うようにしています。
その場合、datepickerのほうでminDate:0を指定すると現在からの予約になるみたいです。
(minDateで過去,maxDateで未来を制限するかんじ)