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