Stai facendo un pochino di confusione fra client e server... cerca di individuare quando i valori delle variabili sono disponibili e quindi chi deve esereguire lo script (server o client) e strutturare la procedura correttamente.

Non conosco il controllo cal di .net, ma se restituisce un valore di tipo data (in js) il controllo si puo' fare confrontando direttamente le variabili:

if(Date() >= cal.SelectedDate)

ripeto: non conosco il controllo che stai utilizzando

ciao