<% function DatesCheck(ALERTTExt) DatesCheck = false dim Item dim HDatesCheck dim StartDate dim EndDate DatesCheck = false dim sD sD=request("DATEFROM") 'BEGIN: test whether dates are filled properly (regular expressions are used to check whether there are filled right numbers, not characters) if intDateFormat=1 then if (CAL_REGCHECK(sD)=true) then StartDate = dateserial(right(sD,4), mid(sD,4,2), left(sD,2)) ' Is there any recurence if isempty(request("DATETO")) OR IsNull(request("DATETO")) OR request("DATETO")="" then EndDate = StartDate else sD=request("DATETO") if (CAL_REGCHECK(sD)=true) then EndDate = dateserial(right(sD,4), mid(sD,4,2), left(sD,2)) end if else if (CAL_REGCHECK(sD)=true) then StartDate = dateserial(right(sD,4), left(sD,2), mid(sD,4,2)) ' Is there any recurence if isempty(request("DATETO")) OR IsNull(request("DATETO")) OR request("DATETO")="" then EndDate = StartDate else sD=request("DATETO") if (CAL_REGCHECK(sD)=true) then EndDate = dateserial(right(sD,4), left(sD,2), mid(sD,4,2)) end if end if 'END: test whether dates are filled properly if NOT IsDate(StartDate) then ALERTTExt = "Start Day is invalid" DatesCheck = true else if datevalue(StartDate) < datevalue(date()) AND (IsEmpty(request("IgnoreOldDates"))) then ALERTTExt = "Start Day is older then today" DatesCheck = true end if end if if NOT IsDate(EndDate) then ALERTTExt = "End Day is invalid" DatesCheck = true elseif IsDate(StartDate) then if datevalue(StartDate) > datevalue(EndDate) then ALERTTExt = "End Day is higher than start day" DatesCheck = true end if end if end function '########################################## Public Function CAL_REGCHECK(testDate) Dim RegX, SearchPattern, Test, Testitem Set RegX = NEW RegExp 'Basic test through reg. expressions whether dates are in right format if (session("DateFormat")="2") then SearchPattern = "([0-1][0-9]" & session("DateDelimiter") & "[0-3][0-9]" & session("DateDelimiter") & "2[0-9]{3})" else SearchPattern = "([0-3][0-9]" & session("DateDelimiter") & "[0-1][0-9]" & session("DateDelimiter") & "2[0-9]{3})" end if RegX.Pattern = SearchPattern RegX.Global = True RegX.IgnoreCase = True set Test = RegX.Execute(testDate) Set RegX = Nothing for each Testitem in Test if (Testitem.value = testDate) then CAL_REGCHECK = true else CAL_REGCHECK = false end if next set Test = nothing End Function %>