<%@language="VBScript"%>
<%option explicit%>
<!--#include file="..\custom.inc"-->   

<%

dim redirect_file
dim update_month, update_minutes
dim redirect_subfolder
dim redirect_url
dim office_closed_message
dim inter_val
dim wminute
dim link_is_fresh

dim ve, ws, wi, i, j

'for debug: don't neglect this variable now:
'  when converting to PHP, this is good to convert
'  debug code also to use it if problems in PHP-coded arise.
'dim dg   'for debug

ve = vbcrlf

inter_val = 5 'minutes; 
              '"overwritten" if "update interval " in present;

const html_header = "<html><head><title>Connecting to Corporate Office</title></head><body><pre>"
const html_end = "</pre></body></html>"

'we apologize for inconvenience caused:
office_closed_message = _
      "Sorry, corporate office site is closed at this time." & ve & _
      "Information about open hours is not available." & ve & _
      "<b>This message may be cleared if to refresh it from the browser.</b>"

'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
'  Auxiliary procedures
'=======================================================

function rh (s)  'response html
 response.write html_header & s & html_end
 response.end
end function

function ex (s)  'exception
 rh s 
end function

 'extracting <value> by parsing format: 
 '  <skey> <value> <sterminator>
function parse_key_value(ssource, skey, sterminator)
  dim i, k, wi, ws
  i = instr(ssource, skey)
  if 0 = i then ex "Missesd keyphrase " & skey
  i = i + len(skey)

  k = instr(i, ssource, sterminator)
  if 0 = k then ex "Missed value terminator " & sterminator & ve & _
                   "for keyphrase" & skey
  parse_key_value = mid(ssource, i, k-i)
end function

function parse_key_number(ssource, skey, sterminator)
  dim ws

  ws = parse_key_value(ssource, skey, sterminator)
  on error resume next
  parse_key_number = clng(ws)
  if err.number > 0 then
     ex "Value of keyphrase " & skey & ve & _
        "is not a number. Value=" & ws 
  end if
end function

'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


redirect_subfolder = trim(Request.QueryString("subfolder"))
redirect_file = read_file("link_to_corporate_office.htm")

ws = trim(parse_key_value(redirect_file, "update interval ", ve))
if "" <> ws then
   on error resume next
   wi = clng(ws)
   if not err.number > 0 then
      inter_val = wi
   end if
end if

redirect_url = parse_key_value(redirect_file, "a href=""", """")
update_month = parse_key_number(redirect_file, ve & "update month ", ve)
update_minutes = parse_key_number(redirect_file, ve & "update minutes ", ve)

wminute = ( day(date) * 24  + hour(time) ) * 60 + minute(time)
'dg = dg & ve & "wminutue=" & wminute
'dg = dg & ve & "stamped minute=" & update_minutes
link_is_fresh = false
if month(date) <> update_month then
   'be optimistic: 
   if wminute <= inter_val then link_is_fresh = true
else
   if wminute <= update_minutes + inter_val then link_is_fresh = true
end if
 
if "" <> redirect_subfolder then 
   redirect_url = redirect_url & redirect_subfolder & "/"
end if

if link_is_fresh then
   'debug:
   'rh "redirecting to " & redirect_url & dg
   response.redirect redirect_url 
else
   'debug:
   'rh office_closed_message & dg
   rh office_closed_message 
end if

%>