watchman 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +3 -0
- data/.rvmrc +2 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +32 -0
- data/Rakefile +10 -0
- data/lib/watchman.rb +8 -0
- data/lib/watchman/call.rb +65 -0
- data/lib/watchman/call_watcher.rb +16 -0
- data/lib/watchman/client.rb +33 -0
- data/lib/watchman/medic_watcher.rb +48 -0
- data/lib/watchman/version.rb +3 -0
- data/spec/spec_helper.rb +10 -0
- data/spec/support/istatus_mocker.rb +1540 -0
- data/spec/watchman/call_watcher_spec.rb +17 -0
- data/spec/watchman/client_spec.rb +18 -0
- data/spec/watchman/medic_watcher_spec.rb +29 -0
- data/watchman.gemspec +26 -0
- metadata +147 -0
data/.gitignore
ADDED
data/.rvmrc
ADDED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
watchman (0.0.2)
|
5
|
+
mechanize
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: http://rubygems.org/
|
9
|
+
specs:
|
10
|
+
diff-lcs (1.1.2)
|
11
|
+
fakeweb (1.3.0)
|
12
|
+
mechanize (1.0.0)
|
13
|
+
nokogiri (>= 1.2.1)
|
14
|
+
nokogiri (1.4.4)
|
15
|
+
rspec (2.3.0)
|
16
|
+
rspec-core (~> 2.3.0)
|
17
|
+
rspec-expectations (~> 2.3.0)
|
18
|
+
rspec-mocks (~> 2.3.0)
|
19
|
+
rspec-core (2.3.1)
|
20
|
+
rspec-expectations (2.3.0)
|
21
|
+
diff-lcs (~> 1.1.2)
|
22
|
+
rspec-mocks (2.3.0)
|
23
|
+
|
24
|
+
PLATFORMS
|
25
|
+
ruby
|
26
|
+
|
27
|
+
DEPENDENCIES
|
28
|
+
bundler (>= 1.0.0.rc.6)
|
29
|
+
fakeweb
|
30
|
+
mechanize
|
31
|
+
rspec (>= 2.3.0)
|
32
|
+
watchman!
|
data/Rakefile
ADDED
data/lib/watchman.rb
ADDED
@@ -0,0 +1,65 @@
|
|
1
|
+
module Watchman
|
2
|
+
class Call
|
3
|
+
def initialize(page)
|
4
|
+
@page = page
|
5
|
+
end
|
6
|
+
|
7
|
+
def incident_number
|
8
|
+
end
|
9
|
+
|
10
|
+
def raw_notes
|
11
|
+
notes.map{|n| "#{n[:time]} #{n[:text]}"}.join("|")
|
12
|
+
end
|
13
|
+
|
14
|
+
def notes
|
15
|
+
xpath("/html/body/table/tr[3]/table/tr/td/table/tr").map do |node|
|
16
|
+
{:time=>node.children[0].text,:text=>node.children[1].text.gsub("\n","")}
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def address
|
21
|
+
@page.links_with(:href=>/SearchDStatsSubmit\.php\?Address/).first.text.gsub(/-BC$/,"")
|
22
|
+
end
|
23
|
+
|
24
|
+
def incident_number
|
25
|
+
xpath("/html/body/h3[1]").text.split(":").last.strip
|
26
|
+
end
|
27
|
+
|
28
|
+
def nature
|
29
|
+
xpath("/html/body/table/tr[1]/td[1]/table/tr[3]/td").text.strip.split("-").last
|
30
|
+
end
|
31
|
+
|
32
|
+
def apparatus
|
33
|
+
xpath("/html/body/table/tr[1]/td[2]/table/tr/td[1]").map{|c| c.text.gsub("\n","").strip}
|
34
|
+
end
|
35
|
+
|
36
|
+
def pro_qa_notes
|
37
|
+
notes.select{|n| n[:text] =~ /^ProQA/}
|
38
|
+
end
|
39
|
+
|
40
|
+
def incidental_notes
|
41
|
+
notes.select{|n| n[:text] =~ /^\s*\*/}
|
42
|
+
end
|
43
|
+
|
44
|
+
def spliced_notes
|
45
|
+
s_notes = {}
|
46
|
+
notes.select{|n| n[:text] =~ /[\(\[]\d+-\d+[\)\]]$/}.each do |note|
|
47
|
+
note_text = note[:text]
|
48
|
+
note_text_arr = note_text.split(/\s/)
|
49
|
+
token = note_text_arr.delete_at(note_text_arr.size - 1)
|
50
|
+
final_text = note_text_arr.join(" ")
|
51
|
+
if s_notes[token].nil?
|
52
|
+
s_notes[token] = [{:time=>note[:time],:text=>final_text}]
|
53
|
+
else
|
54
|
+
s_notes[token] << {:time=>note[:time],:text=>final_text}
|
55
|
+
end
|
56
|
+
end
|
57
|
+
s_notes
|
58
|
+
end
|
59
|
+
|
60
|
+
private
|
61
|
+
def xpath(path)
|
62
|
+
@page.parser.xpath(path)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Watchman
|
2
|
+
class CallWatcher
|
3
|
+
|
4
|
+
def initialize
|
5
|
+
@client = Client.new
|
6
|
+
end
|
7
|
+
|
8
|
+
def info_for(incident_number)
|
9
|
+
call = Call.new(@client.get("DisplayCall.php?Incid=#{incident_number}"))
|
10
|
+
if call.notes.size == 0
|
11
|
+
call = Call.new(@client.get("DisplayFireCall.php?Incid=#{incident_number}"))
|
12
|
+
end
|
13
|
+
call
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module Watchman
|
2
|
+
class Client
|
3
|
+
class << self
|
4
|
+
attr_accessor :username,:password,:host
|
5
|
+
end
|
6
|
+
|
7
|
+
def get(path)
|
8
|
+
agent.get("https://#{Client.host}/#{path}")
|
9
|
+
end
|
10
|
+
|
11
|
+
def agent
|
12
|
+
if @_agent.nil?
|
13
|
+
@_agent = Mechanize.new
|
14
|
+
page = @_agent.get("http://#{Client.host}/")
|
15
|
+
form = page.form("UserForm")
|
16
|
+
form.UserName = Client.username
|
17
|
+
form.Password = Client.password
|
18
|
+
@_agent.submit(form, form.buttons.first)
|
19
|
+
end
|
20
|
+
@_agent
|
21
|
+
end
|
22
|
+
|
23
|
+
def add_cookie(cookie,key)
|
24
|
+
cookie.secure = false
|
25
|
+
cookie.domain = Client.host
|
26
|
+
if agent.cookie_jar.jar[Client.host].nil?
|
27
|
+
agent.cookie_jar.jar[Client.host] = {"/"=>{key=>cookie}}
|
28
|
+
else
|
29
|
+
agent.cookie_jar.jar[Client.host]["/"][key] = cookie
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module Watchman
|
2
|
+
class MedicWatcher
|
3
|
+
STATUSI = ["AVL","DSP","ENR","TRN","ARV","AV1","INC","OFF","ONS","ORP","ENH","ONH","AOS","OOD","OOS","AAS"]
|
4
|
+
|
5
|
+
def initialize
|
6
|
+
@client = Client.new
|
7
|
+
end
|
8
|
+
|
9
|
+
def raw_page
|
10
|
+
page.parser.to_s
|
11
|
+
end
|
12
|
+
|
13
|
+
def page
|
14
|
+
if @_medic_page.nil?
|
15
|
+
@client.add_cookie(cookie,"TScreen")
|
16
|
+
@_medic_page = @client.get("AjaxTS2.php")
|
17
|
+
end
|
18
|
+
@_medic_page
|
19
|
+
end
|
20
|
+
|
21
|
+
def city_status
|
22
|
+
count(/TruckID=M(11|15|21|22|23)\d/,"AVL")
|
23
|
+
end
|
24
|
+
|
25
|
+
def county_status
|
26
|
+
count(/TruckID=M(11|13|15|21|22|23|24)\d/,"AVL")
|
27
|
+
end
|
28
|
+
|
29
|
+
def status_of(medic)
|
30
|
+
STATUSI.each do |status|
|
31
|
+
return status if count(/TruckID=M#{medic}/,status) >= 1
|
32
|
+
end
|
33
|
+
"OOS"
|
34
|
+
end
|
35
|
+
|
36
|
+
private
|
37
|
+
|
38
|
+
def cookie
|
39
|
+
Mechanize::Cookie.new("TScreen","4")
|
40
|
+
end
|
41
|
+
|
42
|
+
def count(regex,status = "AVL")
|
43
|
+
nodes = page.parser.css("a.#{status}")
|
44
|
+
nodes = nodes.map{|node| node.attributes["href"].value}.select{|val| val =~ regex}
|
45
|
+
nodes.size
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
require "rubygems"
|
2
|
+
require "bundler/setup"
|
3
|
+
require 'watchman'
|
4
|
+
require 'fakeweb'
|
5
|
+
|
6
|
+
FakeWeb.allow_net_connect = false
|
7
|
+
|
8
|
+
# Requires supporting ruby files with custom matchers and macros, etc,
|
9
|
+
# in spec/support/ and its subdirectories.
|
10
|
+
Dir['./spec/support/**/*.rb'].map {|f| require f}
|
@@ -0,0 +1,1540 @@
|
|
1
|
+
class IstatusMocker
|
2
|
+
|
3
|
+
class << self
|
4
|
+
def fake_login(host)
|
5
|
+
FakeWeb.register_uri(:get, "http://#{host}/",
|
6
|
+
'content-type'=>"text/html",
|
7
|
+
:body => LOGIN_PAGE_HTML)
|
8
|
+
FakeWeb.register_uri(:post,"http://#{host}/UserLoginSubmit.php",
|
9
|
+
'content-type'=>"text/html",
|
10
|
+
:body => "logged in")
|
11
|
+
end
|
12
|
+
|
13
|
+
def fake_medic_path(host)
|
14
|
+
fake_login(host)
|
15
|
+
FakeWeb.register_uri(:get,"https://#{host}/AjaxTS2.php",
|
16
|
+
'content-type'=>"text/html",
|
17
|
+
:body => MEDIC_PAGE_HTML)
|
18
|
+
end
|
19
|
+
|
20
|
+
def fake_call_path(host,incident_number)
|
21
|
+
fake_login(host)
|
22
|
+
FakeWeb.register_uri(:get,"https://#{host}/DisplayCall.php?Incid=#{incident_number}",
|
23
|
+
'content-type'=>"text/html",
|
24
|
+
:body => INCIDENT_HTML)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
|
30
|
+
LOGIN_PAGE_HTML = %Q{
|
31
|
+
<HTML>
|
32
|
+
<HEAD>
|
33
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
34
|
+
<!--<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">-->
|
35
|
+
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252">
|
36
|
+
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
|
37
|
+
<META HTTP-EQUIV="EXPIRES" CONTENT="0">
|
38
|
+
<TITLE>EnRoute I-STATUS - Version 5.10</TITLE>
|
39
|
+
<LINK REL="stylesheet" HREF="DisplayFormat.css" TYPE="text/css">
|
40
|
+
<script language="javascript">
|
41
|
+
//bring the page to foreground
|
42
|
+
this.focus();
|
43
|
+
</script>
|
44
|
+
</HEAD>
|
45
|
+
<BODY CLASS="Maint" onLoad='document.UserForm.UserName.focus();' j=l>
|
46
|
+
<FORM NAME=UserForm METHOD=POST ACTION=UserLoginSubmit.php><BR><BR><CENTER><IMG SRC=I-STATUS.gif><BR><BR><BR><H3 CLASS=Status>User Login</H3><div align='center'><TABLE CLASS='Maint' >
|
47
|
+
<TR >
|
48
|
+
<TD CLASS='Maint' >
|
49
|
+
User Name</TD>
|
50
|
+
<TD CLASS='Maint' >
|
51
|
+
<INPUT TYPE=TEXT NAME=UserName onfocus=this.select() VALUE=></TD>
|
52
|
+
</TR>
|
53
|
+
<TR >
|
54
|
+
<TD CLASS='Maint' >
|
55
|
+
Password</TD>
|
56
|
+
<TD CLASS='Maint' >
|
57
|
+
<INPUT TYPE=PASSWORD NAME=Password onfocus=this.select() VALUE=></TD>
|
58
|
+
</TR>
|
59
|
+
</TABLE></div>
|
60
|
+
<BR><BR><INPUT TYPE=SUBMIT VALUE='Login' CLASS=Maint><BR><BR><BR><center>Copyright © 2010 Infor. All rights reserved. <a target='new' href='http://www.enroute911.com'>www.enroute911.com</a>.</center></FORM>
|
61
|
+
</BODY>
|
62
|
+
</HTML>
|
63
|
+
}
|
64
|
+
|
65
|
+
MEDIC_PAGE_HTML = %Q{
|
66
|
+
<html><head>
|
67
|
+
|
68
|
+
<title>EnRoute I-STATUS - Version 5.10</title>
|
69
|
+
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
|
70
|
+
<!-- MJG 2606995 remove EnRoute Banner from page to recover surface space. was Rows=60 changed to Rows = 0 to get space -->
|
71
|
+
</head><frameset border="0" framespacing="0" frameborder="no" rows="0,*,">
|
72
|
+
<frame scrolling="no" allowtransparency="true" frameborder="0" marginheight="0" marginwidth="0" noresize="" name="Topper" src="NewDispatchNav.php">
|
73
|
+
<html><head>
|
74
|
+
|
75
|
+
|
76
|
+
<!--<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">-->
|
77
|
+
<meta content="text/html; charset=windows-1252" http-equiv="Content-Type">
|
78
|
+
<meta content="NO-CACHE" http-equiv="PRAGMA">
|
79
|
+
<meta content="0" http-equiv="EXPIRES">
|
80
|
+
<title>EnRoute I-STATUS - Version 5.10</title>
|
81
|
+
<link type="text/css" href="DisplayFormat.css" rel="stylesheet">
|
82
|
+
<script language="javascript">
|
83
|
+
//bring the page to foreground
|
84
|
+
this.focus();
|
85
|
+
</script>
|
86
|
+
</head><body j="l" style="margin: 0px;" class="Nav">
|
87
|
+
<img hspace="0" height="60" align="left" src="I-STATUSLong1.jpg"><img width="100%" hspace="0" align="left" src="I-STATUSLong3.jpg">
|
88
|
+
<script language="javascript">
|
89
|
+
function ToggleMode() {
|
90
|
+
var cname="NiteMode";
|
91
|
+
var mode=ReadCookie(cname);
|
92
|
+
if (mode == "") mode="Day";
|
93
|
+
if (mode == "Day") {
|
94
|
+
var newmode="Nite";
|
95
|
+
} else {
|
96
|
+
var newmode="Day";
|
97
|
+
}
|
98
|
+
WriteCookie("NiteMode",newmode,1);
|
99
|
+
if (window.parent.frames.length == 0) {
|
100
|
+
window.self.location.href=window.self.location.href;
|
101
|
+
} else {
|
102
|
+
for (i=0; i<window.parent.frames.length; i++)
|
103
|
+
window.parent.frames(i).location.href=window.parent.frames(i).location.href;
|
104
|
+
}
|
105
|
+
}
|
106
|
+
|
107
|
+
function popup(URL) {
|
108
|
+
opts="'toolbar=0, scrollbars=0, location=0, menubar=0, resizable=0, width=160,"
|
109
|
+
opts=opts + "height=200, top=60, left=60'"
|
110
|
+
mywindow=window.open(URL, "newwin",opts);
|
111
|
+
if (mywindow.opener == null)
|
112
|
+
mywindow.opener=self;
|
113
|
+
}
|
114
|
+
|
115
|
+
function RestrictZone(type) {
|
116
|
+
switch (type){
|
117
|
+
case 'AZ':
|
118
|
+
zones=ADZones.value;
|
119
|
+
allowstr="";
|
120
|
+
cookiename="ADZones";
|
121
|
+
break;
|
122
|
+
case 'AN':
|
123
|
+
zones=ADNats.value;
|
124
|
+
allowstr="";
|
125
|
+
cookiename="ADNats";
|
126
|
+
break;
|
127
|
+
case 'PZ':
|
128
|
+
zones=PDZones.value;
|
129
|
+
allowstr="";
|
130
|
+
cookiename="PDZones";
|
131
|
+
break;
|
132
|
+
case 'PD':
|
133
|
+
zones=PDIDs.value;
|
134
|
+
allowstr="";
|
135
|
+
cookiename="PDIDs";
|
136
|
+
break;
|
137
|
+
case 'PG':
|
138
|
+
zones=PDGrids.value;
|
139
|
+
allowstr="";
|
140
|
+
cookiename="PDGrids";
|
141
|
+
break;
|
142
|
+
case 'PN':
|
143
|
+
zones=PDNats.value;
|
144
|
+
allowstr="";
|
145
|
+
cookiename="PDNats";
|
146
|
+
break;
|
147
|
+
case 'FT':
|
148
|
+
zones=FDTacs.value;
|
149
|
+
allowstr="";
|
150
|
+
cookiename="FDTacs";
|
151
|
+
break;
|
152
|
+
case 'FD':
|
153
|
+
zones=FDIDs.value;
|
154
|
+
allowstr="";
|
155
|
+
cookiename="FDIDs";
|
156
|
+
break;
|
157
|
+
case 'FG':
|
158
|
+
zones=FDGrids.value;
|
159
|
+
allowstr="";
|
160
|
+
cookiename="FDGrids";
|
161
|
+
break;
|
162
|
+
case 'FN':
|
163
|
+
zones=FDNats.value;
|
164
|
+
allowstr="";
|
165
|
+
cookiename="FDNats";
|
166
|
+
break;
|
167
|
+
case 'DP':
|
168
|
+
zones=FDDsps.value;
|
169
|
+
allowstr="";
|
170
|
+
cookiename="FDDsps";
|
171
|
+
break;
|
172
|
+
|
173
|
+
case 'IB':
|
174
|
+
zones=ADInitBy.value;
|
175
|
+
allowstr="";
|
176
|
+
cookiename="ADInitBy";
|
177
|
+
break;
|
178
|
+
default:
|
179
|
+
zones="";
|
180
|
+
allowstr="";
|
181
|
+
cookiename="";
|
182
|
+
}
|
183
|
+
var allowed=allowstr;
|
184
|
+
var arrZones = new Array();
|
185
|
+
if (allowed)
|
186
|
+
allowed=allowed.replace(/^\s*|\s*$/g,"");
|
187
|
+
//Check if zones entered are allowed
|
188
|
+
if (allowed) {
|
189
|
+
var trash;
|
190
|
+
allowed=" "+allowed+" ";
|
191
|
+
arrZones=zones.split(" ");
|
192
|
+
//Loop thru each zone in user input
|
193
|
+
for (var i = (arrZones.length - 1); i >= 0; i--) {
|
194
|
+
if (allowed.indexOf(" "+arrZones[i]+" ")<0)
|
195
|
+
trash=arrZones.splice(i,1);
|
196
|
+
}
|
197
|
+
zones=arrZones.join(" ");
|
198
|
+
//If no zone left, retore the default
|
199
|
+
if (!zones) { zones=allowed.replace(/^\s*|\s*$/g,""); }
|
200
|
+
}
|
201
|
+
if (cookiename){
|
202
|
+
WriteCookie(cookiename,zones,1);
|
203
|
+
}
|
204
|
+
if (window.parent.frames.length == 0) {
|
205
|
+
window.self.location.href=window.self.location.href;
|
206
|
+
} else {
|
207
|
+
for (i=0; i<window.parent.frames.length; i++)
|
208
|
+
window.parent.frames(i).location.href=window.parent.frames(i).location.href;
|
209
|
+
}
|
210
|
+
}
|
211
|
+
|
212
|
+
</script>
|
213
|
+
|
214
|
+
<script src="JSFuncs.js" language="JavaScript"></script>
|
215
|
+
<script language="JavaScript">
|
216
|
+
</script></body></html>
|
217
|
+
</frame>
|
218
|
+
<frame scrolling="no" allowtransparency="true" name="Top" noresize="" marginheight="0" marginwidth="0" frameborder="0" src="Dispatch_center.php">
|
219
|
+
<html><head><!-- Included file for dropdown menu -->
|
220
|
+
<script type="text/javascript">//<![CDATA[
|
221
|
+
//----------------------------------------------------------------------------
|
222
|
+
// Code to determine the browser and version.
|
223
|
+
//----------------------------------------------------------------------------
|
224
|
+
|
225
|
+
function Browser() {
|
226
|
+
var ua, s, i;
|
227
|
+
this.isIE = false; // Internet Explorer
|
228
|
+
this.isOP = false; // Opera
|
229
|
+
this.isNS = false; // Netscape
|
230
|
+
this.version = null;
|
231
|
+
ua = navigator.userAgent;
|
232
|
+
s = "Opera";
|
233
|
+
if ((i = ua.indexOf(s)) >= 0) {
|
234
|
+
this.isOP = true;
|
235
|
+
this.version = parseFloat(ua.substr(i + s.length));
|
236
|
+
return;
|
237
|
+
}
|
238
|
+
s = "Netscape6/";
|
239
|
+
if ((i = ua.indexOf(s)) >= 0) {
|
240
|
+
this.isNS = true;
|
241
|
+
this.version = parseFloat(ua.substr(i + s.length));
|
242
|
+
return;
|
243
|
+
}
|
244
|
+
|
245
|
+
// Treat any other "Gecko" browser as Netscape 6.1.
|
246
|
+
s = "Gecko";
|
247
|
+
if ((i = ua.indexOf(s)) >= 0) {
|
248
|
+
this.isNS = true;
|
249
|
+
this.version = 6.1;
|
250
|
+
return;
|
251
|
+
}
|
252
|
+
|
253
|
+
s = "MSIE";
|
254
|
+
if ((i = ua.indexOf(s))) {
|
255
|
+
this.isIE = true;
|
256
|
+
this.version = parseFloat(ua.substr(i + s.length));
|
257
|
+
return;
|
258
|
+
}
|
259
|
+
}
|
260
|
+
|
261
|
+
var browser = new Browser();
|
262
|
+
|
263
|
+
//----------------------------------------------------------------------------
|
264
|
+
// Code for handling the menu bar and active button.
|
265
|
+
//----------------------------------------------------------------------------
|
266
|
+
var activeButton = null;
|
267
|
+
|
268
|
+
// Capture mouse clicks on the page so any active button can be
|
269
|
+
// deactivated.
|
270
|
+
if (browser.isIE)
|
271
|
+
document.onmousedown = pageMousedown;
|
272
|
+
else
|
273
|
+
document.addEventListener("mousedown", pageMousedown, true);
|
274
|
+
|
275
|
+
function pageMousedown(event) {
|
276
|
+
var el;
|
277
|
+
|
278
|
+
// If there is no active button, exit.
|
279
|
+
if (activeButton == null)
|
280
|
+
return;
|
281
|
+
|
282
|
+
// Find the element that was clicked on.
|
283
|
+
if (browser.isIE)
|
284
|
+
el = window.event.srcElement;
|
285
|
+
else
|
286
|
+
el = (event.target.tagName ? event.target : event.target.parentNode);
|
287
|
+
|
288
|
+
// If the active button was clicked on, exit.
|
289
|
+
if (el == activeButton)
|
290
|
+
return;
|
291
|
+
|
292
|
+
// If the element is not part of a menu, reset and clear the active
|
293
|
+
// button.
|
294
|
+
if (getContainerWith(el, "DIV", "menu") == null) {
|
295
|
+
resetButton(activeButton);
|
296
|
+
activeButton = null;
|
297
|
+
}
|
298
|
+
}
|
299
|
+
|
300
|
+
|
301
|
+
function buttonClick(event, menuId) {
|
302
|
+
var button;
|
303
|
+
|
304
|
+
// Get the target button element.
|
305
|
+
if (browser.isIE)
|
306
|
+
button = window.event.srcElement;
|
307
|
+
else
|
308
|
+
button = event.currentTarget;
|
309
|
+
|
310
|
+
// Blur focus from the link to remove that annoying outline.
|
311
|
+
button.blur();
|
312
|
+
|
313
|
+
// Associate the named menu to this button if not already done.
|
314
|
+
// Additionally, initialize menu display.
|
315
|
+
if (button.menu == null) {
|
316
|
+
button.menu = document.getElementById(menuId);
|
317
|
+
if (button.menu.isInitialized == null)
|
318
|
+
menuInit(button.menu);
|
319
|
+
}
|
320
|
+
|
321
|
+
// Set mouseout event handler for the button, if not already done.
|
322
|
+
if (button.onmouseout == null)
|
323
|
+
button.onmouseout = buttonOrMenuMouseout;
|
324
|
+
|
325
|
+
// Exit if this button is the currently active one.
|
326
|
+
if (button == activeButton)
|
327
|
+
return false;
|
328
|
+
|
329
|
+
// Reset the currently active button, if any.
|
330
|
+
if (activeButton != null)
|
331
|
+
resetButton(activeButton);
|
332
|
+
|
333
|
+
// Activate this button, unless it was the currently active one.
|
334
|
+
if (button != activeButton) {
|
335
|
+
depressButton(button);
|
336
|
+
activeButton = button;
|
337
|
+
}
|
338
|
+
else
|
339
|
+
activeButton = null;
|
340
|
+
|
341
|
+
return false;
|
342
|
+
}
|
343
|
+
|
344
|
+
function buttonMouseover(event, menuId) {
|
345
|
+
|
346
|
+
var button;
|
347
|
+
|
348
|
+
if (activeButton == null) {
|
349
|
+
buttonClick(event, menuId);
|
350
|
+
return;
|
351
|
+
}
|
352
|
+
|
353
|
+
// Find the target button element.
|
354
|
+
if (browser.isIE)
|
355
|
+
button = window.event.srcElement;
|
356
|
+
else
|
357
|
+
button = event.currentTarget;
|
358
|
+
|
359
|
+
// If any other button menu is active, make this one active instead.
|
360
|
+
if (activeButton != null && activeButton != button)
|
361
|
+
buttonClick(event, menuId);
|
362
|
+
}
|
363
|
+
|
364
|
+
function depressButton(button) {
|
365
|
+
var x, y;
|
366
|
+
|
367
|
+
// Update the button's style class to make it look like it's
|
368
|
+
// depressed.
|
369
|
+
button.className += " menuButtonActive";
|
370
|
+
|
371
|
+
// Set mouseout event handler for the button, if not already done.
|
372
|
+
if (button.onmouseout == null)
|
373
|
+
button.onmouseout = buttonOrMenuMouseout;
|
374
|
+
if (button.menu.onmouseout == null)
|
375
|
+
button.menu.onmouseout = buttonOrMenuMouseout;
|
376
|
+
|
377
|
+
// Position the associated drop down menu under the button and
|
378
|
+
// show it.
|
379
|
+
x = getPageOffsetLeft(button);
|
380
|
+
y = getPageOffsetTop(button) + button.offsetHeight;
|
381
|
+
|
382
|
+
// For IE, adjust position.
|
383
|
+
if (browser.isIE) {
|
384
|
+
x += button.offsetParent.clientLeft-5;
|
385
|
+
y += button.offsetParent.clientTop+3;
|
386
|
+
}
|
387
|
+
|
388
|
+
button.menu.style.left = x + "px";
|
389
|
+
button.menu.style.top = y + "px";
|
390
|
+
button.menu.style.visibility = "visible";
|
391
|
+
|
392
|
+
// For IE; size, position and show the menu's IFRAME as well.
|
393
|
+
if (button.menu.iframeEl != null)
|
394
|
+
{
|
395
|
+
button.menu.iframeEl.style.left = button.menu.style.left;
|
396
|
+
button.menu.iframeEl.style.top = button.menu.style.top;
|
397
|
+
button.menu.iframeEl.style.width = button.menu.offsetWidth + "px";
|
398
|
+
button.menu.iframeEl.style.height = button.menu.offsetHeight + "px";
|
399
|
+
button.menu.iframeEl.style.display = "";
|
400
|
+
}
|
401
|
+
}
|
402
|
+
|
403
|
+
function resetButton(button) {
|
404
|
+
|
405
|
+
// Restore the button's style class.
|
406
|
+
removeClassName(button, "menuButtonActive");
|
407
|
+
|
408
|
+
// Hide the button's menu, first closing any sub menus.
|
409
|
+
if (button.menu != null) {
|
410
|
+
closeSubMenu(button.menu);
|
411
|
+
button.menu.style.visibility = "hidden";
|
412
|
+
|
413
|
+
// For IE, hide menu's IFRAME as well.
|
414
|
+
if (button.menu.iframeEl != null)
|
415
|
+
button.menu.iframeEl.style.display = "none";
|
416
|
+
}
|
417
|
+
}
|
418
|
+
|
419
|
+
//----------------------------------------------------------------------------
|
420
|
+
// Code to handle the menus and sub menus.
|
421
|
+
//----------------------------------------------------------------------------
|
422
|
+
|
423
|
+
function menuMouseover(event) {
|
424
|
+
|
425
|
+
var menu;
|
426
|
+
|
427
|
+
// Find the target menu element.
|
428
|
+
|
429
|
+
if (browser.isIE)
|
430
|
+
menu = getContainerWith(window.event.srcElement, "DIV", "menu");
|
431
|
+
else
|
432
|
+
menu = event.currentTarget;
|
433
|
+
|
434
|
+
// Close any active sub menu.
|
435
|
+
|
436
|
+
if (menu.activeItem != null)
|
437
|
+
closeSubMenu(menu);
|
438
|
+
}
|
439
|
+
|
440
|
+
function menuItemMouseover(event, menuId) {
|
441
|
+
var item, menu, x, y;
|
442
|
+
|
443
|
+
// Find the target item element and its parent menu element.
|
444
|
+
if (browser.isIE)
|
445
|
+
item = getContainerWith(window.event.srcElement, "A", "menuItem");
|
446
|
+
else
|
447
|
+
item = event.currentTarget;
|
448
|
+
menu = getContainerWith(item, "DIV", "menu");
|
449
|
+
|
450
|
+
// Close any active sub menu and mark this one as active.
|
451
|
+
if (menu.activeItem != null)
|
452
|
+
closeSubMenu(menu);
|
453
|
+
menu.activeItem = item;
|
454
|
+
|
455
|
+
// Highlight the item element.
|
456
|
+
item.className += " menuItemHighlight";
|
457
|
+
|
458
|
+
// Initialize the sub menu, if not already done.
|
459
|
+
if (item.subMenu == null) {
|
460
|
+
item.subMenu = document.getElementById(menuId);
|
461
|
+
if (item.subMenu.isInitialized == null)
|
462
|
+
menuInit(item.subMenu);
|
463
|
+
}
|
464
|
+
|
465
|
+
// Set mouseout event handler for the sub menu, if not already done.
|
466
|
+
if (item.subMenu.onmouseout == null)
|
467
|
+
item.subMenu.onmouseout = buttonOrMenuMouseout;
|
468
|
+
|
469
|
+
// Get position for submenu based on the menu item.
|
470
|
+
x = getPageOffsetLeft(item) + item.offsetWidth;
|
471
|
+
y = getPageOffsetTop(item);
|
472
|
+
|
473
|
+
// Adjust position to fit in view.
|
474
|
+
var maxX, maxY;
|
475
|
+
if (browser.isIE) {
|
476
|
+
maxX = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft) +
|
477
|
+
(document.documentElement.clientWidth != 0 ? document.documentElement.clientWidth : document.body.clientWidth);
|
478
|
+
maxY = Math.max(document.documentElement.scrollTop, document.body.scrollTop) +
|
479
|
+
(document.documentElement.clientHeight != 0 ? document.documentElement.clientHeight : document.body.clientHeight);
|
480
|
+
}
|
481
|
+
if (browser.isOP) {
|
482
|
+
maxX = document.documentElement.scrollLeft + window.innerWidth;
|
483
|
+
maxY = document.documentElement.scrollTop + window.innerHeight;
|
484
|
+
}
|
485
|
+
if (browser.isNS) {
|
486
|
+
maxX = window.scrollX + window.innerWidth;
|
487
|
+
maxY = window.scrollY + window.innerHeight;
|
488
|
+
}
|
489
|
+
maxX -= item.subMenu.offsetWidth;
|
490
|
+
maxY -= item.subMenu.offsetHeight;
|
491
|
+
|
492
|
+
if (x > maxX)
|
493
|
+
x = Math.max(0, x - item.offsetWidth - item.subMenu.offsetWidth
|
494
|
+
+ (menu.offsetWidth - item.offsetWidth));
|
495
|
+
y = Math.max(0, Math.min(y, maxY));
|
496
|
+
|
497
|
+
// Position and show the sub menu.
|
498
|
+
item.subMenu.style.left = x + "px";
|
499
|
+
item.subMenu.style.top = y + "px";
|
500
|
+
item.subMenu.style.visibility = "visible";
|
501
|
+
|
502
|
+
// For IE; size, position and display the menu's IFRAME as well.
|
503
|
+
if (item.subMenu.iframeEl != null)
|
504
|
+
{
|
505
|
+
item.subMenu.iframeEl.style.left = item.subMenu.style.left;
|
506
|
+
item.subMenu.iframeEl.style.top = item.subMenu.style.top;
|
507
|
+
item.subMenu.iframeEl.style.width = item.subMenu.offsetWidth + "px";
|
508
|
+
item.subMenu.iframeEl.style.height = item.subMenu.offsetHeight + "px";
|
509
|
+
item.subMenu.iframeEl.style.display = "";
|
510
|
+
}
|
511
|
+
|
512
|
+
// Stop the event from bubbling.
|
513
|
+
if (browser.isIE)
|
514
|
+
window.event.cancelBubble = true;
|
515
|
+
else
|
516
|
+
event.stopPropagation();
|
517
|
+
}
|
518
|
+
|
519
|
+
function closeSubMenu(menu) {
|
520
|
+
if (menu == null || menu.activeItem == null)
|
521
|
+
return;
|
522
|
+
|
523
|
+
// Recursively close any sub menus.
|
524
|
+
if (menu.activeItem.subMenu != null) {
|
525
|
+
closeSubMenu(menu.activeItem.subMenu);
|
526
|
+
menu.activeItem.subMenu.style.visibility = "hidden";
|
527
|
+
|
528
|
+
// For IE, hide the sub menu's IFRAME as well.
|
529
|
+
if (menu.activeItem.subMenu.iframeEl != null)
|
530
|
+
menu.activeItem.subMenu.iframeEl.style.display = "none";
|
531
|
+
|
532
|
+
menu.activeItem.subMenu = null;
|
533
|
+
}
|
534
|
+
|
535
|
+
// Deactivate the active menu item.
|
536
|
+
removeClassName(menu.activeItem, "menuItemHighlight");
|
537
|
+
menu.activeItem = null;
|
538
|
+
}
|
539
|
+
|
540
|
+
// event on buttons and menus.
|
541
|
+
function buttonOrMenuMouseout(event) {
|
542
|
+
var el;
|
543
|
+
|
544
|
+
// If there is no active button, exit.
|
545
|
+
if (activeButton == null)
|
546
|
+
return;
|
547
|
+
|
548
|
+
// Find the element the mouse is moving to.
|
549
|
+
if (browser.isIE)
|
550
|
+
el = window.event.toElement;
|
551
|
+
else if (event.relatedTarget != null)
|
552
|
+
el = (event.relatedTarget.tagName ? event.relatedTarget : event.relatedTarget.parentNode);
|
553
|
+
|
554
|
+
// If the element is not part of a menu, reset the active button.
|
555
|
+
if (getContainerWith(el, "DIV", "menu") == null) {
|
556
|
+
resetButton(activeButton);
|
557
|
+
activeButton = null;
|
558
|
+
}
|
559
|
+
}
|
560
|
+
|
561
|
+
//----------------------------------------------------------------------------
|
562
|
+
// Code to initialize menus.
|
563
|
+
//----------------------------------------------------------------------------
|
564
|
+
function menuInit(menu) {
|
565
|
+
var itemList, spanList;
|
566
|
+
var textEl, arrowEl;
|
567
|
+
var itemWidth;
|
568
|
+
var w, dw;
|
569
|
+
var i, j;
|
570
|
+
|
571
|
+
// For IE, replace arrow characters.
|
572
|
+
if (browser.isIE) {
|
573
|
+
menu.style.lineHeight = "2.5ex";
|
574
|
+
spanList = menu.getElementsByTagName("SPAN");
|
575
|
+
for (i = 0; i < spanList.length; i++)
|
576
|
+
if (hasClassName(spanList[i], "menuItemArrow")) {
|
577
|
+
spanList[i].style.fontFamily = "Webdings";
|
578
|
+
spanList[i].firstChild.nodeValue = "4";
|
579
|
+
}
|
580
|
+
}
|
581
|
+
|
582
|
+
// Find the width of a menu item.
|
583
|
+
itemList = menu.getElementsByTagName("A");
|
584
|
+
if (itemList.length > 0)
|
585
|
+
itemWidth = itemList[0].offsetWidth;
|
586
|
+
else
|
587
|
+
return;
|
588
|
+
|
589
|
+
// For items with arrows, add padding to item text to make the
|
590
|
+
// arrows flush right.
|
591
|
+
for (i = 0; i < itemList.length; i++) {
|
592
|
+
spanList = itemList[i].getElementsByTagName("SPAN");
|
593
|
+
textEl = null;
|
594
|
+
arrowEl = null;
|
595
|
+
for (j = 0; j < spanList.length; j++) {
|
596
|
+
if (hasClassName(spanList[j], "menuItemText"))
|
597
|
+
textEl = spanList[j];
|
598
|
+
if (hasClassName(spanList[j], "menuItemArrow"))
|
599
|
+
arrowEl = spanList[j];
|
600
|
+
}
|
601
|
+
if (textEl != null && arrowEl != null) {
|
602
|
+
textEl.style.paddingRight = (itemWidth
|
603
|
+
- (textEl.offsetWidth + arrowEl.offsetWidth)) + "px";
|
604
|
+
// For Opera, remove the negative right margin to fix a display bug.
|
605
|
+
if (browser.isOP)
|
606
|
+
arrowEl.style.marginRight = "0px";
|
607
|
+
}
|
608
|
+
}
|
609
|
+
|
610
|
+
// Fix IE hover problem by setting an explicit width on first item of
|
611
|
+
// the menu.
|
612
|
+
if (browser.isIE) {
|
613
|
+
w = itemList[0].offsetWidth;
|
614
|
+
itemList[0].style.width = w + "px";
|
615
|
+
dw = itemList[0].offsetWidth - w;
|
616
|
+
w -= dw;
|
617
|
+
itemList[0].style.width = w + "px";
|
618
|
+
}
|
619
|
+
|
620
|
+
// Fix the IE display problem (SELECT elements and other windowed controls
|
621
|
+
// overlaying the menu) by adding an IFRAME under the menu.
|
622
|
+
if (browser.isIE) {
|
623
|
+
var iframeEl = document.createElement("IFRAME");
|
624
|
+
iframeEl.frameBorder = 0;
|
625
|
+
iframeEl.src = "javascript:;";
|
626
|
+
iframeEl.style.display = "none";
|
627
|
+
iframeEl.style.position = "absolute";
|
628
|
+
//iframeEl.style.filter = "progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)";
|
629
|
+
menu.iframeEl = menu.parentNode.insertBefore(iframeEl, menu);
|
630
|
+
}
|
631
|
+
|
632
|
+
// Mark menu as initialized.
|
633
|
+
menu.isInitialized = true;
|
634
|
+
}
|
635
|
+
|
636
|
+
//----------------------------------------------------------------------------
|
637
|
+
// General utility functions.
|
638
|
+
//----------------------------------------------------------------------------
|
639
|
+
function getContainerWith(node, tagName, className) {
|
640
|
+
// Starting with the given node, find the nearest containing element
|
641
|
+
// with the specified tag name and style class.
|
642
|
+
while (node != null) {
|
643
|
+
if (node.tagName != null && node.tagName == tagName &&
|
644
|
+
hasClassName(node, className))
|
645
|
+
return node;
|
646
|
+
node = node.parentNode;
|
647
|
+
}
|
648
|
+
return node;
|
649
|
+
}
|
650
|
+
|
651
|
+
function hasClassName(el, name) {
|
652
|
+
var i, list;
|
653
|
+
// Return true if the given element currently has the given class
|
654
|
+
// name.
|
655
|
+
list = el.className.split(" ");
|
656
|
+
for (i = 0; i < list.length; i++)
|
657
|
+
if (list[i] == name)
|
658
|
+
return true;
|
659
|
+
return false;
|
660
|
+
}
|
661
|
+
|
662
|
+
function removeClassName(el, name) {
|
663
|
+
var i, curList, newList;
|
664
|
+
if (el.className == null)
|
665
|
+
return;
|
666
|
+
|
667
|
+
// Remove the given class name from the element's className property.
|
668
|
+
newList = new Array();
|
669
|
+
curList = el.className.split(" ");
|
670
|
+
for (i = 0; i < curList.length; i++)
|
671
|
+
if (curList[i] != name)
|
672
|
+
newList.push(curList[i]);
|
673
|
+
el.className = newList.join(" ");
|
674
|
+
}
|
675
|
+
|
676
|
+
function getPageOffsetLeft(el) {
|
677
|
+
var x;
|
678
|
+
// Return the x coordinate of an element relative to the page.
|
679
|
+
x = el.offsetLeft;
|
680
|
+
if (el.offsetParent != null)
|
681
|
+
x += getPageOffsetLeft(el.offsetParent);
|
682
|
+
return x;
|
683
|
+
}
|
684
|
+
|
685
|
+
function getPageOffsetTop(el) {
|
686
|
+
var y;
|
687
|
+
// Return the x coordinate of an element relative to the page.
|
688
|
+
y = el.offsetTop;
|
689
|
+
if (el.offsetParent != null)
|
690
|
+
y += getPageOffsetTop(el.offsetParent);
|
691
|
+
return y;
|
692
|
+
}
|
693
|
+
//]]></script>
|
694
|
+
<style type="text/css">
|
695
|
+
|
696
|
+
div.menuBar,
|
697
|
+
div.menuBar a.menuButton,
|
698
|
+
div.menu,
|
699
|
+
div.menu a.menuItem {
|
700
|
+
font-family: Arial, "MS Sans Serif", sans-serif;
|
701
|
+
font-size: 10pt;
|
702
|
+
font-style: normal;
|
703
|
+
font-weight: normal;
|
704
|
+
color: #0066cc;
|
705
|
+
text-align: left;
|
706
|
+
}
|
707
|
+
|
708
|
+
div.menuBar {
|
709
|
+
background-color: #0066cc;
|
710
|
+
/*border: 2px outset #e0e0e0;*/
|
711
|
+
border: 0px;
|
712
|
+
border: 2px solid;
|
713
|
+
border-color: #0066cc #0066cc #0066cc #0066cc;
|
714
|
+
padding: 4px 2px 4px 2px;
|
715
|
+
text-align: left;
|
716
|
+
top: 0px;
|
717
|
+
left: 0px;
|
718
|
+
}
|
719
|
+
|
720
|
+
div.menuBar a.menuButton {
|
721
|
+
background-color: transparent;
|
722
|
+
border: 1px solid #0066cc;
|
723
|
+
color: #ffffff;
|
724
|
+
cursor: default;
|
725
|
+
left: 0px;
|
726
|
+
margin: 1px;
|
727
|
+
padding: 2px 6px 2px 6px;
|
728
|
+
position: relative;
|
729
|
+
text-decoration: none;
|
730
|
+
text-align: left;
|
731
|
+
top: 0px;
|
732
|
+
z-index: 100;
|
733
|
+
}
|
734
|
+
div.menuBar a.menuLink {
|
735
|
+
background-color: transparent;
|
736
|
+
font-family: Arial, "MS Sans Serif", sans-serif;
|
737
|
+
font-size: 10pt;
|
738
|
+
font-style: normal;
|
739
|
+
font-weight: normal;
|
740
|
+
color: #ffffff;
|
741
|
+
text-align: right;
|
742
|
+
text-decoration: none;
|
743
|
+
margin: 1px;
|
744
|
+
padding: 2px 6px 2px 6px;
|
745
|
+
/*width: 150px;*/
|
746
|
+
}
|
747
|
+
|
748
|
+
div.menuBar a.menuLink:hover {
|
749
|
+
background-color: 000080;
|
750
|
+
border: 1px outset #e0e0e0;
|
751
|
+
text-align:left;
|
752
|
+
color: #ffffff;
|
753
|
+
cursor: default;
|
754
|
+
}
|
755
|
+
|
756
|
+
div.menuBar a.menuButton:hover {
|
757
|
+
background-color: 000080;
|
758
|
+
border: 1px outset #e0e0e0;
|
759
|
+
text-align:left;
|
760
|
+
color: #ffffff;
|
761
|
+
}
|
762
|
+
|
763
|
+
div.menuBar a.menuButtonActive,
|
764
|
+
div.menuBar a.menuButtonActive:hover {
|
765
|
+
background-color: #0066cc;
|
766
|
+
/*border: 1px inset #e0e0e0;*/
|
767
|
+
color: #ffffff;
|
768
|
+
/*left: 1px;*/
|
769
|
+
/*top: 1px;*/
|
770
|
+
text-align: left;
|
771
|
+
}
|
772
|
+
|
773
|
+
div.menu {
|
774
|
+
background-color: #0066cc;
|
775
|
+
/*border: 2px outset #e0e0e0;*/
|
776
|
+
left: 0px;
|
777
|
+
padding: 0px 1px 1px 0px;
|
778
|
+
position: absolute;
|
779
|
+
top: 28px;
|
780
|
+
visibility: hidden;
|
781
|
+
z-index: 101;
|
782
|
+
text-align: left;
|
783
|
+
}
|
784
|
+
|
785
|
+
div.menu a.menuItem {
|
786
|
+
color: #ffffff;
|
787
|
+
cursor: default;
|
788
|
+
display: block;
|
789
|
+
padding: 3px 1em;
|
790
|
+
text-decoration: none;
|
791
|
+
text-align: left;
|
792
|
+
white-space: nowrap;
|
793
|
+
}
|
794
|
+
|
795
|
+
div.menu a.menuItem:hover, div.menu a.menuItemHighlight {
|
796
|
+
background-color: #000080;
|
797
|
+
color: #ffffff;
|
798
|
+
text-align: left;
|
799
|
+
}
|
800
|
+
|
801
|
+
div.menu a.menuItem span.menuItemText {}
|
802
|
+
|
803
|
+
div.menu a.menuItem span.menuItemArrow {
|
804
|
+
margin-right: -.75em;
|
805
|
+
}
|
806
|
+
|
807
|
+
div.menu div.menuItemSep {
|
808
|
+
border: 1px inset #e0e0e0;
|
809
|
+
margin: 4px 2px;
|
810
|
+
}
|
811
|
+
</style>
|
812
|
+
|
813
|
+
<meta content="text/html; charset=windows-1252" http-equiv="Content-Type"><meta content="NO-CACHE" http-equiv="PRAGMA"><meta content="0" http-equiv="EXPIRES"><title>EnRoute I-STATUS</title></head><body onload="ClearSortCookie(); SendRequest();" onunload="ClearTimer()"><div style="position: relative;" class="menuBar"><a onmouseover="buttonMouseover(event, 'FireMenu');" class="menuButton">Fire</a><a onmouseover="buttonMouseover(event, 'AdminMenu');" class="menuButton">Admin</a><a target="_top" href="UserLogin.php" onclick="LogOffClicked("UserKey")" class="menuButton">Logoff</a><span style="width: 150px;"> </span><a href="#" onclick="ToggleMode()" onmouseover="" class="menuLink">Night Mode</a> "<img style="position: absolute; top: -3px;" src="I-STATUS1.gif"></div><div onmouseover="menuMouseover(event)" class="menu" id="AmbMenu"></div><div onmouseover="menuMouseover(event)" class="menu" id="FireMenu"><a target="Top" href="Dispatch_center.php" class="menuItem">Active Fire/EMS Calls</a> <a target="Top" href="TruckStatus.php" class="menuItem">Apparatus</a> <a target="Top" href="SearchDStats.php" class="menuItem">Fire/EMS History</a> <a target="Top" href="ChgQuarters.php" class="menuItem">Coverage/Quarters</a> <a target="Top" href="FireRestricts.php" class="menuItem">Restrictions</a> </div><div onmouseover="menuMouseover(event)" class="menu" id="PoliceMenu"></div><div onmouseover="menuMouseover(event)" class="menu" id="AdminMenu"><a target="Top" href="UserPasswordMaint.php" class="menuItem">Change Password</a></div><script language="javascript">
|
814
|
+
function popup(URL) {
|
815
|
+
opts="'toolbar=0, scrollbars=0, location=0, menubar=0, resizable=0, width=160,"
|
816
|
+
opts=opts + "height=200, top=60, left=60'"
|
817
|
+
mywindow=window.open(URL, "newwin",opts);
|
818
|
+
if (mywindow.opener == null)
|
819
|
+
mywindow.opener=self;
|
820
|
+
}
|
821
|
+
function LogOffClicked(CN)
|
822
|
+
{
|
823
|
+
var cookiename=CN;
|
824
|
+
/*alert("logoff clicked= " + cookiename);
|
825
|
+
if (isset($_COOKIE['cookiename'])){
|
826
|
+
alert("Cookie is set");
|
827
|
+
setcookie ("cookiename", "", time()-60*60*24*100);
|
828
|
+
}*/
|
829
|
+
DeleteCookie(cookiename);
|
830
|
+
}
|
831
|
+
function ToggleMode() {
|
832
|
+
var cname="NiteMode";
|
833
|
+
var mode=ReadCookie(cname);
|
834
|
+
if (mode == "") mode="Day";
|
835
|
+
if (mode == "Day") {
|
836
|
+
var newmode="Nite";
|
837
|
+
} else {
|
838
|
+
var newmode="Day";
|
839
|
+
}
|
840
|
+
WriteCookie(cname,newmode,1);
|
841
|
+
if (window.parent.frames.length == 0) {
|
842
|
+
window.self.location.href=window.self.location.href;
|
843
|
+
} else {
|
844
|
+
for (i=0; i<window.parent.frames.length; i++)
|
845
|
+
window.parent.frames(i).location.href=window.parent.frames(i).location.href;
|
846
|
+
}
|
847
|
+
}
|
848
|
+
</script>
|
849
|
+
<script src="JSFuncs.js" language="JavaScript"></script><script language="javascript">
|
850
|
+
/// Function to return the value of a given cookie
|
851
|
+
function cookieVal(cookieName){
|
852
|
+
thisCookie=document.cookie.split("; ");
|
853
|
+
var rtnval="";
|
854
|
+
for (i=0; i<thisCookie.length; i++){
|
855
|
+
if (cookieName == thisCookie[i].split("=")[0]){
|
856
|
+
rtnval=thisCookie[i].split("=")[1];
|
857
|
+
}
|
858
|
+
}
|
859
|
+
return rtnval;
|
860
|
+
}
|
861
|
+
</script>
|
862
|
+
|
863
|
+
|
864
|
+
|
865
|
+
<!--<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">-->
|
866
|
+
|
867
|
+
|
868
|
+
|
869
|
+
|
870
|
+
<link type="text/css" href="DisplayFormat.css" rel="stylesheet">
|
871
|
+
|
872
|
+
<form name="LEAD">
|
873
|
+
<input type="HIDDEN" value="30" name="RefreshInt">
|
874
|
+
<h4 id="shead" class="Status">Apparatus Status - Screen 4</h4>
|
875
|
+
<center><b>Status Legend:</b>
|
876
|
+
<span class="ENR"> ENR</span>
|
877
|
+
<span class="ONS"> ONS</span>
|
878
|
+
<span class="AVL"> AVL</span>
|
879
|
+
<span class="OOS"> OOS</span>
|
880
|
+
<span class="OOD"> OOD</span>
|
881
|
+
<span class="INC"> INC</span>
|
882
|
+
<span class="TRN"> TRN</span>
|
883
|
+
<span class="DSP"> DSP</span>
|
884
|
+
<span class="ARV"> At Hosp</span>
|
885
|
+
<span class="AAS"> AAS</span></center>
|
886
|
+
|
887
|
+
<div align="center" id="Scrollable" class="ScrollBody" style="height: 96px;"><div style="position: absolute; left: 280.5px;" id="Scrollable2"><span style="position: absolute; top: 0px; left: 235px; white-space: nowrap; font-size: x-small;" class=""><a target="Fire" class="" href="ApparatusDetail.php?TruckID=AMBULANCES ">AMBULANCES </a></span><span style="position: absolute; top: 275px; left: 10px; white-space: nowrap; font-size: x-small;" class=""><a target="Fire" class="" href="ApparatusDetail.php?TruckID=22 ELLIS FISCHEL ">22 ELLIS FISCHEL </a></span><span style="position: absolute; top: 300px; left: 10px; white-space: nowrap; font-size: x-small;" class=""><a target="Fire" class="" href="ApparatusDetail.php?TruckID=23 WOODRAIL CENTER ">23 WOODRAIL CENTER </a></span><span style="position: absolute; top: 325px; left: 10px; white-space: nowrap; font-size: x-small;" class=""><a target="Fire" class="" href="ApparatusDetail.php?TruckID=24 ASHLAND ">24 ASHLAND </a></span><span style="position: absolute; top: 250px; left: 315px; white-space: nowrap; font-size: x-small;" class=""><a target="Fire" class="" href="ApparatusDetail.php?TruckID=25 MIDWAY ">25 MIDWAY </a></span><span style="position: absolute; top: 275px; left: 315px; white-space: nowrap; font-size: x-small;" class=""><a target="Fire" class="" href="ApparatusDetail.php?TruckID=26 ROCHEPORT ">26 ROCHEPORT </a></span><span style="position: absolute; top: 50px; left: 160px; white-space: nowrap; font-size: x-small;" class="AVL"><a target="Fire" class="AVL" href="ApparatusDetail.php?TruckID=M111 ">M111 m</a></span><span style="position: absolute; top: 75px; left: 160px; white-space: nowrap; font-size: x-small;" class="OOS"><a target="Fire" class="OOS" href="ApparatusDetail.php?TruckID=M121 ">M121 </a></span><span style="position: absolute; top: 100px; left: 160px; white-space: nowrap; font-size: x-small;" class="AVL"><a target="Fire" class="AVL" href="ApparatusDetail.php?TruckID=M131 ">M131 m</a></span><span style="position: absolute; top: 125px; left: 160px; white-space: nowrap; font-size: x-small;" class="OOS"><a target="Fire" class="OOS" href="ApparatusDetail.php?TruckID=M141 ">M141 </a></span><span style="position: absolute; top: 50px; left: 460px; white-space: nowrap; font-size: x-small;" class="AVL"><a target="Fire" class="AVL" href="ApparatusDetail.php?TruckID=M151 ">M151 m</a></span><span style="position: absolute; top: 50px; left: 10px; white-space: nowrap; font-size: x-small;" class=""><a target="Fire" class="" href="ApparatusDetail.php?TruckID=11 VANDIVER ">11 VANDIVER </a></span><span style="position: absolute; top: 75px; left: 460px; white-space: nowrap; font-size: x-small;" class="OOS"><a target="Fire" class="OOS" href="ApparatusDetail.php?TruckID=M181 ">M181 </a></span><span style="position: absolute; top: 100px; left: 460px; white-space: nowrap; font-size: x-small;" class="OOS"><a target="Fire" class="OOS" href="ApparatusDetail.php?TruckID=M191 ">M191 </a></span><span style="position: absolute; top: 250px; left: 160px; white-space: nowrap; font-size: x-small;" class="AVL"><a target="Fire" class="AVL" href="ApparatusDetail.php?TruckID=M211 ">M211 m</a></span><span style="position: absolute; top: 275px; left: 160px; white-space: nowrap; font-size: x-small;" class="AVL"><a target="Fire" class="AVL" href="ApparatusDetail.php?TruckID=M221 ">M221 m</a></span><span style="position: absolute; top: 300px; left: 160px; white-space: nowrap; font-size: x-small;" class="AOS"><a target="Fire" class="AOS" href="ApparatusDetail.php?TruckID=M231 ">M231 m</a></span><span style="position: absolute; top: 325px; left: 160px; white-space: nowrap; font-size: x-small;" class="AVL"><a target="Fire" class="AVL" href="ApparatusDetail.php?TruckID=M241 ">M241 m</a></span><span style="position: absolute; top: 250px; left: 455px; white-space: nowrap; font-size: x-small;" class="OOS"><a target="Fire" class="OOS" href="ApparatusDetail.php?TruckID=M251 ">M251 </a></span><span style="position: absolute; top: 275px; left: 455px; white-space: nowrap; font-size: x-small;" class="OOS"><a target="Fire" class="OOS" href="ApparatusDetail.php?TruckID=M261 ">M261 </a></span><span style="position: absolute; top: 50px; left: 210px; white-space: nowrap; font-size: x-small;" class="OOS"><a target="Fire" class="OOS" href="ApparatusDetail.php?TruckID=M112 ">M112 </a></span><span style="position: absolute; top: 100px; left: 210px; white-space: nowrap; font-size: x-small;" class="OOS"><a target="Fire" class="OOS" href="ApparatusDetail.php?TruckID=M132 ">M132 </a></span><span style="position: absolute; top: 75px; left: 10px; white-space: nowrap; font-size: x-small;" class=""><a target="Fire" class="" href="ApparatusDetail.php?TruckID=12 PRATHERSVILLE ">12 PRATHERSVILLE </a></span><span style="position: absolute; top: 50px; left: 510px; white-space: nowrap; font-size: x-small;" class="OOS"><a target="Fire" class="OOS" href="ApparatusDetail.php?TruckID=M152 ">M152 </a></span><span style="position: absolute; top: 250px; left: 210px; white-space: nowrap; font-size: x-small;" class="OOS"><a target="Fire" class="OOS" href="ApparatusDetail.php?TruckID=M212 ">M212 m</a></span><span style="position: absolute; top: 325px; left: 210px; white-space: nowrap; font-size: x-small;" class="OOS"><a target="Fire" class="OOS" href="ApparatusDetail.php?TruckID=M242 ">M242 </a></span><span style="position: absolute; top: 50px; left: 260px; white-space: nowrap; font-size: x-small;" class="OOS"><a target="Fire" class="OOS" href="ApparatusDetail.php?TruckID=M113 ">M113 m</a></span><span style="position: absolute; top: 250px; left: 260px; white-space: nowrap; font-size: x-small;" class="OOS"><a target="Fire" class="OOS" href="ApparatusDetail.php?TruckID=M213 ">M213 </a></span><span style="position: absolute; top: 160px; left: 25px; white-space: nowrap; font-size: x-small;" class="AVL"><a target="Fire" class="AVL" href="ApparatusDetail.php?TruckID=EMS10 ">EMS10 </a></span><span style="position: absolute; top: 160px; left: 80px; white-space: nowrap; font-size: x-small;" class="OOS"><a target="Fire" class="OOS" href="ApparatusDetail.php?TruckID=EMS11 ">EMS11 </a></span><span style="position: absolute; top: 160px; left: 135px; white-space: nowrap; font-size: x-small;" class="OOS"><a target="Fire" class="OOS" href="ApparatusDetail.php?TruckID=EMS13 ">EMS13 </a></span><span style="position: absolute; top: 360px; left: 20px; white-space: nowrap; font-size: x-small;" class="OOS"><a target="Fire" class="OOS" href="ApparatusDetail.php?TruckID=EMS2 ">EMS2 </a></span><span style="position: absolute; top: 360px; left: 75px; white-space: nowrap; font-size: x-small;" class="AVL"><a target="Fire" class="AVL" href="ApparatusDetail.php?TruckID=EMS21 ">EMS21 </a></span><span style="position: absolute; top: 100px; left: 10px; white-space: nowrap; font-size: x-small;" class=""><a target="Fire" class="" href="ApparatusDetail.php?TruckID=13 CENTRALIA ">13 CENTRALIA </a></span><span style="position: absolute; top: 360px; left: 130px; white-space: nowrap; font-size: x-small;" class="OOS"><a target="Fire" class="OOS" href="ApparatusDetail.php?TruckID=EMS22 ">EMS22 </a></span><span style="position: absolute; top: 360px; left: 185px; white-space: nowrap; font-size: x-small;" class="AVL"><a target="Fire" class="AVL" href="ApparatusDetail.php?TruckID=EMS23 ">EMS23 </a></span><span style="position: absolute; top: 360px; left: 240px; white-space: nowrap; font-size: x-small;" class="OOS"><a target="Fire" class="OOS" href="ApparatusDetail.php?TruckID=EMS24 ">EMS24 </a></span><span style="position: absolute; top: 160px; left: 230px; white-space: nowrap; font-size: x-small;" class="OOS"><a target="Fire" class="OOS" href="ApparatusDetail.php?TruckID=MC115 ">MC115 </a></span><span style="position: absolute; top: 420px; left: 55px; white-space: nowrap; font-size: x-small;" class="AVL"><a target="Fire" class="AVL" href="ApparatusDetail.php?TruckID=H1 ">H1 </a></span><span style="position: absolute; top: 420px; left: 145px; white-space: nowrap; font-size: x-small;" class="AVL"><a target="Fire" class="AVL" href="ApparatusDetail.php?TruckID=H2 ">H2 </a></span><span style="position: absolute; top: 420px; left: 240px; white-space: nowrap; font-size: x-small;" class="OOS"><a target="Fire" class="OOS" href="ApparatusDetail.php?TruckID=H3 ">H3 </a></span><span style="position: absolute; top: 420px; left: 10px; white-space: nowrap; font-size: x-small;" class=""><a target="Fire" class="" href="ApparatusDetail.php?TruckID=Univ: ">Univ: </a></span><span style="position: absolute; top: 420px; left: 100px; white-space: nowrap; font-size: x-small;" class=""><a target="Fire" class="" href="ApparatusDetail.php?TruckID=Lake: ">Lake: </a></span><span style="position: absolute; top: 420px; left: 185px; white-space: nowrap; font-size: x-small;" class=""><a target="Fire" class="" href="ApparatusDetail.php?TruckID=Sedalia: ">Sedalia: </a></span><span style="position: absolute; top: 125px; left: 10px; white-space: nowrap; font-size: x-small;" class=""><a target="Fire" class="" href="ApparatusDetail.php?TruckID=14 STURGEON ">14 STURGEON </a></span><span style="position: absolute; top: 420px; left: 400px; white-space: nowrap; font-size: x-small;" class="OOS"><a target="Fire" class="OOS" href="ApparatusDetail.php?TruckID=MD10 ">MD10 </a></span><span style="position: absolute; top: 420px; left: 455px; white-space: nowrap; font-size: x-small;" class="OOS"><a target="Fire" class="OOS" href="ApparatusDetail.php?TruckID=MD20 ">MD20 </a></span><span style="position: absolute; top: 420px; left: 510px; white-space: nowrap; font-size: x-small;" class="OOS"><a target="Fire" class="OOS" href="ApparatusDetail.php?TruckID=MD21 ">MD21 </a></span><span style="position: absolute; top: 420px; left: 285px; white-space: nowrap; font-size: x-small;" class=""><a target="Fire" class="" href="ApparatusDetail.php?TruckID=Medical Directors: ">Medical Directors: </a></span><span style="position: absolute; top: 300px; left: 315px; white-space: nowrap; font-size: x-small;" class=""><a target="Fire" class="" href="ApparatusDetail.php?TruckID=27 KOMU ">27 KOMU </a></span><span style="position: absolute; top: 325px; left: 315px; white-space: nowrap; font-size: x-small;" class=""><a target="Fire" class="" href="ApparatusDetail.php?TruckID=28 AIRPORT ">28 AIRPORT </a></span><span style="position: absolute; top: 300px; left: 455px; white-space: nowrap; font-size: x-small;" class="OOS"><a target="Fire" class="OOS" href="ApparatusDetail.php?TruckID=M271 ">M271 </a></span><span style="position: absolute; top: 325px; left: 455px; white-space: nowrap; font-size: x-small;" class="OOS"><a target="Fire" class="OOS" href="ApparatusDetail.php?TruckID=M281 ">M281 </a></span><span style="position: absolute; top: 20px; left: 30px; white-space: nowrap; font-size: x-small;" class=""><a target="Fire" class="" href="ApparatusDetail.php?TruckID=BOONE AMBULANCE ">BOONE AMBULANCE </a></span><span style="position: absolute; top: 215px; left: 30px; white-space: nowrap; font-size: x-small;" class=""><a target="Fire" class="" href="ApparatusDetail.php?TruckID=UNIVERSITY AMBULANCE">UNIVERSITY AMBULANCE</a></span><span style="position: absolute; top: 50px; left: 315px; white-space: nowrap; font-size: x-small;" class=""><a target="Fire" class="" href="ApparatusDetail.php?TruckID=15 BOONE HOSPITAL ">15 BOONE HOSPITAL </a></span><span style="position: absolute; top: 50px; left: 140px; white-space: nowrap; font-size: x-small;" class=""><a target="Fire" class="" href="ApparatusDetail.php?TruckID=-- ">-- </a></span><span style="position: absolute; top: 250px; left: 140px; white-space: nowrap; font-size: x-small;" class=""><a target="Fire" class="" href="ApparatusDetail.php?TruckID=-- ">-- </a></span><span style="position: absolute; top: 50px; left: 440px; white-space: nowrap; font-size: x-small;" class=""><a target="Fire" class="" href="ApparatusDetail.php?TruckID=-- ">-- </a></span><span style="position: absolute; top: 275px; left: 140px; white-space: nowrap; font-size: x-small;" class=""><a target="Fire" class="" href="ApparatusDetail.php?TruckID=-- ">-- </a></span><span style="position: absolute; top: 300px; left: 140px; white-space: nowrap; font-size: x-small;" class=""><a target="Fire" class="" href="ApparatusDetail.php?TruckID=-- ">-- </a></span><span style="position: absolute; top: 75px; left: 315px; white-space: nowrap; font-size: x-small;" class=""><a target="Fire" class="" href="ApparatusDetail.php?TruckID=18 HWY 63 / I70 ">18 HWY 63 / I70 </a></span><span style="position: absolute; top: 100px; left: 315px; white-space: nowrap; font-size: x-small;" class=""><a target="Fire" class="" href="ApparatusDetail.php?TruckID=19 HALLSVILLE ">19 HALLSVILLE </a></span><span style="position: absolute; top: 250px; left: 10px; white-space: nowrap; font-size: x-small;" class=""><a target="Fire" class="" href="ApparatusDetail.php?TruckID=21 UNIVERSITY HOSP ">21 UNIVERSITY HOSP </a></span>
|
888
|
+
</div></div>
|
889
|
+
<!-- <br-->
|
890
|
+
<table width="100%" cellspacing="0" cellpadding="1" border="0" align="left">
|
891
|
+
<tbody><tr>
|
892
|
+
<th>Display Apparatus Screen #
|
893
|
+
<a onclick="TruckScreen(1);" href="#"><b><font color="#ff0000">1 </font></b></a>
|
894
|
+
<a onclick="TruckScreen(2);" href="#"><b><font color="#ff0000">2 </font></b></a>
|
895
|
+
<a onclick="TruckScreen(3);" href="#"><b><font color="#ff0000">3 </font></b></a>
|
896
|
+
<a onclick="TruckScreen(4);" href="#"><b><font color="#ff0000">4 </font></b></a>
|
897
|
+
<a onclick="TruckScreen(5);" href="#"><b><font color="#ff0000">5 </font></b></a>
|
898
|
+
<a onclick="TruckScreen(6);" href="#"><b><font color="#ff0000">6 </font></b></a>
|
899
|
+
<a onclick="TruckScreen(7);" href="#"><b><font color="#ff0000">7 </font></b></a>
|
900
|
+
<a onclick="TruckScreen(8);" href="#"><b><font color="#ff0000">8 </font></b></a>
|
901
|
+
<a onclick="TruckScreen(9);" href="#"><b><font color="#ff0000">9 </font></b></a>
|
902
|
+
<a onclick="TruckScreen(10);" href="#"><b><font color="#ff0000">10 </font></b></a>
|
903
|
+
<a onclick="TruckScreen(11);" href="#"><b><font color="#ff0000">11 </font></b></a>
|
904
|
+
<a onclick="TruckScreen(12);" href="#"><b><font color="#ff0000">12 </font></b></a>
|
905
|
+
<a onclick="TruckScreen(13);" href="#"><b><font color="#ff0000">13 </font></b></a>
|
906
|
+
<a onclick="TruckScreen(14);" href="#"><b><font color="#ff0000">14 </font></b></a>
|
907
|
+
<a onclick="TruckScreen(15);" href="#"><b><font color="#ff0000">15 </font></b></a>
|
908
|
+
</th>
|
909
|
+
</tr>
|
910
|
+
</tbody></table>
|
911
|
+
</form>
|
912
|
+
<script src="Ajax.js" language="javascript"></script>
|
913
|
+
<script language="javascript">
|
914
|
+
window.onresize = SetDivSize;
|
915
|
+
var instr;
|
916
|
+
var fdtacs=cookieVal("FDTacs");
|
917
|
+
var fdids=cookieVal("FDIDs");
|
918
|
+
var fdgrids=cookieVal("FDGrids");
|
919
|
+
var fdnats=cookieVal("FDNats");
|
920
|
+
var fddsps=cookieVal("FDDsps");
|
921
|
+
|
922
|
+
function SetDivSize(){
|
923
|
+
//center Scrollable2
|
924
|
+
var obj=document.getElementById("Scrollable2");
|
925
|
+
obj.style.left=(document.body.clientWidth-540)/2;
|
926
|
+
|
927
|
+
ht=document.body.clientHeight-d.offsetTop;
|
928
|
+
d.style.height=ht-60;
|
929
|
+
}
|
930
|
+
|
931
|
+
function TruckScreen(scrn){
|
932
|
+
WriteCookie("TScreen",scrn,"1");
|
933
|
+
SendRequest()
|
934
|
+
}
|
935
|
+
// Create a request for data
|
936
|
+
function CreateRequest(){
|
937
|
+
try {
|
938
|
+
request=new XMLHttpRequest();
|
939
|
+
} catch (trymicrosoft) {
|
940
|
+
try {
|
941
|
+
request = new ActiveXObject("Msxml2.XMLHTTP");
|
942
|
+
} catch (othermicrosoft) {
|
943
|
+
try {
|
944
|
+
request=new ActiveXObject("Microsoft.XMLHTTP");
|
945
|
+
} catch (failed) {
|
946
|
+
request=null;
|
947
|
+
}
|
948
|
+
}
|
949
|
+
}
|
950
|
+
if (request == null) alert("Error creating request object!");
|
951
|
+
}
|
952
|
+
|
953
|
+
// Send request for data to server
|
954
|
+
function SendRequest(){
|
955
|
+
CreateRequest();
|
956
|
+
if (request != null){
|
957
|
+
var url="AjaxTS2.php";
|
958
|
+
request.open("GET",url,true);
|
959
|
+
request.setRequestHeader("Content-Type","text/xml");
|
960
|
+
request.onreadystatechange=UpdatePage;
|
961
|
+
request.send(null);
|
962
|
+
}
|
963
|
+
RefreshTimer();
|
964
|
+
}
|
965
|
+
|
966
|
+
// Update page with returned data
|
967
|
+
function UpdatePage(){
|
968
|
+
rrs=request.readyState;
|
969
|
+
if (rrs == 4){
|
970
|
+
instr=request.responseText;
|
971
|
+
// If the instr contains "UserLogin.php", which means
|
972
|
+
// the page has timed out (code is in Global.php).
|
973
|
+
if (instr.indexOf("UserLogin.php") != -1) {
|
974
|
+
top.location="UserLogin.php";
|
975
|
+
}
|
976
|
+
BuildTable();
|
977
|
+
}
|
978
|
+
}
|
979
|
+
|
980
|
+
function BuildTable(){
|
981
|
+
var lctr;
|
982
|
+
var outstr = new StringBuffer();
|
983
|
+
var usort;
|
984
|
+
var leftMargin;
|
985
|
+
usort=cookieVal("TScreen");
|
986
|
+
if (usort == "") usort=1;
|
987
|
+
|
988
|
+
// Calculate left margin in order to center Scrollable2
|
989
|
+
leftMargin=(document.body.clientWidth-540)/2;
|
990
|
+
outstr.append('<div id="Scrollable2" style="position:absolute; left:'+leftMargin+'px;">');
|
991
|
+
outstr.append(instr);
|
992
|
+
outstr.append('</div>');
|
993
|
+
h=document.getElementById("shead");
|
994
|
+
h.innerHTML="Apparatus Status - Screen "+usort;
|
995
|
+
d=document.getElementById("Scrollable");
|
996
|
+
d.innerHTML=outstr;
|
997
|
+
ht=document.body.clientHeight-d.offsetTop;
|
998
|
+
d.style.height=ht-60;
|
999
|
+
|
1000
|
+
}
|
1001
|
+
|
1002
|
+
function ClearSortCookie(){
|
1003
|
+
WriteCookie("SortFlg","xx","7");
|
1004
|
+
}
|
1005
|
+
// This function expand or collapse the unit legends
|
1006
|
+
function DisplayLegends(id){
|
1007
|
+
var ih="";
|
1008
|
+
var cname="";
|
1009
|
+
var ft="";
|
1010
|
+
var fd="";
|
1011
|
+
var fg="";
|
1012
|
+
var fn="";
|
1013
|
+
var dp="";
|
1014
|
+
|
1015
|
+
switch (id){
|
1016
|
+
case "legend":
|
1017
|
+
ih="<small>"+"<big>-</big> <font color=#0066cc>Primary</font> &nbsp; &nbsp; "
|
1018
|
+
+"<big>*</big> <font color=#0066cc>Two person</font> &nbsp; &nbsp; "
|
1019
|
+
+"+ <font color=#0066cc>Primary and Two person</font> &nbsp; &nbsp; "
|
1020
|
+
+"<b>m</b> <font color=#0066cc>MDT</font>"
|
1021
|
+
+"</small>";
|
1022
|
+
cname="UnitLegends";
|
1023
|
+
break;
|
1024
|
+
case "restricts":
|
1025
|
+
ih="<small><font color=#FF0000>";
|
1026
|
+
if (ft != ""){
|
1027
|
+
ih = ih + "Tacs: " + ft + "<BR>";
|
1028
|
+
}
|
1029
|
+
if (fd != ""){
|
1030
|
+
ih=ih + "FDIDs: "+fd + "<BR>";
|
1031
|
+
}
|
1032
|
+
if (fg != ""){
|
1033
|
+
ih=ih + "Grids: "+ fg + "<BR>";
|
1034
|
+
}
|
1035
|
+
if (fn != ""){
|
1036
|
+
ih=ih + "Natures: "+ fn + "<BR>";
|
1037
|
+
}
|
1038
|
+
if (dp != ""){
|
1039
|
+
ih=ih + "Dispatch: "+ dp + "<BR>";
|
1040
|
+
}
|
1041
|
+
ih=ih+"</font></small>";
|
1042
|
+
cname="FDRestrictions";
|
1043
|
+
break;
|
1044
|
+
default:
|
1045
|
+
ih="";
|
1046
|
+
cname="";
|
1047
|
+
}
|
1048
|
+
if (ih != ""){
|
1049
|
+
if (document.getElementById(id).innerHTML == "") {
|
1050
|
+
document.getElementById(id).innerHTML=ih;
|
1051
|
+
WriteCookie(cname,"1",1);
|
1052
|
+
} else {
|
1053
|
+
document.getElementById(id).innerHTML="";
|
1054
|
+
WriteCookie(cname,"0",1);
|
1055
|
+
}
|
1056
|
+
}
|
1057
|
+
}
|
1058
|
+
</script>
|
1059
|
+
<script src="JSFuncs.js" language="JavaScript"></script>
|
1060
|
+
</body></html>
|
1061
|
+
</frame>
|
1062
|
+
|
1063
|
+
</frameset>
|
1064
|
+
<noframes>
|
1065
|
+
<BODY >
|
1066
|
+
A browser that supports frames is required for this application.
|
1067
|
+
</BODY>
|
1068
|
+
</noframes>
|
1069
|
+
</html>
|
1070
|
+
}
|
1071
|
+
|
1072
|
+
INCIDENT_HTML = %Q{
|
1073
|
+
|
1074
|
+
<HTML>
|
1075
|
+
<HEAD>
|
1076
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
1077
|
+
<!--<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">-->
|
1078
|
+
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252">
|
1079
|
+
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
|
1080
|
+
<META HTTP-EQUIV="EXPIRES" CONTENT="0">
|
1081
|
+
<TITLE>EnRoute I-STATUS - Version 5.10</TITLE>
|
1082
|
+
<LINK REL="stylesheet" HREF="DisplayFormat.css" TYPE="text/css">
|
1083
|
+
<script language="javascript">
|
1084
|
+
//bring the page to foreground
|
1085
|
+
this.focus();
|
1086
|
+
</script>
|
1087
|
+
</HEAD>
|
1088
|
+
<BODY CLASS="Detail" j=l>
|
1089
|
+
<H3 class="Status">Prior Fire Incident: 201023687</H3><table cellpadding="0" cellspacing="0" width="100%"><tr width="100%"><td valign="top" width="50%"><table cellpadding="0" cellspacing="0" width="100%"><tr><th class="Detail" align="left" width=$cw>Location</th><td class="Detail" align="left" colspan="3"><a href="SearchDStatsSubmit.php?Address=7750 HIGHWAY AB E-BC">7750 HIGHWAY AB E-BC</a></td></tr><tr><TH CLASS='Detail' align=left width=100px>
|
1090
|
+
Building</TH>
|
1091
|
+
<TD CLASS='Detail' COLSPAN=3>
|
1092
|
+
</TD>
|
1093
|
+
</tr><tr><TH CLASS='Detail' align=left width=100px>
|
1094
|
+
Nature</TH>
|
1095
|
+
<TD CLASS='Detail' COLSPAN=3>
|
1096
|
+
69D9-SML NON DWEL STR FIRE</TD>
|
1097
|
+
</tr><tr><TH CLASS='Detail' align=left width=100px>
|
1098
|
+
Priority</TH>
|
1099
|
+
<TD CLASS='Detail' width=110px>
|
1100
|
+
2</TD>
|
1101
|
+
<TH CLASS='Detail' align=left width=100px>
|
1102
|
+
Dispatch Code</TH>
|
1103
|
+
<TD CLASS='Detail' >
|
1104
|
+
BOX </TD>
|
1105
|
+
</tr><tr><TH CLASS='Detail' align=left>
|
1106
|
+
Grid</TH>
|
1107
|
+
<TD CLASS='Detail' width=110px>
|
1108
|
+
34123B </TD>
|
1109
|
+
<TH CLASS='Detail' align=left width=100px>
|
1110
|
+
Map</TH>
|
1111
|
+
<TD CLASS='Detail' >
|
1112
|
+
</TD>
|
1113
|
+
</tr><tr><TH CLASS='Detail' align=left>
|
1114
|
+
Fire Area</TH>
|
1115
|
+
<td class="Detail" COLSPAN="3">19-17B </td></tr><tr><TH CLASS='Detail' align=left>
|
1116
|
+
Cross1</TH>
|
1117
|
+
<td class="Detail" COLSPAN="3">RANGELINE RD S</td></tr><tr><TH CLASS='Detail' align=left>
|
1118
|
+
Cross2</TH>
|
1119
|
+
<td class="Detail" COLSPAN="3">HIGHWAY 63 S SB</td></tr><tr><th class="Detail" align="left">Hyd1</th><td class="Detail" width=$dw></td><th class="Detail" align="left" width=$cw>Hyd2</th><td class="Detail"></td></tr><tr><td colspan="4"><hr color=navy></td></tr><tr><TH CLASS='Detail' align=left width=100px>
|
1120
|
+
Complainant</TH>
|
1121
|
+
<TD CLASS='Detail' colspan=3>
|
1122
|
+
JEROME</TD>
|
1123
|
+
</tr><tr><TH CLASS='Detail' align=left width=100px>
|
1124
|
+
Callback</TH>
|
1125
|
+
<TD CLASS='Detail' colspan=3>
|
1126
|
+
5734410736</TD>
|
1127
|
+
</tr><tr><th class="Detail" align="left" width=$cw>Dispatcher</th><td class="Detail" width=$dw>AMS </td><th class="Detail" align="left" width=$cw>CallTaker</th><td class="Detail">ALL </td></tr><tr><TH CLASS='Detail' align=left width=100px>
|
1128
|
+
DispO</TH>
|
1129
|
+
<TD CLASS='Detail' >
|
1130
|
+
ND</TD>
|
1131
|
+
<TH CLASS='Detail' align=left width=100px>
|
1132
|
+
Meth. Alarm</TH>
|
1133
|
+
<TD CLASS='Detail' >
|
1134
|
+
2 </TD>
|
1135
|
+
</tr><tr><td colspan="4"><hr color=navy></td></tr><tr><TH CLASS='Detail' align=left width=100px>
|
1136
|
+
Inc Date/Time</TH>
|
1137
|
+
<TD CLASS='Detail' colspan=3>
|
1138
|
+
12/19/2010 14:15:05</TD>
|
1139
|
+
</tr><tr><TH CLASS='Detail' align=left width=100px>
|
1140
|
+
On Scene</TH>
|
1141
|
+
<TD CLASS='Detail' colspan=3>
|
1142
|
+
12/19/2010 14:27:09</TD>
|
1143
|
+
</tr><tr><TH CLASS='Detail' align=left width=100px>
|
1144
|
+
Upgrade</TH>
|
1145
|
+
<TD CLASS='Detail' colspan=3>
|
1146
|
+
00:00:00</TD>
|
1147
|
+
</tr><tr><TH CLASS='Detail' align=left width=100px>
|
1148
|
+
Pat Contact</TH>
|
1149
|
+
<TD CLASS='Detail' colspan=3>
|
1150
|
+
01/01/1970 00:00:00</TD>
|
1151
|
+
</tr></table></td><td valign="top" align="center" width="50%"><table border="1" bordercolor="#76a5b6" cellpadding="0" cellspacing="0" width="90%"><TR >
|
1152
|
+
<TH CLASS='Detail' align=left>
|
1153
|
+
Apparatus</TH>
|
1154
|
+
<TH CLASS='Detail' align="center">
|
1155
|
+
DSP</TH>
|
1156
|
+
<TH CLASS='Detail' align="center">
|
1157
|
+
ENR</TH>
|
1158
|
+
<TH CLASS='Detail' align="center">
|
1159
|
+
ONS</TH>
|
1160
|
+
<TH CLASS='Detail' align="center">
|
1161
|
+
Tran</TH>
|
1162
|
+
<TH CLASS='Detail' align="center">
|
1163
|
+
OSH</TH>
|
1164
|
+
<TH CLASS='Detail' align="center">
|
1165
|
+
AVL</TH>
|
1166
|
+
</TR>
|
1167
|
+
<TR >
|
1168
|
+
<TD CLASS='Detail AVL' >
|
1169
|
+
E1701 </TD>
|
1170
|
+
<TD CLASS='Detail' align="center">
|
1171
|
+
14:16:52</TD>
|
1172
|
+
<TD CLASS='Detail' align="center">
|
1173
|
+
14:23:17</TD>
|
1174
|
+
<TD CLASS='Detail' align="center">
|
1175
|
+
14:30:36</TD>
|
1176
|
+
<TD CLASS='Detail' align="center">
|
1177
|
+
00:00:00</TD>
|
1178
|
+
<TD CLASS='Detail' align="center">
|
1179
|
+
00:00:00</TD>
|
1180
|
+
<TD CLASS='Detail' align="center">
|
1181
|
+
15:17:49</TD>
|
1182
|
+
</TR>
|
1183
|
+
<TR >
|
1184
|
+
<TD CLASS='Detail AVL' >
|
1185
|
+
E1901 </TD>
|
1186
|
+
<TD CLASS='Detail' align="center">
|
1187
|
+
14:16:52</TD>
|
1188
|
+
<TD CLASS='Detail' align="center">
|
1189
|
+
14:20:30</TD>
|
1190
|
+
<TD CLASS='Detail' align="center">
|
1191
|
+
14:27:09</TD>
|
1192
|
+
<TD CLASS='Detail' align="center">
|
1193
|
+
00:00:00</TD>
|
1194
|
+
<TD CLASS='Detail' align="center">
|
1195
|
+
00:00:00</TD>
|
1196
|
+
<TD CLASS='Detail' align="center">
|
1197
|
+
15:20:06</TD>
|
1198
|
+
</TR>
|
1199
|
+
<TR >
|
1200
|
+
<TD CLASS='Detail AVL' >
|
1201
|
+
M241 </TD>
|
1202
|
+
<TD CLASS='Detail' align="center">
|
1203
|
+
14:16:52</TD>
|
1204
|
+
<TD CLASS='Detail' align="center">
|
1205
|
+
14:20:16</TD>
|
1206
|
+
<TD CLASS='Detail' align="center">
|
1207
|
+
14:27:51</TD>
|
1208
|
+
<TD CLASS='Detail' align="center">
|
1209
|
+
00:00:00</TD>
|
1210
|
+
<TD CLASS='Detail' align="center">
|
1211
|
+
00:00:00</TD>
|
1212
|
+
<TD CLASS='Detail' align="center">
|
1213
|
+
14:32:56</TD>
|
1214
|
+
</TR>
|
1215
|
+
<TR >
|
1216
|
+
<TD CLASS='Detail AVL' >
|
1217
|
+
S1704 </TD>
|
1218
|
+
<TD CLASS='Detail' align="center">
|
1219
|
+
14:16:52</TD>
|
1220
|
+
<TD CLASS='Detail' align="center">
|
1221
|
+
14:25:25</TD>
|
1222
|
+
<TD CLASS='Detail' align="center">
|
1223
|
+
00:00:00</TD>
|
1224
|
+
<TD CLASS='Detail' align="center">
|
1225
|
+
00:00:00</TD>
|
1226
|
+
<TD CLASS='Detail' align="center">
|
1227
|
+
00:00:00</TD>
|
1228
|
+
<TD CLASS='Detail' align="center">
|
1229
|
+
14:33:08</TD>
|
1230
|
+
</TR>
|
1231
|
+
<TR >
|
1232
|
+
<TD CLASS='Detail AVL' >
|
1233
|
+
T1702 </TD>
|
1234
|
+
<TD CLASS='Detail' align="center">
|
1235
|
+
14:16:52</TD>
|
1236
|
+
<TD CLASS='Detail' align="center">
|
1237
|
+
00:00:00</TD>
|
1238
|
+
<TD CLASS='Detail' align="center">
|
1239
|
+
00:00:00</TD>
|
1240
|
+
<TD CLASS='Detail' align="center">
|
1241
|
+
00:00:00</TD>
|
1242
|
+
<TD CLASS='Detail' align="center">
|
1243
|
+
00:00:00</TD>
|
1244
|
+
<TD CLASS='Detail' align="center">
|
1245
|
+
14:33:37</TD>
|
1246
|
+
</TR>
|
1247
|
+
<TR >
|
1248
|
+
<TD CLASS='Detail AVL' >
|
1249
|
+
T1705 </TD>
|
1250
|
+
<TD CLASS='Detail' align="center">
|
1251
|
+
14:16:52</TD>
|
1252
|
+
<TD CLASS='Detail' align="center">
|
1253
|
+
14:26:14</TD>
|
1254
|
+
<TD CLASS='Detail' align="center">
|
1255
|
+
00:00:00</TD>
|
1256
|
+
<TD CLASS='Detail' align="center">
|
1257
|
+
00:00:00</TD>
|
1258
|
+
<TD CLASS='Detail' align="center">
|
1259
|
+
00:00:00</TD>
|
1260
|
+
<TD CLASS='Detail' align="center">
|
1261
|
+
14:33:29</TD>
|
1262
|
+
</TR>
|
1263
|
+
<TR >
|
1264
|
+
<TD CLASS='Detail AVL' >
|
1265
|
+
E1501 </TD>
|
1266
|
+
<TD CLASS='Detail' align="center">
|
1267
|
+
14:22:27</TD>
|
1268
|
+
<TD CLASS='Detail' align="center">
|
1269
|
+
14:24:20</TD>
|
1270
|
+
<TD CLASS='Detail' align="center">
|
1271
|
+
14:28:19</TD>
|
1272
|
+
<TD CLASS='Detail' align="center">
|
1273
|
+
00:00:00</TD>
|
1274
|
+
<TD CLASS='Detail' align="center">
|
1275
|
+
00:00:00</TD>
|
1276
|
+
<TD CLASS='Detail' align="center">
|
1277
|
+
15:09:11</TD>
|
1278
|
+
</TR>
|
1279
|
+
<TR >
|
1280
|
+
<TD CLASS='Detail AVL' >
|
1281
|
+
C1515 </TD>
|
1282
|
+
<TD CLASS='Detail' align="center">
|
1283
|
+
14:23:49</TD>
|
1284
|
+
<TD CLASS='Detail' align="center">
|
1285
|
+
00:00:00</TD>
|
1286
|
+
<TD CLASS='Detail' align="center">
|
1287
|
+
14:23:55</TD>
|
1288
|
+
<TD CLASS='Detail' align="center">
|
1289
|
+
00:00:00</TD>
|
1290
|
+
<TD CLASS='Detail' align="center">
|
1291
|
+
00:00:00</TD>
|
1292
|
+
<TD CLASS='Detail' align="center">
|
1293
|
+
15:09:23</TD>
|
1294
|
+
</TR>
|
1295
|
+
<TR >
|
1296
|
+
<TD CLASS='Detail AVL' >
|
1297
|
+
C1716 </TD>
|
1298
|
+
<TD CLASS='Detail' align="center">
|
1299
|
+
14:24:44</TD>
|
1300
|
+
<TD CLASS='Detail' align="center">
|
1301
|
+
14:24:48</TD>
|
1302
|
+
<TD CLASS='Detail' align="center">
|
1303
|
+
14:32:09</TD>
|
1304
|
+
<TD CLASS='Detail' align="center">
|
1305
|
+
00:00:00</TD>
|
1306
|
+
<TD CLASS='Detail' align="center">
|
1307
|
+
00:00:00</TD>
|
1308
|
+
<TD CLASS='Detail' align="center">
|
1309
|
+
15:20:47</TD>
|
1310
|
+
</TR>
|
1311
|
+
</table></td></tr><tr><td colspan="4"><hr color=navy></td></tr><tr><table cellpadding="1" cellspacing="0" width="100%"><tr><th class="Detail" align="left" width=$cw>Notes</th><td class="Detail" colspan=3"><table cellpadding="1" cellspacing="0" width="100%"><TR >
|
1312
|
+
<td class="Notes" valign="top" align="left">00:00:00 </td><TD CLASS='Notes' >
|
1313
|
+
<pre>UNIT TYPE DISPATCH RESPOND ON-SCENE TRANSPORT AT HOSP. AVAILABLE</pre></TD>
|
1314
|
+
</TR>
|
1315
|
+
<TR >
|
1316
|
+
<td class="Notes" valign="top" align="left">00:00:00 </td><TD CLASS='Notes' >
|
1317
|
+
<pre>------- ---- -------- -------- -------- --------- -------- --------</pre></TD>
|
1318
|
+
</TR>
|
1319
|
+
<TR >
|
1320
|
+
<td class="Notes" valign="top" align="left">00:00:00 </td><TD CLASS='Notes' >
|
1321
|
+
<pre>E1901 E 14:16:52 14:20:30 14:27:09 15:20:06</pre></TD>
|
1322
|
+
</TR>
|
1323
|
+
<TR >
|
1324
|
+
<td class="Notes" valign="top" align="left">00:00:00 </td><TD CLASS='Notes' >
|
1325
|
+
<pre>E1701 E 14:16:52 14:23:17 14:30:36 15:17:49</pre></TD>
|
1326
|
+
</TR>
|
1327
|
+
<TR >
|
1328
|
+
<td class="Notes" valign="top" align="left">00:00:00 </td><TD CLASS='Notes' >
|
1329
|
+
<pre>T1705 T 14:16:52 14:26:14 14:33:29</pre></TD>
|
1330
|
+
</TR>
|
1331
|
+
<TR >
|
1332
|
+
<td class="Notes" valign="top" align="left">00:00:00 </td><TD CLASS='Notes' >
|
1333
|
+
<pre>T1702 T 14:16:52 14:33:37</pre></TD>
|
1334
|
+
</TR>
|
1335
|
+
<TR >
|
1336
|
+
<td class="Notes" valign="top" align="left">00:00:00 </td><TD CLASS='Notes' >
|
1337
|
+
<pre>S1704 S 14:16:52 14:25:25 14:33:08</pre></TD>
|
1338
|
+
</TR>
|
1339
|
+
<TR >
|
1340
|
+
<td class="Notes" valign="top" align="left">00:00:00 </td><TD CLASS='Notes' >
|
1341
|
+
<pre>M241 M 14:16:52 14:20:16 14:27:51 14:32:56</pre></TD>
|
1342
|
+
</TR>
|
1343
|
+
<TR >
|
1344
|
+
<td class="Notes" valign="top" align="left">00:00:00 </td><TD CLASS='Notes' >
|
1345
|
+
<pre>E1501 E 14:22:27 14:24:20 14:28:19 15:09:11</pre></TD>
|
1346
|
+
</TR>
|
1347
|
+
<TR >
|
1348
|
+
<td class="Notes" valign="top" align="left">00:00:00 </td><TD CLASS='Notes' >
|
1349
|
+
<pre>C1515 C 14:23:49 14:23:55 15:09:23</pre></TD>
|
1350
|
+
</TR>
|
1351
|
+
<TR >
|
1352
|
+
<td class="Notes" valign="top" align="left">00:00:00 </td><TD CLASS='Notes' >
|
1353
|
+
<pre>C1716 C 14:24:44 14:24:48 14:32:09 15:20:47</pre></TD>
|
1354
|
+
</TR>
|
1355
|
+
<TR >
|
1356
|
+
<td class="Notes" valign="top" align="left">14:15:05 </td><TD CLASS='Notes' >
|
1357
|
+
Complainant: JEROME, Phone: 5734410736</TD>
|
1358
|
+
</TR>
|
1359
|
+
<TR >
|
1360
|
+
<td class="Notes" valign="top" align="left">14:15:05 </td><TD CLASS='Notes' >
|
1361
|
+
Response area: 19-17B</TD>
|
1362
|
+
</TR>
|
1363
|
+
<TR >
|
1364
|
+
<td class="Notes" valign="top" align="left">14:15:06 </td><TD CLASS='Notes' >
|
1365
|
+
*CITY: BC-BOONE COUNTY </TD>
|
1366
|
+
</TR>
|
1367
|
+
<TR >
|
1368
|
+
<td class="Notes" valign="top" align="left">14:15:59 </td><TD CLASS='Notes' >
|
1369
|
+
ProQAF Determinant Code: 69D6</TD>
|
1370
|
+
</TR>
|
1371
|
+
<TR >
|
1372
|
+
<td class="Notes" valign="top" align="left">14:15:59 </td><TD CLASS='Notes' >
|
1373
|
+
ProQAF Structure Fire. Residential</TD>
|
1374
|
+
</TR>
|
1375
|
+
<TR >
|
1376
|
+
<td class="Notes" valign="top" align="left">14:15:59 </td><TD CLASS='Notes' >
|
1377
|
+
ProQAF (single).Caller Statement: FIRE.</TD>
|
1378
|
+
</TR>
|
1379
|
+
<TR >
|
1380
|
+
<td class="Notes" valign="top" align="left">14:15:59 </td><TD CLASS='Notes' >
|
1381
|
+
Complainant name changed to JEROME in ProQAF</TD>
|
1382
|
+
</TR>
|
1383
|
+
<TR >
|
1384
|
+
<td class="Notes" valign="top" align="left">14:15:59 </td><TD CLASS='Notes' >
|
1385
|
+
ProQAF Number: 0010003115</TD>
|
1386
|
+
</TR>
|
1387
|
+
<TR >
|
1388
|
+
<td class="Notes" valign="top" align="left">14:16:50 </td><TD CLASS='Notes' >
|
1389
|
+
ProQAF (single).Caller Statement: FIRE. 6.No one</TD>
|
1390
|
+
</TR>
|
1391
|
+
<TR >
|
1392
|
+
<td class="Notes" valign="top" align="left">14:16:50 </td><TD CLASS='Notes' >
|
1393
|
+
ProQAF is trapped inside the structure.</TD>
|
1394
|
+
</TR>
|
1395
|
+
<TR >
|
1396
|
+
<td class="Notes" valign="top" align="left">14:16:51 </td><TD CLASS='Notes' >
|
1397
|
+
*NOTIFY CFD, CF2-WITT, CF3-MARTIN OF (00000174-160)</TD>
|
1398
|
+
</TR>
|
1399
|
+
<TR >
|
1400
|
+
<td class="Notes" valign="top" align="left">14:16:51 </td><TD CLASS='Notes' >
|
1401
|
+
*WORKING STRUCTURE FIRES (00000174-160)</TD>
|
1402
|
+
</TR>
|
1403
|
+
<TR >
|
1404
|
+
<td class="Notes" valign="top" align="left">14:16:52 </td><TD CLASS='Notes' >
|
1405
|
+
Fire service incident 201023687 (00000174-160)</TD>
|
1406
|
+
</TR>
|
1407
|
+
<TR >
|
1408
|
+
<td class="Notes" valign="top" align="left">14:17:04 </td><TD CLASS='Notes' >
|
1409
|
+
TAC CHANNEL BF1 ASSIGNED (00000174-160)</TD>
|
1410
|
+
</TR>
|
1411
|
+
<TR >
|
1412
|
+
<td class="Notes" valign="top" align="left">14:20:12 </td><TD CLASS='Notes' >
|
1413
|
+
OUT BUILDING ONFIRE (00000174-160)</TD>
|
1414
|
+
</TR>
|
1415
|
+
<TR >
|
1416
|
+
<td class="Notes" valign="top" align="left">14:20:16 </td><TD CLASS='Notes' >
|
1417
|
+
Unit M241 Pressed Enroute</TD>
|
1418
|
+
</TR>
|
1419
|
+
<TR >
|
1420
|
+
<td class="Notes" valign="top" align="left">14:21:02 </td><TD CLASS='Notes' >
|
1421
|
+
!***Nature changed via ProQAF From: </TD>
|
1422
|
+
</TR>
|
1423
|
+
<TR >
|
1424
|
+
<td class="Notes" valign="top" align="left">14:21:02 </td><TD CLASS='Notes' >
|
1425
|
+
!69D6-RES STR FIRE</TD>
|
1426
|
+
</TR>
|
1427
|
+
<TR >
|
1428
|
+
<td class="Notes" valign="top" align="left">14:21:02 </td><TD CLASS='Notes' >
|
1429
|
+
RCF ProQAF Determinant Code: 69D9</TD>
|
1430
|
+
</TR>
|
1431
|
+
<TR >
|
1432
|
+
<td class="Notes" valign="top" align="left">14:21:02 </td><TD CLASS='Notes' >
|
1433
|
+
RCF ProQAF Structure Fire. Small NON-DWELLING</TD>
|
1434
|
+
</TR>
|
1435
|
+
<TR >
|
1436
|
+
<td class="Notes" valign="top" align="left">14:21:02 </td><TD CLASS='Notes' >
|
1437
|
+
RCF ProQAF building/structure (shed, detached</TD>
|
1438
|
+
</TR>
|
1439
|
+
<TR >
|
1440
|
+
<td class="Notes" valign="top" align="left">14:21:02 </td><TD CLASS='Notes' >
|
1441
|
+
RCF ProQAF garage).Caller Statement: FIR. 6.No</TD>
|
1442
|
+
</TR>
|
1443
|
+
<TR >
|
1444
|
+
<td class="Notes" valign="top" align="left">14:21:02 </td><TD CLASS='Notes' >
|
1445
|
+
RCF ProQAF one is trapped inside the structure.</TD>
|
1446
|
+
</TR>
|
1447
|
+
<TR >
|
1448
|
+
<td class="Notes" valign="top" align="left">14:23:28 </td><TD CLASS='Notes' >
|
1449
|
+
T1705 TIMER SET TO 5 MINUTE(S) (00000174-160)</TD>
|
1450
|
+
</TR>
|
1451
|
+
<TR >
|
1452
|
+
<td class="Notes" valign="top" align="left">14:23:28 </td><TD CLASS='Notes' >
|
1453
|
+
T1702 TIMER SET TO 5 MINUTE(S) (00000174-160)</TD>
|
1454
|
+
</TR>
|
1455
|
+
<TR >
|
1456
|
+
<td class="Notes" valign="top" align="left">14:23:29 </td><TD CLASS='Notes' >
|
1457
|
+
S1704 TIMER SET TO 5 MINUTE(S) (00000174-160)</TD>
|
1458
|
+
</TR>
|
1459
|
+
<TR >
|
1460
|
+
<td class="Notes" valign="top" align="left">14:23:55 </td><TD CLASS='Notes' >
|
1461
|
+
C1515 went in command 14:23:55 (00000174-160)</TD>
|
1462
|
+
</TR>
|
1463
|
+
<TR >
|
1464
|
+
<td class="Notes" valign="top" align="left">14:24:06 </td><TD CLASS='Notes' >
|
1465
|
+
ProQAF garage).Caller Statement: FIR. 6.No one</TD>
|
1466
|
+
</TR>
|
1467
|
+
<TR >
|
1468
|
+
<td class="Notes" valign="top" align="left">14:24:17 </td><TD CLASS='Notes' >
|
1469
|
+
*SMALL FIVE BY FIVE OUTSIDE BUILDING (00000174-160)</TD>
|
1470
|
+
</TR>
|
1471
|
+
<TR >
|
1472
|
+
<td class="Notes" valign="top" align="left">14:24:17 </td><TD CLASS='Notes' >
|
1473
|
+
*SMOKE SHOWING (00000174-160)</TD>
|
1474
|
+
</TR>
|
1475
|
+
<TR >
|
1476
|
+
<td class="Notes" valign="top" align="left">14:27:51 </td><TD CLASS='Notes' >
|
1477
|
+
Unit M241 Pressed On scene</TD>
|
1478
|
+
</TR>
|
1479
|
+
<TR >
|
1480
|
+
<td class="Notes" valign="top" align="left">14:28:04 </td><TD CLASS='Notes' >
|
1481
|
+
Tactical channel changed from BF1 to (00000174-160)</TD>
|
1482
|
+
</TR>
|
1483
|
+
<TR >
|
1484
|
+
<td class="Notes" valign="top" align="left">14:28:04 </td><TD CLASS='Notes' >
|
1485
|
+
GLD (00000174-160)</TD>
|
1486
|
+
</TR>
|
1487
|
+
<TR >
|
1488
|
+
<td class="Notes" valign="top" align="left">14:28:12 </td><TD CLASS='Notes' >
|
1489
|
+
ALL UNITS REPORT TO GOLD (00000174-160)</TD>
|
1490
|
+
</TR>
|
1491
|
+
<TR >
|
1492
|
+
<td class="Notes" valign="top" align="left">14:28:57 </td><TD CLASS='Notes' >
|
1493
|
+
T1702 TIMER SET TO 5 MINUTE(S) (00000174-160)</TD>
|
1494
|
+
</TR>
|
1495
|
+
<TR >
|
1496
|
+
<td class="Notes" valign="top" align="left">14:32:49 </td><TD CLASS='Notes' >
|
1497
|
+
Mark Inc Under Ctrl updated from: 12/19/10 (00000174-160)</TD>
|
1498
|
+
</TR>
|
1499
|
+
<TR >
|
1500
|
+
<td class="Notes" valign="top" align="left">14:32:50 </td><TD CLASS='Notes' >
|
1501
|
+
14:32:48 (00000174-160)</TD>
|
1502
|
+
</TR>
|
1503
|
+
<TR >
|
1504
|
+
<td class="Notes" valign="top" align="left">14:32:57 </td><TD CLASS='Notes' >
|
1505
|
+
Unit M241 Pressed Available</TD>
|
1506
|
+
</TR>
|
1507
|
+
<TR >
|
1508
|
+
<td class="Notes" valign="top" align="left">14:49:22 </td><TD CLASS='Notes' >
|
1509
|
+
C1515 TIMER SET TO 20 MINUTE(S) (00000174-160)</TD>
|
1510
|
+
</TR>
|
1511
|
+
<TR >
|
1512
|
+
<td class="Notes" valign="top" align="left">15:09:21 </td><TD CLASS='Notes' >
|
1513
|
+
C1515 W/ BCFPD RPRT (00000154-160)</TD>
|
1514
|
+
</TR>
|
1515
|
+
<TR >
|
1516
|
+
<td class="Notes" valign="top" align="left">15:20:15 </td><TD CLASS='Notes' >
|
1517
|
+
C1747 W/ SBCFPD RPRT (00000154-160)</TD>
|
1518
|
+
</TR>
|
1519
|
+
<TR >
|
1520
|
+
<td class="Notes" valign="top" align="left">15:20:49 </td><TD CLASS='Notes' >
|
1521
|
+
*Fire incident 201023687 closed (00000154-160)</TD>
|
1522
|
+
</TR>
|
1523
|
+
<TR >
|
1524
|
+
<td class="Notes" valign="top" align="left">15:20:49 </td><TD CLASS='Notes' >
|
1525
|
+
Report written for FDID 01004 201023687-00</TD>
|
1526
|
+
</TR>
|
1527
|
+
<TR >
|
1528
|
+
<td class="Notes" valign="top" align="left">15:20:49 </td><TD CLASS='Notes' >
|
1529
|
+
Report written for FDID 19011 201023687-00</TD>
|
1530
|
+
</TR>
|
1531
|
+
<TR >
|
1532
|
+
<td class="Notes" valign="top" align="left">15:20:49 </td><TD CLASS='Notes' >
|
1533
|
+
Report written for FDID 01001 201023687-00</TD>
|
1534
|
+
</TR>
|
1535
|
+
</table></td></tr></table></tr></table>
|
1536
|
+
</BODY>
|
1537
|
+
</HTML>
|
1538
|
+
<script language="javascript" src="JSFuncs.js"></script>
|
1539
|
+
}
|
1540
|
+
end
|