PCI Page Source Code updated 12-8-22.pdf

PDF 203 KB Posted

Attached to
Transportation Data and Asset Management Graphical User Interface (GUI) System
Solicitation number
RFI-03562
Issued by
Leon County, Florida

About this file

This document appears to be a government file related to a state and local contract opportunity for a Transportation Data and Asset Management Graphical User Interface (GUI) System issued by the State of Florida, Leon County, and the City of Tallahassee. The contract requires the development and implementation of a GUI-based system to manage transportation data and assets. The contract opportunity provides details on the project scope, including feature and characteristic lists, as well as technical requirements and integrations with existing systems. While the specific bid response date is not provided, the file indicates that there is a bidder's conference and site visits may be required. The contract term is not specified, but may include renewal options.

The file also includes information on pricing and funding requirements, though specific details are not provided. It is unclear if there are any set-aside requirements or incumbent vendors. The file suggests the project is being funded by the state and local jurisdictions involved, but the exact sources and amounts of funding are not disclosed.

View the file

Other files

On GovTribe

Work with this file

  • Download the original file
  • Contacts named in this file
  • Similar government files
  • Ask GovTribe AI about this file

Text version

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <meta name="GENERATOR" content="Microsoft FrontPage 12.0"> <meta name="ProgId" content="FrontPage.Editor.Document"> <meta name="Microsoft Border" content="none"> <title>RCI - Feature and Characteristics List</title> <style type="text/css"> body { font-family: arial, helvetica, verdana;

font-size: 10pt;

table { font-family: Arial, Helvetica, sans-serif;

font-size: 10pt;

input {font-family: arial, helvetica, verdana; font-size:10pt} </style> </head> <body >

<form name="Main" method="POST" action="redact.asp" style="margin-top: 0;

margin-bottom: 0">

<script language="javascript" type="text/javascript"> </script> <noscript> Your browser doesn't support JavaScript or you have disabled JavaScript. <br> Please enable scripts and reload this page.<br><br> </noscript>

<input type="hidden" name="PageChange" value=""> <input type="hidden" name="SubTab" value=""> <div align="center"> <table width="100%" cellspacing="0" border="0" cellpadding="0"> <tr> <td width="20%" rowspan="2" valign="top"> <b> <font size="2" color="#800000">Read Only Mode</font></b> <a href="#Content">

<img src="redact.gif" alt="Skip to Content" width="2" height="2" border="0"></a></td> <td align="center" valign="middle" width="60%" rowspan="2"> <font size="4"><b>Roadway Characteristics Inventory </b></font>

</td><a name = "Top"></a> <td align="right" width="20%" nowrap> <input type="button" value="Help" name="btnHelp" language="JavaScript" onClick="javascript:OpenOnlineHelp();"

title="Opens the Online Help for this webpage. Opens a new browser window."

style="font-family: arial, helvetica, verdana; font-size: 10pt" tabindex="99">&nbsp;

<input type="button" value=" Login " name="btnlogin" language="JavaScript" title="Logs user into RCI."

onClick="ButtonLogin()" style="font-family: arial, helvetica, verdana; font-size: 10pt">

</td> </tr> <tr> <td align="right" width="20%" nowrap><font size="2" color="#000000">

12/8/2022 &nbsp;

9:45AM EST</font></td>

</tr> </table> <!-- Top Level Navigational Tabs --> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <!-- "Main" Tab --> <td align="right" style="border-bottom-style: solid; border-bottom-width: 1" bordercolor="#808080"> <img border="0" src="redact.gif"></td> <td align="center" width="13%" bgcolor="CCCCCC" bordercolor="#808080" style="border-top-style: solid; border-top-width: 1;

border-bottom-style: solid;

border-bottom-width: 1" onmouseover="this.style.cursor='hand'" onclick="TransferToPage('../redact.asp', '')" title="Main"> Main</td> <td style="border-bottom-style: solid; border-bottom-width: 1" bordercolor="#808080"> <img border="0" src="..redact.gif"></td> <!-- Features and Characteristics Tab --> <td align="right" > <img border="0" src="..redact.gif"></td> <td align="center" width="13%" bordercolor="#999999" style="border-top-style: solid; border-top-width: 1" onmouseover="this.style.cursor='hand'" onclick="TransferToPage('..redact.asp', '')" title="Feature and Characteristic"> Feat/Char</td> <td > <img border="0" src="..redact.gif"></td> <!-- Roadway ID Tab --> <td align="right" style="border-bottom-style: solid; border-bottom-width: 1" bordercolor="#808080"> <img border="0" src="..redact.gif"></td> <td align="center" width="13%" bgcolor="#CCCCCC" bordercolor="#808080" style="border-top-style: solid; border-top-width: 1;

border-bottom-style: solid;

border-bottom-width: 1" onmouseover="this.style.cursor='hand'" onclick="TransferToPage('..redact.asp', '')" title="Roadway

ID">

Roadway&nbsp;ID</td> <td style="border-bottom-style: solid; border-bottom-width: 1" bordercolor="#808080"> <img border="0" src="..redact.gif"></td> <!-- Routes Tab --> <td align="right" style="border-bottom-style: solid; border-bottom-width: 1" bordercolor="#808080"> <img border="0" src="..redact.gif"></td>

<td align="center" width="13%" bgcolor="#CCCCCC" bordercolor="#808080" style="border-top-style: solid; border-top-width: 1;

border-bottom-style: solid;

border-bottom-width: 1" onmouseover="this.style.cursor='hand'" onclick="TransferToPage('..redact.asp', '')" title="Routes"> Routes</td> <td style="border-bottom-style: solid; border-bottom-width: 1" bordercolor="#808080"> <img border="0" src="..redact.gif"></td> <!-- Reports Tab --> <td align="right" style="border-bottom-style: solid; border-bottom-width: 1" bordercolor="#808080"> <img border="0" src="..redact.gif"></td> <td align="center" width="13%" bgcolor="#CCCCCC" bordercolor="#808080" style="border-top-style: solid; border-top-width: 1;

border-bottom-style: solid;

border-bottom-width: 1" onclick="TransferToPage('..redact.asp', '')" title="Reports"> Reports</td> <td style="border-bottom-style: solid; border-bottom-width: 1" bordercolor="#808080"> <img border="0" src="..redact.gif"></td> <!-- History Tab --> <td align="right" style="border-bottom-style: solid; border-bottom-width: 1" bordercolor="#808080"> <img border="0" src="..redact.gif"></td> <td align="center" width="13%" bgcolor="#CCCCCC" bordercolor="#808080" style="border-top-style: solid; border-top-width: 1;

border-bottom-style: solid;

border-bottom-width: 1" onmouseover="this.style.cursor='hand'" onclick="TransferToPage('..redact.asp', '')" title="History"> History</td> <td style="border-bottom-style: solid; border-bottom-width: 1" bordercolor="#808080"> <img border="0" src="..redact.gif"></td> <!-- Other. Tab --> <td align="right" style="border-bottom-style: solid; border-bottom-width: 1" bordercolor="#808080"> <img border="0" src="..redact.gif"></td> <td align="center" width="13%" bgcolor="#CCCCCC" bordercolor="#808080" style="border-top-style: solid; border-top-width: 1;

border-bottom-style: solid; border-bottom-width: 1" onmouseover="this.style.cursor='hand'" onclick="TransferToPage('..redact.asp', '')" title="Other"> Other</td> <td style="border-bottom-style: solid; border-bottom-width: 1" bordercolor="#808080"> <img border="0" src="..redact.gif"></td> </tr> </table> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td>&nbsp;

</table> <!-- Features/Characteristics Sub Tabs -->

<table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr>

<!-- FIND SUB-TAB -->

<td align="right" > <img border="0" src="..redact.gif"></td> <td align="center" width="10%" bordercolor="#CCCCCC" style="border-top-style:

solid; border-top-width: 1" onmouseover="this.style.cursor='hand'" onclick="TransferToPage('..redact.asp', 'Y')" title="Find">

Find</td> <td > <img border="0" src="..redact.gif"></td>

<!-- DETAIL SUB-TAB - PRESENT FOR PAGES LINKED TO FROM F/C DETAIL LIST PAGE -->

<!-- FEATURE TYPE LIST SUB-TAB -->

<td align="right" style="border-bottom-style: solid; border-bottom-width: 1" bordercolor="#CCCCCC"> <img border="0" src="..redact.jpg"></td> <td align="center" width="26%" bgcolor="E4E4E4" bordercolor="#CCCCCC" style="border-top-style: solid; border-top-width: 1; border-bottom-style:

solid; border-bottom-width: 1" onclick="TransferToPage('..redact.asp', 'Y')" title="Feature Type List">

Feature&nbsp;Type&nbsp;List</td> <td style="border-bottom-style: solid; border-bottom-width: 1" bordercolor="#CCCCCC"> <img border="0" src="..redact.jpg"></td>

<!-- ADD CHARACTERISTICS SUB-TAB -->

<td align="right" style="border-bottom-style: solid; border-bottom-width: 1" bordercolor="#CCCCCC"> <img border="0" src="..redact.jpg"></td> <td align="center" width="26%" bgcolor="E4E4E4" bordercolor="#CCCCCC" onclick="TransferToPage('..redact.asp', 'Y')" title="Add Characteristics">

Add&nbsp;Characteristics</td> <td style="border-bottom-style: solid; border-bottom-width: 1" bordercolor="#CCCCCC"> <img border="0" src="..redact.jpg"></td>

<!-- DELETE CHARACTERISTICS SUB-TAB -->

<td align="right" style="border-bottom-style: solid; border-bottom-width: 1" bordercolor="#CCCCCC"> <img border="0" src="..redact.jpg"></td> <td align="center" width="33%" bgcolor="E4E4E4" bordercolor="#CCCCCC" onclick="TransferToPage('..redact.asp', 'Y')" title="Mass Delete Features">

Mass&nbsp;Delete&nbsp;Features</td> <td style="border-bottom-style: solid; border-bottom-width: 1" bordercolor="#CCCCCC"> <img border="0" src="..redact.jpg"></td> </tr> </table> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td>&nbsp;</td> </tr> </table>

<!-- Roadway ID Sub Tabs -->

<!-- Reports SubTabs -->

<!-- Other Sub Tabs --> <!-- if strTab2 = "Other" -->

<script language="JavaScript"> var OnlineHelpWindow = null function OpenOnlineHelp(){ if (!OnlineHelpWindow || OnlineHelpWindow.closed){ if ('redact.asp' == "redact.asp") { var myform = window.document.forms[0] var thisform = window.document.forms[0] thisform.target = "_self" thisform.submit() myform.target = "_NewBrowse" myform.action = "redact.asp" myform.submit() }else { OnlineHelpWindow = window.open('redact.asp', 'OnlineHelpWindow');

}else { OnlineHelpWindow.focus()

// THE FOLLOWING FUNCTION IS CALLED WITH AN ONCLICK EVENT ON EACH OF THE ABOVE

NAVIGATIONAL TABS

// AND SUB-TABS. THE FUNCTION SETS THE strPageChange TO 'Y'.

function TransferToPage(destination, subTab){ document.forms[0].PageChange.value = "Y";

document.forms[0].SubTab.value = subTab;

document.forms[0].action = destination;

document.forms[0].target = "" document.forms[0].submit();

function ButtonLogin(){ document.forms[0].action = "..redact.asp";

if (document.forms[0].UserId) { document.forms[0].UserId.value = "LOGIN";

else{ document.forms[0].UserID.value = "LOGIN";

document.forms[0].target = '';

document.forms[0].submit();

</script>

<input type="hidden" name="UserId" value="redact"> <input type="hidden" name="RCIKeyInfo" value="redact"> <input type="hidden" name="PageAction" value="List">

<!-- 03/10/2004 ADDED FOR TRANSFER TO DETAIL LIST PAGE -->

<input type="hidden" name="PreviousPageAction" value=""> <input type="hidden" name="RoadwayID" value="70001000"> <input type="hidden" name="FeatureTypeCode" value="114"> <input type="hidden" name="FeatureSequenceNumber" value=""> <input type="hidden" name="CharacteristicIdentifier" value=""> <!--Video Log Hyperlink form variables --> <input type="hidden" name="roadID" value="70001000"> <input type="hidden" name="mileStart" value=""> <!--Scroll Keys for this page --> <input type="hidden" name="NextScrollKeyCharacteristicIdentifier" value=""> <input type="hidden" name="NextScrollKeyCharacteristicTypeCode" value=""> <input type="hidden" name="NextScrollKeyDataEntryOrderNumber" value=""> <input type="hidden" name="NextScrollKeyOffsetDirectionCode" value=""> <input type="hidden" name="NextScrollKeyOffsetDistance" value=""> <input type="hidden" name="NextScrollKeyFeatureSequenceNumber" value=""> <input type="hidden" name="NextScrollKeyBegMP" value=""> <input type="hidden" name="NextScrollKeyEndMP" value=""> <input type="hidden" name="NextScrollKeySideCode" value=""> <input type="hidden" name="PrevScrollKeyCharacteristicIdentifier" value="redact"> <input type="hidden" name="PrevScrollKeyCharacteristicTypeCode" value="LOCALNAM"> <input type="hidden" name="PrevScrollKeyDataEntryOrderNumber" value="2"> <input type="hidden" name="PrevScrollKeyOffsetDirectionCode" value=""> <input type="hidden" name="PreviousScrollKeyOffsetDistance" value="0"> <input type="hidden" name="PrevScrollKeyFeatureSequenceNumber" value="3"> <input type="hidden" name="PrevScrollKeyBegMP" value="0"> <input type="hidden" name="PrevScrollKeyEndMP" value="4.406"> <input type="hidden" name="PrevScrollKeySideCode" value="C"> <input type="hidden" name="BeginningMilePoint" value=""> <input type="hidden" name="EndingMilePoint" value="">

<!-- ## redact, 08/08/05, CO-035255 - Hidden Fields for Enterprise GIS --> <input type=hidden name="gis_zoomToId" > <input type=hidden name="gis_zoomToColumn" > <input type=hidden name="gis_zoomToValue" > <input type=hidden name="gis_zoomTo" > <input type=hidden name="gis_visible" > <input type=hidden name="mp" > <!-- ## redact, 07/07/2006 - CO2-24212 - New Hidden field for GIS Categories--> <input type=hidden name="gis_categories" >

<div align="center"> <table border="0" cellspacing="0" width="100%" cellpadding="1"> <tr> <td align="center" colspan="8"><b><font size="3">Feature and Characteristics List</font></b></td> </tr> <tr> <td colspan="8" align="center">&nbsp;</td> </tr> <tr> <td bgcolor="#CCCCCC" valign="middle"><b>Roadway ID:</b><br>

<a href="JavaScript:GotoRoadwayID(&quot;70001000&quot;)" tabindex="1" title="This Roadway ID link will go to Roadway Detail Page.">

70001000</a></td> <td bgcolor="#CCCCCC" valign="top"><b>Man-Dist:</b><br>05</td> <td bgcolor="#CCCCCC" valign="top"><b>Geo-Dist:</b><br>05</td> <td bgcolor="#CCCCCC" valign="top"><b>County:</b><br>BREVARD</td> <td bgcolor="#CCCCCC" valign="top"><b>Beg. MP:</b><br>0.000</td> <td bgcolor="#CCCCCC" valign="top"><b>End. MP:</b><br>10.093</td> <td bgcolor="#CCCCCC" valign="top"><b>Net Length:</b><br>10.093</td> <td bgcolor="#CCCCCC" valign="top"><b>Overall Status:</b><br>ACTIVE WITH COMBINATION</td> </tr> <tr> <td bgcolor="#CCCCCC" valign="top" colspan="6"><b>Description:</b>&nbsp;SR 405 & CR-405 COLUMBIA BOULEVARD</td>

<!-- ## redact, 08/08/2005 - CO-035255 - Modified COLSPAN from "2" to "1" --> <td bgcolor="#CCCCCC" valign="top" colspan="1">

<a href="JavaScript:GotoVideoLog(&quot;0.000&quot;,&quot;redact.asp&quot;)" title="This hyperlink will start the VideoLog application. Opens a new browser window.">VideoLog</a></td>

<!-- ## redact, 08/08/2005 - CO-035255 - Added code for Enterprise GIS Hyperlink --> <!-- ## redact, 07/07/2006 - CO2-24212 - Pass GIS Categories to the JS Function--> <!-- redact 03/04/2021 - SDT 574646 - revamped call to the new version of GoToEnterpriseGIS --> <td bgcolor="#CCCCCC" valign="top" colspan="1"> <a href="JavaScript:GotoEnterpriseGIS(&quot;70001000&quot;)" title="This hyperlink will start the Enterprise GIS Application in a new browser window and highlight the Roadway and Features."

>Enterprise GIS</a></td>

</tr> <tr> <td colspan="8">&nbsp;</td> </tr>

<table border="1" cellpadding="1" width="100%" cellspacing="0" bordercolor="#CCCCCC">

<tr> <td colspan="5" bgcolor="#CCCCCC">

<font size="3"> <a href="javascript:Transfer('redact.asp','blank')" title="View the Feature Characteristic Codes Listing

Opens New Browser Window"> <b>Feature 114 - LOCAL SYSTEM</b>

</a> </font>

</td> <td colspan="4" bgcolor="#CCCCCC" align="right"><b> LENGTH/NON-INTERLOCKING</b></td> </tr> <tr>

<td align="center" valign="top"><b>Beg. MP</b></td> <td align="center" valign="top"><b>End. MP</b></td> <td align="center" valign="top"><b>Characteristic</b></td> <td align="center" valign="top"><b>Value</b></td> <td align="center" valign="top"><b>Unit</b></td> <td align="center" valign="top"><b>Side</b></td> <td align="center" valign="top"><b>Offset</b></td> <td align="center" valign="top"><b>Char. Updated</b></td>

</tr>

<tr>

<!-- FEATURE BEGINNING AND ENDING MILEPOINTS -->

<td align="right">0.000</td> <td align="right">4.406</td>

<!-- CHARACTERISTIC TYPE DESCRIPTION -->

<td><a href="JavaScript:GotoDetail(&quot;3&quot;, &quot;1105807&quot;, &quot;Display&quot;)" title="Select this Characteristic link will display in more details." tabindex="2"> LOCAL NAME OF FACILITY</a></td>

<!-- CHARACTERISTIC VALUE TEXT, NUMBER OR DATE -->

<td align="left">&nbsp;COLUMBIA BLVD</td>

<!-- VALUE UNIT OF MEASURE CODE -->

<td align="center">&nbsp;ID</td>

<!-- TRAVELWAY SIDE CODE -->

<td align="center">&nbsp;C</td> <!-- Offset CODE --> <td align="center">&nbsp;

</td>

<!-- CHARACTERISTIC LAST UPDATE USERID AND TIMESTAMP -->

<!-- 06/07/2005 redact CO2-021223 REPLACED CHARACTERISTIC LAST

UPDATE USERID AND TIMESTAMP DUE TO MODEL CHANGE -->

<td align="center">RCICNVRT&nbsp;12/17/1990</td> </tr>

<tr>

<!-- FEATURE BEGINNING AND ENDING MILEPOINTS -->

<td align="right">4.406</td> <td align="right">10.093</td>

<!-- CHARACTERISTIC TYPE DESCRIPTION -->

<td><a href="JavaScript:GotoDetail(&quot;4&quot;, &quot;2113413&quot;, &quot;Display&quot;)" title="Select this Characteristic link will display in more details." tabindex="3"> LOCAL NAME OF FACILITY</a></td>

<!-- CHARACTERISTIC VALUE TEXT, NUMBER OR DATE -->

<td align="left">&nbsp;COLUMBIA BLVD</td>

<!-- VALUE UNIT OF MEASURE CODE -->

<td align="center">&nbsp;ID</td>

<!-- TRAVELWAY SIDE CODE -->

<td align="center">&nbsp;C</td> <!-- Offset CODE --> <td align="center">&nbsp;

</td>

<!-- CHARACTERISTIC LAST UPDATE USERID AND TIMESTAMP -->

<!-- 06/07/2005 redact CO2-021223 REPLACED CHARACTERISTIC LAST

UPDATE USERID AND TIMESTAMP DUE TO MODEL CHANGE -->

<td align="center">redact&nbsp;11/10/2004</td> </tr>

</table>

<table border="0" cellpadding="1" width="100%" cellspacing="0">

<tr> <td colspan="3">&nbsp;</td> </tr>

<tr> <td width="33%" nowrap>&nbsp;<input type="button" value="Validate" name="btnValidate" tabindex="30" onclick="JavaScript:GotoValidateButtonResults(&quot;redact.asp&quot;)" title="This button will start the data consistency validation process. Open a new browser window."></td> <td width="33%" align="center"><input type="button" value="Show Details" name="btnDetails" title="This Show Details button will display all in more details."

tabindex="31" onclick="GotoDetail(&quot;3&quot;, &quot;1105807&quot;, &quot;List&quot;)" ></td> <td width="33%" align="right"><input type="submit" value="Previous" name="btnPrevious" disabled title="Previous List" tabindex="32" onclick="Main.PageAction.value = &quot;Prev&quot;"> <input type="submit" value="Next" name="btnNext" title="Next List" tabindex="33" disabled onclick="Main.PageAction.value = &quot;Next&quot;"></td>

</tr>

<tr> <td colspan="3">&nbsp;</td> </tr>

</table>

<script LANGUAGE="JavaScript">

// THE FOLLOWING FUNCTION RECEIVES A CHARACTERISTIC VALUE, PLACES IT IN THE

CHARACTERISTIC HIDDEN FIELD AND

// SETS THE URL TO THE FEATURE CHARACTERISTIC DETAIL LIST PAGE.

function GotoDetail(featSeqNum, charID, action){ var myform = window.document.forms[0];

var URL = "redact.asp" myform.PreviousPageAction.value = action myform.FeatureSequenceNumber.value = featSeqNum myform.CharacteristicIdentifier.value = charID document.Main.action = URL;

myform.submit();

// THE FOLLOWING FUNCTION RECEIVES A ROADWAY ID VALUE, PLACES IT IN THE ROADWAY ID

HIDDEN FIELD AND

// SETS THE URL TO THE ROADWAY DETAIL PAGE.

function GotoRoadwayID(roadwayID){ var myform = window.document.forms[0];

var URL = "..redact.asp" myform.PageAction.value = "Display" myform.RoadwayID.value = roadwayID document.Main.action = URL;

myform.submit();

// This file contains a Java script function.

// GotoValidateButtonResults() - SETS THE URL TO THE 'Validate Feature and // Characteristic Data' PAGE ADDRESS AND

SUBMITS TO OPEN

// A NEW BROWSER WINDOW TO TRANSFER TO THIS

PAGE.

// Change Log:

// Date Person Action // 02/10/2004 redact Create script

// Input: address of calling page.

// Process: Function to open validate Feature and Characteristic Data page in new window.

function GotoValidateButtonResults(page){ var myform = window.document.forms[0];

var URL = "redact.asp" window.document.Main.target = "_blank" window.document.Main.action = URL;

myform.submit();

window.document.Main.target = "_self" window.document.Main.action = page // This file contains a Java script function.

// GotoVideoLog() - THE FOLLOWING FUNCTION RECEIVES THE FIRST TW FEAT. BEG MP, PLACES IT IN THE FORM FIELD "mileStart", // SETS THE URL TO THE VIDEOLOG ADDRESS AND SUBMITS TO OPEN A

NEW BROWSER WINDOW TO TRANSFER TO THE

// VIDEOLOG APPLICATION.

// Change Log:

// Date Person Action // 01/13/2004 redact Create script

// Input: beginning mile point of first feature location record.

// Process: Function to open video log in a new browser window and pass parameters.

function GotoVideoLog(begMP,page){ var myform = window.document.forms[0];

var URL = "redact/videolog/" myform.mileStart.value = begMP window.document.Main.target = "_blank" //window.open(URL) window.document.Main.action = URL;

myform.submit();

window.document.Main.target = "_self" window.document.Main.action = page

// THIS FILE CONTAINS JAVASCRIPT FUNCTIONS

// THE FOLLOWING NUMBER EDITand HANDLING FUNCTIONS and their PURPOSE ARE:

// IsInteger() - Function to see if a suspected numeric input is a positive or // negative integer

// CHANGE LOG

// Date Person Action

// Input: String to validate // Process: Function to see if a suspected numeric input is a positive or negative integer // Output : Returns True if input string is an integer

// False if not a valid integer function IsInteger(inputVal) { var inputStr, oneChar

// convert input to a string and remove leading and trailing spaces inputStr = inputVal.toString() inputStr = TrimString(inputStr)

// check each character, allow minus sign in first position for (var i = 0; i < inputStr.length; i++) { oneChar = inputStr.charAt(i) if (i == 0 && oneChar == "-") { continue if (oneChar < "0" || oneChar > "9") { return false return true

}// THESE ARE JAVASCRIPT FUNCTIONS

// THE FOLLOWING FUNCTIONS and PURPOSE ARE:

// IsEmpty() - Function to see if an input value has been entered at all // Change Log

// Date Person Action

// Input: String to check // Process: Function to see if an input value has been entered at all

// Output: True if input is empty, false if string contains something function IsEmpty(inputStr) if ( inputStr == null || inputStr == "" ) { return true if ( TrimString(inputStr).length == 0 ) { return true return false

// THIS FILE CONTAINS JAVASCRIPT FUNCTIONS

// THE FOLLOWING NUMBER EDITand HANDLING FUNCTIONS and their PURPOSE ARE:

// IsNumber() - Function to see if a suspected numeric input is a

// positive or negative number (no dollar sign or commas allowed)

// CHANGE LOG

// Date Person Action

// Input: String to validate // Number of decimal places to allow

// Process: Function to see if a suspected numeric input is a

// positive or negative number (no dollar sign or commas allowed) // Output : Returns True if input string is a valid number

// False if not a valid number function IsNumber(inputVal, maxdecplaces) { var oneDecimal = false var deccount = 0 var inputStr, oneChar

// convert input to a string and remove leading and trailing spaces inputStr = inputVal.toString() inputStr = TrimString(inputStr)

// check each character, allow minus sign in first character // and at most one decimal point for (var i = 0; i < inputStr.length; i++) { oneChar = inputStr.charAt(i) // minus sign at first position is okay if (i == 0 && oneChar == "-") { continue // more than one decimal point is an error if (oneChar == "." && !oneDecimal) { oneDecimal = true continue // numeric check if (oneChar < "0" || oneChar > "9") { return false // if we already got a decimal point, count how many character // we got after it if ( oneDecimal ) { deccount = deccount + 1 if ( deccount > maxdecplaces ) { return false return true

// THIS FILE CONTAINS JAVASCRIPT FUNCTIONS

// THE FOLLOWING NUMBER EDITand HANDLING FUNCTIONS and their PURPOSE ARE:

// IsValidNumber()- Function to see if a suspected numeric input is a

// valid number meeting the criteria specified.

// CHANGE LOG

// Date Person Action // 02/21/2001 redact added IsValidNumber

// 04/15/2002 redact added remove comma routine to IsValidNumber function.

// added check to make sure first item in number isn't comma

// 09/10/2003 redact fixed decimal position test

// Input: String to validate, signed, Number of decimal places to allow // Low end number, high end number

// Process: Function to see if a suspected numeric input is a // valid number meeting the above criteria

// Output : Returns True if input string is a valid number // False if not a valid number function IsValidNumber(InputNumber, Signed, DecimalPlaces, LowRange, HighRange) if (InputNumber.charAt(0) == ","){ return false var re = /,/g InputNumber = InputNumber.replace(re,"") var ValidatedNumber = "";

var InputNumberCharacter = "";

var DecimalFound = false;

var DecimalPosition = -1;

var CommaFound = false;

var CommaPosition = -1;

var LastPosition = 0;

var NumberCheck = true;

var ValidNumericCharacters = "0123456789";

LastPosition = InputNumber.length -1;

CommaPosition = InputNumber.length if (IsEmpty(InputNumber)) return(false);

else for (LoopCounter1 = LastPosition; LoopCounter1 > -1;

LoopCounter1--)

// alert(" LoopCounter1 = [" + LoopCounter1 + "]");

NumberCheck = true;

InputNumberCharacter = InputNumber.charAt(LoopCounter1);

// alert("InputNumberCharacter = [" + InputNumberCharacter +

// alert("DecimalPlaces = [" + DecimalPlaces + "]");

if (DecimalPlaces == 0) if (InputNumberCharacter == ".") return(false);

else if (InputNumberCharacter == ".")

// alert("LoopCounter1 = [" + LoopCounter1 + "], DecimalPosition = [" + DecimalPosition + "]");

if (CommaFound) return(false);

// alert("DecimalFound= [" + DecimalFound+ if (DecimalFound) return(false);

// alert("(LastPosition - LoopCounter1) = " + (LastPosition - LoopCounter1) + ", DecimalPlaces = " + DecimalPlaces);

if ((LastPosition - LoopCounter1) > DecimalPlaces)

// 09/10/03 THIS WAS THE CODE REPLACED: if (LoopCounter1 < DecimalPosition) return(false);

DecimalPosition = LoopCounter1;

CommaPosition = DecimalPosition;

DecimalFound = true;

NumberCheck = false;

if (InputNumberCharacter == ",") if (LoopCounter1 != CommaPosition - 4) return(false);

CommaFound = true;

CommaPosition = LoopCounter1;

NumberCheck = false;

if (Signed) if (LoopCounter1 == 0) if (InputNumberCharacter == "-")

NumberCheck = false;

if (InputNumberCharacter == "+") NumberCheck = false;

if (NumberCheck) for (LoopCounter2 = 0; LoopCounter2 < ValidNumericCharacters.length; LoopCounter2++) if (InputNumberCharacter == ValidNumericCharacters.charAt(LoopCounter2)) break;

if (LoopCounter2 == ValidNumericCharacters.length) return(false);

if (InputNumberCharacter != ",") ValidatedNumber = InputNumberCharacter + ValidatedNumber;

// alert("ValidatedNumber = [" + ValidatedNumber + var ValidatedValue = parseFloat(ValidatedNumber);

// alert("ValidatedValue = [" + ValidatedValue + "]");

// alert("LowRange = [" + LowRange + "]");

// alert("HighRange = [" + HighRange + "]");

if (ValidatedValue < LowRange) return(false);

if (ValidatedValue > HighRange) return(false);

return(true);

}// THESE ARE JAVASCRIPT FUNCTIONS

// THE FOLLOWING FUNCTIONS and PURPOSE ARE:

// TrimString() - Function to remove leading and trailing spaces from any string // Change Log

// Date Person Action

// Input: String to check // Process: Function to remove leading and trailing spaces from any string

// Output: returns trimmed string function TrimString(inputStr) { var outStr = "" var startix = 0 var endix = 0

// if empty, null or zero length, return empty string if (inputStr == null || inputStr == "" || inputStr.length == 0) { return outStr

// loop until first non-blank character found for (startix = 0; startix < inputStr.length; startix++) { if ( inputStr.charAt(startix) != " " ) { break // if we went past end of string, return empty string if (startix == inputStr.length) { return outStr

// loop backwards until non blank character for (endix = inputStr.length - 1; endix > -1; endix--) { if ( inputStr.charAt(endix) != " " ) { break // get and return the trimmed sub string outStr = inputStr.substring(startix, endix + 1) return outStr

// THIS FILE CONTAINS JAVASCRIPT FUNCTIONS

// THE FOLLOWING FUNCTION AND ITS PURPOSE:

// IsValidRouteID()- Function to see if an input string is a

// valid Route ID meeting the criteria specified.

// CHANGE LOG

// Date Person Action // 08/18/2003 redact added IsValidRouteID

// 09/09/2003 redact added "A1A" as possible Route "Number".

// Input: Route ID String to validate

// Process: Function to see if a Route ID input contains the // valid characters/numbers in its 8 bytes

// Valid Route IDs consist of a 2 - 8 byte string, consisting of 4 sections:

// Route Type is mandatory, valid values "CR", "SR", "OS" or "I" // Route Prefix is optional, valid values "A" or "B" // Route Number is mandatory, valid values 1 - 9999 OR "A1A" // Route Suffix is optional, valid values "A" - "Z"

// Output : Returns parsed Route ID if input is a valid Route ID // Returns an error message if not a valid Route ID function IsValidRouteID(inputStr) var newRouteID = "" var tempStr = "" var tempStr2 = "" var i var offset var endOfNum var digitCount var prefix var routeNum = "" prefix = "";

// check for empty, null or zero length if( inputStr == null || inputStr == "" || inputStr.length == 0 ) { return "ERROR - Please enter a Route ID.";

} else {

// remove any spaces, dashes or hyphens for( i = 0; i < inputStr.length; ++i ){ if( inputStr.charAt(i) != "-" && inputStr.charAt(i) != " " && inputStr.charAt(i) != "/" ){ tempStr = tempStr + inputStr.charAt(i);

if( tempStr.length > 8 ){ return "ERROR - The Route ID, cannot be more than 8 characters (excluding spaces, dashes and hyphens).";

// convert tempStr to upperCase tempStr = tempStr.toUpperCase();

if( tempStr == "A1A" ){ newRouteID = "CR" + tempStr;

} else { // check Route Type for valid Route Type code tempStr2 = tempStr.substring(0,2);

if( tempStr2 != "US" && tempStr2 != "CR" && tempStr2 != "SR" && tempStr2 != "OS" && tempStr2.charAt(0) != "I" ){ return "ERROR - Route Type '" + tempStr2 + "' is invalid.";

} else { if( tempStr2.charAt(0) == "I" ){ newRouteID = tempStr2.charAt(0);

offset = 1;

} else { newRouteID = tempStr2 offset = 2;

// see if Route Prefix exists and is valid - if not numeric, check for "A" or "B" tempStr2 = tempStr.substring(offset,(offset+1));

if( tempStr2 < "0" || tempStr2 > "9" ){ if( tempStr2 == "A" || tempStr2 == "B" ){

// offset = offset + 1;

if(!(tempStr2 == "A" && (tempStr.substr(offset, 3) == "A1A"))){ offset = offset + 1;

newRouteID = newRouteID + tempStr2;

} else { return "ERROR - The Route Prefix '" + tempStr2 + "' is invalid.";

newRouteID = newRouteID;

// check Route "number" for A1A...

tempStr2 = tempStr.substr(offset, 3);

// alert("tempStr2 = " + tempStr2 + "\roffset = " + offset + "\rprefix = " + prefix);

if( tempStr2 != "A1A" ){

// check Route Number for numeric (must have at least 1 and no more than 4 numeric bytes) tempStr2 = tempStr.substring(offset, tempStr.length);

digitCount = 0;

for( i = 0; i < (tempStr.length-1); i++ ){ if( tempStr2.charAt(i) < "0" || tempStr2.charAt(i) > "9" ){ if(i == 0){ return "ERROR - Non-numeric Route Number.";

} else { break;

} else { if( !(tempStr2.charAt(i) < "0" && tempStr2.charAt(i) > "9") ){ routeNum = routeNum + tempStr2.charAt(i);

digitCount = digitCount + 1;

if( digitCount > 4 ){ return "ERROR - Route Number cannot be more than 4 digits.";

offset = offset + digitCount;

tempStr2 = routeNum;

} else { offset = offset + 3;

newRouteID = newRouteID + tempStr2;

tempStr2 = tempStr.substring(offset, (offset+digitCount));

// make sure string isn't too large if( offset < tempStr.length){ tempStr2 = tempStr.substring(offset, (tempStr.length));

if( tempStr2.length > 1 ){ return "ERROR - Route Suffix, '" + tempStr2 + "', can only be one character.";

// check Route Suffix (1 char) for "A" - "Z" value if( tempStr2.charCodeAt(0) < 65 || tempStr2.charCodeAt(0) > 90 ){ return "ERROR - '" + tempStr2 + "' is an invalid Route Suffix.";

} else { newRouteID = newRouteID + tempStr2;

return newRouteID;

// redact - 08/08/05 - CO-035255 - Added the following include statement // This file contains a Java script function.

// GotoEnterpriseGIS() - THE FOLLOWING FUNCTION RECEIVES THE Enterprise GIS Application variables, // SETS THE URL TO THE ENTERPRISE GIS ADDRESS AND SUBMITS TO OPEN A NEW BROWSER

WINDOW TO TRANSFER

// TO THE ENTERPRISE GIS APPLICATION. As of 11/3/05, the pages that use this function are: redact, // redact, redact, redact, redact // Change Log:

// Date Person Action // 08/05/2005 redact Created script as part of HDT # CO-035255 (RCI/GIS

Integration) // 11/03/05 redact CO-035255 - Changed the href to the new URL // 07/10/2006 redact CO2-024212 - Added additional input variable for showing Categories // 12/12/2019 redact Change GIS Framework URL to new server (From redact // to redact // 03/04/2021 redact Commented out the entire function, then inserted a single line with a new URL as provided // by the GIS group.

//function GotoEnterpriseGIS(id,column,value,to,visible,mp,categories){ function GotoEnterpriseGIS(roadwayID){ var fullUrl = "redact,Roadway," + roadwayID;

var zoomToColumn, zoomToValue, zoomValue, layersString, basemap, newLayerId;

//var test,test1;

zoomToColumn = column;

zoomToValue = value;

if(to === "0") { zoomValue = "false";

else { zoomValue = "true";

newLayerId = id;

layersString = visible;

basemap = "streets";

//test = "Layer ID: " + id + " Zoom to Column: " + column + " ZoomValue: " + zoomValue + " Value: " + value + " layersString: " + visible + " U-MP: " + mp + " U-categories: " + categories;

//window.prompt("Values: " , test);

//var gevBase = "redact";

//var gevBase = "redact";

var gevBase = "redact";

var command = "&zcu={\"valuedelimiter\":\",\",\"zoom\":" + zoomValue + ",\"mapservicename\":\"gev-dynamic\",\"layerid\":" + newLayerId + ",\"columnid\":\"" + zoomToColumn + "\",\"value\":\"" + zoomToValue.replace("\"", "") + "\",\"highlight\":true}";

var urlHash = "#{\"activeLayers\":{\"gev-dynamic\":[" + layersString + "],\"" + basemap + "\":[-1]}}";

var fullUrl = gevBase + command + urlHash;

test1 = command + urlHash;

//popUp(test,test1);

//window.prompt("URL Hash: " , test1);

//window.prompt("URL Hash: " , test1);

window.open(fullUrl, "_blank");

function popUp(test,test1) var LeftPosition = (screen.width - 500) / 2;

var TopPosition = (screen.height - 300) / 4;

var settings = "height=200,width= 600,top=" + TopPosition + ",left=" + LeftPosition + ",scrollbars=1,resizable=1";

var win = window.open("","Values",settings) var html = "<html><head></head><body><b>Values: </b>"+ test + "<br> <br><b>URL: </b>" + test1 html += "</body></html>"

//variable name of window must be included for all three of the following methods so that //javascript knows not to write the string to this window, but instead to the new window win.document.open() win.document.write(html) win.document.close()

//Function to access old GIS system

//function redact(ID,Column,Value,To,Visible,MP,Categories){

// var myform = window.document.forms[0];

// var URL = "redact"

// var URL = "redact" // var OrigPage = window.document.Main.action

// Set the variables to the values passed

// myform.gis_zoomToId.value = ID // myform.gis_zoomToColumn.value = Column // myform.gis_zoomToValue.value = Value // myform.gis_zoomTo.value = To // myform.gis_visible.value = Visible // myform.mp.value = MP

// myform.gis_categories.value = Categories

// Opens a new browser window.

// window.document.Main.target = "_blank" // window.document.Main.action = URL

// Submit the form // myform.submit();

// Resets the target variable so that a new browser is not opened for other user actions on the page

// window.document.Main.target = "_self"

// Reset the Action Variable so that the original page is displayed if submitted again.

// window.document.Main.action = OrigPage

</script>

<!-- 02/26/2004 redact ID 4 - Added hidden field for navigation to the F/C List. --> <input type="hidden" name="WhereToNext2" value=""> <input type="hidden" name="ShortCutFlag" value="">

<table border="0" cellspacing="0" width="100%" bgcolor="#CCCCCC"> <tr> <td colspan="7"><font size="1">Short Cut</font></td> </tr>

<td colspan="7"><input type="radio" value="Roadway" name="WhichOne" title="Select Roadway" alt="Roadway" checked checked > <b>Roadway&nbsp;</b><input type="radio" value="Route" name="WhichOne" title="Select Route" alt="Route" tabindex="35"><b>Route</b></td> </tr> <tr> <td align="center"><b>*ID:</b></td> <td align="center"><b>*Feat. Number:</b></td> <td align="center"><b>Beg. MP:</b></td> <td align="center"><b>End. MP:</b></td> <td align="center"><b>Side:</b></td> <!-- <td align="center"><b>Offset Dir:</b></td> --> <td align="center"><b>Offset:</b></td> <td align="center"><b>Characteristic Code:</b></td> </tr> <tr> <td align="center" valign="top"><input type="text" name="FPRoadwayID" size="8" title="ID" value="70001000" maxlength="11"></td> <td align="center"><input type="text" name="FPFeatureTypeCode" size="3" maxlength="3" title="Feature Number" value="114"></td> <td align="center" valign="top"><input type="text" name="FPBeginningMilepoint" size="7" maxlength="7" title="Beginning Milepoint" value=""></td> <td align="center" valign="top"><input type="text" name="FPEndingMilepoint" size="7" maxlength="7" title="Ending Milepoint" value=""></td> <td align="center" valign="top"><select size="1" name="FPTravelwaySideCode" title="Select Side from dropdown list"> <option value=""></option> <option value="C" >COMPOSITE</option> <option value="L" >LEFT</option> <option value="R" >RIGHT</option> </select></td> <td align="center" valign="top"><select size="1" name="FPCharacteristicOffsetCode" title="Select Offset from dropdown list"> <option value=""></option> <option value="1" >RIGHT&LEFT</option> <option value="2" >RIGHT</option> <option value="3" >LEFT</option> </select></td> <td align="center" valign="top"><input type="text" name="FPCharacteristicTypeCode" size="12" maxlength="400" title="Characteristic Code" value=""></td> </tr>

<td colspan="6">&nbsp;</td>

<td align="right"><input type="button" value="View" name="btnSubmit" title="Click View button to submit your search" onclick="GoWhere(this.form)"></td> </tr> <tr>

<td colspan="6">&nbsp;</td> </tr> </table> <script language="JavaScript"> ///////////////////////<b></b> function GoWhere(FPform){ var URL var i = getSelectedRadioButton(FPform.WhichOne)

//NO RADIO BUTTON SELECTED

if (i == -1){ alert("ERROR - Please select either 'Roadway' or 'Route'.") return false

//ROADWAY ID RADIO BUTTON WAS SELECTED

if(i == 0) { FPform.PageAction.value = "List" URL = "..redact.asp";

if (IsEmpty(FPform.FPRoadwayID.value)) alert("ERROR - Please enter a value for 'Roadway ID'.") FPform.FPRoadwayID.focus() return false } else { if ( (FPform.FPRoadwayID.value.length != "8") || (!IsInteger(FPform.FPRoadwayID.value)) ){ alert("ERROR - 'Roadway ID' must be 8 digits.") FPform.FPRoadwayID.select() return false

//ROUTE ID RADIO BUTTON SELECTED

} else { Main.PageAction.value = "List" if(IsEmpty(FPform.FPRoadwayID.value)){ alert("ERROR - Please enter a value for 'Route ID'.") FPform.FPRoadwayID.focus() return false } else { var strRouteID strRouteID = IsValidRouteID(FPform.FPRoadwayID.value) if(strRouteID.charAt(0) == "E"){ alert (strRouteID) FPform.FPRoadwayID.select() return false } else { //CONVERT FORM'S ROUTE ID TO FORMATTED strRouteID VALUE FPform.FPRoadwayID.value = strRouteID

//EXTRACT ROUTE TYPE FROM strRouteID, TO DETERMINE IF 'CR' var type = "" type = strRouteID.charAt(0) + strRouteID.charAt(1) if( type == "CR" ){ URL = "..redact.asp" FPform.WhereToNext2.value = "..redact.asp" } else { URL = "..redact.asp"

} // *** 3/1/04 redact Added brace to end if (i == 0) routine

//VALIDATE FEAT/CHAR INPUT FIELDS

if(IsEmpty(FPform.FPFeatureTypeCode.value)) alert("ERROR - Please enter a value for 'Feat. Number'.") FPform.FPFeatureTypeCode.focus() return false else if(!IsNumber(FPform.FPFeatureTypeCode.value)) alert("ERROR - 'Feat. Number' must be a valid number.") FPform.FPFeatureTypeCode.select() return false else if ( (FPform.FPFeatureTypeCode.value.length != "3") || (!IsInteger(FPform.FPFeatureTypeCode.value)) ) alert("ERROR - 'Feat. Number' must be 3 digits.") FPform.FPFeatureTypeCode.select() return false

// redact, 09/26/2005, CO-036490 - Added code to Trim the BMP value //

FPform.FPBeginningMilepoint.value=TrimString(FPform.FPBeginningMilepoint.value) if(!IsEmpty(FPform.FPBeginningMilepoint.value)) if(!IsValidNumber((FPform.FPBeginningMilepoint.value),false,3,0,999.999)) alert("ERROR - Please enter a valid numeric value for 'Beg.

MP'.")

FPform.FPBeginningMilepoint.select() return false

// redact, 09/26/2005, CO-036490 - Added code to Trim the EMP value // FPform.FPEndingMilepoint.value= TrimString(FPform.FPEndingMilepoint.value) if(!IsEmpty(FPform.FPEndingMilepoint.value)){ if(!IsValidNumber((FPform.FPEndingMilepoint.value),false,3,0,999.999)){ alert("ERROR - Please enter a valid numeric value for 'End.

MP'.")

FPform.FPEndingMilepoint.select() return false

FPform.ShortCutFlag.value = "Y";

FPform.action = URL;

FPform.submit() function getSelectedRadioButton(group){ for (var i = 0; i < group.length; i++){ if (group[i].checked){ return i return -1 </script><!-- CHANGE LOG

Date User ID Description 8/3/2006 redact HD CO2-024385 - Removed ", redact," from the

HelpDesk contact info.

6/4/2007 redact CO-055298 - Updated Help Desk contact info to FDOT

Service Desk info.

10/21/2008 redact CO2-022213 - Removed Enter key script to allow enter key to default to Add push button

02/13/2012 redact Corrrected the Web Standard & Section 508 violation by adding title tag along w/description where it needed.

<div align="center"> <table width="100%"> <tr>

<td colspan="3" align="center"> <p align="left">

<font face="arial, helvetica, verdana" size="2">* Indicates a required field</font></td></tr> <tr>

<td colspan="3" align="center"><hr size="3" color="#000000"></td> </tr> <tr> <!-- 8/3/2006 redact HD CO2-024385 - Removed ", redact," from the HelpDesk contact info. --> <td width="15%" align="left"><img border="0" src="..redact.jpg" alt="FDOT Office of Information Systems logo"></td> <td width="70%" align="center"><b><font face="arial, helvetica, verdana" size="2">FLORIDA DEPARTMENT OF TRANSPORTATION</b><br> Report Technical Problems to the Service Desk @ redact or email: <a href="mailto:redact" title="Service Desk - Opens email application">Service Desk</a>.

</font></td> <td width="15%" align="center">&nbsp;</td> </tr> </table> </div>

<!-- redact - 04/27/09 - CO-022213 - Added the following keydown logic. --> <script language="javascript">

//USER PRESSES THE ENTER KEY

var myform = window.document.forms[0];

document.onkeydown = keyDown;

function keyDown(DnEvents)

AsciiKeyCode = window.event.keyCode;

if (AsciiKeyCode == 13) rdwyVal = (myform.FPRoadwayID.value) featVal = (myform.FPFeatureTypeCode.value) bmpVal = (myform.FPBeginningMilepoint.value) empVal = (myform.FPEndingMilepoint.value) sideVal = (myform.FPTravelwaySideCode.value) charVal = (myform.FPCharacteristicTypeCode.value) offsetVal = (myform.FPCharacteristicOffsetCode.value) ftrdwyVal = "70001000" ftroutVal = "" ftfeatVal = "114" ftbmpVal = "" ftempVal = "" ftsideVal = "" ftcharVal = "" ftoffsetVal = "" nxtDisab = "disabled" topButton = "" if ((rdwyVal == ftrdwyVal) && (featVal == ftfeatVal) && (bmpVal == ftbmpVal) && (empVal == ftempVal) && (sideVal == ftsideVal) && (charVal == ftcharVal) && (offsetVal == ftoffsetVal)) if (topButton == "Y") if (nxtDisab == "disabled") myform.btnDetails[1].click() return false;

else myform.btnNext[1].click() return false;

else if (nxtDisab == "disabled") myform.btnDetails.click() return false;

else myform.btnNext.click() return false;

else myform.btnSubmit.click() return false;

else if ((((AsciiKeyCode > 47) && (AsciiKeyCode < 58)) || ((AsciiKeyCode > 95) && (AsciiKeyCode < 106)))

&& (myform.document.activeElement.type != "text")) myform.FPFeatureTypeCode.focus();

myform.FPFeatureTypeCode.select();

function FP_getObjectByID(id,o) { var c,el,els,f,m,n;

if(!o)o=document;

if(o.getElementById) el=o.getElementById(id);

else if(o.layers) c=o.layers;

else if(o.all) el=o.all[id];

if(el) return el;

if(o.id==id || o.name==id) return o;

if(o.childNodes) c=o.childNodes;

if(c) for(n=0; n<c.length; n++) { el=FP_getObjectByID(id,c[n]); if(el) return el; } f=o.forms;

if(f) for(n=0; n<f.length; n++) { els=f[n].elements;

for(m=0; m<els.length; m++){ el=FP_getObjectByID(id,els[n]);

if(el) return el;

return null;

function Transfer(url,how){ var myform = window.document.Main var myaction = document.Main.action document.Main.action = url if (how != ""){ document.Main.target = how else{ document.Main.target = "" myform.submit() document.Main.target = "" document.Main.action = myaction

</script>

<!-- <script language="JavaScript"> var myform = window.document.forms[0] myform.FPRoadwayID.focus();

</script> -->

File details come from the government source that posted it. Updated .