webcam.schwaebischhall.de
Open in
urlscan Pro
217.91.145.152
Public Scan
Submitted URL: https://webcam.schwaebischhall.de/
Effective URL: https://webcam.schwaebischhall.de/view/view.shtml?id=8840&imagepath=%2Fmjpg%2Fvideo.mjpg&size=1
Submission: On December 26 via manual from BR — Scanned from DE
Effective URL: https://webcam.schwaebischhall.de/view/view.shtml?id=8840&imagepath=%2Fmjpg%2Fvideo.mjpg&size=1
Submission: On December 26 via manual from BR — Scanned from DE
Form analysis
9 forms found in the DOMName: profileForm —
<form name="profileForm"><input type="hidden" name="root_StreamProfile_MaxGroups" value="26"><input type="hidden" name="root_StreamProfile_S0_Description" value="Best image quality and full frame rate."><input type="hidden"
name="root_StreamProfile_S0_Name" value="Quality"><input type="hidden" name="root_StreamProfile_S0_Parameters"
value="videocodec=h264&resolution=1280x720&compression=20&fps=0&videokeyframeinterval=8&videobitrate=0&h264profile=main"><input type="hidden" name="root_StreamProfile_S1_Description"
value="Medium image quality and frame rate."><input type="hidden" name="root_StreamProfile_S1_Name" value="Balanced"><input type="hidden" name="root_StreamProfile_S1_Parameters"
value="videocodec=h264&resolution=1280x720&compression=30&fps=15&videokeyframeinterval=15&videobitrate=0&h264profile=main"><input type="hidden" name="root_StreamProfile_S2_Description"
value="Low bandwidth with medium image quality."><input type="hidden" name="root_StreamProfile_S2_Name" value="Bandwidth"><input type="hidden" name="root_StreamProfile_S2_Parameters"
value="videocodec=h264&resolution=1280x720&compression=50&fps=15&videokeyframeinterval=32&videobitrate=250&videomaxbitrate=1000&videobitratepriority=framerate&h264profile=main"><input type="hidden"
name="root_StreamProfile_S3_Description" value="Mobile device settings."><input type="hidden" name="root_StreamProfile_S3_Name" value="Mobile"><input type="hidden" name="root_StreamProfile_S3_Parameters"
value="videocodec=h264&resolution=320x180&compression=50&fps=15&videokeyframeinterval=32&videobitrate=250&videomaxbitrate=128&videobitratepriority=quality&audio=0&h264profile=baseline">
</form>
Name: listFormInt —
<form name="listFormInt"><input type="hidden" name="root_ImageSource_NbrOfSources" value="1"><input type="hidden" name="root_ImageSource_I0_Name" value="Camera"><input type="hidden" name="root_ImageSource_I0_Sensor_Defog" value="off"><input
type="hidden" name="root_ImageSource_I0_Sensor_WDR" value="off"><input type="hidden" name="root_ImageSource_I0_Video_DetectedType" value="HDTV720p">
</form>
Name: listFormCrop —
<form name="listFormCrop">
</form>
Name: listFormExt —
<form name="listFormExt">
</form>
Name: listFormPreset —
<form name="listFormPreset"><input type="hidden" name="root_PTZ_Preset_P0_Position_P1_Data" value="tilt=-45:pan=0:zoom=1.000000"><input type="hidden" name="root_PTZ_Preset_P0_Position_P1_Name" value="Home"><input type="hidden"
name="root_PTZ_Preset_P0_Position_P2_Data" value="mfocus=1160:autofocus=yes:tilt=-0.995209:iris=-1:focus=11427:zoom=1:autoiris=yes:pan=-167.102173"><input type="hidden" name="root_PTZ_Preset_P0_Position_P2_Name" value="Michaels_Kirche"><input
type="hidden" name="root_PTZ_Preset_P0_Position_P3_Data" value="mfocus=1160:autofocus=yes:tilt=-19.813797:iris=-1:focus=11427:zoom=1:autoiris=yes:pan=-137.205597"><input type="hidden" name="root_PTZ_Preset_P0_Position_P3_Name"
value="Marktplatz"><input type="hidden" name="root_PTZ_Preset_P0_Position_P4_Data" value="mfocus=1160:autofocus=yes:tilt=-9.291763:iris=-1:focus=11427:zoom=1:autoiris=yes:pan=-108.979233"><input type="hidden"
name="root_PTZ_Preset_P0_Position_P4_Name" value="Rathaus"><input type="hidden" name="root_PTZ_Preset_P0_Position_P5_Data" value="mfocus=390:autofocus=no:tilt=-2.475647:iris=-1:focus=4900:zoom=1672:autoiris=yes:pan=-64.409531"><input
type="hidden" name="root_PTZ_Preset_P0_Position_P5_Name" value="Wuerth_Museum"><input type="hidden" name="root_PTZ_Preset_P0_Position_P6_Data"
value="mfocus=403:autofocus=no:tilt=-1.862732:iris=-1:focus=7499:zoom=1756:autoiris=yes:pan=-17.640518"><input type="hidden" name="root_PTZ_Preset_P0_Position_P6_Name" value="Johanniterkirche"><input type="hidden"
name="root_PTZ_Preset_P0_Position_P7_Data" value="mfocus=1003:autofocus=yes:tilt=-15.483841:iris=-1:focus=8301:zoom=210:autoiris=yes:pan=-166.203735"><input type="hidden" name="root_PTZ_Preset_P0_Position_P7_Name" value="HalliaVenezia"><input
type="hidden" name="root_PTZ_Preset_P0_Position_P8_Data" value="mfocus=353:autofocus=yes:tilt=-5.203674:iris=-1:focus=7176:zoom=2425:autoiris=yes:pan=-21.031097"><input type="hidden" name="root_PTZ_Preset_P0_Position_P8_Name"
value="Henkersbruecke2">
</form>
Name: listFormSeq —
<form name="listFormSeq">
</form>
Name: outputsForm —
<form name="outputsForm">
</form>
Name: UploadedFilesForm —
<form name="UploadedFilesForm">
</form>
Name: WizardForm — POST
<form name="WizardForm" method="post">
<input type="hidden" name="root_Layout_Trigger_T0_Enabled" value="no">
<input type="hidden" name="amount" value="0">
<br>
<table width="778" cellspacing="0" cellpadding="0" border="0">
<tbody>
<tr class="top-mainborder">
<td colspan="2"><img src="/pics/line_corner_lt_5x5px.gif" width="5" height="5" border="0" alt=""></td>
<td background="/pics/line_t_100x5px.gif"><img src="/pics/line_t_100x5px.gif" width="768" height="5" border="0" alt=""></td>
<td colspan="2"><img src="/pics/line_corner_rt_5x5px.gif" width="5" height="5" border="0" alt=""></td>
</tr>
<tr>
<td class="lineBg"><img src="/pics/blank.gif" width="1" border="0" alt=""></td>
<td><img src="/pics/blank.gif" width="4" height="1" border="0" alt=""></td>
<td valign="middle" align="left" width="100%">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td>
<script language="JavaScript" type="text/javascript">
<!--
for (i = 0; i < document.UploadedFilesForm.length; i++) {
if (document.UploadedFilesForm.elements[i].value.indexOf("viewer/extraLogo_left.") != -1) {
document.write('<img src="/local/' + document.UploadedFilesForm.elements[i].value + '"> ');
break;
}
}
-->
</script>
<a href="http://www.axis.com/" target="_blank"><img src="/pics/logo_70x29px.gif" width="68" height="29" border="0" title="Axis" alt="Axis"></a>
<script language="JavaScript" type="text/javascript">
<!--
for (i = 0; i < document.UploadedFilesForm.length; i++) {
if (document.UploadedFilesForm.elements[i].value.indexOf("viewer/extraLogo_right.") != -1) {
document.write(' <img src="/local/' + document.UploadedFilesForm.elements[i].value + '">');
break;
}
}
-->
</script>
</td>
<td class="topTitle" align="center" id="view_prodName" nowrap="">AXIS Q6045-E Mk II Network Camera</td>
<td align="right" nowrap="">
<table cellpadding="0" cellspacing="5" border="0">
<tbody>
<tr>
<td nowrap=""><a href="/index.shtml" target="_top" class="linkActive" id="view_LViewTxt">Live View</a></td>
<td>|</td>
<td><a href="/operator/videostream.shtml?id=8841" class="linkInActive" target="_top" id="view_SetTxt1">Setup</a></td>
<td>|</td>
<td><a href="#" onclick="javascript:launch('/help/liveview_h.shtml?cntrlQue=no'); return false;" class="linkInActive" id="view_HelpTxt">Help</a></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
<td><img src="/pics/blank.gif" width="4" border="0" alt=""></td>
<td class="lineBg"><img src="/pics/blank.gif" width="1" height="1" alt=""></td>
</tr>
<tr>
<td class="lineBg"><img src="/pics/blank.gif" width="1" height="5" alt=""></td>
<td colspan="3"><img src="/pics/blank.gif" width="1" height="5" alt=""></td>
<td class="lineBg"><img src="/pics/blank.gif" width="1" height="5" alt=""></td>
</tr>
<tr class="bottom-mainborder">
<td colspan="2"><img src="/pics/line_corner_lb_5x5px.gif" width="5" height="5" alt=""></td>
<td background="/pics/line_b_100x5px.gif"><img src="/pics/blank.gif" width="768" height="5" alt=""></td>
<td colspan="2"><img src="/pics/line_corner_rb_5x5px.gif" width="5" height="5" alt=""></td>
</tr>
<tr>
<td colspan="5"><img src="/pics/blank.gif" width="1" height="5" border="0" alt=""></td>
</tr>
<tr>
<td colspan="5">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tbody>
<tr id="appendableTr">
<td>
<table cellpadding="0" cellspacing="0" style="width: 100%; height: 46px; border: 0px;">
<tbody>
<tr class="top-mainborder">
<td colspan="2" style="width: 5px; background-image: url("/pics/gray_corner_lt_5x50px.gif");"><img src="/pics/blank.gif" style="width: 5px; height: 5px; border: 0px;"></td>
<td valign="top" align="center" class="funcText" style="width: 100%; height: 5px; white-space: nowrap; background-image: url("/pics/gray_t_5x50px.gif");">Stream profile</td>
<td colspan="2" style="width: 5px; background-image: url("/pics/gray_corner_rt_5x50px.gif");"><img src="/pics/blank.gif" style="width: 5px; height: 5px; border: 0px;"></td>
</tr>
<tr>
<td class="lineBg" style="width: 1px;"><img src="/pics/blank.gif" style="width: 1px; height: 5px; border: 0px;"></td>
<td style="width: 4px;"><img src="/pics/blank.gif" style="width: 4px; height: 5px; border: 0px;"></td>
<td valign="middle" align="center" style="width: 100%;">
<table cellpadding="0" cellspacing="0" style="border: 0px;">
<tbody>
<tr>
<td valign="middle" align="left"><select name="videoFormat" id="videoFormat">
<option value="MJPEG">Motion JPEG</option>
<option value="H264">H.264</option>
<option value="hdtv">HDTV</option>
<option value="0">Quality</option>
<option value="1">Balanced</option>
<option value="2">Bandwidth</option>
<option value="3">Mobile</option>
</select></td>
</tr>
</tbody>
</table>
</td>
<td style="width: 4px;"><img src="/pics/blank.gif" style="width: 4px; height: 5px; border: 0px;"></td>
<td class="lineBg" style="width: 1px;"><img src="/pics/blank.gif" style="width: 1px; height: 5px; border: 0px;"></td>
</tr>
<tr class="bottom-mainborder">
<td colspan="2" style="width: 5px; background-image: url("/pics/line_corner_lb_5x5px.gif");"><img src="/pics/blank.gif" style="width: 5px; height: 5px; border: 0px;"></td>
<td style="width: 100%; height: 5px; background-image: url("/pics/line_b_100x5px.gif");"><img src="/pics/blank.gif" style="width: 1px; height: 5px; border: 0px;"></td>
<td colspan="2" style="width: 5px; height: 5px; background-image: url("/pics/line_corner_rb_5x5px.gif");"><img src="/pics/blank.gif" style="width: 5px; height: 5px; border: 0px;"></td>
</tr>
</tbody>
</table>
</td>
<td style="width: 5px;"><img src="/pics/blank.gif" style="width: 5px; height: 5px; border: 0px;"></td>
<td>
<table cellpadding="0" cellspacing="0" style="width: 100%; height: 46px; border: 0px;">
<tbody>
<tr class="top-mainborder">
<td colspan="2" style="width: 5px; background-image: url("/pics/gray_corner_lt_5x50px.gif");"><img src="/pics/blank.gif" style="width: 5px; height: 5px; border: 0px;"></td>
<td valign="top" align="center" class="funcText" style="width: 100%; height: 5px; white-space: nowrap; background-image: url("/pics/gray_t_5x50px.gif");">Recorded tours</td>
<td colspan="2" style="width: 5px; background-image: url("/pics/gray_corner_rt_5x50px.gif");"><img src="/pics/blank.gif" style="width: 5px; height: 5px; border: 0px;"></td>
</tr>
<tr>
<td class="lineBg" style="width: 1px;"><img src="/pics/blank.gif" style="width: 1px; height: 5px; border: 0px;"></td>
<td style="width: 4px;"><img src="/pics/blank.gif" style="width: 4px; height: 5px; border: 0px;"></td>
<td valign="middle" align="center" style="width: 100%;">
<table cellpadding="0" cellspacing="0" style="border: 0px;">
<tbody>
<tr>
<td valign="middle" align="left"><select name="recorded_tour_list" id="recorded_tour_list" disabled="">
<option value="">----------</option>
</select></td>
<td valign="middle" align="left">
<a href="javascript:recorded_tour_actions('play');" target="_self"><img src="/pics/play_blue_button_27x27px.gif" border="0" alt="Play" title="Play" style="width: 27px; height: 27px;"></a></td>
<td valign="middle" align="left">
<a href="javascript:recorded_tour_actions('stop');" target="_self"><img src="/pics/stop_blue_button_27x27px.gif" border="0" alt="Stop" title="Stop" style="width: 27px; height: 27px;"></a></td>
</tr>
</tbody>
</table>
</td>
<td style="width: 4px;"><img src="/pics/blank.gif" style="width: 4px; height: 5px; border: 0px;"></td>
<td class="lineBg" style="width: 1px;"><img src="/pics/blank.gif" style="width: 1px; height: 5px; border: 0px;"></td>
</tr>
<tr class="bottom-mainborder">
<td colspan="2" style="width: 5px; background-image: url("/pics/line_corner_lb_5x5px.gif");"><img src="/pics/blank.gif" style="width: 5px; height: 5px; border: 0px;"></td>
<td style="width: 100%; height: 5px; background-image: url("/pics/line_b_100x5px.gif");"><img src="/pics/blank.gif" style="width: 1px; height: 5px; border: 0px;"></td>
<td colspan="2" style="width: 5px; height: 5px; background-image: url("/pics/line_corner_rb_5x5px.gif");"><img src="/pics/blank.gif" style="width: 5px; height: 5px; border: 0px;"></td>
</tr>
</tbody>
</table>
</td>
<td style="width: 5px;"><img src="/pics/blank.gif" style="width: 5px; height: 5px; border: 0px;"></td>
<td style="width: 100%;">
<table cellpadding="0" cellspacing="0" style="width: 100%; height: 46px; border: 0px;">
<tbody>
<tr class="top-mainborder">
<td colspan="2" style="width: 5px; background-image: url("/pics/gray_corner_lt_5x50px.gif");"><img src="/pics/blank.gif" style="width: 5px; height: 5px; border: 0px;"></td>
<td valign="top" align="center" class="funcText" style="width: 100%; height: 5px; white-space: nowrap; background-image: url("/pics/gray_t_5x50px.gif");">PTZ preset</td>
<td colspan="2" style="width: 5px; background-image: url("/pics/gray_corner_rt_5x50px.gif");"><img src="/pics/blank.gif" style="width: 5px; height: 5px; border: 0px;"></td>
</tr>
<tr>
<td class="lineBg" style="width: 1px;"><img src="/pics/blank.gif" style="width: 1px; height: 5px; border: 0px;"></td>
<td style="width: 4px;"><img src="/pics/blank.gif" style="width: 4px; height: 5px; border: 0px;"></td>
<td valign="middle" align="center" style="width: 100%;">
<table cellpadding="0" cellspacing="0" style="border: 0px;">
<tbody>
<tr>
<td valign="middle" align="left"><img src="/pics/space.gif" border="0" style="width: 1px; height: 27px;"></td>
<td valign="middle" align="left"><select name="videoList" id="videoList">
<option value="no_change">----------------</option>
<option value="/mjpg/video.mjpg?gotopresetname=Home">Home (H)</option>
<option value="/mjpg/video.mjpg?gotopresetname=Michaels_Kirche">Michaels_Kirche</option>
<option value="/mjpg/video.mjpg?gotopresetname=Marktplatz">Marktplatz</option>
<option value="/mjpg/video.mjpg?gotopresetname=Rathaus">Rathaus</option>
<option value="/mjpg/video.mjpg?gotopresetname=Wuerth_Museum">Wuerth_Museum</option>
<option value="/mjpg/video.mjpg?gotopresetname=Johanniterkirche">Johanniterkirche</option>
<option value="/mjpg/video.mjpg?gotopresetname=HalliaVenezia">HalliaVenezia</option>
<option value="/mjpg/video.mjpg?gotopresetname=Henkersbruecke2">Henkersbruecke2</option>
</select><input type="button" value="Go" width="40"></td>
</tr>
</tbody>
</table>
</td>
<td style="width: 4px;"><img src="/pics/blank.gif" style="width: 4px; height: 5px; border: 0px;"></td>
<td class="lineBg" style="width: 1px;"><img src="/pics/blank.gif" style="width: 1px; height: 5px; border: 0px;"></td>
</tr>
<tr class="bottom-mainborder">
<td colspan="2" style="width: 5px; background-image: url("/pics/line_corner_lb_5x5px.gif");"><img src="/pics/blank.gif" style="width: 5px; height: 5px; border: 0px;"></td>
<td style="width: 100%; height: 5px; background-image: url("/pics/line_b_100x5px.gif");"><img src="/pics/blank.gif" style="width: 1px; height: 5px; border: 0px;"></td>
<td colspan="2" style="width: 5px; height: 5px; background-image: url("/pics/line_corner_rb_5x5px.gif");"><img src="/pics/blank.gif" style="width: 5px; height: 5px; border: 0px;"></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan="5"><img src="/pics/blank.gif" width="1" height="5" border="0" alt=""></td>
</tr>
<tr class="top-mainborder">
<td colspan="2"><img src="/pics/line_corner_lt_5x5px.gif" width="5" height="5" border="0" alt=""></td>
<td background="/pics/line_t_100x5px.gif"><img src="/pics/blank.gif" width="768" height="5" border="0" alt=""></td>
<td colspan="2"><img src="/pics/line_corner_rt_5x5px.gif" width="5" height="5" border="0" alt=""></td>
</tr>
<tr>
<td width="1" class="lineBg"><img src="/pics/blank.gif" width="1" height="1" border="0" alt=""></td>
<td width="4"><img src="/pics/blank.gif" width="4" height="1" border="0" alt=""></td>
<td valign="top" align="center" width="768">
<table border="0" cellpadding="0" cellspacing="0" height="100%" width="776">
<tbody>
<tr height="197">
<td valign="top"></td>
<td valign="top" class="normalText" align="center" rowspan="4">
<div id="filterinstallocation"></div>
</td>
<td align="center" class="normalText">
<table border="0" cellpadding="3" cellspacing="3">
<tbody>
<tr>
<td>
<script src="/incl/pos.js?ver=6.50.5.8"></script>
<img id="crosshair" src="/pics/crosshair.png" width="16" height="16" style="position: absolute; visibility: hidden; left: 759px; top: 339px; cursor: crosshair;" border="0">
<script language="JavaScript">
<!--
var newimagepath = "/mjpg/video.mjpg";
var properties_audio_enabled = "";
var audiochannel_enabled = "";
var audiosource = "0";
var audiosupport = "";
var videoformat = "mjpeg+";
var streamProfAudio = "";
var streamProfUseAudio = (streamProfAudio == "no") ? false : true;
if (newimagepath.indexOf('http://') !== -1 || newimagepath.indexOf('https://') !== -1 || newimagepath.indexOf('script') !== -1) {
var cameraNbr;
cameraNbr = 1
newimagepath = '/mjpg/video.mjpg';
}
if (properties_audio_enabled == "yes" && audiochannel_enabled == "yes" && audiosupport == "yes" && (videoformat == "h264+" || videoformat == "mpeg4+") && streamProfUseAudio) {
newimagepath += "&audiochannel=" + (parseInt(audiosource, 10) + 1);
}
video(newimagepath);
//
-->
</script>
<table cellspacing="0" cellpadding="0" border="0" style="min-width:260">
<tbody>
<tr>
<td colspan="3" align="center"><img id="stream" src="/mjpg/video.mjpg?timestamp=1735249114429" width="800" height="450" alt="Press Reload if no image is displayed" border="0" style="cursor: crosshair;"><br></td>
</tr>
<tr>
<td colspan="3" align="center" style="white-space:nowrap">
<div class="cornerVideoPTZ">
<div class="cornerTabs">
<ul>
<li id="videoselection" class="selectedTab"><a href="javascript:selectVideoOrPtz('video')"><b>Video</b></a></li>
<li id="ptzselection" class="unselectedTab"><a href="javascript:selectVideoOrPtz('ptz')"><b>PTZ</b></a></li>
</ul>
</div>
<div id="zoombox" class="dragbox" style="visibility: hidden;"></div>
<div class="cornerVideoBox">
<div class="content">
<table cellspacing="0" border="0" width="100%" id="videoItems" class="shownItems">
<tbody>
<tr height="32">
<td align="left" width="40">
<a id="stopBtn" href="javascript:void(0)" onclick="stopStartStream('/axis-cgi/jpg/image.cgi?camera=1')" style="display: inline;"><img src="/pics/stop_blue_button_27x27px.gif" width="27" height="27" alt="Stop stream" title="Stop stream" border="0" onmouseover="javascript:btnShiftCls( this, true )" onmouseout="javascript:btnShiftCls( this, false )"></a><a id="playBtn" style="display:none;" href="javascript:void(0)" onclick="stopStartStream('/mjpg/video.mjpg')"><img src="/pics/play_blue_button_27x27px.gif" width="27" height="27" alt="Start stream" title="Start stream" border="0" onmouseover="javascript:btnShiftCls( this, true )" onmouseout="javascript:btnShiftCls( this, false )"></a>
</td>
</tr>
</tbody>
</table>
<table cellspacing="0" border="0" width="100%" id="ptzItems" class="collapsed">
<tbody>
<tr height="32">
<td style="padding-left:15px;"><select name="ptzMode" id="ptzModeSelector" onchange="setPtzMode()">
<option selected=""> Center </option>
<option> Joystick </option>
</select></td>
<td> </td>
<td> </td>
</tr>
</tbody>
</table>
</div>
<div class="footerLeft">
<div class="footerRight"></div>
</div>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</td>
<td>
<div id="tbar" style="">
<!-- tiltbar.shtml -->
<script language="JavaScript">
<!--
var langObjTiltbar = new Language("incl_platoon_ptz", "tiltbar");
var ptzDefContSpeedPan = 100;
var ptzDefContSpeedTilt = 100;
var ptzDefSpeedList = [
[1, 0.05],
[5, 0.10],
[10, 0.50],
[13, 1.00],
[16, 2.00],
[22, 5.00],
[28, 10.00],
[35, 20.00],
[46, 45.00],
[58, 90.00],
[67, 135.00],
[74, 180.00],
[93, 360.00],
[100, 450.00],
];
var ptzDefMaxOpticalZoomMag = 32;
var ptzDefMaxDigitalZoomMag = 12;
var ptzDefContSpeedZoom = 100;
var ptzDefContSpeedFocus = 20;
var ptzDefContSpeedIris = Number.NaN;
var ptzDefQueryInterval = 300;
var ptzDefMinFocusList = [
[1, 10],
[2, 30],
[3, 100],
[4, 150],
[5, 300],
[6, 500],
];
var ptzDefMaxZoomList = [
[323, 2],
[646, 3],
[968, 4],
[1291, 5],
[1613, 6],
[1936, 7],
[2258, 8],
[2581, 9],
[2903, 10],
[3226, 11],
[3548, 12],
[3871, 13],
[4193, 14],
[4516, 15],
[4838, 16],
[5161, 17],
[5483, 18],
[5806, 19],
[6128, 20],
[6451, 21],
[6773, 22],
[7096, 23],
[7418, 24],
[7741, 25],
[8063, 26],
[8386, 27],
[8708, 28],
[9031, 29],
[9353, 30],
[9676, 31],
[9999, 32],
[10909, 64],
[12727, 128],
[14545, 192],
[16363, 256],
[18181, 320],
[19999, 384],
];
//
-->
</script>
<table align="center" border="0" cellspacing="1" cellpadding="1">
<tbody>
<tr>
<td align="left" valign="bottom" class="normalText"><span id="tbarUpTxt">Up</span></td>
</tr>
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td style="font-size:0px;">
<script language="JavaScript">
<!--
if (typeof(ptzDefContSpeedTilt) != "number" || isNaN(ptzDefContSpeedTilt)) var ptzDefContSpeedTilt = 70;
-->
</script>
<img src="/pics/up_14x13px.gif" width="14" height="13" style="margin-bottom:2px;" onmousedown="continousMove('tilt', '0,'+ptzDefContSpeedTilt);this.onmouseout=this.onmouseup; return false;"
onmouseup="continousMove('tilt', '0,0');this.onmouseout=noAction; return false;">
<span id="tilt-up"></span>
</td>
</tr>
<tr style="font-size:0px;">
<td>
<div id="tiltbar1">
<img src="/pics/tiltbar_abs_14x200px.gif" border="0" width="14" height="200" id="tilt-bg" onmousemove="handleBarMove(this.parentNode, event);" onclick="getPtzPositions();">
</div>
</td>
</tr>
<tr>
<td style="font-size:0px;">
<span id="tilt-down"></span>
<img src="/pics/down_14x13px.gif" width="14" height="13" style="margin-top:2px;" onmousedown="continousMove('tilt', '0,-'+ptzDefContSpeedTilt);this.onmouseout=this.onmouseup; return false;"
onmouseup="continousMove('tilt', '0,0');this.onmouseout=noAction; return false;">
</td>
</tr>
</tbody>
</table>
<input type="hidden" name="tiltvalue" id="tilt" value="">
</td>
<td class="normalText"> <b><span id="tbarTiltTxt">TILT</span></b></td>
</tr>
<tr>
<td align="left" valign="top" class="normalText"><span id="tbarDownTxt">Down</span></td>
</tr>
</tbody>
</table>
<script language="JavaScript">
<!--
try {
var langObjTiltbar = new Language("incl_platoon_ptz", "tiltbar");
langObjTiltbar.init(true, true);
} catch (e) {
delete e;
function Language_backwardcomp() {
this.init = function(whatever) {
var arr = new Array();
arr.push({
tag: "tbarUpTxt",
text: "Up"
});
arr.push({
tag: "tbarTiltTxt",
text: "TILT"
});
arr.push({
tag: "tbarDownTxt",
text: "Down"
});
for (var i = 0; i < arr.length; i++) {
if (document.getElementById(arr[i].tag)) document.getElementById(arr[i].tag).innerHTML = arr[i].text;
}
window.focus();
}
}
var langObjTiltbar = new Language_backwardcomp();
langObjTiltbar.init();
}
//
-->
</script>
<!-- end of tiltbar.shtml -->
</div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr id="pzbars" style="">
<td colspan="4" width="100%">
<table name="ptzcontrol_table" width="100%" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td width="50%" align="center">
<table width="100%" border="0" cellpadding="0" cellspacing="5">
<tbody>
<tr valign="top">
<td width="100%">
<img src="/pics/blank.gif" width="100%" height="100%">
</td>
</tr>
</tbody>
</table>
</td>
<td width="5">
<img src="/pics/blank.gif" width="5" height="100%">
</td>
<td valign="top">
<!-- bars.shtml -->
<div id="toolTip" style="visibility: hidden"></div>
<script language="JavaScript">
<!--
var langObjBars = new Language("incl_platoon_ptz", "bars");
var ptzDefContSpeedPan = 100;
var ptzDefContSpeedTilt = 100;
var ptzDefSpeedList = [
[1, 0.05],
[5, 0.10],
[10, 0.50],
[13, 1.00],
[16, 2.00],
[22, 5.00],
[28, 10.00],
[35, 20.00],
[46, 45.00],
[58, 90.00],
[67, 135.00],
[74, 180.00],
[93, 360.00],
[100, 450.00],
];
var ptzDefMaxOpticalZoomMag = 32;
var ptzDefMaxDigitalZoomMag = 12;
var ptzDefContSpeedZoom = 100;
var ptzDefContSpeedFocus = 20;
var ptzDefContSpeedIris = Number.NaN;
var ptzDefQueryInterval = 300;
var ptzDefMinFocusList = [
[1, 10],
[2, 30],
[3, 100],
[4, 150],
[5, 300],
[6, 500],
];
var ptzDefMaxZoomList = [
[323, 2],
[646, 3],
[968, 4],
[1291, 5],
[1613, 6],
[1936, 7],
[2258, 8],
[2581, 9],
[2903, 10],
[3226, 11],
[3548, 12],
[3871, 13],
[4193, 14],
[4516, 15],
[4838, 16],
[5161, 17],
[5483, 18],
[5806, 19],
[6128, 20],
[6451, 21],
[6773, 22],
[7096, 23],
[7418, 24],
[7741, 25],
[8063, 26],
[8386, 27],
[8708, 28],
[9031, 29],
[9353, 30],
[9676, 31],
[9999, 32],
[10909, 64],
[12727, 128],
[14545, 192],
[16363, 256],
[18181, 320],
[19999, 384],
];
if (typeof(ptzDefContSpeedFocus) != "number" || isNaN(ptzDefContSpeedFocus)) var ptzDefContSpeedFocus = 70;
-->
</script>
<table name="bars_table" align="center" border="0" cellspacing="1" cellpadding="0">
<!-- panbar.shtml -->
<tbody>
<tr>
<script language="JavaScript">
<!--
var langObjPanbar = new Language("incl_platoon_ptz", "panbar");
var ptzDefContSpeedPan = 100;
var ptzDefContSpeedTilt = 100;
var ptzDefSpeedList = [
[1, 0.05],
[5, 0.10],
[10, 0.50],
[13, 1.00],
[16, 2.00],
[22, 5.00],
[28, 10.00],
[35, 20.00],
[46, 45.00],
[58, 90.00],
[67, 135.00],
[74, 180.00],
[93, 360.00],
[100, 450.00],
];
var ptzDefMaxOpticalZoomMag = 32;
var ptzDefMaxDigitalZoomMag = 12;
var ptzDefContSpeedZoom = 100;
var ptzDefContSpeedFocus = 20;
var ptzDefContSpeedIris = Number.NaN;
var ptzDefQueryInterval = 300;
var ptzDefMinFocusList = [
[1, 10],
[2, 30],
[3, 100],
[4, 150],
[5, 300],
[6, 500],
];
var ptzDefMaxZoomList = [
[323, 2],
[646, 3],
[968, 4],
[1291, 5],
[1613, 6],
[1936, 7],
[2258, 8],
[2581, 9],
[2903, 10],
[3226, 11],
[3548, 12],
[3871, 13],
[4193, 14],
[4516, 15],
[4838, 16],
[5161, 17],
[5483, 18],
[5806, 19],
[6128, 20],
[6451, 21],
[6773, 22],
[7096, 23],
[7418, 24],
[7741, 25],
[8063, 26],
[8386, 27],
[8708, 28],
[9031, 29],
[9353, 30],
[9676, 31],
[9999, 32],
[10909, 64],
[12727, 128],
[14545, 192],
[16363, 256],
[18181, 320],
[19999, 384],
];
//
-->
</script>
<td class="normalText"><b><span id="pbarPanTxt">PAN</span></b></td>
<td class="normalText"> <span id="pbarLeftTxt">Left</span> </td>
<td align="right">
<script language="JavaScript">
<!--
if (typeof(ptzDefContSpeedPan) != "number" || isNaN(ptzDefContSpeedPan)) var ptzDefContSpeedPan = parseInt("100", 10);
-->
</script>
<table cellpadding="0" cellspacing="0" border="0" height="17" width="60%">
<tbody>
<tr>
<td valign="middle">
<span id="pan-left"></span><img src="/pics/left_15x14px.gif" width="15" height="14" onmousedown="continousMove('pan', -ptzDefContSpeedPan+',0');this.onmouseout=this.onmouseup; return false;"
onmouseup="continousMove('pan', '0,0');this.onmouseout=noAction; return false;">
</td>
<td>
<span id="panbar1"><img src="/pics/panbar_abs_268x14px.gif" width="268" height="14" id="pan-bg" onmousemove="handleBarMove(this.parentNode, event);" onclick="getPtzPositions();"></span>
</td>
<td><img src="/pics/right_15x14px.gif" width="15" height="14" onmousedown="continousMove('pan', ptzDefContSpeedPan+',0');this.onmouseout=this.onmouseup; return false;"
onmouseup="continousMove('pan', '0,0');this.onmouseout=noAction; return false;"><span id="pan-right"></span>
<input type="hidden" name="panvalue" id="pan" value="">
</td>
</tr>
</tbody>
</table>
</td>
<td class="normalText"> <span id="pbarRightTxt">Right</span></td>
<script language="JavaScript">
<!--
langObjPanbar.init(true, true);
//
-->
</script>
</tr>
<!-- end of panbar.shtml -->
<!-- zoombar.shtml -->
<tr>
<script language="JavaScript">
<!--
var langObjZoombar = new Language("incl_platoon_ptz", "zoombar");
var ptzDefContSpeedPan = 100;
var ptzDefContSpeedTilt = 100;
var ptzDefSpeedList = [
[1, 0.05],
[5, 0.10],
[10, 0.50],
[13, 1.00],
[16, 2.00],
[22, 5.00],
[28, 10.00],
[35, 20.00],
[46, 45.00],
[58, 90.00],
[67, 135.00],
[74, 180.00],
[93, 360.00],
[100, 450.00],
];
var ptzDefMaxOpticalZoomMag = 32;
var ptzDefMaxDigitalZoomMag = 12;
var ptzDefContSpeedZoom = 100;
var ptzDefContSpeedFocus = 20;
var ptzDefContSpeedIris = Number.NaN;
var ptzDefQueryInterval = 300;
var ptzDefMinFocusList = [
[1, 10],
[2, 30],
[3, 100],
[4, 150],
[5, 300],
[6, 500],
];
var ptzDefMaxZoomList = [
[323, 2],
[646, 3],
[968, 4],
[1291, 5],
[1613, 6],
[1936, 7],
[2258, 8],
[2581, 9],
[2903, 10],
[3226, 11],
[3548, 12],
[3871, 13],
[4193, 14],
[4516, 15],
[4838, 16],
[5161, 17],
[5483, 18],
[5806, 19],
[6128, 20],
[6451, 21],
[6773, 22],
[7096, 23],
[7418, 24],
[7741, 25],
[8063, 26],
[8386, 27],
[8708, 28],
[9031, 29],
[9353, 30],
[9676, 31],
[9999, 32],
[10909, 64],
[12727, 128],
[14545, 192],
[16363, 256],
[18181, 320],
[19999, 384],
];
if (typeof(ptzDefContSpeedZoom) != "number" || isNaN(ptzDefContSpeedZoom)) var ptzDefContSpeedZoom = 70;
//
-->
</script>
<td class="normalText"><b><span id="zbarZoomTxt">ZOOM</span></b></td>
<td class="normalText"> <span id="zbarWideTxt">Wide</span> </td>
<td align="center">
<table cellpadding="0" cellspacing="0" border="0" height="17" width="60%">
<tbody>
<tr>
<td valign="middle">
<span id="zoom-left"></span><img src="/pics/left_15x14px.gif" width="15" height="14" onmousedown="continousMove('zoom', -ptzDefContSpeedZoom);this.onmouseout=this.onmouseup; return false;"
onmouseup="continousMove('zoom', 0);this.onmouseout=noAction; return false;">
</td>
<td valign="middle">
<span id="zoombar1"><img src="/pics/zoombar_268x14px.gif" width="268" height="14" id="zoom-bg" onmousemove="handleBarMove(this.parentNode, event);" onclick="getPtzPositions();"></span>
</td>
<td valign="middle"><img src="/pics/right_15x14px.gif" width="15" height="14" onmousedown="continousMove('zoom', ptzDefContSpeedZoom);this.onmouseout=this.onmouseup; return false;"
onmouseup="continousMove('zoom', 0);this.onmouseout=noAction; return false;"><span id="zoom-right"></span>
<input type="hidden" name="zoomvalue" id="zoom" value="">
</td>
</tr>
</tbody>
</table>
</td>
<td class="normalText"> <span id="zbarTeleTxt">Tele</span></td>
</tr>
<script language="JavaScript">
<!--
try {
var langObjZoombar = new Language("incl_platoon_ptz", "zoombar");
langObjZoombar.init(true, true);
} catch (e) {
delete e;
function Language_backwardcomp() {
this.init = function(whatever) {
var arr = new Array();
arr.push({
tag: "zbarZoomTxt",
text: "ZOOM"
});
arr.push({
tag: "zbarWideTxt",
text: "Wide"
});
arr.push({
tag: "zbarTeleTxt",
text: "Tele"
});
arr.push({
tag: "zbarZoOuOverwTxt",
text: "Zoom out to overview image"
});
for (var i = 0; i < arr.length; i++) {
if (document.getElementById(arr[i].tag)) document.getElementById(arr[i].tag).innerHTML = arr[i].text;
}
window.focus();
}
}
var langObjZoombar = new Language_backwardcomp();
langObjZoombar.init();
}
//
-->
</script>
<!-- end of zoombar.shtml -->
<tr>
<td class="normalText"><b><span id="barFocTxt">FOCUS</span></b></td>
<td class="normalText"> <span id="barNearTxt">Near</span> </td>
<td align="center">
<table cellpadding="0" cellspacing="0" border="0" height="17" width="60%">
<tbody>
<tr>
<td valign="middle">
<span id="focus-left"></span><img src="/pics/left_15x14px.gif" width="15" height="14" onmousedown="continousMove('focus', -ptzDefContSpeedFocus);this.onmouseout=this.onmouseup; return false;"
onmouseup="continousMove('focus', 0);this.onmouseout=noAction; return false;">
</td>
<td valign="middle">
<span id="focusbar1"><img src="/pics/zoombar_268x14px.gif" width="268" height="14" id="focus-bg" onmousemove="handleBarMove(this.parentNode, event);" onclick="getPtzPositions();"></span>
</td>
<td valign="middle"><img src="/pics/right_15x14px.gif" width="15" height="14" onmousedown="continousMove('focus', ptzDefContSpeedFocus);this.onmouseout=this.onmouseup; return false;"
onmouseup="continousMove('focus', 0);this.onmouseout=noAction; return false;">
<span id="focus-right"></span>
<input type="hidden" name="focusvalue" id="focus" value="">
</td>
</tr>
</tbody>
</table>
</td>
<td class="normalText"> <span id="barFarTxt">Far</span></td>
<td class="normalText"><span id="idAutoFocus" style="font-style: italic; font-size: 8px; color: gray; visibility: hidden;"> <span id="barAutoFocTxt">Auto</span></span></td>
</tr>
<tr>
<td class="normalText"><b><span id="barIrisTxt">IRIS</span></b></td>
<td class="normalText"> <span id="barCloseTxt">Close</span> </td>
<td align="center">
<table cellpadding="0" cellspacing="0" border="0" height="17" width="60%">
<tbody>
<tr>
<td valign="middle">
<span id="iris-left"></span>
</td>
<td>
<span id="irisbar1"><img src="/pics/zoombar_268x14px.gif" width="268" height="14" id="iris-bg" onmousemove="handleBarMove(this.parentNode, event);" onclick="getPtzPositions();"></span>
</td>
<td>
<span id="iris-right"></span>
<input type="hidden" name="irisvalue" id="iris" value="">
</td>
</tr>
</tbody>
</table>
</td>
<td class="normalText"> <span id="barOpenTxt">Open</span></td>
<td class="normalText"><span id="idAutoIris" style="font-style: italic; font-size: 8px; color: gray; visibility: hidden;"> <span id="barAutoIrisTxt">Auto</span></span></td>
</tr>
<tr id="brightnessBarItem">
<td class="normalText"><b><span id="barBrightnessTxt">BRIGHTNESS</span></b></td>
<td class="normalText"> <span id="barBrightnessMinTxt"></span> </td>
<td align="center">
<table cellpadding="0" cellspacing="0" border="0" height="17" width="60%">
<tbody>
<tr>
<td valign="middle">
</td>
<td>
<span id="brightnessbar"><img src="/pics/zoombar_268x14px.gif" width="268" height="14" id="brightness-bg" onmousemove="handleBarMove(this.parentNode, event);" onclick="getPtzPositions();"></span>
</td>
<td>
<input type="hidden" name="brightnessValue" id="brightness" value="">
</td>
</tr>
</tbody>
</table>
</td>
<td class="normalText"> <span id="barBrightnessMaxTxt"></span></td>
</tr>
</tbody>
</table>
<script language="JavaScript">
<!--
try {
var langObjBars = new Language("incl_platoon_ptz", "bars");
langObjBars.init(true, true);
} catch (e) {
delete e;
function Language_backwardcomp() {
this.init = function(whatever) {
var arr = new Array();
arr.push({
tag: "barFocTxt",
text: "FOCUS"
});
arr.push({
tag: "barNearTxt",
text: "Near"
});
arr.push({
tag: "barFarTxt",
text: "Far"
});
arr.push({
tag: "barAutoFocTxt",
text: "Auto"
});
arr.push({
tag: "barIrisTxt",
text: "IRIS"
});
arr.push({
tag: "barCloseTxt",
text: "Close"
});
arr.push({
tag: "barOpenTxt",
text: "Open"
});
arr.push({
tag: "barAutoIrisTxt",
text: "Auto"
});
for (var i = 0; i < arr.length; i++) {
if (document.getElementById(arr[i].tag)) document.getElementById(arr[i].tag).innerHTML = arr[i].text;
}
window.focus();
}
}
var langObjBars = new Language_backwardcomp();
langObjBars.init();
}
-->
</script>
<!-- end of bars.shtml -->
</td>
<td width="5">
<img src="/pics/blank.gif" width="5" height="100%">
</td>
<td width="50%" align="left">
<style type="text/css">
table.ptzctrlbtn {
cursor: pointer;
table-layout: fixed
}
td.ptzctrlbtn_label {
height: 22px;
vertical-align: middle;
text-align: center;
overflow: hidden;
}
</style>
<script language="JavaScript" type="text/javascript">
<!--
var langObjPTZCtrPanelIncl = new Language("incl_platoon_ptz", "ptzctrlpanel_incl");
langObjPTZCtrPanelIncl.init(true, true);
function outputButton(width, btnId, btnText, btnAlt, btnClick, outputEl) {
var div = document.createElement("div");
div.style.width = width + "px";
div.style.height = "14px";
div.style.lineHeight = "12px";
if (btnAlt != "") {
div.alt = btnAlt;
div.title = btnAlt;
}
if (btnId != "") div.id = btnId;
if (btnText != "") div.innerHTML = btnText;
else div.innerHTML = " ";
if (btnText != "" && btnClick != "") {
div.onclick = new Function(btnClick);
if (width == 70) div.className = "normalText panelclick ptzctrlbtn_bg_short";
else if (width == 46) div.className = "normalText panelclick ptzctrlbtn_bg_shorter";
else div.className = "normalText panelclick ptzctrlbtn_bg";
} else {
if (width == 70) div.className = "normalText noclick ptzctrlbtn_bg_short_dimmed";
else if (width == 46) div.className = "normalText noclick ptzctrlbtn_bg_shorter_dimmed";
else div.className = "normalText noclick ptzctrlbtn_bg_dimmed";
}
outputEl.appendChild(div);
}
function updateButtonEnableStatus(btnId, enabled) {
var div = document.getElementById(btnId);
if (div != null) {
if (enabled) {
if (div.className.indexOf(" noclick") != -1 && div.className.indexOf("_dimmed") != -1) {
if (div.style.width == "70px") div.className = "normalText panelclick ptzctrlbtn_bg_short";
else if (div.style.width == "46px") div.className = "normalText panelclick ptzctrlbtn_bg_shorter";
else div.className = "normalText panelclick ptzctrlbtn_bg";
}
} else {
if (div.className.indexOf("noclick") == -1 && div.className.indexOf("_dimmed") == -1) {
if (div.style.width == "70px") div.className = "normalText noclick ptzctrlbtn_bg_short_dimmed";
else if (div.style.width == "46px") div.className = "normalText noclick ptzctrlbtn_bg_shorter_dimmed";
else div.className = "normalText noclick ptzctrlbtn_bg_dimmed";
}
}
}
}
function setBtnClick(btnId, btnClick) {
var div = document.getElementById(btnId);
if (div != null) {
div.onclick = new Function(btnClick);
}
}
//
-->
</script>
<!-- Set default param values for buttons -->
<style type="text/css">
.ptzctrlbtn_label {
height: 22px;
vertical-align: middle;
text-align: center;
overflow: hidden;
}
.ptzctrlbtn_label_dimmed {
color: #666666;
height: 22px;
vertical-align: middle;
text-align: center;
overflow: hidden;
}
.ptzctrlbtn_bg {
height: 16px;
vertical-align: middle;
text-align: center;
overflow: hidden;
background-image: url('/pics/ptzctrlbtn_100x14px.gif');
padding-top: 1;
padding-bottom: 1;
background-position: center;
background-repeat: no-repeat;
}
.ptzctrlbtn_bg_short {
height: 16px;
vertical-align: middle;
text-align: center;
overflow: hidden;
background-image: url('/pics/ptzctrlbtn_70x14px.gif');
padding-top: 1;
padding-bottom: 1;
background-position: center;
background-repeat: no-repeat;
}
.ptzctrlbtn_bg_shorter {
height: 16px;
vertical-align: middle;
text-align: center;
overflow: hidden;
background-image: url('/pics/ptzctrlbtn_46x14px.gif');
padding-top: 1;
padding-bottom: 1;
background-position: center;
background-repeat: no-repeat;
}
.ptzctrlbtn_bg_dimmed {
color: #666666;
height: 16px;
vertical-align: middle;
text-align: center;
overflow: hidden;
background-image: url('/pics/ptzctrlbtn_dis_100x14px.gif');
padding-top: 1;
padding-bottom: 1;
background-position: center;
background-repeat: no-repeat;
}
.ptzctrlbtn_bg_short_dimmed {
color: #666666;
height: 16px;
vertical-align: middle;
text-align: center;
overflow: hidden;
background-image: url('/pics/ptzctrlbtn_dis_70x14px.gif');
padding-top: 1;
padding-bottom: 1;
background-position: center;
background-repeat: no-repeat;
}
.ptzctrlbtn_bg_shorter_dimmed {
color: #666666;
height: 16px;
vertical-align: middle;
text-align: center;
overflow: hidden;
background-image: url('/pics/ptzctrlbtn_dis_46x14px.gif');
padding-top: 1;
padding-bottom: 1;
background-position: center;
background-repeat: no-repeat;
}
.noclick {
cursor: default;
}
.panelclick {
cursor: pointer;
}
td.panelmove {
cursor: move;
}
td.panelframe {
background-color: #cccccc;
font-size: 0;
}
td.paneltitle {
background-color: #cccccc;
}
tr.bottom-border {
font-size: 0;
height: 5px;
}
</style>
<script language="JavaScript">
<!--
var langObjPTZCtrPanelIncl2 = new Language("incl_platoon_ptz", "ptzctrlpanel_incl2");
function outputButton(width, btnId, btnText, btnAlt, btnClick, outputEl) {
var div = document.createElement("div");
div.style.width = width + "px";
div.style.height = "14px";
div.style.lineHeight = "12px";
if (btnAlt != "") {
div.alt = btnAlt;
div.title = btnAlt;
}
if (btnId != "") div.id = btnId;
if (btnText != "") div.innerHTML = btnText;
else div.innerHTML = " ";
if (btnText != "" && btnClick != "") {
div.onclick = new Function(btnClick);
if (width == 70) div.className = "normalText panelclick ptzctrlbtn_bg_short";
else if (width == 46) div.className = "normalText panelclick ptzctrlbtn_bg_shorter";
else div.className = "normalText panelclick ptzctrlbtn_bg";
} else {
if (width == 70) div.className = "normalText noclick ptzctrlbtn_bg_short_dimmed";
else if (width == 46) div.className = "normalText noclick ptzctrlbtn_bg_shorter_dimmed";
else div.className = "normalText noclick ptzctrlbtn_bg_dimmed";
}
outputEl.appendChild(div);
}
function updateButtonEnableStatus(btnId, enabled) {
var div = document.getElementById(btnId);
if (div != null) {
if (enabled) {
if (div.className.indexOf(" noclick") != -1 && div.className.indexOf("_dimmed") != -1) {
if (div.style.width == "70px") div.className = "normalText panelclick ptzctrlbtn_bg_short";
else if (div.style.width == "46px") div.className = "normalText panelclick ptzctrlbtn_bg_shorter";
else div.className = "normalText panelclick ptzctrlbtn_bg";
}
} else {
if (div.className.indexOf("noclick") == -1 && div.className.indexOf("_dimmed") == -1) {
if (div.style.width == "70px") div.className = "normalText noclick ptzctrlbtn_bg_short_dimmed";
else if (div.style.width == "46px") div.className = "normalText noclick ptzctrlbtn_bg_shorter_dimmed";
else div.className = "normalText noclick ptzctrlbtn_bg_dimmed";
}
}
}
}
function setBtnClick(btnId, btnClick) {
var div = document.getElementById(btnId);
if (div != null) {
div.onclick = new Function(btnClick);
}
}
function outputDragDropText() {
var dragDropText = langObjPTZCtrPanelIncl2.getText("ptzCtrPnl2DragDropTxt");
for (var i = 1; i < 16; i++) {
document.getElementById("clickDragDrop" + i).title = dragDropText;
}
}
var dragging = false;
var posX = 0;
var posY = 0;
var diffX = 0;
var diffY = 0;
var panelopen = "no";
var imgNavSup = true;
//--------------------------------------
// Help functions
//--------------------------------------
function changeCursor(id, style) {
var elem = document.getElementById(id);
elem.style.cursor = style;
}
function getMousePos(e) {
if (!e) var e = window.event;
if (e.pageX || e.pageY) {
posX = e.pageX;
posY = e.pageY;
} else if (e.clientX || e.clientY) {
posX = e.clientX + document.body.scrollLeft;
posY = e.clientY + document.body.scrollTop;
}
}
function getPanelLeft() {
pos = 0;
if (document.getElementById) {
pos = document.getElementById('ptzPanelLayer').style.left;
} else if (document.layers) {
pos = document.layers['ptzPanelLayer'].left;
}
n = pos.indexOf("px");
if (n != -1) pos = pos.substring(0, n);
return pos;
}
function getPanelTop() {
pos = 0;
if (document.getElementById) {
pos = document.getElementById('ptzPanelLayer').style.top;
} else if (document.layers) {
pos = document.layers['ptzPanelLayer'].top;
}
n = pos.indexOf("px");
if (n != -1) pos = pos.substring(0, n);
return pos;
}
function getPanelDiff() {
diffX = posX - getPanelLeft();
diffY = posY - getPanelTop();
}
function getParamValueCgi(param, optionParam) {
var responseText;
var now = new Date();
var action = "/axis-cgi/param.cgi?action=list&group=" + param;
if (optionParam) {
action += optionParam;
}
action += "×tamp=" + now.getTime();
var responseText = AxisConnectionFactory.getResponseTextWith(["GET", action, false], null);
return (responseText.indexOf("Error -1") != -1) ? null : responseText.substring(responseText.indexOf("=") + 1).trim();
}
//--------------------------------------
// Function to handle the PTZ panel
//--------------------------------------
function showPTZpanel(show) {
var IEBrowser = isBrowserIE();
if (IEBrowser) {
viewer = "activex";
if (show) {
placeControlPanel();
}
} else {
viewer = "spush";
}
if (show) {
panel_val = "visible";
panelopen = "yes";
} else {
panel_val = "hidden";
panelopen = "no";
}
document.getElementById('ptzPanelLayer').style.visibility = panel_val;
if (show && (!IEBrowser) && (viewer == "spush")) {
document.getElementById('imgNavButtons').style.display = "";
} else if (show && (IEBrowser) && (viewer == "activex")) {
document.getElementById('imgNavButtons').style.display = "none";
} else {
document.getElementById('imgNavButtons').style.display = "none";
}
function placeControlPanel() {
var activeXPlayer = $("#Player");
if (activeXPlayer.length == 0) {
return;
}
var activeXPlayerOffset = activeXPlayer.offset();
var ptzPanelLayer = $("#ptzPanelLayer");
var ptzPanelLayerOffset = ptzPanelLayer.offset();
if (isWithinActiveXElement(getPtzControlPanelCoordinates())) {
ptzPanelLayer.css("top", (activeXPlayerOffset.top + activeXPlayer.height()).toString() + "px");
}
function isWithinActiveXElement(points) {
var xVector = [activeXPlayer.width(), 0];
var yVector = [0, activeXPlayer.height()];
var xScalar = getScalarProduct(xVector, xVector);
var yScalar = getScalarProduct(yVector, yVector);
for (var i = 0; i < points.length; i++) {
var abScalar = getScalarProduct(points[i], xVector);
var adScalar = getScalarProduct(points[i], yVector);
if (((0 < abScalar) && (abScalar < xScalar)) && ((0 < adScalar) && (adScalar < yScalar))) {
return true;
}
};
return false;
function getScalarProduct(vector1, vector2) {
return (vector1[0] * vector2[0]) + (vector1[1] * vector2[1]);
}
}
function getPtzControlPanelCoordinates() {
var pointA = [ptzPanelLayerOffset.left - activeXPlayerOffset.left, ptzPanelLayerOffset.top - activeXPlayerOffset.top];
var pointB = [pointA[0] + ptzPanelLayer.width(), pointA[1]];
var pointC = [pointB[0], pointB[1] + ptzPanelLayer.height()];
var pointD = [pointA[0], pointA[1] + ptzPanelLayer.height()];
return [pointA, pointB, pointC, pointD];
}
}
}
function togglePTZpanel() {
var show = document.getElementById('ptzPanelLayer').style.visibility;
if (show == "visible") {
showPTZpanel(false);
panelopen = "no";
} else {
showPTZpanel(true);
panelopen = "yes";
}
}
function clickPTZpanel(clicked) {
if (dragging) {
dragging = false;
} else {
dragging = true;
getPanelDiff();
}
var name = clicked.className;
var click = "panelclick";
var move = "panelmove";
if (name.indexOf(move) != -1) {
var re = new RegExp(move, "g");
name = name.replace(re, click);
} else {
var re = new RegExp(click, "g");
name = name.replace(re, move);
}
clicked.className = name;
}
function dragPTZpanel(e) {
if (dragging) {
panX = posX - diffX;
panY = posY - diffY;
if (document.getElementById) {
document.getElementById('ptzPanelLayer').style.left = panX + "px";
document.getElementById('ptzPanelLayer').style.top = panY + "px";
} else if (document.layers) {
document.layers['ptzPanelLayer'].left = panX + "px";
document.layers['ptzPanelLayer'].top = panY + "px";
}
}
}
function atMouseMove(e) {
if (!e) var e = window.event;
getMousePos(e);
dragPTZpanel(e);
}
if (document.layers) document.captureEvents(Event.MOUSEMOVE);
document.onmousemove = atMouseMove;
//--------------------------------------
// Change between joystick and center,
// e.g. relative or absolute
//--------------------------------------
function imgNavigation(absolute) {
if (!imgNavSup) return;
var form = document.panelForm;
var relative = "yes";
if (absolute) relative = "no";
// Reload the page with the requested options
var url = document.URL;
if (url.indexOf("?") == -1) url += "?relative=" + relative;
else if (url.indexOf("relative=") == -1) url += "&relative=" + relative;
else {
var searchStr = "relative=";
var replaceStr = "relative=" + relative;
var re = new RegExp(searchStr, "g");
url = url.replace(re, replaceStr);
}
if (url.indexOf("&&") != -1) {
var searchStr = "&&";
var replaceStr = "&";
var re = new RegExp(searchStr, "g");
url = url.replace(re, replaceStr);
}
panelPosition(url);
}
function panelPosition(url) // Keep the panel position at the reload of the page
{
var form = document.panelForm;
if (url.indexOf("?") == -1) url += "?panelopen=" + panelopen;
else if (url.indexOf("panelpos=") == -1) url += "&panelopen=" + panelopen;
else {
var searchStr = "panelopen=";
var replaceStr = "panelopen=" + panelopen;
var re = new RegExp(searchStr, "g");
url = url.replace(re, replaceStr);
}
panelpos = "left:" + getPanelLeft() + "px;top:" + getPanelTop() + "px;";
if (url.indexOf("?") == -1) url += "?panelpos=" + panelpos;
else if (url.indexOf("panelpos=") == -1) url += "&panelpos=" + panelpos;
else {
var searchStr = "panelpos=left:10px; top:10px;";
var replaceStr = "panelpos=" + panelpos;
var re = new RegExp(searchStr, "g");
url = url.replace(re, replaceStr);
}
document.location = url;
}
//
-->
</script>
<div id="ptzPanelLayer" style="position:absolute; visibility:hidden; left:10px; top:10px; z-index:10">
<table bgcolor="white" cellspacing="0" cellpadding="0" border="0">
<!-- Title bar -->
<tbody>
<tr>
<td colspan="2" id="clickDragDrop1" onmousedown="javascript:clickPTZpanel(this);" class="panelclick" background="/pics/gray_corner_lt_5x50px.gif" title="Click to drag/drop"><img height="5" alt=""
src="/pics/blank.gif" width="5" border="0"></td>
<td colspan="1" id="clickDragDrop2" onmousedown="javascript:clickPTZpanel(this);" class="funcText panelclick" background="/pics/gray_t_5x50px.gif" valign="top" align="center" nowrap="" title="Click to drag/drop">
<span id="ptzCtrPnl2CtrlPnlTxt">Control panel</span></td>
<td colspan="2" id="clickDragDrop3" onmousedown="javascript:clickPTZpanel(this);" class="panelclick" background="/pics/gray_corner_rt_5x50px.gif" title="Click to drag/drop"><img height="5" alt=""
src="/pics/blank.gif" width="5" border="0"></td>
</tr>
<!-- Panel -->
<tr>
<td colspan="5" id="clickDragDrop4" onmousedown="javascript:clickPTZpanel(this);" class="panelclick panelframe" title="Click to drag/drop"><img src="/pics/blank.gif" height="1" border="0" alt=""></td>
</tr>
<tr>
<td colspan="1" id="clickDragDrop5" onmousedown="javascript:clickPTZpanel(this)" class="panelclick panelframe" title="Click to drag/drop"><img src="/pics/blank.gif" width="1" border="0" alt=""></td>
<td colspan="3" id="clickDragDrop6" onmousedown="javascript:clickPTZpanel(this)" class="panelclick" title="Click to drag/drop"><img src="/pics/blank.gif" height="6" border="0" alt=""></td>
<td colspan="1" id="clickDragDrop7" onmousedown="javascript:clickPTZpanel(this)" class="panelclick panelframe" title="Click to drag/drop"><img src="/pics/blank.gif" width="1" border="0" alt=""></td>
</tr>
<tr>
<td colspan="1" id="clickDragDrop8" onmousedown="javascript:clickPTZpanel(this)" class="panelclick panelframe" title="Click to drag/drop"><img src="/pics/blank.gif" width="1" border="0" alt=""></td>
<td colspan="1" id="clickDragDrop9" onmousedown="javascript:clickPTZpanel(this)" class="panelclick" title="Click to drag/drop"><img src="/pics/blank.gif" width="4" border="0" alt=""></td>
<td colspan="1" valign="middle" align="left">
<table bgcolor="white" cellspacing="0" cellpadding="2" border="0">
<tbody>
<tr valign="top">
<td colspan="2" rowspan="1">
<table bgcolor="white" cellspacing="0" cellpadding="0" width="114" border="0">
<tbody>
<tr>
<td width="5" background="/pics/gray_corner_lt_5x50px.gif" colspan="2"><img height="5" alt="" src="/pics/blank.gif" width="5" border="0"></td>
<td class="funcText" valign="top" align="center" width="100%" background="/pics/gray_t_5x50px.gif" nowrap=""><span id="ptzCtrPnl2AuFocTxt">Auto focus</span></td>
<td width="5" background="/pics/gray_corner_rt_5x50px.gif" colspan="2"><img height="5" alt="" src="/pics/blank.gif" width="5" border="0"></td>
</tr>
<tr>
<td class="lineBg" width="1"><img height="5" alt="" src="/pics/blank.gif" width="1"></td>
<td width="4"><img height="5" alt="" src="/pics/blank.gif" width="4"></td>
<td valign="center" align="middle" width="100%">
<table cellspacing="2" cellpadding="0" border="0">
<tbody>
<tr>
<td id="autoFocOn">
<div title="Adjust focus automatically" class="normalText panelclick ptzctrlbtn_bg_short" style="width: 70px; height: 14px; line-height: 12px;">On</div>
</td>
<td id="autoFocOff">
<div title="Adjust focus manually" class="normalText panelclick ptzctrlbtn_bg_short" style="width: 70px; height: 14px; line-height: 12px;">Off</div>
</td>
</tr>
</tbody>
</table>
</td>
<td width="4"><img height="5" alt="" src="/pics/blank.gif" width="4"></td>
<td class="lineBg" width="1"><img height="5" alt="" src="/pics/blank.gif" width="1"></td>
</tr>
<tr class="bottom-border">
<td width="5" colspan="2" height="5"><img height="5" alt="" src="/pics/line_corner_lb_5x5px.gif" width="5" border="0"></td>
<td width="100%" background="/pics/line_b_100x5px.gif" height="5"><img height="5" alt="" src="/pics/blank.gif" width="1"></td>
<td width="5" colspan="2" height="5"><img height="5" alt="" src="/pics/line_corner_rb_5x5px.gif" width="5" border="0"></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<script language="JavaScript">
<!--
outputButton(70, "", langObjPTZCtrPanelIncl2.getText("ptzCtrPnl2OnTxt"), langObjPTZCtrPanelIncl2.getText("ptzCtrPnl2AFocInfoTxt"), "javascript:ptzctrlpanel(this, '/axis-cgi/com/ptz.cgi?camera=1&autofocus=on')",
document.getElementById("autoFocOn"));
outputButton(70, "", langObjPTZCtrPanelIncl2.getText("ptzCtrPnl2OffTxt"), langObjPTZCtrPanelIncl2.getText("ptzCtrPnl2MFocInfoTxt"), "javascript:ptzctrlpanel(this, '/axis-cgi/com/ptz.cgi?camera=1&autofocus=off')",
document.getElementById("autoFocOff"));
//
-->
</script>
<table bgcolor="white" cellspacing="0" cellpadding="2" border="0">
<tbody>
<tr valign="top">
<td colspan="2" rowspan="1">
<table bgcolor="white" cellspacing="0" cellpadding="0" width="114" border="0">
<tbody>
<tr>
<td width="5" background="/pics/gray_corner_lt_5x50px.gif" colspan="2"><img height="5" alt="" src="/pics/blank.gif" width="5" border="0"></td>
<td class="funcText" valign="top" align="center" width="100%" background="/pics/gray_t_5x50px.gif" nowrap=""><span id="ptzCtrPnl2AuIrisTxt">Auto iris</span></td>
<td width="5" background="/pics/gray_corner_rt_5x50px.gif" colspan="2"><img height="5" alt="" src="/pics/blank.gif" width="5" border="0"></td>
</tr>
<tr>
<td class="lineBg" width="1"><img height="5" alt="" src="/pics/blank.gif" width="1"></td>
<td width="4"><img height="5" alt="" src="/pics/blank.gif" width="4"></td>
<td valign="center" align="middle" width="100%">
<table cellspacing="2" cellpadding="0" border="0">
<tbody>
<tr>
<td id="autoIrisOn">
<div title="Adjust iris automatically" class="normalText panelclick ptzctrlbtn_bg_short" style="width: 70px; height: 14px; line-height: 12px;">On</div>
</td>
<td id="autoIrisOff">
<div title="Adjust iris manually" class="normalText panelclick ptzctrlbtn_bg_short" style="width: 70px; height: 14px; line-height: 12px;">Off</div>
</td>
</tr>
</tbody>
</table>
</td>
<td width="4"><img height="5" alt="" src="/pics/blank.gif" width="4"></td>
<td class="lineBg" width="1"><img height="5" alt="" src="/pics/blank.gif" width="1"></td>
</tr>
<tr class="bottom-border">
<td width="5" colspan="2" height="5"><img height="5" alt="" src="/pics/line_corner_lb_5x5px.gif" width="5" border="0"></td>
<td width="100%" background="/pics/line_b_100x5px.gif" height="5"><img height="5" alt="" src="/pics/blank.gif" width="1"></td>
<td width="5" colspan="2" height="5"><img height="5" alt="" src="/pics/line_corner_rb_5x5px.gif" width="5" border="0"></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<script language="JavaScript">
<!--
outputButton(70, "", langObjPTZCtrPanelIncl2.getText("ptzCtrPnl2OnTxt"), langObjPTZCtrPanelIncl2.getText("ptzCtrPnl2AIrisInfoTxt"), "javascript:ptzctrlpanel(this, '/axis-cgi/com/ptz.cgi?camera=1&autoiris=on')",
document.getElementById("autoIrisOn"));
outputButton(70, "", langObjPTZCtrPanelIncl2.getText("ptzCtrPnl2OffTxt"), langObjPTZCtrPanelIncl2.getText("ptzCtrPnl2MIrisInfoTxt"), "javascript:ptzctrlpanel(this, '/axis-cgi/com/ptz.cgi?camera=1&autoiris=off')",
document.getElementById("autoIrisOff"));
//
-->
</script>
<table bgcolor="white" cellspacing="0" cellpadding="2" border="0">
<tbody>
<tr valign="top">
<td colspan="2" rowspan="1">
<table bgcolor="white" cellspacing="0" cellpadding="0" width="114" border="0">
<tbody>
<tr>
<td width="5" background="/pics/gray_corner_lt_5x50px.gif" colspan="2"><img height="5" alt="" src="/pics/blank.gif" width="5" border="0"></td>
<td class="funcText" valign="top" align="center" width="100%" background="/pics/gray_t_5x50px.gif" nowrap=""><span id="ptzCtrPnl2BaLiTxt">Backlight comp</span></td>
<td width="5" background="/pics/gray_corner_rt_5x50px.gif" colspan="2"><img height="5" alt="" src="/pics/blank.gif" width="5" border="0"></td>
</tr>
<tr>
<td class="lineBg" width="1"><img height="5" alt="" src="/pics/blank.gif" width="1"></td>
<td width="4"><img height="5" alt="" src="/pics/blank.gif" width="4"></td>
<td valign="center" align="middle" width="100%">
<table cellspacing="2" cellpadding="0" border="0">
<tbody>
<tr>
<td id="backlightOn">
<div title="Back Light Compensation on (bright)" class="normalText panelclick ptzctrlbtn_bg_short" style="width: 70px; height: 14px; line-height: 12px;">On</div>
</td>
<td id="backlightOff">
<div title="Back Light Compensation off (normal)" class="normalText panelclick ptzctrlbtn_bg_short" style="width: 70px; height: 14px; line-height: 12px;">Off</div>
</td>
</tr>
</tbody>
</table>
</td>
<td width="4"><img height="5" alt="" src="/pics/blank.gif" width="4"></td>
<td class="lineBg" width="1"><img height="5" alt="" src="/pics/blank.gif" width="1"></td>
</tr>
<tr class="bottom-border">
<td width="5" colspan="2" height="5"><img height="5" alt="" src="/pics/line_corner_lb_5x5px.gif" width="5" border="0"></td>
<td width="100%" background="/pics/line_b_100x5px.gif" height="5"><img height="5" alt="" src="/pics/blank.gif" width="1"></td>
<td width="5" colspan="2" height="5"><img height="5" alt="" src="/pics/line_corner_rb_5x5px.gif" width="5" border="0"></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<script language="JavaScript">
<!--
outputButton(70, "", langObjPTZCtrPanelIncl2.getText("ptzCtrPnl2OnTxt"), langObjPTZCtrPanelIncl2.getText("ptzCtrPnl2BLOnInfoTxt"), "javascript:ptzctrlpanel(this, '/axis-cgi/com/ptz.cgi?camera=1&backlight=on')",
document.getElementById("backlightOn"));
outputButton(70, "", langObjPTZCtrPanelIncl2.getText("ptzCtrPnl2OffTxt"), langObjPTZCtrPanelIncl2.getText("ptzCtrPnl2BLOffInfoTxt"),
"javascript:ptzctrlpanel(this, '/axis-cgi/com/ptz.cgi?camera=1&backlight=off')", document.getElementById("backlightOff"));
//
-->
</script>
<div id="imgNavButtons" style="display:none;">
<table bgcolor="white" cellspacing="0" cellpadding="2" border="0">
<tbody>
<tr valign="top">
<td colspan="2" rowspan="1">
<table bgcolor="white" cellspacing="0" cellpadding="0" width="114" border="0">
<tbody>
<tr>
<td width="5" background="/pics/gray_corner_lt_5x50px.gif" colspan="2"><img height="5" alt="" src="/pics/blank.gif" width="5" border="0"></td>
<td class="funcText" valign="top" align="center" width="100%" background="/pics/gray_t_5x50px.gif" nowrap=""><span id="ptzCtrPnl2NavMode1Txt">Navigation mode</span></td>
<td width="5" background="/pics/gray_corner_rt_5x50px.gif" colspan="2"><img height="5" alt="" src="/pics/blank.gif" width="5" border="0"></td>
</tr>
<tr>
<td class="lineBg" width="1"><img height="5" alt="" src="/pics/blank.gif" width="1"></td>
<td width="4"><img height="5" alt="" src="/pics/blank.gif" width="4"></td>
<td valign="center" align="middle" width="100%">
<table cellspacing="2" cellpadding="0" border="0">
<tbody>
<tr>
<td id="navMode1Abs">
<div title="Center camera (absolute)" class="normalText panelclick ptzctrlbtn_bg_short" style="width: 70px; height: 14px; line-height: 12px;">Center</div>
</td>
<td id="navMode1Rel">
<div title="Joystick control (relative)" class="normalText panelclick ptzctrlbtn_bg_short" style="width: 70px; height: 14px; line-height: 12px;">Joystick</div>
</td>
</tr>
</tbody>
</table>
</td>
<td width="4"><img height="5" alt="" src="/pics/blank.gif" width="4"></td>
<td class="lineBg" width="1"><img height="5" alt="" src="/pics/blank.gif" width="1"></td>
</tr>
<tr class="bottom-border">
<td width="5" colspan="2" height="5"><img height="5" alt="" src="/pics/line_corner_lb_5x5px.gif" width="5" border="0"></td>
<td width="100%" background="/pics/line_b_100x5px.gif" height="5"><img height="5" alt="" src="/pics/blank.gif" width="1"></td>
<td width="5" colspan="2" height="5"><img height="5" alt="" src="/pics/line_corner_rb_5x5px.gif" width="5" border="0"></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<script language="JavaScript">
<!--
outputButton(70, "", langObjPTZCtrPanelIncl2.getText("ptzCtrPnl2AbsTxt"), langObjPTZCtrPanelIncl2.getText("ptzCtrPnl2AbsInfoTxt"), "javascript:imgNavigation(true)", document.getElementById("navMode1Abs"));
outputButton(70, "", langObjPTZCtrPanelIncl2.getText("ptzCtrPnl2RelTxt"), langObjPTZCtrPanelIncl2.getText("ptzCtrPnl2RelInfoTxt"), "javascript:imgNavigation(false)", document.getElementById("navMode1Rel"));
//
-->
</script>
</div>
<table bgcolor="white" cellspacing="0" cellpadding="2" border="0">
<tbody>
<tr valign="top">
<td colspan="2" rowspan="1">
<table bgcolor="white" cellspacing="0" cellpadding="0" width="114" border="0">
<tbody>
<tr>
<td width="5" background="/pics/gray_corner_lt_5x50px.gif" colspan="2"><img height="5" alt="" src="/pics/blank.gif" width="5" border="0"></td>
<td class="funcText" valign="top" align="center" width="100%" background="/pics/gray_t_5x50px.gif" nowrap=""><span id="ptzCtrPnl2IrCutTxt">IR cut filter</span></td>
<td width="5" background="/pics/gray_corner_rt_5x50px.gif" colspan="2"><img height="5" alt="" src="/pics/blank.gif" width="5" border="0"></td>
</tr>
<tr>
<td class="lineBg" width="1"><img height="5" alt="" src="/pics/blank.gif" width="1"></td>
<td width="4"><img height="5" alt="" src="/pics/blank.gif" width="4"></td>
<td valign="center" align="middle" width="100%">
<table cellspacing="2" cellpadding="0" border="0">
<tbody>
<tr>
<td id="irCutOn">
<div title="Filter on (day)" class="normalText panelclick ptzctrlbtn_bg_shorter" style="width: 46px; height: 14px; line-height: 12px;">On</div>
</td>
<td id="irCutOff">
<div title="Filter off (night)" class="normalText panelclick ptzctrlbtn_bg_shorter" style="width: 46px; height: 14px; line-height: 12px;">Off</div>
</td>
<td id="irCutAuto">
<div title="Adjust filter automatically" class="normalText panelclick ptzctrlbtn_bg_shorter" style="width: 46px; height: 14px; line-height: 12px;">Auto</div>
</td>
</tr>
</tbody>
</table>
</td>
<td width="4"><img height="5" alt="" src="/pics/blank.gif" width="4"></td>
<td class="lineBg" width="1"><img height="5" alt="" src="/pics/blank.gif" width="1"></td>
</tr>
<tr class="bottom-border">
<td width="5" colspan="2" height="5"><img height="5" alt="" src="/pics/line_corner_lb_5x5px.gif" width="5" border="0"></td>
<td width="100%" background="/pics/line_b_100x5px.gif" height="5"><img height="5" alt="" src="/pics/blank.gif" width="1"></td>
<td width="5" colspan="2" height="5"><img height="5" alt="" src="/pics/line_corner_rb_5x5px.gif" width="5" border="0"></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<script language="JavaScript">
<!--
var width = 46;
outputButton(width, "", langObjPTZCtrPanelIncl2.getText("ptzCtrPnl2OnTxt"), langObjPTZCtrPanelIncl2.getText("ptzCtrPnl2IrcOnInfoTxt"),
"javascript:ptzctrlpanel(this, '/axis-cgi/com/ptz.cgi?camera=1&ircutfilter=on')", document.getElementById("irCutOn"));
outputButton(width, "", langObjPTZCtrPanelIncl2.getText("ptzCtrPnl2OffTxt"), langObjPTZCtrPanelIncl2.getText("ptzCtrPnl2IrcOffInfoTxt"),
"javascript:ptzctrlpanel(this, '/axis-cgi/com/ptz.cgi?camera=1&ircutfilter=off')", document.getElementById("irCutOff"));
outputButton(width, "", langObjPTZCtrPanelIncl2.getText("ptzCtrPnl2AutoTxt"), langObjPTZCtrPanelIncl2.getText("ptzCtrPnl2IrcAutInfoTxt"),
"javascript:ptzctrlpanel(this, '/axis-cgi/com/ptz.cgi?camera=1&ircutfilter=auto')", document.getElementById("irCutAuto"));
//
-->
</script>
<table bgcolor="white" cellspacing="0" cellpadding="2" border="0">
<tbody>
<tr valign="top">
<td colspan="2" rowspan="1">
<table bgcolor="white" cellspacing="0" cellpadding="0" width="114" border="0">
<tbody>
<tr>
<td width="5" background="/pics/gray_corner_lt_5x50px.gif" colspan="2"><img height="5" alt="" src="/pics/blank.gif" width="5" border="0"></td>
<td class="funcText" valign="top" align="center" width="100%" background="/pics/gray_t_5x50px.gif" nowrap=""><span id="ptzCtrPnl2BrightTxt">Brightness</span></td>
<td width="5" background="/pics/gray_corner_rt_5x50px.gif" colspan="2"><img height="5" alt="" src="/pics/blank.gif" width="5" border="0"></td>
</tr>
<tr>
<td class="lineBg" width="1"><img height="5" alt="" src="/pics/blank.gif" width="1"></td>
<td width="4"><img height="5" alt="" src="/pics/blank.gif" width="4"></td>
<td valign="center" align="middle" width="100%">
<table cellspacing="2" cellpadding="0" border="0">
<tbody>
<tr>
<td id="brightPlus">
<div title="Increase brightness" class="normalText panelclick ptzctrlbtn_bg_shorter" style="width: 46px; height: 14px; line-height: 12px;">+</div>
</td>
<td id="brightMinus">
<div title="Decrease brightness" class="normalText panelclick ptzctrlbtn_bg_shorter" style="width: 46px; height: 14px; line-height: 12px;">-</div>
</td>
<td id="brightReset">
<div title="Reset brightness to latest saved value" class="normalText panelclick ptzctrlbtn_bg_shorter" style="width: 46px; height: 14px; line-height: 12px;">Reset</div>
</td>
</tr>
</tbody>
</table>
</td>
<td width="4"><img height="5" alt="" src="/pics/blank.gif" width="4"></td>
<td class="lineBg" width="1"><img height="5" alt="" src="/pics/blank.gif" width="1"></td>
</tr>
<tr class="bottom-border">
<td width="5" colspan="2" height="5"><img height="5" alt="" src="/pics/line_corner_lb_5x5px.gif" width="5" border="0"></td>
<td width="100%" background="/pics/line_b_100x5px.gif" height="5"><img height="5" alt="" src="/pics/blank.gif" width="1"></td>
<td width="5" colspan="2" height="5"><img height="5" alt="" src="/pics/line_corner_rb_5x5px.gif" width="5" border="0"></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<script language="JavaScript">
<!--
var width = 46;
var defaultBrightness;
var brightnessValue = getParamValueCgi("root.ImageSource.I0.Sensor.Brightness", "&usergroup=anonymous");
if (brightnessValue) {
defaultBrightness = brightnessValue + "00";
if (defaultBrightness == "10000") {
defaultBrightness = "9999";
}
} else {
defaultBrightness = "5000";
}
outputButton(width, "", "+", langObjPTZCtrPanelIncl2.getText("ptzCtrPnl2BriIncInfoTxt"), "javascript:ptzctrlpanel(this, '/axis-cgi/com/ptz.cgi?camera=1&rbrightness=+500')", document.getElementById("brightPlus"));
outputButton(width, "", "-", langObjPTZCtrPanelIncl2.getText("ptzCtrPnl2BriDecInfoTxt"), "javascript:ptzctrlpanel(this, '/axis-cgi/com/ptz.cgi?camera=1&rbrightness=-500')", document.getElementById(
"brightMinus"));
outputButton(width, "", langObjPTZCtrPanelIncl2.getText("ptzCtrPnl2ResetTxt"), langObjPTZCtrPanelIncl2.getText("ptzCtrPnl2BriResInfoTxt"),
"javascript:ptzctrlpanel(this, '/axis-cgi/com/ptz.cgi?camera=1&brightness=' + defaultBrightness)", document.getElementById("brightReset"));
//
-->
</script>
<table bgcolor="white" cellspacing="0" cellpadding="2" border="0" width="100%">
<tbody>
<tr>
<td id="closeBtn" colspan="2" align="center">
<div title="Close PTZ control panel" class="normalText panelclick ptzctrlbtn_bg" style="width: 100px; height: 14px; line-height: 12px;">Close panel</div>
</td>
</tr>
</tbody>
</table>
<script language="JavaScript">
<!--
outputButton(100, "", langObjPTZCtrPanelIncl2.getText("ptzCtrPnl2CloseTxt"), langObjPTZCtrPanelIncl2.getText("ptzCtrPnl2CloseInfoTxt"), "javascript:showPTZpanel(false)", document.getElementById("closeBtn"));
//
-->
</script>
</td>
<td colspan="1" id="clickDragDrop10" onmousedown="javascript:clickPTZpanel(this)" class="panelclick" title="Click to drag/drop"><img src="/pics/blank.gif" width="4" border="0" alt=""></td>
<td colspan="1" id="clickDragDrop11" onmousedown="javascript:clickPTZpanel(this)" class="panelclick panelframe" title="Click to drag/drop"><img src="/pics/blank.gif" width="1" border="0" alt=""></td>
</tr>
<tr>
<td colspan="1" id="clickDragDrop12" onmousedown="javascript:clickPTZpanel(this)" class="panelclick panelframe" title="Click to drag/drop"><img src="/pics/blank.gif" width="1" border="0" alt=""></td>
<td colspan="3" id="clickDragDrop13" onmousedown="javascript:clickPTZpanel(this)" class="panelclick" title="Click to drag/drop"><img src="/pics/blank.gif" height="2" border="0" alt=""></td>
<td colspan="1" id="clickDragDrop14" onmousedown="javascript:clickPTZpanel(this)" class="panelclick panelframe" title="Click to drag/drop"><img src="/pics/blank.gif" width="1" border="0" alt=""></td>
</tr>
<tr>
<td colspan="5" id="clickDragDrop15" onmousedown="javascript:clickPTZpanel(this)" class="panelclick panelframe" title="Click to drag/drop"><img src="/pics/blank.gif" height="1" border="0" alt=""></td>
</tr>
</tbody>
</table>
</div>
<script language="JavaScript">
<!--
langObjPTZCtrPanelIncl2.init(true, true);
outputDragDropText();
showPTZpanel(false);
//
-->
</script>
<table cellpadding="0" cellspacing="2" border="0">
<tbody>
<tr>
<td id="backLightOrHome">
<div title="Go to Home position" class="normalText panelclick ptzctrlbtn_bg" style="width: 100px; height: 14px; line-height: 12px;">Home</div>
</td>
<script language="JavaScript">
<!--
var text = "";
var alt = "";
var click = "";
text = langObjPTZCtrPanelIncl.getText("ptzCtrPnlHome1Txt");
alt = langObjPTZCtrPanelIncl.getText("ptzCtrPnlHomeInfoTxt");
click = "javascript:ptzctrlpanel(this, '/axis-cgi/com/ptz.cgi?camera=1&move=home')";
outputButton(100, "", text, alt, click, document.getElementById("backLightOrHome"));
//
-->
</script>
</tr>
<tr>
<td id="backLightOrPTZPnl">
<div title="Open/close PTZ control panel" class="normalText panelclick ptzctrlbtn_bg" style="width: 100px; height: 14px; line-height: 12px;">Ctrl panel</div>
</td>
<script language="JavaScript">
<!--
var text = "";
var alt = "";
var click = "";
text = langObjPTZCtrPanelIncl.getText("ptzCtrPnlPcbLabelTxt");
alt = langObjPTZCtrPanelIncl.getText("ptzCtrPnlPcbInfoTxt");
click = "javascript:togglePTZpanel()";
outputButton(100, "", text, alt, click, document.getElementById("backLightOrPTZPnl"));
//
-->
</script>
</tr>
<tr>
<td id="autoTrack">
<div class="normalText noclick ptzctrlbtn_bg_dimmed" style="width: 100px; height: 14px; line-height: 12px;"> </div>
</td>
<script language="JavaScript">
<!--
var id = "";
var alt = "";
var click = "";
outputButton(100, id, "", alt, click, document.getElementById("autoTrack"));
//
-->
</script>
</tr>
<tr>
<td id="hideIris">
<div class="normalText noclick ptzctrlbtn_bg_dimmed" style="width: 100px; height: 14px; line-height: 12px;"> </div>
</td>
<script language="JavaScript">
<!--
outputButton(100, "", "", "", "", document.getElementById("hideIris"));
//
-->
</script>
</tr>
</tbody>
</table>
<script language="JavaScript" type="text/javascript">
<!--
var langObjPTZCtrPanelIncl = new Language("incl_platoon_ptz", "ptzctrlpanel_incl");
langObjPTZCtrPanelIncl.init(true, true);
var langObjPTZButtonIncl = new Language("incl_platoon_ptz", "ptzctrlbtn_incl");
langObjPTZButtonIncl.init(true, true);
var requestDA;
function sendDomainAction(action, method) {
try {
if (typeof(XDomainRequest) == "function" && action.charAt(0) != "/") {
requestDA = new XDomainRequest();
} else {
requestDA = AxisConnectionFactory.createAjaxConnection();
}
AxisConnectionFactory.sendAsync([method, action], "", null, requestDA);
} catch (e) {
delete e;
}
}
function ptzctrlpanel(obj, url) {
if (url.indexOf("link:") == 0) {
url = url.replace(/link:/, '');
document.open(url);
} else {
if (url.indexOf("auxiliary:") == 0) {
url = url.replace(/auxiliary:/, '/axis-cgi/com/ptz.cgi?camera=1&auxiliary=');
}
sendDomainAction(url, "GET");
}
}
//
-->
</script>
</td>
<td width="1"><img src="/pics/blank.gif" width="1" height="1" border="0" alt=""></td>
<td width="4"><img src="/pics/blank.gif" width="4" height="1" border="0" alt=""></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<style type="text/css">
.dragbox {
position: absolute;
border: red 2px ridge;
background-color: transparent;
z-index: 500;
}
</style>
<script type="text/javascript" src="/incl/slider.js"></script>
<script type="text/javascript" src="/incl/tooltip.js"></script>
<script language="JavaScript">
<!--
try {
var langObjPTZIncl = new Language("incl_platoon_ptz", "ptz_incl");
langObjPTZIncl.init(false, true);
} catch (e) {
delete e;
function Language_backwardcomp() {
this.init = function(whatever) {
window.focus();
}
this.getText = function(id) {
var arr = new Array();
arr["ptzInclPanToDegTxt"] = "Pan to [#]°";
arr["ptzInclXZoomTxt"] = "[#]x zoom";
arr["ptzInclXDZoomTxt"] = "[#]x D zoom";
arr["ptzInclXODZoomTxt"] = "[#]x ([#D]x D) zoom";
arr["ptzInclZoomOutTxt"] = "Zoom out";
arr["ptzInclZoomInTxt"] = "Zoom in";
arr["ptzInclFocNeTxt"] = "Focus near [#]%";
arr["ptzInclFocFaTxt"] = "Focus far [#]%";
arr["ptzInclsetFocToTxt"] = "Set focus to [#]%";
arr["ptzInclClIrisTxt"] = "Close iris [#]%";
arr["ptzInclOpIrisTxt"] = "Open iris [#]%";
arr["ptzInclSetIrisTxt"] = "Set iris to [#]%";
arr["ptzInclTiDownDegTxt"] = "Tilt down [#]°";
arr["ptzInclTiUpDegTxt"] = "Tilt up [#]°";
arr["ptzInclTiDownToDegTxt"] = "Tilt down to [#]°";
arr["ptzInclTiUpToDegTxt"] = "Tilt up to [#]°";
if (arr[id] != null) return arr[id];
return "";
}
}
var langObjPTZIncl = new Language_backwardcomp();
}
var undefinedVar; //Workaround for IE5
var img = undefinedVar; // The video stream image object
var cross = undefinedVar; // The crosshair image object
var siPos;
var thedragbox;
var thedragarea;
if (browser != "IE") var boxdef = new Box(0, 0, 10, 10);
var radius;
var mode = "center";
var imagerotation = "";
imagerotation = "0"; //root_Image_I#_Appearance_Rotation
var ptzDefContSpeedPan = 100;
var ptzDefContSpeedTilt = 100;
var ptzDefSpeedList = [
[1, 0.05],
[5, 0.10],
[10, 0.50],
[13, 1.00],
[16, 2.00],
[22, 5.00],
[28, 10.00],
[35, 20.00],
[46, 45.00],
[58, 90.00],
[67, 135.00],
[74, 180.00],
[93, 360.00],
[100, 450.00],
];
var ptzDefMaxOpticalZoomMag = 32;
var ptzDefMaxDigitalZoomMag = 12;
var ptzDefContSpeedZoom = 100;
var ptzDefContSpeedFocus = 20;
var ptzDefContSpeedIris = Number.NaN;
var ptzDefQueryInterval = 300;
var ptzDefMinFocusList = [
[1, 10],
[2, 30],
[3, 100],
[4, 150],
[5, 300],
[6, 500],
];
var ptzDefMaxZoomList = [
[323, 2],
[646, 3],
[968, 4],
[1291, 5],
[1613, 6],
[1936, 7],
[2258, 8],
[2581, 9],
[2903, 10],
[3226, 11],
[3548, 12],
[3871, 13],
[4193, 14],
[4516, 15],
[4838, 16],
[5161, 17],
[5483, 18],
[5806, 19],
[6128, 20],
[6451, 21],
[6773, 22],
[7096, 23],
[7418, 24],
[7741, 25],
[8063, 26],
[8386, 27],
[8708, 28],
[9031, 29],
[9353, 30],
[9676, 31],
[9999, 32],
[10909, 64],
[12727, 128],
[14545, 192],
[16363, 256],
[18181, 320],
[19999, 384],
];
var position_interval = ((typeof(ptzDefQueryInterval) != "number" || isNaN(ptzDefQueryInterval)) ? 1000 : ptzDefQueryInterval);
function noAction(event) {
return true;
}
function init() {
if ((browser != "IE") && (("/mjpg/video.mjpg".indexOf("/mjpg/") != -1) || (document.URL.indexOf("/view/view.shtml") == -1))) {
img = document.getElementById("stream");
cross = document.getElementById("crosshair");
switchMode();
// Center crosshair
var si = document.getElementById("stream");
var ch = document.getElementById("crosshair");
siPos = getPos(si);
ch.style.left = (si.width - ch.width) / 2 + siPos.x;
ch.style.top = (si.height - ch.height) / 2 + siPos.y;
thedragbox = document.getElementById("zoombox");
if (thedragbox != null) thedragbox.style.visibility = 'hidden';
if (mode == "center") {
thedragarea = document.getElementById("stream");
thedragarea.onmousedown = placeHandler;
thedragarea.onmouseup = noAction;
thedragarea.onmousemove = noAction;
cross.onmousedown = placeHandler;
}
}
}
if (browser !== "IE" && mode === "center" && typeof AXIS !== "undefined" && typeof AXIS.CustomEventUtil !== "undefined") {
(function() {
function disableDragging() {
thedragarea.onmousedown = noAction;
thedragarea.onmouseup = noAction;
thedragarea.onmousemove = noAction;
cross.onmousedown = noAction;
}
function enableDragging() {
thedragarea.onmousedown = placeHandler;
thedragarea.onmouseup = noAction;
thedragarea.onmousemove = noAction;
cross.onmousedown = placeHandler;
}
AXIS.CustomEventUtil.subscribe("areaZoom:disable", disableDragging);
AXIS.CustomEventUtil.subscribe("areaZoom:enable", enableDragging);
})();
}
function switchMode() {
var ptzmode;
if (!img) return;
img.onmousedown = undefinedVar;
img.onmouseup = undefinedVar;
img.onmousemove = undefinedVar;
img.style.cursor = "crosshair";
cross.onmousedown = undefinedVar;
cross.onmouseup = undefinedVar;
cross.onmousemove = undefinedVar;
cross.style.cursor = "crosshair";
if (mode == "joystick") {
cross.style.visibility = '';
} else {
cross.style.visibility = 'hidden';
}
if (mode == "center") {
ptzmode = "center";
} else if (mode == "joystick") {
ptzmode = "joystick";
img.onmousedown = ptzJoystick_start;
cross.onmousedown = ptzJoystick_start;
} else {
ptzmode = "off";
}
}
var ptzCommand_stop = false;
function ptzJoystick_start(event) {
img.onmousemove = ptzJoystick;
img.onmouseup = ptzStop;
img.onmouseout = ptzStop;
window.onblur = ptzStop;
cross.onmousemove = ptzJoystick;
cross.onmouseup = ptzStop;
document.onmouseup = ptzStop;
ptzCommand_stop = false;
ptzJoystick(event);
return false;
}
function ptzJoystick(event) {
var mousePos = getMousePosition(event);
var imgPos = getPos(img);
mousePos.x -= imgPos.x;
mousePos.y -= imgPos.y;
var pspeed = 100 * (mousePos.x * 2 - imgPos.w) / imgPos.w;
var tspeed = -100 * (mousePos.y * 2 - imgPos.h) / imgPos.h;
var cmd = "continuouspantiltmove=" + Math.floor(pspeed) + "," + Math.floor(tspeed);
ptzCommand(cmd);
return false; // Returning false prevents image drag'n'drop behaviour in mozilla.
}
function ptzStop(event) {
if (event.relatedTarget && event.relatedTarget === document.getElementById('crosshair')) {
return;
}
img.onmouseup = undefinedVar;
img.onmousemove = undefinedVar;
img.onmouseout = undefinedVar;
cross.onmouseup = undefinedVar;
cross.onmousemove = undefinedVar;
document.onmouseup = undefinedVar;
var cmd = "continuouspantiltmove=0,0";
ptzCommand_stop = true;
ptzCommand(cmd, true);
return false;
}
var ptzRequest = AxisConnectionFactory.createAjaxConnection();
ptzRequest.setOverrideMimeType('text/plain');
var theCameraNumber = "";
var ptzCommand_queue = false;
function ptzCommand(cmdstring, que) {
if (ptzRequest.getReadyState() > 0 && ptzRequest.getReadyState() < 4) {
if (que) {
ptzCommand_queue = cmdstring;
}
return false;
}
if (theCameraNumber == "") theCameraNumber = "1";
var now = new Date();
var ptzUrl = "/axis-cgi/com/ptz.cgi?camera=" + theCameraNumber + "&";
ptzUrl += cmdstring;
if (imagerotation != "") ptzUrl += "&imagerotation=" + imagerotation;
ptzUrl += "×tamp=" + now.getTime();
AxisConnectionFactory.sendAsync(["GET", ptzUrl], null, ptzCommand_onreadystatechange, ptzRequest);
}
function ptzCommand_onreadystatechange() {
try {
if (ptzRequest.getStatus() == 401) {
return;
}
} catch (e) {}
if (typeof(ptzRequest) == 'object' && ptzRequest.getReadyState() == 4) {
var responseText = ptzRequest.getResponseText();
if (!ptzCommand_stop && responseText.length > 0) {
var alertTxt;
if (responseText.indexOf("Control is not possessed - request put in control queue.") >= 0) {
alertTxt = langObjPTZIncl.getText("ptzInclContrlPossessTxt");
} else {
alertTxt = responseText.replace(/<.*>/ig, "").trim();
}
var panEnabled = true;
var tiltEnabled = true;
if (!((alertTxt.indexOf('pan') != -1 && !panEnabled) || (alertTxt.indexOf('tilt') != -1 && !tiltEnabled))) alert(alertTxt);
}
if (ptzCommand_queue) {
var cmdstring = ptzCommand_queue;
ptzCommand_queue = false;
ptzCommand(cmdstring);
}
if (typeof AXIS !== "undefined" && typeof AXIS.CustomEventUtil !== "undefined") {
AXIS.CustomEventUtil.publish("PTZ:viewChanged");
}
}
}
function selectVideoOrPtz(selection) {
if (selection == "video") {
document.getElementById("videoselection").className = "selectedTab";
if (document.getElementById("ptzselection")) document.getElementById("ptzselection").className = "unselectedTab";
document.getElementById("videoItems").className = "shownItems";
document.getElementById("ptzItems").className = "collapsed";
} else {
document.getElementById("videoselection").className = "unselectedTab";
if (document.getElementById("ptzselection")) document.getElementById("ptzselection").className = "selectedTab";
document.getElementById("videoItems").className = "collapsed";
document.getElementById("ptzItems").className = "shownItems";
}
}
function setPtzMode() {
if (document.getElementById("ptzModeSelector").selectedIndex == 1) {
imgNavigation(false);
} else if (document.getElementById("ptzModeSelector").selectedIndex == 2) {
centermodeNavigation(true);
} else {
imgNavigation(true);
}
}
function placeHandler(event) {
if (!event) event = window.event;
var mpos = getMousePosition(event);
thedragbox.onmousemove = dragHandler;
thedragbox.onmouseup = stopDragging;
thedragarea.onmousemove = dragHandler;
thedragarea.onmouseup = stopDragging;
cross.onmouseup = stopDragging;
thedragbox.style.width = boxdef.w;
thedragbox.style.height = boxdef.h;
thedragbox.style.left = mpos.x;
thedragbox.style.top = mpos.y;
boxdef.x = mpos.x;
boxdef.y = mpos.y;
event.cancelBubble = true;
if (event.stopPropagation) event.stopPropagation();
return false; // Returning false prevents image drag'n'drop behaviour in mozilla.
}
function stopDragging(event) {
if (!event) event = window.event;
thedragbox.onmousemove = noAction;
thedragbox.onmouseup = noAction;
thedragarea.onmouseup = noAction;
thedragarea.onmousemove = noAction;
thedragbox.style.visibility = 'hidden';
thedragbox.style.cursor = 'crosshair';
thedragarea.style.cursor = 'crosshair';
event.cancelBubble = true;
if (event.stopPropagation) event.stopPropagation();
var si = document.getElementById("stream");
var siPos = getPos(si);
var boxCenterX = parseInt(thedragbox.style.left.slice(0, -2) - siPos.x + thedragbox.style.width.slice(0, -2) / 2, 10);
var boxCenterY = parseInt(thedragbox.style.top.slice(0, -2) - siPos.y + thedragbox.style.height.slice(0, -2) / 2, 10);
var imgPos = getPos(img);
if (thedragbox.style.width.slice(0, -2) < 11) {
var mousePos = getMousePosition(event);
var speed = parseInt("100", 10);
mousePos.x -= imgPos.x;
mousePos.y -= imgPos.y;
var cmd = "";
cmd += "speed=" + speed + "&";
cmd += "center=" + mousePos.x + "," + mousePos.y + "&imagewidth=" + imgPos.w + "&imageheight=" + imgPos.h;;
} else {
var zoomfactor = parseInt(50 * (Math.sqrt(imgPos.w * imgPos.w + imgPos.h * imgPos.h) / radius), 10);
var cmd = "areazoom=" + boxCenterX + "," + boxCenterY + "," + zoomfactor + "&imagewidth=" + imgPos.w + "&imageheight=" + imgPos.h;
}
ptzCommand(cmd);
return false;
}
function dragHandler(event) {
if (!event) event = window.event;
var mpos = getMousePosition(event);
resizeBox(mpos.x, mpos.y);
event.cancelBubble = true;
if (event.stopPropagation) event.stopPropagation();
return false; // Returning false prevents event bubbling
}
function resizeBox(mouseX, mouseY) {
var nX;
var nY;
var nW;
var nH;
// Calculate radius
var katX = Math.abs(boxdef.x - mouseX)
var katY = Math.abs(boxdef.y - mouseY)
radius = Math.sqrt(katX * katX + katY * katY)
nX = boxdef.x - radius * Math.sin(Math.atan(800 / 450));
nY = boxdef.y - radius * Math.cos(Math.atan(800 / 450));
nW = 2 * (boxdef.x - nX)
nH = 2 * (boxdef.y - nY)
thedragbox.style.left = nX;
thedragbox.style.top = nY;
thedragbox.style.width = nW;
thedragbox.style.height = nH;
thedragbox.style.visibility = '';
}
function requestPTZPresets(responseFunction) {
var nbrOfSources,
group = [];
nbrOfSources = 1;
for (var n = 0; n < nbrOfSources; n++) {
group.push("root.PTZ.Preset.P" + n + ".Position");
}
getParamsAsUTF8(group, responseFunction, "&usergroup=anonymous");
}
/* =================================== PTZ slider functions =================================== */
var maxPan = parseInt("180", 10);
var minPan = parseInt("-180", 10);
var panPos = Math.round((minPan + maxPan) / 2);
var maxTilt = parseInt("0", 10);
var minTilt = parseInt("-180", 10);
var tiltPos = Math.round((minTilt + maxTilt) / 2);
var maxZoom = parseInt("10909", 10);
var minZoom = parseInt("1", 10);
var zoomPos = Math.round((minZoom + maxZoom) / 2);
var maxFocus = parseInt("9999", 10);
var minFocus = parseInt("5", 10);
var focusPos = Math.round((minFocus + maxFocus) / 2);
var maxIris = parseInt("9999", 10);
var minIris = parseInt("1", 10);
var irisPos = Math.round((minIris + maxIris) / 2);
var maxBrightness = parseInt("9999", 10);
var minBrightness = parseInt("1", 10);
var brightnessPos = Math.round((minBrightness + maxBrightness) / 2);
var panSlider = null;
var tiltSlider = null;
var zoomSlider = null;
var focusSlider = null;
var irisSlider = null;
var brightnessSlider = null;
var theNewSliderValue;
var ptzPosInterval = null;
var initiateToolTip = true;
var ptzValues = AxisConnectionFactory.createAjaxConnection();
ptzValues.setOverrideMimeType('text/plain');
var isCtlStarted = false;
var checkPosition = true;
function getPtzPositions() {
if (!checkPosition) return;
if (ptzValues.getReadyState() > 0 && ptzValues.getReadyState() < 4) return;
var now = new Date();
var timestamp = now.getTime();
if (theCameraNumber == "") theCameraNumber = "1";
var url = "/axis-cgi/com/ptz.cgi?query=position,limits&camera=" + theCameraNumber + "&html=no";
if (imagerotation != "") url += "&imagerotation=" + imagerotation;
url += "×tamp=" + timestamp;
AxisConnectionFactory.sendAsync(["GET", url], "", showPtzValues, ptzValues);
}
var thePtzValuesArray;
function showPtzValues() {
if (ptzPosInterval) window.clearTimeout(ptzPosInterval);
try {
if (ptzValues.getStatus() == 401) {
return;
}
} catch (e) {}
if (typeof(ptzValues) == 'object' && ptzValues.getReadyState() == 4) {
if (typeof(ctlStart) == "function" && !isCtlStarted) {
isCtlStarted = true;
ctlStart();
}
if (ptzValues.getStatus() == 200) {
if (typeof AXIS !== "undefined" && typeof AXIS.CustomEventUtil !== "undefined") {
AXIS.CustomEventUtil.publish("PTZ:viewChanged");
}
var thePtzValuesString = escape(ptzValues.getResponseText());
thePtzValuesString = thePtzValuesString.replace(/%3D/g, '=');
thePtzValuesString = thePtzValuesString.replace(/%0D/g, '');
thePtzValuesString = thePtzValuesString.replace(/%0A/g, ',');
thePtzValuesArray = thePtzValuesString.split(",");
var panValExists = false;
var tiltValExists = false;
var zoomValExists = false;
var focusValExists = false;
var irisValExists = false;
var brightnessValExists = false;
var p, j, v;
var arrElType;
var len = (typeof(thePtzValuesArray) != "undefined") ? thePtzValuesArray.length : 0;
var displayAutoIris;
for (i = 0; i < len; i++) {
arrElType = typeof(thePtzValuesArray[i]);
if (arrElType.toLowerCase() != "string") continue;
j = thePtzValuesArray[i].indexOf("=");
if (j < 0) continue;
v = thePtzValuesArray[i].substr(j + 1);
p = parseInt(v, 10);
switch (thePtzValuesArray[i].substr(0, j)) {
case "pan":
panPos = p;
if (!isNaN(panPos)) panValExists = true;
break;
case "tilt":
tiltPos = p;
if (!isNaN(tiltPos)) tiltValExists = true;
break;
case "zoom":
zoomPos = p;
if (!isNaN(zoomPos)) zoomValExists = true;
break;
case "focus":
focusPos = p;
if (!isNaN(focusPos)) focusValExists = true;
break;
case "iris":
irisPos = p;
if (!isNaN(irisPos)) {
irisValExists = true;
}
break;
case "MinPan":
minPan = p;
break;
case "MaxPan":
maxPan = p;
break;
case "MinTilt":
minTilt = p;
break;
case "MaxTilt":
maxTilt = p;
break;
case "MinZoom":
minZoom = p;
break;
case "MaxZoom":
maxZoom = p;
break;
case "MinFocus":
minFocus = p;
break;
case "MaxFocus":
maxFocus = p;
break;
case "MinIris":
minIris = p;
break;
case "MaxIris":
maxIris = p;
break;
case "autofocus":
var oAF = document.getElementById("idAutoFocus");
if (oAF) oAF.style.visibility = (v == "on" ? "visible" : "hidden")
break;
case "autoiris":
var oAI = document.getElementById("idAutoIris");
displayAutoIris = (v === "on");
if (oAI) {
oAI.style.visibility = (displayAutoIris ? "visible" : "hidden");
}
break;
case "MinBrightness":
minBrightness = p;
break;
case "MaxBrightness":
maxBrightness = p;
break;
case "brightness":
brightnessPos = p;
brightnessValExists = !isNaN(brightnessPos);
break;
default:
break;
}
}
}
if (panSlider) panSlider.update(minPan, maxPan, panSlider.value);
else {
panSlider = new Slider('pan', minPan, maxPan, panPos, true, "horizontal");
panSlider.setSliderOnChange(ptz_slider_onChange);
}
if (panValExists) {
panSlider.setActual(panPos);
} else {
panSlider.removeActual();
}
if (tiltSlider) tiltSlider.update(minTilt, maxTilt, tiltSlider.value);
else {
tiltSlider = new Slider('tilt', minTilt, maxTilt, tiltPos, true, "vertical");
tiltSlider.setSliderOnChange(ptz_slider_onChange);
}
if (tiltValExists) {
tiltSlider.setActual(tiltPos);
} else {
tiltSlider.removeActual();
}
if (zoomSlider) zoomSlider.update(minZoom, maxZoom, zoomSlider.value);
else {
try {
zoomSlider = new Slider('zoom', minZoom, maxZoom, zoomPos, true, "horizontal");
zoomSlider.setSliderOnChange(ptz_slider_onChange);
} catch (e) {
setTimeout("showPtzValues()", 500);
}
}
if (zoomValExists) {
zoomSlider.setActual(zoomPos);
} else {
zoomSlider.removeActual();
}
if (focusSlider) {
focusSlider.update(minFocus, maxFocus, focusSlider.value);
} else {
try {
focusSlider = new Slider('focus', minFocus, maxFocus, focusPos, true, "horizontal");
focusSlider.setSliderOnChange(ptz_slider_onChange);
} catch (e) {
setTimeout("showPtzValues()", 500);
}
}
if (focusValExists) {
focusSlider.setActual(focusPos);
} else {
focusSlider.removeActual();
}
if (irisSlider) {
irisSlider.update(minIris, maxIris, irisSlider.value);
} else {
irisSlider = new Slider('iris', minIris, maxIris, irisPos, true, "horizontal");
irisSlider.setSliderOnChange(ptz_slider_onChange);
}
if (displayAutoIris) {
irisSlider.removeActual();
} else {
irisSlider.setActual(irisPos);
}
var brightnessItem = document.getElementById("brightnessBarItem");
if (brightnessItem !== null) {
if (brightnessPos >= minBrightness && brightnessPos <= maxBrightness) {
brightnessItem.style.visibility = "visible";
if (brightnessSlider) brightnessSlider.update(minBrightness, maxBrightness, brightnessSlider.value);
else {
brightnessSlider = new Slider('brightness', minBrightness, maxBrightness, brightnessPos, true, "horizontal");
brightnessSlider.setSliderOnChange(ptz_slider_onChange);
}
brightnessSlider.setActual(brightnessPos);
if (brightnessValExists) {
brightnessSlider.setActual(brightnessPos);
}
} else {
brightnessItem.style.visibility = "hidden";
}
}
window.clearTimeout(ptzPosInterval);
if (panValExists || tiltValExists || zoomValExists || focusValExists || irisValExists || brightnessValExists) ptzPosInterval = window.setTimeout(getPtzPositions, position_interval);
if (initiateToolTip) {
bars.push(new Bar("panbar1", "pan", 1, 1, Bar.ORIENT_H, Bar.MODE_A, panToolTip, 3, 264, minPan, maxPan));
bars.push(new Bar("zoombar1", "zoom", 0, 1, Bar.ORIENT_H, Bar.MODE_A, zoomToolTip, 3, 264, minZoom, maxZoom));
bars.push(new Bar("focusbar1", "focus", 0, 1, Bar.ORIENT_H, Bar.MODE_A, focusToolTip, 3, 264, minFocus, maxFocus));
bars.push(new Bar("irisbar1", "iris", 0, 1, Bar.ORIENT_H, Bar.MODE_A, irisToolTip, 3, 264, minIris, maxIris));
bars.push(new Bar("brightnessbar", "brightness", 0, 1, Bar.ORIENT_H, Bar.MODE_A, brightnessToolTip, 3, 264, minBrightness, maxBrightness));
bars.push(new Bar("tiltbar1", "tilt", 1, 1, Bar.ORIENT_V, Bar.MODE_A, tiltToolTip, 1, 198, minTilt, maxTilt));
createToolTip("toolTip", 0, 300, TOOLTIP_STYLE2, 15, 15, TOOLTIP_FOLLOWMOUSE);
initiateToolTip = false;
}
}
}
var newPtzVal = AxisConnectionFactory.createAjaxConnection();
newPtzVal.setOverrideMimeType('text/plain');
function ptz_slider_onChange(group) {
if ((group == "pan" && "abs" == "rel") || (group == "tilt" && "abs" == "rel") || (group == "zoom" && "abs" == "rel") || (group == "focus" && "abs" == "rel") || (group == "brightness" && "" == "rel") || (group == "iris" && "abs" ==
"rel")) {
group = "r" + group;
}
if (theCameraNumber == "") theCameraNumber = "1";
var url = "/axis-cgi/com/ptz.cgi?camera=" + theCameraNumber + "&" + group + "=" + parseFloat(Math.round(theNewSliderValue * 10) / 10);
if (imagerotation != "") url += "&imagerotation=" + imagerotation;
if (newPtzVal.getReadyState() > 0 || newPtzVal.getReadyState() < 4) newPtzVal.abort();
AxisConnectionFactory.sendAsync(["GET", url], "", newPtzVal_onchange, newPtzVal);
}
function newPtzVal_onchange() {
if (!checkPosition) return;
if (ptzPosInterval) window.clearTimeout(ptzPosInterval);
try {
if (newPtzVal.getStatus() == 401) {
return;
}
} catch (e) {}
if (typeof(newPtzVal) == 'object' && newPtzVal.getReadyState() == 4) {
var responseText = newPtzVal.getResponseText();
if (responseText.length > 0) {
if (responseText.indexOf("Control is not possessed - request put in control queue.") >= 0) {
alert(langObjPTZIncl.getText("ptzInclContrlPossessTxt"));
} else {
alert(responseText.replace(/<.*>/ig, "").trim());
}
}
ptzPosInterval = window.setTimeout(getPtzPositions, position_interval);
}
}
/* =================================== Continuous move (arrows) =================================== */
var newContMove = AxisConnectionFactory.createAjaxConnection();
newContMove.setOverrideMimeType('text/plain');
var mouseUp;
function continousMove(action, val) {
if (newContMove.getReadyState() > 0 && newContMove.getReadyState() < 4) newContMove.abort();
mouseUp = (val == "0,0" || val == "0");
var theAction = "continuous";
if (action == "pan" || action == "tilt") theAction += "pantiltmove=";
else if (action == "zoom") theAction += "zoommove=";
else if (action == "focus") theAction += "focusmove=";
else if (action == "iris") theAction += "irismove=";
else if (action == "brightness") theAction += "brightnessmove=";
theAction += val;
if (imagerotation != "") theAction += "&imagerotation=" + imagerotation;
var now = new Date();
if (theCameraNumber == "") theCameraNumber = "1";
AxisConnectionFactory.sendAsync(["GET", "/axis-cgi/com/ptz.cgi?camera=" + theCameraNumber + "&" + theAction + "×tamp=" + now.getTime()], "", function() {
newContMove_onchange(theAction)
}, newContMove);
delete now;
}
function newContMove_onchange(theAction) {
try {
if (newContMove.getStatus() == 401) {
return;
}
} catch (e) {}
if (typeof(newContMove) == 'object' && newContMove.getReadyState() == 4) {
if (!!mouseUp) {
var now = new Date();
if (theCameraNumber == "") theCameraNumber = "1";
AxisConnectionFactory.sendSync(["GET", "/axis-cgi/com/ptz.cgi?camera=" + theCameraNumber + "&" + theAction + "=0,0×tamp=" + now.getTime()], null);
delete now;
}
if (ptzPosInterval) window.clearTimeout(ptzPosInterval);
var responseText = newContMove.getResponseText();
if (responseText.length > 0) {
if (!mouseUp) {
// Don't show the pop-up on the mouse up event.
var alertTxt = responseText.replace(/<.*>/ig, "").trim();
var panEnabled = true;
var tiltEnabled = true;
if (!((alertTxt.indexOf('pan') != -1 && !panEnabled) || (alertTxt.indexOf('tilt') != -1 && !tiltEnabled))) {
if (alertTxt.indexOf("Control is not possessed - request put in control queue.") >= 0) {
alert(langObjPTZIncl.getText("ptzInclContrlPossessTxt"));
} else {
alert(alertTxt);
}
}
}
}
ptzPosInterval = window.setTimeout(getPtzPositions, position_interval);
}
}
/* =================================== Generic object and event functions =================================== */
function getObjX(obj) {
var pos = 0;
if (obj.offsetParent) {
while (obj.offsetParent) {
pos += obj.offsetLeft;
obj = obj.offsetParent;
}
} else if (obj.x) {
pos = obj.x;
}
return pos;
}
function getObjY(obj) {
var pos = 0;
if (obj.offsetParent) {
while (obj.offsetParent) {
pos += obj.offsetTop;
obj = obj.offsetParent;
}
} else if (obj.y) {
pos = obj.y;
}
return pos;
}
function getEventX(e) {
if (e.pageX) {
return e.pageX;
} else if (e.clientX) {
return (e.clientX + document.body.scrollLeft);
}
}
function getEventY(e) {
if (e.pageY) {
return e.pageY;
} else if (e.clientY) {
return (e.clientY + document.body.scrollTop);
}
}
/* =================================== PTZ bar and tooltip handling =================================== */
// Array to hold all bars
var bars = new Array();
// Bar data object:
// element_id : ID of bar container element. Offsets and values are calculated from this element's geometry.
// api_cmd : PTZ API command to send as action when bar is clicked.
// value_prec : precision of value to send (number of decimals).
// linear: : if != 1, the scale of the bar is not linear. Try 3 for non-linear behaviour.
// orientation : Bar.ORIENT_H for horizontal bar, Bar.ORIENT_V for vertical bar.
// mode : Bar.MODE_A for absolute bar, Bar.MODE_R for relative bar.
// tooltip_func : Function taking a bar object as argument and returns a string to set as tooltip,
// or set undefined to disable tooltip.
// range_start : Pixel offset at which the bar scale starts.
// range_end : Pixel offset at which the bar scale ends.
// min_val : value of scale at range_start.
// max_val : value of scale at range_end.
Bar.ORIENT_H = 1;
Bar.ORIENT_V = 2;
Bar.MODE_A = 3;
Bar.MODE_R = 4;
function Bar(element_id, api_cmd, value_prec, linear, orientation, mode, tooltip_func, range_start, range_end, min_val, max_val) {
this.element_id = element_id;
this.api_cmd = api_cmd;
this.value_prec = value_prec;
this.linear = linear;
this.orientation = (orientation == Bar.ORIENT_V) ? Bar.ORIENT_V : Bar.ORIENT_H;
this.mode = (mode == Bar.MODE_A) ? Bar.MODE_A : Bar.MODE_R;
this.tooltip_func = tooltip_func;
this.range_start = range_start;
this.range_end = range_end;
this.min_val = min_val;
this.max_val = max_val;
this.value = undefined;
this.timer = undefined;
this.lastvalue = undefined;
}
// Get bar value at event mouse position
function getBarValue(event, target, bar) {
var bar_pos = (bar.orientation == Bar.ORIENT_H) ? getObjX(target) : getObjY(target);
var click_pos = (bar.orientation == Bar.ORIENT_H) ? getEventX(event) : getEventY(event);
var offset = click_pos - bar_pos - bar.range_start;
var span = bar.range_end - bar.range_start;
var pos; // 0 ... 1
var val; // bar.min_val ... bar.max_val
if (bar.orientation == Bar.ORIENT_H) {
if (offset < 0) {
val = bar.min_val;
pos = 0;
} else if (offset > span) {
val = bar.max_val;
pos = 1;
} else {
pos = offset / span;
}
} else {
if (offset < 0) {
val = bar.max_val;
} else if (offset > span) {
val = bar.min_val;
}
pos = (span - offset) / span;
}
if (val == undefined) {
if (bar.linear != 1) {
if (bar.mode == Bar.MODE_A) {
// Non-linear absolute
pos = Math.pow(pos, bar.linear) / Math.pow(1, bar.linear);
val = bar.min_val + pos * (bar.max_val - bar.min_val);
} else {
// Non-linear relative
val = 2 * (pos - 0.5); // +/- 1.0
val = Math.abs(Math.pow(val, bar.linear) / Math.pow(1, bar.linear));
if (pos < 0.5) val = bar.min_val * (val);
else val = bar.max_val * (val);
}
} else {
if (bar.mode == Bar.MODE_A) {
// Linear absolute
val = bar.min_val + pos * (bar.max_val - bar.min_val);
} else {
// Linear relative
if (pos < 0.5) val = bar.min_val * ((0.5 - pos) * 2);
else val = bar.max_val * ((pos - 0.5) * 2);
}
}
}
theNewSliderValue = val;
return {
val: val,
pos: pos
};
}
// Update a tooltip, if bar value have changed (mouse have moved)
function updateBarTooltip(bar) {
if (bar.value == bar.lastvalue) {
// Mouse have stopped, disable tooltip updates.
window.clearInterval(bar.timer);
bar.timer = undefined;
bar.lastvalue = undefined;
} else {
var status = bar.tooltip_func(bar);
if (bar.lastvalue == undefined) setToolTip("toolTip", bar.element_id, status);
else updateToolTip("toolTip", bar.element_id, status);
bar.lastvalue = bar.value;
}
}
// Disable tooltip updates
function handleBarExit(target, event) {
if (!event) event = window.event;
for (var b = 0; b < bars.length; b++) {
if (bars[b].element_id == target.id) {
if (bars[b].timer != undefined) {
window.clearInterval(bars[b].timer);
bars[b].timer = undefined;
}
}
}
}
// Get bar value at mouse position and update tooltip
function handleBarMove(target, event) {
if (!event) event = window.event;
for (var b = 0; b < bars.length; b++) {
if (bars[b].element_id == target.id && bars[b].tooltip_func) {
var barsBarValue = getBarValue(event, target, bars[b]);
bars[b].value = barsBarValue.val;
bars[b].positionV = barsBarValue.pos;
if (bars[b].timer == undefined) {
// Don't update tooltip at each mousemove event, it will cause ugly delays and use too much cpu.
// Instead, start a timer to update at 10Hz until mouse stoppes moving.
updateBarTooltip(bars[b]);
var code = "updateBarTooltip(bars[" + b + "]);";
bars[b].timer = window.setInterval(code, 100)
}
return;
}
}
}
/* =================================== PTZ tooltip formatting =================================== */
// These functions can be replaced to suit different products and driver types
function panToolTip(bar) {
var str = langObjPTZIncl.getText("ptzInclPanToDegTxt");
return str.replace(/\[#\]/, Number(bar.value).toFixed(1));
}
function zoomToolTip(bar) {
if (typeof(ptzDefMaxZoomList) == "number" && isNaN(ptzDefMaxZoomList)) {
var str = langObjPTZIncl.getText("ptzInclXZoomTxt");
var maxmag = Math.round(628 / 22);
var mag = 1 + (maxmag - 1) * (bar.value / (bar.max_val - bar.min_val));
} else {
var hasOptical = (typeof(ptzDefMaxOpticalZoomMag) == "number" && !isNaN(ptzDefMaxOpticalZoomMag));
var hasDigital = (typeof(ptzDefMaxDigitalZoomMag) == "number" && !isNaN(ptzDefMaxDigitalZoomMag));
var mag = 0;
var preMag = 1;
var preValue = 0;
for (var i = 0; i < ptzDefMaxZoomList.length; i++) {
if (bar.value <= ptzDefMaxZoomList[i][0]) {
mag = (bar.value - preValue) / (ptzDefMaxZoomList[i][0] - preValue) * (ptzDefMaxZoomList[i][1] - preMag) + preMag;
break;
}
preValue = ptzDefMaxZoomList[i][0];
preMag = ptzDefMaxZoomList[i][1];
}
}
var str_mag = "";
var str_optical = langObjPTZIncl.getText("ptzInclXZoomTxt");
var str_digital = langObjPTZIncl.getText("ptzInclXDZoomTxt");
var str_optical_digital = langObjPTZIncl.getText("ptzInclXODZoomTxt");
if (hasOptical && hasDigital) {
if (mag > ptzDefMaxOpticalZoomMag) str = str_optical_digital.replace(/\[#D\]/, Number(mag / ptzDefMaxOpticalZoomMag).toFixed(1));
else str = str_optical;
} else if (hasDigital) {
str = str_digital;
} else {
str = str_optical;
}
return str.replace(/\[#\]/, Number(mag).toFixed(1));
}
function focusToolTip(bar) {
var str_s = langObjPTZIncl.getText("ptzInclsetFocToTxt");
var focus = 100 * bar.positionV;
return str_s.replace(/\[#\]/, Number(focus).toFixed(1));
}
function irisToolTip(bar) {
var str_s = langObjPTZIncl.getText("ptzInclSetIrisTxt");
var iris = 100 * (bar.value / bar.max_val);
return str_s.replace(/\[#\]/, Number(iris).toFixed(1));
}
function brightnessToolTip(bar) {
var str_s = langObjPTZIncl.getText("ptzInclSetBrightnessTxt");
var brightness = 100 * (bar.value / bar.max_val);
return str_s.replace(/\[#\]/, Number(brightness).toFixed(1));
}
function tiltToolTip(bar) {
var str_d = langObjPTZIncl.getText("ptzInclTiDownToDegTxt");
var str_u = langObjPTZIncl.getText("ptzInclTiUpToDegTxt");
if (bar.value < tiltPos) {
return str_d.replace(/\[#\]/, Number(bar.value).toFixed(1));
} else {
return str_u.replace(/\[#\]/, Number(bar.value).toFixed(1));
}
}
//
-->
</script>
</td>
<td width="4"><img src="/pics/blank.gif" width="4" height="1" border="0" alt=""></td>
<td width="1" class="lineBg"><img src="/pics/blank.gif" width="1" height="1" border="0" alt=""></td>
</tr>
<!-- ################################################################ -->
<!-- Defines the table width -->
<tr>
<td colspan="1" width="1" class="lineBg"><img src="/pics/blank.gif" width="1" height="1" alt=""></td>
<td colspan="1" width="4"><img src="/pics/blank.gif" width="1" height="1" alt=""></td>
<td colspan="1" width="768"><img src="/pics/blank.gif" width="1" height="1" alt=""></td>
<td colspan="1" width="4"><img src="/pics/blank.gif" width="1" height="1" alt=""></td>
<td colspan="1" width="1" class="lineBg"><img src="/pics/blank.gif" width="1" height="1" alt=""></td>
</tr>
<!-- ################################################################ -->
<tr class="bottom-mainborder">
<td colspan="2"><img src="/pics/line_corner_lb_5x5px.gif" width="5" height="5" alt=""></td>
<td colspan="1" background="/pics/line_b_100x5px.gif"><img src="/pics/blank.gif" width="1" height="1" alt=""></td>
<td colspan="2"><img src="/pics/line_corner_rb_5x5px.gif" width="5" height="5" alt=""></td>
</tr>
<tr>
<td width="1"><img src="/pics/blank.gif" width="1" height="1" border="0" alt=""></td>
<td colspan="6" valign="middle" align="left">
<table cellpadding="0" cellspacing="5" border="0">
<tbody>
<tr>
<td> </td>
</tr>
</tbody>
</table>
</td>
<td width="1"><img src="/pics/blank.gif" width="1" height="1" border="0" alt=""></td>
</tr>
</tbody>
</table>
</form>
Text Content
AXIS Q6045-E Mk II Network Camera Live View| Setup| Help Stream profile Motion JPEGH.264HDTVQualityBalancedBandwidthMobile Recorded tours ---------- PTZ preset ----------------Home (H)Michaels_KircheMarktplatzRathausWuerth_MuseumJohanniterkircheHalliaVeneziaHenkersbruecke2 * Video * PTZ Center Joystick Up TILT Down PAN Left Right ZOOM Wide Tele FOCUS Near Far Auto IRIS Close Open Auto BRIGHTNESS Control panel Auto focus On Off Auto iris On Off Backlight comp On Off Navigation mode Center Joystick IR cut filter On Off Auto Brightness + - Reset Close panel Home Ctrl panel