Misal kita punya tanggal awal dan tanggal akhir kayak gambar dibawah ini, nah tapi tanggal yang diinput itu kan mestinya tanggal mulai lebih kecil dari tanggal akhir.

Ternyata kalo kita langsung compare inputan tadi kyk gini :
if(tgl_akhir > tgl_awal) {
alert('Tanggal tidak valid');
}else {
alert('Tanggal valid');
}
pas fungsi tadi dijalankan akan selalu masuk ke alert('Tanggal valid') walaupun tanggal nya gak bener, ini dikarenakan si javascript cuman nge-compare string doank.
Langkahnya gimana donk.....
Kita rubah dulu inputan kedua tanggal tadi menjadi bentuk tipe date();
dan yang terpenting format inputan tanggal juga harus dirubah menjadi bentuk yyyy-mm-dd.
Caranya kita pake fungsi split dengan parameter awal pemisahnya kemudian dibagi menjadi berapa bagian kedalam bentuk array;
contoh :
var str = '14-04-2010';
var awal = str.split('/',3);
hasil variable awal akan kyk begini : 14,04,2010
var str2 = '13-04-2010';
var selesai = str2.split('/',3);
hasil variable selesai akan kyk begini : 13,04,2010
udah gitu sambung lagi bagian2 yang udah di split tadi ke format yyyy-mm-dd,
var mulai = awal[2] + '-' +awal[1] + '-' + awal[0];
var akhir = selesai[2] + '-' +selesai[1] + '-' + selesai[0];
udah gitu rubah ke bentuk date() sekaligus bandingin,
if(new Date(mulai) > new Date(akhir)) {
alert('Tanggal Mulai harus lebih kecil dari tanggal akhir.');
}else {
alert('Tanggal valid.');
}

Hasilnya bisa di download disini :
http://www.ziddu.com/download/9501792/SCW.rar.html
Calendar yang dipake berasal dari link ini :
http://www.garrett.nildram.co.uk/calendar/scw.htm