Pastebin launched a little side project called VERYVIRAL.com, check it out ;-) Want more features on Pastebin? Sign Up, it's FREE!
Guest

Cam

By: a guest on Dec 9th, 2010  |  syntax: JavaScript  |  size: 38.73 KB  |  views: 517  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. ]<html>
  2. <head>
  3. <link rel="stylesheet" href="style.css" type="text/css">
  4. <title>IPCam</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6. <meta name="keywords" content="camera">
  7. <style type="text/css">
  8. <!--
  9. body {
  10.         margin-left: 0px;
  11.         margin-top: 0px;
  12.         margin-right: 0px;
  13.         margin-bottom: 0px;
  14.         background-color: #999999;
  15. }
  16. .style2 {font-size: 12px}
  17. -->
  18. </style>
  19. <script src="public.js"></script>
  20. <script src="check_user.cgi"></script>
  21. <script src="get_status.cgi"></script>
  22. <script type="text/javascript">
  23.        
  24. if(sys_ver.charAt(0)!='4')
  25.         location = 'vererr.htm';
  26.        
  27. try{
  28.         user;
  29. }      
  30. catch(exception){
  31.         location='index.htm';
  32. }
  33.                
  34. var record_osd=1;
  35. var ptz_type=1;
  36. var ERROR_TIMEOUT=-3;
  37. var ERROR_CANCEL=-5;
  38. var current=0;
  39. var PRI_REFUSE=0;
  40. var PRI_VISITOR=1;
  41. var PRI_OPERATOR=2;
  42. var PRI_ADMINISTRATOR=3;
  43. var R160_120=2;
  44. var R320_240=8;
  45. var R640_480=32;
  46. var PTZ_STOP=1;
  47. var TILT_UP=0;
  48. var TILT_UP_STOP=1;
  49. var TILT_DOWN=2;
  50. var TILT_DOWN_STOP=3;
  51. var PAN_LEFT=4;
  52. var PAN_LEFT_STOP=5;
  53. var PAN_RIGHT=6;
  54. var PAN_RIGHT_STOP=7;
  55. var PTZ_LEFT_UP=90;
  56. var PTZ_RIGHT_UP=91;
  57. var PTZ_LEFT_DOWN=92;
  58. var PTZ_RIGHT_DOWN=93;
  59. var PTZ_CENTER=25;
  60. var PTZ_VPATROL=26;
  61. var PTZ_VPATROL_STOP=27;
  62. var PTZ_HPATROL=28;
  63. var PTZ_HPATROL_STOP=29;
  64. var PTZ_PELCO_D_HPATROL=20;
  65. var PTZ_PELCO_D_HPATROL_STOP=21;
  66. var IO_ON=94;
  67. var IO_OFF=95;
  68. var cameras={};
  69.  
  70. var listen_src="";
  71. var talk_src="";
  72. var listen_on_src="";
  73. var talk_on_src="";
  74. var record_src="";
  75. var record_on_src="";
  76.  
  77. if(pri == PRI_ADMINISTRATOR)
  78.         document.write('<script src="get_misc.cgi"><\/script>');
  79.  
  80.  
  81.  
  82. cameras.alias=new Array();
  83. cameras.host=new Array();
  84. cameras.port=new Array();
  85. cameras.user=new Array();
  86. cameras.pwd=new Array();
  87. cameras.pri=new Array();
  88. cameras.valid=new Array();
  89. cameras.restart=new Array();
  90. cameras.retry_times=new Array();
  91. cameras.alarm=new Array();
  92. cameras.alarm_light=new Array();
  93. cameras.count=1;
  94. cameras.first=0;
  95. cameras.pri[0]=cameras.pri[1]=cameras.pri[2]=cameras.pri[3]=0;
  96. cameras.pri[4] = cameras.pri[5] = cameras.pri[6] = cameras.pri[7] = 0;
  97. cameras.pri[8] = 0;
  98. cameras.set_params=function(index,alias,host,port,user,pwd)    
  99. {
  100.         if ((index > 8) || (index < 0))
  101.                 return;
  102.         this.alias[index]=alias;
  103.         this.host[index]=host;
  104.         this.port[index]=port;
  105.         this.user[index]=user;
  106.         this.pwd[index]=pwd;
  107. }
  108. cameras.set_count=function(current,count)
  109. {
  110.         if(count > 9)
  111.                 count = 9;
  112.         if ((count > 4) && (count < 9))
  113.                 count = 4;
  114.         if (count < 1 || ((count > 1) && (count <4)))
  115.                 count = 1;     
  116.         this.count=count;
  117.         if (parseInt(current) + parseInt(count) > 9)
  118.                 this.first = 9 - count;
  119.         else
  120.                 this.first=current;
  121.         for (i = 0;i < 9;++ i)
  122.                 this.valid[i]=0;
  123.         for (i=this.first;i<parseInt(this.first)+parseInt(this.count);++i)
  124.                 this.valid[i]=1;               
  125.  
  126.         scr9.src="images/x9_off.gif";
  127.         scr4.src="images/x4_off.gif";
  128.         scr1.src="images/x1_off.gif"
  129.         if(count==9)
  130.                 scr9.src="images/x9_on.gif";
  131.         else if(count==4)
  132.                 scr4.src="images/x4_on.gif";
  133.         else
  134.                 scr1.src="images/x1_on.gif"
  135. }
  136. function timer()
  137. {
  138.         if (cameras.alarm[current]==1){
  139.                 if (cameras.alarm_light[current]==1)
  140.                 {
  141.                         sound_player.controls.play();
  142.                         device_status.src="images/red.gif";
  143.                         cameras.alarm_light[current]=0;
  144.                 }
  145.                 else
  146.                 {
  147.                         device_status.src="images/green.gif";
  148.                         cameras.alarm_light[current]=1;
  149.                 }
  150.         }
  151.         setTimeout('timer()',1000);
  152. }
  153.  
  154. function x_onclick(nSplit)
  155. {
  156.         if(nSplit !=1 && nSplit!=4 && nSplit != 9)
  157.                 nSplit=1;
  158.         if(nSplit==1)
  159.                 cameratitle.style.display='none';
  160.         else
  161.                 cameratitle.style.display='';
  162.         if (nSplit==1)
  163.         {
  164.                 if (cameras.count == 1)
  165.                         return;        
  166.                 cameras.set_count(current,1);
  167.         }      
  168.         else if(nSplit==4)
  169.         {
  170.                 if (cameras.count == 4)
  171.                         return;
  172.                 cameras.set_count(current,4);
  173.         }
  174.         else
  175.         {
  176.                 if (cameras.count == 9)
  177.                         return;
  178.                 cameras.set_count(current,9);
  179.         }
  180.         var nWidth;
  181.         for (i = 0;i < 9; ++ i)
  182.         {
  183.                 ipcam[i].SetFocus(0);
  184.                 if (cameras.valid[i] == 1)
  185.                 {
  186.                         if ((cameras.count == 1))
  187.                         {
  188.                                 if(ipcam[i].resolution == R640_480){
  189.                                                 ipcam[i].style.width = 640;
  190.                                                 ipcam[i].style.height = 480;
  191.                                                 nWidth = 640;
  192.                                 }
  193.                                 else if(ipcam[i].resolution == R320_240){
  194.                                                 ipcam[i].style.width = 320;
  195.                                                 ipcam[i].style.height = 240;
  196.                                                 nWidth = 320;
  197.                                 }      
  198.                                 else{
  199.                                                 ipcam[i].style.width = 160;
  200.                                                 ipcam[i].style.height = 120;
  201.                                                 nWidth = 160;
  202.                                 }
  203.                         }
  204.                         else if(cameras.count == 4)
  205.                         {
  206.                                 ipcam[i].style.width = 320;
  207.                                 ipcam[i].style.height = 240;
  208.                                 nWidth = 640;
  209.                         }
  210.                         else if(cameras.count == 9)
  211.                         {
  212.                                 ipcam[i].style.width = 213;
  213.                                 ipcam[i].style.height = 160;
  214.                                 nWidth = 639;
  215.                         }
  216.                         ipcam[i].PlayVideo();
  217.                 }
  218.                 else
  219.                 {
  220.                         ipcam[i].StopVideo();
  221.                         ipcam[i].StopRecord();
  222.                         ipcam[i].style.width = 0;
  223.                         ipcam[i].style.height = 0;
  224.                 }
  225.         }                      
  226.         document.getElementById("ipcamdiv").style.width=nWidth;
  227.         setcookie('split',nSplit,720);
  228.         cameratitle_span.innerText = cameras.alias[current];
  229.         current = -1;
  230.         ipcam_OnFocus(0);
  231. }
  232.  
  233. function set_ipcam_osd(index,osd)
  234. {
  235.         ipcam[index].OSD=osd;
  236. }
  237.  
  238. function connect_camera(index)
  239. {
  240.         if (ipcam[index].MonitorStatus!=0)
  241.                 return;
  242.         if (cameras.host[index]=='')
  243.                 return;
  244.         ipcam[index].DefaultFileName=cameras.alias[index];     
  245.         re=ipcam[index].MonitorConnect(cameras.host[index],cameras.port[index],cameras.user[index],cameras.pwd[index]);
  246.         //if (re)
  247.         //      showerror(cameras.alias[index],_failtoconnect,re);
  248. }
  249. function body_onload()
  250. {
  251.         var port;
  252.         if (location.port=='')
  253.                 port=80;
  254.         else
  255.                 port=location.port;
  256.                                
  257.         cameras.set_params(0,alias,location.hostname,port,user,pwd);
  258.         for(i=1;i<=8;i++)
  259.                 cameras.set_params(i,'','',0,'','');
  260.         //x1.checked=true;             
  261.         current=0;
  262.        
  263.         try{
  264.                 ipcam[0].SetFocus(true);       
  265.         }
  266.         catch(exception){               return; }
  267.  
  268.         for(i=0;i<9;i++){
  269.                 ipcam[i].RecordOSD=true;       
  270.                 ipcam[i].AutoRecordOnAlarm=true;
  271.                 ipcam[i].PTZOnScreen=1;
  272.                 cameras.pri[i]=PRI_REFUSE;
  273.                 cameras.retry_times[i]=0;
  274.                 cameras.restart[i]=0;
  275.                 cameras.alarm[i]=0;
  276.                 cameras.alarm_light[i]=0;
  277.                 ipcam[i].BufferTime = 1;
  278.         }
  279.        
  280.         nsplit=getcookie("split");
  281.         if(nsplit !=1 && nsplit!=4 && nsplit != 9)
  282.                 nsplit=1;      
  283.         x_onclick(nsplit);
  284.         cameras.set_count(current,nsplit);
  285.         for(i=0;i<nsplit;i++){
  286.                 if (cameras.host[i]!='')
  287.                         connect_camera(i);
  288.         }
  289.         if(pri == PRI_ADMINISTRATOR)
  290.                 document.getElementById('curpos').innerText = ptz_patrol_rate;
  291. }
  292.  
  293. function ipcam_OnFocus(index)
  294. {
  295.         if (index == current)
  296.                 return;
  297.        
  298.         if(current>=0 && current<9)
  299.                 ipcam[current].SetFocus(false);
  300.        
  301.         current = index;       
  302.         cameratitle_span.innerText = cameras.alias[index];
  303. /*      if (cameras.valid[index])
  304.                 alias_span.innerText = cameras.alias[index];
  305.         else
  306.                 alias_span.innerText = _unsel;
  307. */             
  308.         if (ipcam[index].MonitorStatus == 2)
  309.         {
  310.                 resolution.value = ipcam[index].Resolution;
  311.                 rMode.value = ipcam[index].Saturation; 
  312.                 brightness.value = Math.round(ipcam[index].Brightness / 16);
  313.                 contrast.value = ipcam[index].Contrast;
  314.                 img_reversal.checked = (ipcam[index].CameraFlip & 0x01)?true:false;
  315.                 img_mirror.checked = (ipcam[index].CameraFlip & 0x02)?true:false;
  316. //              if(getcookie("audio"+current)=="1")
  317. //                      ipcam[index].PlayAudio();                      
  318.                 if(ipcam[index].RecordStatus==2)
  319.                         recImage_avi.src=record_on_src;
  320.                 else           
  321.                         recImage_avi.src=record_src;
  322.                 if (ipcam[index].AudioStatus==2)
  323.                         img_listen.src=listen_on_src;
  324.                 else
  325.                         img_listen.src=listen_src;
  326.                 if (ipcam[index].TalkStatus==2)
  327.                         img_talk.src=talk_on_src;
  328.                 else
  329.                         img_talk.src=talk_src;         
  330.         }
  331. }
  332. function showhint(str)
  333. {
  334.         hint_span.innerText=str;
  335. }
  336. function body_onunload()
  337. {
  338.         for (i = 0;i < 9;++ i)
  339.         {
  340.                 if(cameras.valid[i]){
  341.                         try{
  342.                                 ipcam[i].SetFocus(true);       
  343.                         }
  344.                         catch(exception){               return; }      
  345.                         ipcam[i].StopVideo();
  346.                         ipcam[i].StopAudio();
  347.                         ipcam[i].StopTalk();
  348.                         ipcam[i].StopRecord();
  349.                         ipcam[i].MonitorDisconnect();
  350.                 }
  351.         }
  352. }
  353.  
  354. function        OnResolutionChanged(nValue)
  355. {      
  356.         ipcam[current].Resolution = nValue;
  357. }
  358.  
  359.  
  360. function ipcam_OnMonitorConnectResult(index,result,pri)
  361. {
  362.         if (result)
  363.         {
  364.                 device_status.src="images/yellow.gif";
  365.                 if (cameras.retry_times[index]==0)
  366.                 {
  367.                         if(index==0){
  368.                                 showerror(cameras.alias[index],_failtoconnect,result);
  369.                                 location.href='index.htm';
  370.                         }
  371.                 }
  372.                 else
  373.                 {
  374.                         cameras.retry_times[index] --;
  375.                         setTimeout('connect_camera('+index+')',30000);
  376.                 }
  377.         }
  378.         else
  379.         {
  380.                 cameras.pri[index]=pri+1;
  381.                        
  382.                 var bOpe = cameras.pri[index]>PRI_VISITOR;
  383.                 var bAdmin = cameras.pri[index]>PRI_OPERATOR;
  384.                
  385.                 if(!bOpe){
  386.                         ptzpanel.style.display='none';
  387.                         hpatrol.style.display='none';
  388.                         vpatrol.style.display='none';
  389.                         img_reversal.style.display='none';
  390.                         img_mirror.style.display='none';
  391.                         bvoption.style.display='none';
  392.                         img_option.style.display='none';                       
  393.                         img_switchon.style.display='none';                     
  394.                         img_switchoff.style.display='none';            
  395.                         tdspeed.style.display='none';  
  396.                 }
  397.                 else if(!bAdmin){
  398.                         img_option.style.display='none';               
  399.                         tdspeed.style.display='none';
  400.                 }
  401.                 cameras.retry_times[index]=0;
  402.                 device_status.src="images/green.gif";
  403. /*              audio[index].src=audio_up.src; 
  404.                 talk[index].src=talk_up.src;   
  405.                 */
  406.                 if(cameras.valid[index]){
  407.                         ipcam[index].PlayVideo();
  408.                 }
  409.         }
  410. }
  411.  
  412. function up_onmousedown()
  413. {
  414.         //up.src=up_down.src;
  415.         if (ipcam[current].CameraFlip&0x01)
  416.                 ipcam[current].DecoderControl(TILT_DOWN);
  417.         else   
  418.                 ipcam[current].DecoderControl(TILT_UP);
  419. }
  420. function up_onmouseup()
  421. {
  422.         //up.src=up_up.src;
  423.         if (ptz_type==0)
  424.                 ipcam[current].DecoderControl(PTZ_STOP);
  425.         else if (ipcam[current].CameraFlip&0x01)
  426.                 ipcam[current].DecoderControl(TILT_DOWN_STOP);
  427.         else   
  428.                 ipcam[current].DecoderControl(TILT_UP_STOP);
  429. }
  430. function down_onmousedown()
  431. {
  432.         //down.src=down_down.src;
  433.         if (ipcam[current].CameraFlip&0x01)
  434.                 ipcam[current].DecoderControl(TILT_UP);
  435.         else
  436.                 ipcam[current].DecoderControl(TILT_DOWN);
  437. }
  438. function down_onmouseup()
  439. {
  440.         //down.src=down_up.src;
  441.         if (ptz_type==0)
  442.                 ipcam[current].DecoderControl(PTZ_STOP);
  443.         else if (ipcam[current].CameraFlip&0x01)
  444.                 ipcam[current].DecoderControl(TILT_UP_STOP);
  445.         else
  446.                 ipcam[current].DecoderControl(TILT_DOWN_STOP); 
  447. }
  448. function left_onmousedown()
  449. {
  450.         //left.src=left_down.src;
  451.         if (ipcam[current].CameraFlip&0x02)
  452.                 ipcam[current].DecoderControl(PAN_RIGHT);
  453.         else   
  454.                 ipcam[current].DecoderControl(PAN_LEFT);
  455. }
  456. function left_onmouseup()
  457. {
  458.         //left.src=left_up.src;
  459.         if (ptz_type==0)
  460.                 ipcam[current].DecoderControl(PTZ_STOP);
  461.         else if (ipcam[current].CameraFlip&0x02)
  462.                 ipcam[current].DecoderControl(PAN_RIGHT_STOP);
  463.         else   
  464.                 ipcam[current].DecoderControl(PAN_LEFT_STOP);  
  465. }
  466. function right_onmousedown()
  467. {
  468.         //right.src=right_down.src;
  469.         if (ipcam[current].CameraFlip&0x02)
  470.                 ipcam[current].DecoderControl(PAN_LEFT);
  471.         else   
  472.                 ipcam[current].DecoderControl(PAN_RIGHT);
  473. }
  474. function right_onmouseup()
  475. {
  476.         //right.src=right_up.src;
  477.         if (ptz_type==0)
  478.                 ipcam[current].DecoderControl(PTZ_STOP);
  479.         else if (ipcam[current].CameraFlip&0x02)
  480.                 ipcam[current].DecoderControl(PAN_LEFT_STOP);
  481.         else   
  482.                 ipcam[current].DecoderControl(PAN_RIGHT_STOP);
  483. }
  484. function setCameraParam(index)
  485. {
  486.         var alias, host, port, user, pwd;
  487.        
  488.         ipcam[index].StopVideo();
  489.         ipcam[index].StopAudio();
  490.         ipcam[index].StopRecord();
  491.         ipcam[index].MonitorDisconnect();
  492.         host=ipcam[0].GetOtherDeviceHost(index);
  493.         alias=ipcam[0].GetOtherDeviceAlias(index);
  494.         if (alias=='')
  495.                 alias=_anonymous;
  496.         port=ipcam[0].GetOtherDevicePort(index);
  497.         user=ipcam[0].GetOtherDeviceUser(index);
  498.         pwd=ipcam[0].GetOtherDevicePwd(index);
  499.         if (host=='')
  500.         {
  501.                 cameras.set_params(index,'','',0,'','');               
  502.         }
  503.         else
  504.         {
  505.                 cameras.set_params(index,alias,host,port,user,pwd);
  506.                 setTimeout('connect_camera(' + index + ')',1000);
  507.         }
  508. }
  509.  
  510. function ipcam_OnOtherDevicesParamsChanged(index)
  511. {
  512.         if (index!=0)
  513.                 return;
  514.                
  515.         for(i=1;i<=8;i++)
  516.                 setCameraParam(i);
  517. }
  518.  
  519. function ipcam_OnPTZOnScreen(index,ptz)
  520. {
  521.         try{
  522.                 ipcam[index].MonitorStatus;
  523.         }
  524.         catch(exception){ return;}
  525.                
  526.         if (ipcam[index].MonitorStatus!=2)
  527.                 return;
  528.        
  529.         if (ptz==0)
  530.         {
  531.                 ipcam[index].DecoderControl(PTZ_STOP);
  532.         }
  533.         else if (ptz==1)
  534.         {
  535.                 if ((ipcam[index].CameraFlip&0x03)==0x03)
  536.                         ipcam[index].DecoderControl(PTZ_RIGHT_DOWN);
  537.                 else if (ipcam[index].CameraFlip&0x02)
  538.                         ipcam[index].DecoderControl(PTZ_RIGHT_UP);
  539.                 else if (ipcam[index].CameraFlip&0x01)
  540.                         ipcam[index].DecoderControl(PTZ_LEFT_DOWN);
  541.                 else           
  542.                         ipcam[index].DecoderControl(PTZ_LEFT_UP);
  543.         }
  544.         else if (ptz==2)
  545.         {
  546.                 if (ipcam[index].CameraFlip&0x01)
  547.                         ipcam[index].DecoderControl(TILT_DOWN);
  548.                 else   
  549.                         ipcam[index].DecoderControl(TILT_UP);
  550.         }      
  551.         else if (ptz==3)
  552.         {
  553.                 if ((ipcam[index].CameraFlip&0x03)==0x03)
  554.                         ipcam[index].DecoderControl(PTZ_LEFT_DOWN);
  555.                 else if (ipcam[index].CameraFlip&0x02)
  556.                         ipcam[index].DecoderControl(PTZ_LEFT_UP);
  557.                 else if (ipcam[index].CameraFlip&0x01)
  558.                         ipcam[index].DecoderControl(PTZ_RIGHT_DOWN);
  559.                 else           
  560.                         ipcam[index].DecoderControl(PTZ_RIGHT_UP);
  561.         }      
  562.         else if (ptz==4)
  563.         {
  564.                 if (ipcam[index].CameraFlip&0x02)
  565.                         ipcam[index].DecoderControl(PAN_RIGHT);
  566.                 else   
  567.                         ipcam[index].DecoderControl(PAN_LEFT);
  568.         }      
  569.         else if (ptz==5)
  570.         {
  571.                 ipcam[index].DecoderControl(PTZ_CENTER);
  572.         }      
  573.         else if (ptz==6)
  574.         {
  575.                 if (ipcam[index].CameraFlip&0x02)
  576.                         ipcam[index].DecoderControl(PAN_LEFT);
  577.                 else   
  578.                         ipcam[index].DecoderControl(PAN_RIGHT);
  579.         }      
  580.         else if (ptz==7)
  581.         {
  582.                 if ((ipcam[index].CameraFlip&0x03)==0x03)
  583.                         ipcam[index].DecoderControl(PTZ_RIGHT_UP);
  584.                 else if (ipcam[index].CameraFlip&0x02)
  585.                         ipcam[index].DecoderControl(PTZ_RIGHT_DOWN);
  586.                 else if (ipcam[index].CameraFlip&0x01)
  587.                         ipcam[index].DecoderControl(PTZ_LEFT_UP);
  588.                 else           
  589.                         ipcam[index].DecoderControl(PTZ_LEFT_DOWN);
  590.         }      
  591.         else if (ptz==8)
  592.         {
  593.                 if (ipcam[index].CameraFlip&0x01)
  594.                         ipcam[index].DecoderControl(TILT_UP);
  595.                 else   
  596.                         ipcam[index].DecoderControl(TILT_DOWN);
  597.         }      
  598.         else if (ptz==9)
  599.         {
  600.                 if ((ipcam[index].CameraFlip&0x03)==0x03)
  601.                         ipcam[index].DecoderControl(PTZ_LEFT_UP);
  602.                 else if (ipcam[index].CameraFlip&0x02)
  603.                         ipcam[index].DecoderControl(PTZ_LEFT_DOWN);
  604.                 else if (ipcam[index].CameraFlip&0x01)
  605.                         ipcam[index].DecoderControl(PTZ_RIGHT_UP);
  606.                 else           
  607.                         ipcam[index].DecoderControl(PTZ_RIGHT_DOWN);
  608.         }      
  609. }
  610.  
  611. function snapshot()
  612. {
  613.         if (ipcam[current].MonitorStatus!=2)
  614.                 return;
  615.         window.open('snapshot.htm').focus();
  616. }
  617.  
  618. function record_onclick()
  619. {
  620.         if ((ipcam[current].VideoStatus!=2)&&(ipcam[current].AudioStatus!=2))
  621.                 return;
  622.         if (ipcam[current].RecordStatus==0)
  623.                 ipcam[current].StartRecord();
  624.         else
  625.                 ipcam[current].StopRecord();
  626.         if (ipcam[current].RecordStatus==1)
  627.                 recImage_avi.src=record_on_src;
  628.         else           
  629.                 recImage_avi.src=record_src;
  630. }
  631. function audio_onclick()
  632. {
  633.         if (ipcam[current].AudioStatus==0){
  634.                 ipcam[current].PlayAudio();
  635. //              setcookie("audio"+current,1,720);
  636.         }
  637.         else{
  638.                 ipcam[current].StopAudio();
  639. //              setcookie("audio"+current,0,720);
  640.         }
  641.         if (ipcam[current].AudioStatus==1)
  642.                 img_listen.src=listen_on_src;
  643.         else
  644.                 img_listen.src=listen_src;
  645. }
  646. function talk_onclick()
  647. {
  648.         if (ipcam[current].TalkStatus==0)
  649.                 ipcam[current].StartTalk();
  650.         else
  651.                 ipcam[current].StopTalk();
  652.         if (ipcam[current].TalkStatus==1)
  653.                 img_talk.src=talk_on_src;
  654.         else
  655.                 img_talk.src=talk_src;
  656. }
  657.  
  658. function image_reversal_onclick()
  659. {
  660.         if (ipcam[current].CameraFlip&0x01){
  661.                 ipcam[current].CameraFlip=ipcam[current].CameraFlip&0x02;                      
  662.         }
  663.         else
  664.                 ipcam[current].CameraFlip=ipcam[current].CameraFlip|0x01;      
  665. }
  666. function image_mirror_onclick()
  667. {
  668.         if (ipcam[current].CameraFlip&0x02)
  669.                 ipcam[current].CameraFlip=ipcam[current].CameraFlip&0x01;
  670.         else
  671.                 ipcam[current].CameraFlip=ipcam[current].CameraFlip|0x02;
  672. }
  673. function        image_switchon_onclick()
  674. {
  675.         ipcam[current].DecoderControl(IO_ON);
  676. }
  677. function        image_switchoff_onclick()
  678. {
  679.         ipcam[current].DecoderControl(IO_OFF);
  680. }
  681. function ipcam_OnMonitorParamsChanged(index)
  682. {
  683.         resolution.value=ipcam[index].Resolution;
  684.         rMode.value = ipcam[index].Saturation; 
  685.         brightness.value=Math.round(ipcam[index].Brightness / 16);
  686.         contrast.value=ipcam[index].Contrast;
  687.        
  688.         if(ipcam[index].CameraFlip&0x01)
  689.                 img_reversal.src="images/reversal_on.gif";
  690.         else
  691.                 img_reversal.src="images/reversal.gif";
  692.         if(ipcam[index].CameraFlip&0x02)
  693.                 img_mirror.src="images/mirror_on.gif";
  694.         else
  695.                 img_mirror.src="images/mirror.gif";
  696.  
  697. //      osd.selectedIndex=ipcam[index].OSD;
  698. //      buffer.value=ipcam[index].BufferTime;
  699. }
  700. function ipcam_OnMonitorDisconnected(index,reason)
  701. {
  702.         cameras.pri[index]=PRI_REFUSE;
  703.  
  704.         if (cameras.host[index]=='')
  705.                 device_status.src="images/gray.gif";
  706.         else
  707.                 device_status.src="images/yellow.gif"
  708.                
  709.         if ((!reason)||(reason==ERROR_CANCEL))
  710.         {
  711.                 if (cameras.restart[index]==1)
  712.                 {
  713.                         cameras.restart[index]=0;
  714.                         connect_camera(index); 
  715.                 }
  716.                 return;
  717.         }
  718.                
  719.         cameras.retry_times[index]=10;
  720.         if (index==0)
  721.                 setTimeout('connect_camera(0)',30000);
  722. }
  723.  
  724. var s_hpatrol=true;
  725. var s_vpatrol=true;
  726. function hpatrol_onclick()
  727. {
  728.         if(s_hpatrol){
  729.                 if (ptz_type==0)
  730.                         ipcam[current].DecoderControl(PTZ_HPATROL);
  731.                 else
  732.                         ipcam[current].DecoderControl(PTZ_PELCO_D_HPATROL);
  733.                 s_hpatrol = false;
  734.         }
  735.         else{
  736.                 if (ptz_type==0)
  737.                         ipcam[current].DecoderControl(PTZ_HPATROL_STOP);
  738.                 else
  739.                         ipcam[current].DecoderControl(PTZ_PELCO_D_HPATROL_STOP);       
  740.                 s_hpatrol=true;
  741.         }
  742. }
  743. function vpatrol_onclick()
  744. {
  745.         if(s_vpatrol){
  746.                 if (!ptz_type)
  747.                         ipcam[current].DecoderControl(PTZ_VPATROL);
  748.                 s_vpatrol = false;
  749.         }
  750.         else{
  751.                 if (!ptz_type)
  752.                         ipcam[current].DecoderControl(PTZ_VPATROL_STOP);
  753.                 s_vpatrol=true;
  754.         }
  755. }
  756. function ipcam_OnImageSizeChanged(index,width,height)
  757. {
  758.         if(cameras.count == 1   ){
  759.                 ipcam[index].style.width=width;
  760.                 ipcam[index].style.height=height;
  761.         }
  762. }
  763. function ipcam_OnAlarm(alarm)
  764. {
  765.         cameras.alarm[0]=1;
  766.         cameras.alarm_light[0]=1;
  767.         device_status.src="images/red.gif";
  768. }
  769. function ipcam_OnAlarmStopped(index)
  770. {
  771.         cameras.alarm[0]=0;
  772.         cameras.alarm_light[0]=0;
  773.         if (ipcam[0].MonitorStatus==2)
  774.                 device_status.src="images/green.gif";
  775.         else   
  776.                 device_status.src="images/yellow.gif";
  777. }
  778. function ipcam_OnPlayAudioResult(index,result)
  779. {
  780.         if (result)
  781.         {
  782.                 img_listen.src=listen_src;
  783.                 showerror(cameras.alias[index],_failtoplayaudio,result);
  784.         }
  785.         else
  786.         {
  787.                 img_listen.src=listen_on_src;
  788.         }      
  789. }
  790. function ipcam_OnStartTalkResult(index,result)
  791. {
  792.         if (result)
  793.         {
  794.                 img_talk.src=talk_src;
  795.                 showerror(cameras.alias[index],_failtostarttalk,result);
  796.         }
  797.         else
  798.         {
  799.                 img_talk.src=talk_on_src;
  800.         }
  801. }
  802. function ipcam_OnPlayVideoResult(index,result)
  803. {
  804.         if (result)
  805.         {
  806.                 //showerror(cameras.alias[index],_failtoplayvideo,result);
  807.         }
  808.         else
  809.         {
  810.         }
  811. }
  812.  
  813. function getX(elem){
  814.     var x = 0;
  815.     while(elem){
  816.         x = x + elem.offsetLeft;
  817.         elem = elem.offsetParent;
  818.     }
  819.     return x;
  820. }
  821. function getY(elem){
  822.     var y = 0;
  823.     while(elem){
  824.         y = y + elem.offsetTop;
  825.         elem = elem.offsetParent;
  826.     }
  827.     return y;
  828. }
  829. function showpostable()
  830. {      
  831.         var tb=document.getElementById('postable');
  832.         var curpos=document.getElementById('curpos');
  833.         var nleft=getX(curpos);
  834.         var ntop=getY(curpos);
  835.         tb.style.left=nleft-96;
  836.         tb.style.top=ntop-4;
  837.         tb.style.display = "block";
  838. }
  839. function hidepostable()
  840. {
  841.         var tb=document.getElementById('postable');
  842.         tb.style.display = "none";
  843. }
  844. function setspeed(nValue)
  845. {
  846.         action_zone.location='set_misc.cgi?ptz_patrol_rate='+nValue;
  847.         document.getElementById('curpos').innerText = nValue;
  848. }  
  849. setTimeout('timer()',1000);
  850. </script>
  851.  
  852. <script language="JavaScript" type="text/JavaScript">
  853. <!--
  854. function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  855.   if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
  856.     document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  857.   else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
  858. }
  859. MM_reloadPage(true);
  860. //-->
  861. </script>
  862. <SCRIPT FOR="ipcam" EVENT="OnOtherDevicesParamsChanged()">ipcam_OnOtherDevicesParamsChanged(this.name)</SCRIPT>
  863. <SCRIPT FOR="ipcam" EVENT="OnMonitorConnectResult(result,pri)">ipcam_OnMonitorConnectResult(this.name,result,pri)</SCRIPT>
  864. <SCRIPT FOR="ipcam" EVENT="OnPTZOnScreen(ptz)">ipcam_OnPTZOnScreen(this.name,ptz)</SCRIPT>
  865. <SCRIPT FOR="ipcam" EVENT="OnMonitorParamsChanged">ipcam_OnMonitorParamsChanged(this.name)</SCRIPT>
  866. <SCRIPT FOR="ipcam" EVENT="OnMonitorDisconnected(reason)">ipcam_OnMonitorDisconnected(this.name,reason)</SCRIPT>
  867. <SCRIPT FOR="ipcam" EVENT="OnImageSizeChanged(width,height)">ipcam_OnImageSizeChanged(this.name,width,height)</SCRIPT>
  868. <SCRIPT FOR="ipcam" EVENT="OnAlarm(alarm)">ipcam_OnAlarm(alarm)</SCRIPT>
  869. <SCRIPT FOR="ipcam" EVENT="OnAlarmStopped">ipcam_OnAlarmStopped()</SCRIPT>
  870. <SCRIPT FOR="ipcam" EVENT="OnPlayAudioResult(result)">ipcam_OnPlayAudioResult(this.name,result)</SCRIPT>
  871. <SCRIPT FOR="ipcam" EVENT="OnStartTalkResult(result)">ipcam_OnStartTalkResult(this.name,result)</SCRIPT>
  872. <SCRIPT LANGUAGE=javascript FOR=ipcam EVENT=OnFocus>ipcam_OnFocus(this.name)</SCRIPT>
  873. <SCRIPT FOR="ipcam" EVENT="OnPlayVideoResult(result)">ipcam_OnPlayVideoResult(this.name,result)</SCRIPT>
  874. </head>
  875.  
  876. <body align="center" onLoad="body_onload()" onUnload="body_onunload()">
  877. <table width="100%" height="100%"  border="0" cellpadding="0" cellspacing="0">
  878.   <tr>
  879.     <td align="right" valign="middle" height="100%"><table width="320" height="281" border="0" cellpadding="0" cellspacing="0">
  880.         <tr>
  881.           <td ><img src="images/2_10.gif" width="35" height="20"></td>
  882.           <td width="424" height="20" background="images/2_11.gif"></td>
  883.           <td width="24"><img src="images/2_12.gif" width="11" height="20"></td>
  884.         </tr>
  885.         <tr>
  886.           <td valign="top" background="images/2_26.gif" style="background-repeat:repeat-y"><img src="images/2_13.gif" width="35" height="30"><br>
  887.           <br>          </td>
  888.           <td rowspan="3"><div name="ipcamdiv" id="ipcamdiv" align="center">
  889.                 <span><OBJECT id=ipcam name = 0 style="LEFT: 0px; TOP: 0px" height=240 width=320 classid=clsid:A4150320-98EC-4DB6-9BFB-EBF4B6FBEB16 VIEWASTEXT>
  890.                                                           <PARAM NAME="_Version" VALUE="65536"><PARAM NAME="_ExtentX" VALUE="8467">
  891.                                                                 <PARAM NAME="_ExtentY" VALUE="6350"><PARAM NAME="_StockProps" VALUE="0"></OBJECT></span>                                                               
  892.                                                 <span><OBJECT id=ipcam name = 1 style="LEFT: 0px; TOP: 0px" height=0 width=0 classid=clsid:A4150320-98EC-4DB6-9BFB-EBF4B6FBEB16 VIEWASTEXT>
  893.                                                                 <PARAM NAME="_Version" VALUE="65536"><PARAM NAME="_ExtentX" VALUE="8467">
  894.                                                                 <PARAM NAME="_ExtentY" VALUE="6350"><PARAM NAME="_StockProps" VALUE="0"></OBJECT></span>
  895.                                                 <span><OBJECT id=ipcam name = 2 style="LEFT: 0px; TOP: 0px" height=0 width=0 classid=clsid:A4150320-98EC-4DB6-9BFB-EBF4B6FBEB16 VIEWASTEXT>
  896.                                                                 <PARAM NAME="_Version" VALUE="65536"><PARAM NAME="_ExtentX" VALUE="8467">
  897.                                                                 <PARAM NAME="_ExtentY" VALUE="6350"><PARAM NAME="_StockProps" VALUE="0"></OBJECT></span>                                                                               
  898.                                                 <span><OBJECT id=ipcam name = 3 style="LEFT: 0px; TOP: 0px" height=0 width=0 classid=clsid:A4150320-98EC-4DB6-9BFB-EBF4B6FBEB16 VIEWASTEXT>
  899.                                                                 <PARAM NAME="_Version" VALUE="65536"><PARAM NAME="_ExtentX" VALUE="8467">
  900.                                                                 <PARAM NAME="_ExtentY" VALUE="6350"><PARAM NAME="_StockProps" VALUE="0"></OBJECT></span>                                                                               
  901.                                                 <span><OBJECT id=ipcam name = 4 style="LEFT: 0px; TOP: 0px" height=0 width=0 classid=clsid:A4150320-98EC-4DB6-9BFB-EBF4B6FBEB16 VIEWASTEXT>
  902.                                                                 <PARAM NAME="_Version" VALUE="65536"><PARAM NAME="_ExtentX" VALUE="8467">
  903.                                                                 <PARAM NAME="_ExtentY" VALUE="6350"><PARAM NAME="_StockProps" VALUE="0"></OBJECT></span>
  904.                                                 <span><OBJECT id=ipcam name = 5 style="LEFT: 0px; TOP: 0px" height=0 width=0 classid=clsid:A4150320-98EC-4DB6-9BFB-EBF4B6FBEB16 VIEWASTEXT>
  905.                                                                 <PARAM NAME="_Version" VALUE="65536"><PARAM NAME="_ExtentX" VALUE="8467">
  906.                                                                 <PARAM NAME="_ExtentY" VALUE="6350"><PARAM NAME="_StockProps" VALUE="0"></OBJECT></span>                                                                               
  907.                                                 <span><OBJECT id=ipcam name = 6 style="LEFT: 0px; TOP: 0px" height=0 width=0 classid=clsid:A4150320-98EC-4DB6-9BFB-EBF4B6FBEB16 VIEWASTEXT>
  908.                                                                 <PARAM NAME="_Version" VALUE="65536"><PARAM NAME="_ExtentX" VALUE="8467">
  909.                                                                 <PARAM NAME="_ExtentY" VALUE="6350"><PARAM NAME="_StockProps" VALUE="0"></OBJECT></span>
  910.                                                 <span><OBJECT id=ipcam name = 7 style="LEFT: 0px; TOP: 0px" height=0 width=0 classid=clsid:A4150320-98EC-4DB6-9BFB-EBF4B6FBEB16 VIEWASTEXT>
  911.                                                                 <PARAM NAME="_Version" VALUE="65536"><PARAM NAME="_ExtentX" VALUE="8467">
  912.                                                                 <PARAM NAME="_ExtentY" VALUE="6350"><PARAM NAME="_StockProps" VALUE="0"></OBJECT></span>
  913.                                                 <span><OBJECT id=ipcam name = 8 style="LEFT: 0px; TOP: 0px" height=0 width=0 classid=clsid:A4150320-98EC-4DB6-9BFB-EBF4B6FBEB16 VIEWASTEXT>
  914.                                                                 <PARAM NAME="_Version" VALUE="65536"><PARAM NAME="_ExtentX" VALUE="8467">
  915.                                                                 <PARAM NAME="_ExtentY" VALUE="6350"><PARAM NAME="_StockProps" VALUE="0"></OBJECT></span>
  916.             <script>
  917.                                                         try{
  918.                                                                 if(ipcam[0].OSD==undefined)
  919.                                                                                 document.write("<FONT COLOR=red SIZE=4>" + _noocx + "<a href='./codebase/IPCam902.exe'>" + _here + "</a>" + _download + "</FONT>");
  920.                                                         }
  921.                                                         catch(exception){              
  922.                                                                 document.write("<FONT COLOR=red SIZE=4>" + _noocx + "<a href='./codebase/IPCam902.exe'>" + _here + "</a>" + _download + "</FONT>");
  923.                                                         }                                      
  924.             </script>
  925. </div></td>
  926.           <td rowspan="3" valign="top" background="images/2_27.gif" style="background-repeat:repeat-y">&nbsp;</td>
  927.         </tr>
  928.         <tr>
  929.           <td background="images/2_26.gif" style="background-repeat:repeat-y"><img src="images/2_16.gif" width="35" height="166"></td>
  930.         </tr>
  931.         <tr>
  932.           <td background="images/2_26.gif" style="background-repeat:repeat-y">&nbsp;</td>
  933.         </tr>
  934.         <tr>
  935.           <td><img src="images/2_18.gif" width="35" height="20"></td>
  936.           <td background="images/2_19.gif"></td>
  937.           <td><img src="images/2_20.gif" width="11" height="20"></td>
  938.         </tr>
  939.     </table></td>
  940.     <td valign="middle"><table border="0" cellspacing="0" cellpadding="0">
  941.         <tr>
  942.           <td><img src="images/2_08.gif" width="209" height="30"></td>
  943.         </tr>
  944.         <tr>
  945.           <td align="center" bordercolor="0" style="background-repeat:repeat-y,repeat-x" ><table width="100%" height="42" border="0" cellpadding="0" cellspacing="0" background="images/2_07.gif">
  946.             <tr>
  947.               <td><div align="center"><img id="img_logo" src="images/logo.gif" width="174" height="34"></div></td>
  948.             </tr>
  949.             <tr>
  950.               <td><div align="center"><img src="images/line.gif" width="192" height="8"></div></td>
  951.             </tr>
  952.           </table>
  953.             <table width="100%" border="0" cellpadding="0" cellspacing="0" background="images/2_09.gif">
  954.               <tr id="cameratitle">
  955.                 <td height="20" align="center"><strong><span class="style2" id="cameratitle_span"></span></strong></td>
  956.               </tr>
  957.               <tr>
  958.                 <td align="center"><img id="ptzpanel" src="images/btn_circle.gif" width="105" height="105" border="0" usemap="#Map7MapMap">
  959.                   <map name="Map7MapMap">
  960.                     <area shape="circle" id="ptz_center" coords="53,52,28" href="#" onClick="if (!ptz_type) ipcam[current].DecoderControl(PTZ_CENTER)">
  961.                     <area shape="rect" id="ptz_left" coords="6,33,22,73" href="#" onMouseDown="left_onmousedown();" onMouseUp="left_onmouseup();">
  962.                     <area shape="rect" id="ptz_down" coords="32,83,76,99" href="#"onMouseDown="down_onmousedown();" onMouseUp="down_onmouseup();">
  963.                     <area shape="rect" id="ptz_right" coords="85,32,100,73" href="#" onMouseDown="right_onmousedown();" onMouseUp="right_onmouseup();">
  964.                     <area shape="rect" id="ptz_up" coords="30,6,75,21" href="#" onMouseDown="up_onmousedown();" onMouseUp="up_onmouseup();">
  965.                 </map></td>
  966.               </tr>
  967.               <tr>
  968.                 <td height="32" align="center">   <table border="0" cellpadding="0" cellspacing="0">
  969.                   <tr>
  970.                     <td><img src="images/gray.gif" name="0" border="0" id="device_status"></td>
  971.                   <td><img src="images/hpatrol_up.gif" width="24" height="23" border="0" class="curspan" id="hpatrol"  onClick="hpatrol_onclick()" onMouseOver="showhint(_hori_par)" onMouseOut="showhint('')"></td>
  972.                     <td><img src="images/vpatrol_up.gif" width="24" height="23" border="0" class="curspan" id="vpatrol" onClick="vpatrol_onclick()" onMouseOver="showhint(_ver_par)" onMouseOut="showhint('')"></td>
  973.                     <td id="tdspeed" width="24" height="23" align="center" background="images/pt_speed.gif">
  974.                                                 <strong><span class="curspan2"  id="curpos" onmousedown="showpostable();" onMouseOver="showhint(_set_ptz_speed)" onMouseOut="showhint('')">&nbsp;</span></strong>
  975.                                                 <div id="postable" style="display:none;position:absolute; left:100px; top:100px; width:101px; height:104px; z-index:1">
  976.                         <table border="1" cellpadding="0" cellspacing="0" bgcolor="#993333">
  977.                           <tr>
  978.                             <td width="20"><div align="center"><span class="style3 curspan2" onclick="setspeed(0);hidepostable()">&nbsp;0&nbsp;</span></div></td>
  979.                             <td width="20"><div align="center"><span class="style3 curspan2" onclick="setspeed(1);hidepostable()">&nbsp;1&nbsp;</span></div></td>
  980.                             <td width="20"><div align="center"><span class="style3 curspan2" onclick="setspeed(2);hidepostable()">&nbsp;2&nbsp;</span></div></td>
  981.                                                         <td width="20"><div align="center"><span class="style3 curspan2" onclick="hidepostable()">x</span></div></td>
  982.                           </tr>
  983.                           <tr>
  984.                             <td><div align="center"><span class="style3 curspan2" onclick="setspeed(3);hidepostable()">&nbsp;3&nbsp;</span></div></td>
  985.                             <td><div align="center"><span class="style3 curspan2" onclick="setspeed(4);hidepostable()">&nbsp;4&nbsp;</span></div></td>
  986.                             <td><div align="center"><span class="style3 curspan2" onclick="setspeed(5);hidepostable()">&nbsp;5&nbsp;</span></div></td>
  987.                                                         <td><div align="center"><span class="style3 curspan2" onclick="setspeed(6);hidepostable()">6</span></div></td>
  988.                           </tr>
  989.                           <tr>
  990.                             <td><div align="center"><span class="style3 curspan2" onclick="setspeed(7);hidepostable()">&nbsp;7&nbsp;</span></div></td>
  991.                             <td><div align="center"><span class="style3 curspan2" onclick="setspeed(8);hidepostable()">&nbsp;8&nbsp;</span></div></td>
  992.                             <td><div align="center"><span class="style3 curspan2" onclick="setspeed(9);hidepostable()">&nbsp;9&nbsp;</span></div></td>
  993.                                                         <td><div align="center"><span class="style3 curspan2" onclick="setspeed(10);hidepostable()">10&nbsp;</span></div></td>
  994.                           </tr>
  995.                         </table>
  996.                     </div></td>
  997.                   </tr>
  998.                 </table>                  <img src="images/reversal.gif" width="24" height="23" border="0" class="curspan" id="img_reversal" onClick="image_reversal_onclick()" onMouseOver="showhint(_rev)" onMouseOut="showhint('')"> <img src="images/mirror.gif" width="24" height="23" border="0" class="curspan" id="img_mirror" onClick="image_mirror_onclick()" onMouseOver="showhint(_mirror)" onMouseOut="showhint('')"> <img src="images/switchon_up.gif" width="24" height="23" border="0" class="curspan" id="img_switchon" onClick="image_switchon_onclick()" onMouseOver="showhint(_switchon)" onMouseOut="showhint('')"> <img src="images/switchoff_up.gif" width="24" height="23" border="0" class="curspan" id="img_switchoff" onClick="image_switchoff_onclick()" onMouseOver="showhint(_switchoff)" onMouseOut="showhint('')"></td>
  999.               </tr>
  1000.               <tr>
  1001.                 <td height="30" align="center" valign="middle"><table width="138" border="0" cellspacing="0" cellpadding="0">
  1002.                   <tr align="center">
  1003.                     <td><img id="scr1" class="curspan" src="images/x1_off.gif" onClick="x_onclick(1)"></td>
  1004.                     <td><img id="scr4" class="curspan" src="images/x4_off.gif" onClick="x_onclick(4)"></td>
  1005.                     <td><img id="scr9" class="curspan" src="images/x9_off.gif" onClick="x_onclick(9)"></td>
  1006.                   </tr>
  1007.                 </table></td>
  1008.               </tr>
  1009.               <tr>
  1010.                 <td height="90"  align="center"><table id="bvoption" border="0" cellspacing="0" cellpadding="0">
  1011.                   <tr>
  1012.                     <td><span class="style2">
  1013.                       <script>document.write(_resolution);</script></span> </td>
  1014.                     <td><select  style="width=80" id="resolution" name="resolution" class="s4" onChange="OnResolutionChanged(this.value)">
  1015.                         <option value="8">320*240</option>
  1016.                         <option value="32">640*480</option>
  1017.                     </select></td>
  1018.                   </tr>
  1019.                   <tr>
  1020.                     <td><span class="style2">
  1021.                       <script>document.write(_mode);</script></span> </td>
  1022.                     <td><select  style="width=80" id="rMode" name="rMode" class="s4" onChange="ipcam[current].Saturation=this.value">
  1023.                         <option value="0">50 HZ</option>
  1024.                         <option value="1">60 HZ</option>
  1025.                         <option value="2"><script>document.write(_outdoor);</script></option>
  1026.                     </select></td>
  1027.                   </tr>
  1028.                   <tr>
  1029.                     <td><span class="style2">
  1030.                       <script>document.write(_brightness);</script></span></td>
  1031.                     <td><select style="width=40" id="brightness" class="s4" onChange="ipcam[current].Brightness=((parseInt(brightness.value)))*16" name="brightness">
  1032.                         <option value="1">1</option>
  1033.                         <option value="2">2</option>
  1034.                         <option value="3">3</option>
  1035.                         <option value="4">4</option>
  1036.                         <option value="5">5</option>
  1037.                         <option value="6">6</option>
  1038.                         <option value="7">7</option>
  1039.                         <option value="8">8</option>
  1040.                         <option value="9">9</option>
  1041.                         <option value="10">10</option>
  1042.                         <option value="11">11</option>
  1043.                         <option value="12">12</option>
  1044.                         <option value="13">13</option>
  1045.                         <option value="14">14</option>
  1046.                         <option value="15">15</option>
  1047.                     </select></td>
  1048.                   </tr>
  1049.                   <tr>
  1050.                     <td><span class="style2">
  1051.                       <script>document.write(_contrast);</script></span></td>
  1052.                     <td><select style="width=40" id="contrast" class="s4" onChange="ipcam[current].Contrast=contrast.value" name="contrast">
  1053.                         <option value="0">0</option>
  1054.                         <option value="1">1</option>
  1055.                         <option value="2">2</option>
  1056.                         <option value="3">3</option>
  1057.                         <option value="4">4</option>
  1058.                         <option value="5">5</option>
  1059.                         <option value="6">6</option>
  1060.                     </select></td>
  1061.                   </tr>
  1062.                 </table></td>
  1063.               </tr>
  1064.               <tr>
  1065.                 <td height="45" align="center" valign="bottom"><img src="images/btn_luxiang.gif" hspace="6" border="0" class="curspan" id="recImage_avi" onClick="record_onclick()" onMouseOver="showhint(_record)" onMouseOut="showhint('')">
  1066.                                 <img id="img_snapshot" class="curspan" src="images/btn_paizhao.gif" onClick="snapshot()" hspace="6" border="0" onMouseOver="showhint(_snapshot)" onMouseOut="showhint('')"></td>
  1067.               </tr>
  1068.               <tr>
  1069.                 <td height="45" align="center"><img id="img_listen" class="curspan" src="images/btn_jianting.gif" onClick="audio_onclick()" onMouseOver="showhint(_listen)" onMouseOut="showhint('')" width="60" height="34" hspace="6" border="0">
  1070.                                         <img id="img_talk" class="curspan" src="images/btn_talk.gif" onclick="talk_onclick()" onMouseOver="showhint(_talk)" onMouseOut="showhint('')" width="60" height="34" hspace="6" border="0"></td>
  1071.               </tr>
  1072.               <tr>
  1073.                 <td height="15" align="center"><span class="style2" id="hint_span"></span></td>
  1074.               </tr>
  1075.             </table>
  1076.           </td>
  1077.         </tr>
  1078.         <tr>
  1079.           <td height="34" align="center" background="images/2_24.gif"><a href="admin.htm" target="_self"><img id="img_option" src="images/btn_shezhi.gif" width="189" height="38" border="0" onMouseOver="showhint(_setting)" onMouseOut="showhint('')"></a></td>
  1080.         </tr>
  1081.     </table></td>
  1082.   </tr>
  1083. </table>
  1084. <map name="Map7Map">
  1085.   <area shape="circle" id="ptz_center" coords="53,52,28" href="#" onClick="if (!ptz_type) ipcam[current].DecoderControl(PTZ_CENTER)">
  1086.   <area shape="rect" id="ptz_left" coords="6,33,22,73" href="#" onMouseDown="left_onmousedown();" onMouseUp="left_onmouseup();">
  1087.   <area shape="rect" id="ptz_down" coords="32,83,76,99" href="#"onMouseDown="down_onmousedown();" onMouseUp="down_onmouseup();">
  1088.   <area shape="rect" id="ptz_right" coords="85,32,100,73" href="#" onMouseDown="right_onmousedown();" onMouseUp="right_onmouseup();">
  1089.   <area shape="rect" id="ptz_up" coords="30,6,75,21" href="#" onMouseDown="up_onmousedown();" onMouseUp="up_onmouseup();">
  1090. </map>
  1091.  
  1092. <script>
  1093. document.getElementById("ptz_center").alt=_ptz_center;
  1094. document.getElementById("ptz_left").alt=_ptz_left;
  1095. document.getElementById("ptz_down").alt=_ptz_down;
  1096. document.getElementById("ptz_right").alt=_ptz_right;
  1097. document.getElementById("ptz_up").alt=_ptz_up;
  1098.  
  1099.  
  1100.         listen_src="images/btn_jianting.gif";
  1101.         listen_on_src="images/btn_jianting_on.gif";
  1102.         talk_src="images/btn_talk.gif";
  1103.         talk_on_src="images/btn_talk_on.gif";
  1104.  
  1105.         record_src="images/btn_luxiang.gif";
  1106.         record_on_src="images/btn_luxiang_on.gif";
  1107.         recImage_avi.src="images/btn_luxiang.gif";
  1108.         img_snapshot.src="images/btn_paizhao.gif";
  1109.         img_option.src="images/btn_shezhi.gif";
  1110.        
  1111.         if(language=='simple_chinese')
  1112.                 img_logo.src="images/logo.gif";
  1113.         else if(language=='traditional_chinese')
  1114.                 img_logo.src="images/logo_big5.gif";
  1115.         else if(language=='spanish')
  1116.                 img_logo.src="images/logo_spa.gif";
  1117.         else if(language=='french')
  1118.                 img_logo.src="images/logo_fr.gif";
  1119.         else
  1120.                 img_logo.src="images/logo_en.gif";
  1121.  
  1122.         img_listen.src=listen_src;
  1123.         img_talk.src=talk_src;
  1124.         recImage_avi.src=record_src;
  1125.  
  1126. </script>
  1127. <object id="sound_player" CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" type="application/x-oleobject" width="0" height="0"><param name="url" value="images/alarm.wav"><param name="autoStart" value="false"><param name="playCount" value="1"><param name="rate" value="1"></object>
  1128. <iframe id="action_zone" name="action_zone" style="display:none"></iframe>
  1129. </body>
  1130. </html>