Advertisement
Guest User

wat.js

a guest
Jun 30th, 2019
408
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var cur_Dev;//current DEV modle
  2. var vsIf="";//version Info
  3. var gVar;   //gloabl var
  4. var gVar_first;
  5. var gDvr;   //dev info
  6. var UI;     //UI
  7. var lg;     //language
  8. var lgCls;
  9. var Struct;
  10. var IFs = 0;
  11. var isOpenA = new Array();
  12. var isOpenV = new Array();
  13. var isOpenT = new Array();
  14. var isOpenR = new Array();
  15. var hRecord = new Array();
  16. var isOpenAlarmR = new Array();
  17. var mult_https_port = new Array();
  18. var cutdownalarmrecord = new Array();
  19. var isEncy = new Array();
  20. var isappallDev =0;    //0:not appall Dev      1:is appall dev
  21. var user;
  22. var pwd;
  23. var Qqx=0;
  24. var isSoftAPMode = 0;   //1:soft AP
  25. var isFirstUse = 0;    //1:factory default
  26. var setGuidResult = false;
  27. var timerID = -1;
  28. var pVersion = "5.1.0.13";     //plugins version
  29. var macVersion = "5.2.1.3";
  30. var needIEUpdate = false;
  31. var bsTimeVal;
  32. var bJudgeCgiResult = true;
  33. var bMaskHide = true;
  34. var strCgi = "";
  35. var isPlugin = false;
  36. var loginSucc = false;
  37. var ytDev = ["FI9821E","HD816E","EH8135","EH8155","HD818P","FI9826P","FI9821A","FI9821W","FI9821W V2","FI9821W+V2","FI9821P","FI9831W","FC2401P","FC2402P","FI9818A","FI9826W","FI9828W","HD811W","HD816P","HD816W","HD818W","FI9818W V2","FI9818W+V2","FI9828W","HD963W"];
  38. var is485ytDev = ["FI9805E","HD953E"];
  39. var zoomDev = ["EH8155","HD818P","FI9826P","FI9826W","HD818W","FI9828W","HD963W"];
  40. var notTalkAudioDev = ["HD950", "EH9331", "HD933", "FI9803", "FI9803W"];
  41. var vVal = 0;
  42. var vPage = 0;
  43. var vList = 0;
  44. var humidity = "";
  45. var temperature = "";
  46. var loadXml = true;
  47. var guard = "";
  48. var isSafari = false;
  49. var isZoomWork = 0;
  50. var isFocusWork = 0;
  51. var needMoreTimeIPC = ["5006","5007","5010","5034","5035","5036","5038","5039","5065","5066","5067","5094","5095","5096","5102","5103","5104","5105","5106","5107","5108","5110"];
  52. var isNVRV200IPC = ["3024","3057","3058","3500","6023","6024","6029","6030","6035"];
  53. var stall;
  54. var explorerInfo = navigator.userAgent.toLowerCase();
  55. var browserPlatform = navigator.platform.toLowerCase();
  56. var browserLanguage = (navigator.language || navigator.browserLanguage).toLowerCase();
  57. var flashState = 1;
  58. var hasFlash = navigator.plugins['Shockwave Flash'];
  59. var naclState = false;
  60. var playerVideo;
  61. var playerAudio;
  62. var bFirstLogin = true; // 切换分辨率标志,切换过标为true,H5每切换一次分辨率需要重新打开视频一次
  63. var H5Live = 1; // 0: flash, 1: h5
  64. var H5Live_Edge = 0; //Edge 浏览器 0:flash, 1:h5
  65. var H5Live_Safari = 1; //Safari 浏览器 0:npapi, 1:h5
  66. var inLivePage = false;
  67. var noPlugin = false;
  68.  
  69. var videoTimer = null;
  70. var audioTimer = null;
  71.  
  72. function fosLog(msg) {
  73.     return;
  74.     try {
  75.         console.log(msg);
  76.     } catch (e) {}
  77. }
  78.  
  79. function isLoginByMainStream() {
  80.     return gVar.nStreamType == 0;
  81. }
  82.  
  83. if(explorerInfo.indexOf("firefox") >= 0){
  84.     var FFversion = explorerInfo.match(/firefox\/([\d.]+)/)[1];
  85. }
  86. function SetDefaultAudioDisplay()
  87. {  
  88.     if(gVar.audioFlag == 1){
  89.         $(".liveBtnBt9").css("display", "none");
  90.         $(".liveBtnBt109").css("display", "");
  91.         gDvr.OpenAudio(IFs);
  92.         isOpenA[IFs] = true;
  93.     }else{
  94.         $(".liveBtnBt9").css("display", "none");
  95.         $(".liveBtnBt109").css("display", "none");
  96.     }
  97.    
  98. }
  99.  
  100. function mStarDevice() {
  101.     return gVar_first.model >= 7001 && gVar_first.model < 8000;
  102. }
  103. /*
  104. set plugins language when IPC has dropped。
  105. zhuxiaolong 2016-3-8
  106. */
  107. function SetPluginLanguage(){
  108.      try {
  109.             if ($("#login_language").val() == "CHS") {
  110.                  gDvr.SetLauguage(0);
  111.             }else if ($("#login_language").val() == "CHT") {
  112.                      gDvr.SetLauguage(1);
  113.             }else {
  114.                     gDvr.SetLauguage(2);
  115.              }
  116.         } catch (e) { }
  117. }
  118.  
  119.  
  120.  
  121.  
  122. function fixCircelPos(videoWidth, videoHeight) {
  123.    try {
  124.       //console.log("fixCircelPos");
  125.       var pluginElm = document.getElementById("ipcamdiv0");
  126.       if (!pluginElm)
  127.          return;
  128.       var clientWidth = pluginElm.clientWidth;
  129.       var clientHeight = pluginElm.clientHeight;
  130.       var offsetRight = (clientWidth - videoWidth) / 2;
  131.       var offsetBottom = (clientHeight - videoHeight) / 2;
  132.        
  133.       //console.log(clientWidth + " " + clientHeight + " " + offsetRight + " " + offsetBottom);
  134.        
  135.       var blueCircle = document.getElementById("circleBlue");
  136.       var redCircel = document.getElementById("circleRed");
  137.         if (videoWidth == 0 && videoHeight == 0) { // if video width and video height is zero, set default pos
  138.             offsetRight = 0;
  139.             offsetBottom = 0;
  140.         }
  141.       if (blueCircle) {
  142.          blueCircle.style.right = offsetRight + 50 + "px";
  143.          blueCircle.style.bottom = offsetBottom + 5 + "px";
  144.       }
  145.        
  146.       if (redCircel) {
  147.          redCircel.style.right = offsetRight + "px";
  148.          redCircel.style.bottom = offsetBottom + 5 + "px";
  149.       }    
  150.    } catch (e) {
  151.        
  152.    }
  153.  
  154. }
  155. function isNVRIPC()
  156. {
  157.     if(IsInArray(isNVRV200IPC,gVar_first.model))
  158.     {
  159.         return true;
  160.     }
  161.     return false;
  162. }
  163. /*
  164. function isModel_6000To7000
  165. 2016/1/6 yangwei
  166. description: the model of "hi3518EV200 FI9812PV3 FI9831PV3"  is bettween 6000 and 7000
  167. */
  168. function isModel_6000To7000()
  169. {
  170.     if(gVar_first.model>6000&&gVar_first.model<7000)
  171.         return true;
  172.    
  173.     return false;
  174. }
  175. // MSATR机型
  176. function isModel_7000To8000()
  177. {
  178.     if(gVar_first.model>7000&&gVar_first.model<8000)
  179.         return true;
  180.    
  181.     return false;
  182. }
  183.  
  184. function isR2Plus() {
  185.     return gVar_first.model == 5111;
  186. }
  187.  
  188. function isZ2() {
  189.     return gVar_first.model == 5120;
  190. }
  191.  
  192. //error
  193. function XmlParm() { }
  194. function ErrPro(xml) {
  195.     debug("ErrPro", xml);
  196.     if (loadXml) {
  197.         var res = XmlParser("result", xml) * 1;
  198.         debug("ErrPro", "res=" + res + " " + bJudgeCgiResult + " lg = " + lg + " get=" + lg.get("IDS_TIPS"));
  199.         if (res != 0 && bJudgeCgiResult) {
  200.             switch (res) {
  201.                 case -1:
  202.                     ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LEFT_CGIW"));
  203.                     break;
  204.                 case -2:
  205.                     ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LEFT_UNORPWD"));
  206.                     break;
  207.                 case -4:
  208.                     ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LEFT_CFAIL"));
  209.                     break;
  210.                 case -5:
  211.                     ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LEFT_OVERT"));
  212.                     break;
  213.                 case -6:
  214.                     ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LEFT_INLINE"));
  215.                     break;
  216.                 case -8:
  217.                     ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LOG_NOLOG"));
  218.                     break;
  219.             }
  220.         } else {
  221.             bJudgeCgiResult = true;
  222.             var xmla;
  223.             if ((typeof xml == 'string') && xml.constructor == String) {
  224.                 // IE version check is just for IE10
  225.                 // Microsoft.XMLDOM has problem in IE10
  226.                 if (gBrowser.browser == "IE" && gBrowser.version != "10.0") {
  227.                     xmla = new ActiveXObject("Microsoft.XMLDOM");
  228.                     xmla.async = false;
  229.                     xmla.loadXML(xml);
  230.                 } else {
  231.                     xmla = ('<xml>' + xml + '</xml>');
  232.                 }
  233.             }
  234.             return xmla;
  235.         }
  236.     } else {
  237.         //return htmlContent;
  238.         loadXml = true;
  239.         return xml;
  240.     }
  241.     return null;
  242. }
  243. function PluginCallBackCGI() {  // plugin callback
  244.     try { CgiCall(ErrPro(arguments[0])); } catch (e) {debug("PluginCallBackCGI", e); }
  245.     if (bMaskHide) {
  246.         if(lanPage != "av_base" && lanPage != "alarm_mv" && lanPage != "alarm_motion" && lanPage != "net_p2p" && lanPage != "net_onvif" && lanPage != "net_ddns")
  247.         MasklayerHide();
  248.     } else {
  249.         bMaskHide = true;
  250.     }
  251. }
  252.  
  253. function CgiCall(){};
  254.  
  255. //CallBack -- 回调函数
  256. //Paop -- 消息框提示标题
  257. //cmd -- 设置或者获取页面的密令行
  258. //xml -- 设置操作时用到的参数;
  259. function RfParamCall(CallBack, Paop, cmd, xml, timeout, usertype) {
  260.     //console.log("cmd:  "+cmd);
  261.     debug("RfParamCall", "cmd = " + cmd);
  262.     MasklayerShow();
  263.     if (typeof timeout == 'undefined') timeout = 5000;
  264.     gVar.errTitle = Paop;
  265.    
  266.     debug("RfParamCall", jQuery.isFunction(CallBack));
  267.    
  268.     if (!jQuery.isFunction(CallBack)) {
  269.         CallBack = function () {
  270.             MasklayerHide();
  271.         }
  272.     }
  273.     CgiCall = CallBack;
  274.    
  275.     if(cmd.indexOf("undefined")!=-1)
  276.     {
  277.         MasklayerHide();
  278.         return;
  279.     }
  280.    
  281.     try
  282.     {
  283.         strCgi="/cgi-bin/CGIProxy.fcgi?usr=" + user + "&pwd=" + pwd + "&cmd=" + cmd;
  284.         gDvr.SendCgiCmd2(strCgi, timeout, strCgi.length);
  285.     }
  286.     catch(e)
  287.     {
  288.         strCgi = urlEncode("/cgi-bin/CGIProxy.fcgi?usr=" + user + "&pwd=" + pwd + "&cmd=" + cmd);
  289.         gDvr.SendCgiCmd(strCgi, timeout, strCgi.length);
  290.     }
  291. }
  292.  
  293. function CgiCallNoMask(CallBack, Paop, cmd, xml, timeout, usertype) {
  294.     debug("CgiCallNoMask", "CgiCallNoMask cmd = " + cmd);
  295.     if (typeof timeout == 'undefined') timeout = 5000;
  296.     gVar.errTitle = Paop;
  297.     if (!jQuery.isFunction(CallBack)) {
  298.         CallBack = function () {
  299.             //MasklayerHide();
  300.         }
  301.     }
  302.     CgiCall = CallBack;
  303.    
  304.     if(cmd.indexOf("undefined")!=-1)
  305.     {
  306.         //MasklayerHide();
  307.         return;
  308.     }
  309.    
  310.     try
  311.     {
  312.         strCgi="/cgi-bin/CGIProxy.fcgi?usr=" + user + "&pwd=" + pwd + "&cmd=" + cmd;
  313.         gDvr.SendCgiCmd2(strCgi, timeout, strCgi.length);
  314.     }
  315.     catch(e)
  316.     {
  317.         strCgi = urlEncode("/cgi-bin/CGIProxy.fcgi?usr=" + user + "&pwd=" + pwd + "&cmd=" + cmd);
  318.         gDvr.SendCgiCmd(strCgi, timeout, strCgi.length);
  319.     }
  320. }
  321.  
  322. //use in live video
  323. function RfParamCallNoShadow(CallBack, Paop, cmd, xml, timeout, usertype) {
  324.     //console.log("cmd2 : " + cmd);
  325.     debug("RfParamCallNoShadow", "no shadow cmd = " + cmd);
  326.     if (typeof timeout == 'undefined') timeout = 7000;
  327.     gVar.errTitle = Paop;
  328.     if (!jQuery.isFunction(CallBack)) {
  329.         CallBack = function () {
  330.             MasklayerHide();
  331.         }
  332.     }
  333.     CgiCall = CallBack;
  334.     if(cmd.indexOf("undefined")!=-1)
  335.     {
  336.         MasklayerHide();
  337.         return ;
  338.     }
  339.     strCgi = "/cgi-bin/CGIProxy.fcgi?usr=" + gVar.user + "&pwd=" + gVar.passwd + "&cmd=" + cmd;
  340.     if (isEncy[IFs]) {
  341.         try{
  342.             gDvr.SendCgiCmd2(strCgi, timeout, strCgi.length);
  343.         }
  344.         catch(e)
  345.         {
  346.             strCgi = urlEncode("/cgi-bin/CGIProxy.fcgi?usr=" + gVar.user + "&pwd=" + gVar.passwd + "&cmd=" + cmd);
  347.             gDvr.SendCgiCmd(strCgi, timeout, strCgi.length);
  348.         }
  349.        
  350.        
  351.     } else {
  352.         gVar.KCgi("cmd=" + cmd);
  353.     }
  354. }
  355.  
  356. function RfParamCall2(CallBack, Paop, cmd, xml, timeout, usertype) {
  357.     MasklayerShow();
  358.     if (typeof timeout == 'undefined') timeout = 5000;
  359.     gVar.errTitle = Paop;
  360.     if (!jQuery.isFunction(CallBack)) {
  361.         CallBack = function () {
  362.             MasklayerHide();
  363.         }
  364.     }
  365.     gVar.errTitle = Paop;
  366.     $.ajax({
  367.         type: 'GET',
  368.         url: '/cgi-bin/CGIProxy.fcgi?' + urlEncode('usr=' + user + '&pwd=' + pwd + '&cmd=' + cmd + "&" + (new Date()).getTime()),
  369.         async: true,
  370.         timeout: timeout,
  371.         datatype: "text",
  372.         success: function (data) {
  373.             var xml = ErrPro(data);
  374.             var hide;
  375.             if (xml != null) {
  376.                 hide = CallBack(xml, data, usertype);
  377.             }
  378.         },
  379.         error: function (data, state) {
  380.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_TIME_OUT"))
  381.             MasklayerHide();
  382.         }
  383.     });
  384. }
  385.  
  386. function PTZPro(e,p){}
  387.  
  388. function H264YT(e, p) {
  389.     var res = 0;
  390.     if (e.type == "mousedown") {
  391.         p.mousedown = true;
  392.         var cmd = $(p).attr("id").split("_")[2];
  393.         if (gVar.nUserRight == 0) {
  394.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_PLAYBACK_RIGHT1"));
  395.         } else {
  396.             //gVar.KCgi("cmd="+cmd);
  397.             RfParamCallNoShadow("", "", cmd);
  398.         }
  399.     } else if (e.type == "mouseup") {
  400.         if (p.mousedown) {
  401.             p.mousedown = false;
  402.             var cmd = "ptzStopRun";
  403.             //gVar.KCgi("cmd=" + cmd);
  404.             RfParamCallNoShadow("", "", cmd);
  405.         }
  406.     } else if (e.type == "mouseout") {
  407.         if (p.mousedown) {
  408.             p.mousedown = false;
  409.             var cmd = "ptzStopRun";
  410.             //gVar.KCgi("cmd=" + cmd);
  411.             RfParamCallNoShadow("", "", cmd);
  412.         }
  413.     }
  414. }
  415.    
  416.     function MJYT(e,p){
  417.         var res = 0;
  418.         if (e.type == "mousedown"){
  419.             p.mousedown = true;
  420.             var cmd = $(p).attr("tag")*1;
  421.             gVar.MJKCgi(cmd);
  422.                            
  423.         }else if (e.type == "mouseup"){
  424.             if(p.mousedown){
  425.                 p.mousedown = false;
  426.                 gVar.MJKCgi("1");
  427.             }
  428.         }else if(e.type == "mouseout"){
  429.             if (p.mousedown){
  430.                 p.mousedown = false;
  431.                 gVar.MJKCgi("1");
  432.             }
  433.         }
  434.     }
  435.  
  436. PTZPro = H264YT;
  437. for (var i = 0; i < 9; i++) {
  438.     isEncy[i] = isOpenAlarmR[i] = isOpenR[i] = isOpenA[i] = isOpenT[i] = isOpenV[i] = false;
  439.     mult_https_port[i] = 0;
  440. }
  441. isEncy[0] = true;
  442. isOpenV[0] = true; // Device 0 open status is true
  443.  
  444. function IframeLoad(){
  445. }
  446. function LanguageCall(){}//language callback
  447. function AA(){}
  448. function BB(){}
  449. function WebInit(DownPluginTip, ie){
  450.     lgCls = new LgClass();
  451.     gVar = new GlobarVar();
  452.     gVar_first = new GlobarVar();
  453.    
  454.     var aDate = (new Date()).getTime()+"";
  455.     gVar.nDate = aDate.substring(aDate.length-9, aDate.length)*1;
  456.     gVar_first.nDate = gVar.nDate;
  457.    
  458.     Struct = new PluginStruct();
  459.     var str = window.location.href;
  460.    
  461.     gVar.httpver = str.split("://")[0];
  462.     gVar_first.httpver = gVar.httpver;
  463.    
  464.     gVar.ip = str.split("//")[1].split("/")[0];
  465.    
  466.     if (gVar.httpver == "https"){
  467.         if (gVar.ip.indexOf(":") != -1){
  468.             port = gVar.port = gVar.ip.split(":")[1]*1;
  469.             ip = gVar.ip = gVar.ip.split(":")[0];
  470.         }else{
  471.             port = gVar.port = 443;
  472.             ip = gVar.ip;
  473.         }
  474.         mult_https_port[0] = port;
  475.         gJson=true;
  476.     }
  477.     else{
  478.         if (gVar.ip.indexOf(":") != -1){
  479.             port = gVar.port = gVar.ip.split(":")[1]*1;
  480.             ip = gVar.ip = gVar.ip.split(":")[0];
  481.         }else{
  482.             port = gVar.port = 80;
  483.             ip = gVar.ip;
  484.         }
  485.     }
  486.     gVar_first.ip = gVar.ip;
  487.     gVar_first.port = gVar.port;
  488.        
  489.     try{
  490.         gDvr = new DvrInfo();
  491.         if (ie){
  492.             gDvr.obj = document.getElementsByTagName("object");
  493.             vsIf = gDvr.Test();
  494.             if(vsIf != ""){
  495.                 var vv1 = vsIf.split(".");   //plugin version
  496.                 var vv2 = pVersion.split(".");    //web version
  497.                 for (var m = 0; m < 4; m++) {
  498.                     if (vv2[m] * 1 > vv1[m] * 1) {
  499.                         needIEUpdate = true;
  500.                         break;
  501.                     } else if (vv2[m] * 1 == vv1[m] * 1) {
  502.                         continue;
  503.                     } else {
  504.                         needIEUpdate = false;
  505.                         break;
  506.                     }
  507.                 }
  508.             }
  509.             if(gBrowser.version != "6.0"){
  510.                 //window.onmousewheel= document.onmousewheel =function(){return false}
  511.             }
  512.         }
  513.         else{ gDvr.obj = document.getElementsByTagName("Embed");
  514.             gDvr.Test();
  515.         }
  516.         isPlugin = true;
  517.     }catch(e){
  518.         isPlugin = false;
  519.         AA = function(){
  520.             this.nDate = new Date();
  521.             this.ChangeWndSize = function(wndType, num){};
  522.             this.GetMotionArea = function(){return ""}
  523.             this.GetDevIPandPort = function(){setTimeout(function(){window.location.reload()}, 100000);}
  524.         }
  525.         BB = function(f){
  526.             $.getScript("js/divBox.js");
  527.             $.get("html/left.html?"+gVar.nDate, function(data){
  528.                 $("#mleft").html(data).attr("name", "isDown");
  529.                 lan("left");
  530.                 $.getScript("js/cal.js?"+gVar.nDate);
  531.                
  532.                 $.getScript("js/left.js?"+gVar.nDate,function(data){   
  533.                     if (gBrowser.version == "6.0" && $gBrowser.browser == "IE"){
  534.                         $("#configMl").css("margin-left", "-7px");
  535.                         //$("#rss").css("margin-left", "27px")
  536.                     }
  537.                     gVar.ChangPage(3);
  538.                    
  539.                     $("#configleft").css({"display": "","margin-left": "0px"});
  540.                     tabkey = 1;
  541.                     $("#liveleft").remove();
  542.                     $("#playbackleft").remove();
  543.                     $("#left").stop().animate({marginLeft: "-24px"}, 200);
  544.                     $("#left").css({"margin-left":"0px", "width":"100%"});
  545.                     MasklayerHide();
  546.                     $("#dvrocx").css("height", "100%");
  547.                     $("#dvrocx").css("width", "100%")
  548.                     $("#login").remove();
  549.                     $("#LiveMenu").remove();
  550.                     $("#PlayBackMenu").remove();
  551.                     $("#ConfigMenu").remove();
  552.                     $("#avshelter").remove();
  553.                     $("#av_shelter").remove();
  554.                     $("#bs_multi").remove();
  555.                     $(".mheader").css("display", "block");
  556.                     $(".logo").css("background", "url(images/LOGO/LOGO_"+lgCls.logo+".gif) no-repeat");
  557.                     $(".header").css("height", "64px");
  558.                     $(".main").css("width", "100%");
  559.                     $("#plugin").remove();
  560.                     $("#av_osd").remove();
  561.                     $("#av_mask").remove();
  562.                     if(gVar_first.model == "1111"){
  563.                         $("#alarm_mv").remove();
  564.                     }else{
  565.                         $("#cfgmune_4").remove();
  566.                         $("#cfgpanel_4").remove();
  567.                     }
  568.                     f();
  569.                 });
  570.                 $.getScript("js/cal.js");
  571.                
  572.             });
  573.         }
  574.     }
  575.     gVar.mediaport = gVar.port;
  576.     gVar.webPort = gVar.port;
  577.     gVar.httpsPort = gVar.port;
  578.     if (typeof $("#mediaPort").attr("id") != 'undefined'){
  579.         $("#mediaPort").val(gVar.mediaport);
  580.     }
  581.     MasklayerHide();
  582.  
  583.     lg = new HashmapCom();  //language hashmap
  584.     UI = new UIReg();
  585.     LanguageCall = function (lag) {
  586.         $.ajax({
  587.             url: "lg/"+lag+".xml?"+gVar.nDate,
  588.             timeout:5000,
  589.             async:true,
  590.             success:function(data){
  591.                 gVar.XmlParsing(lg, data, "StringTable");
  592.                 if (!gVar.bWebInit){
  593.                     WebProc();
  594.                     LoadLoginPage(DownPluginTip);
  595.                 }else{
  596.                     lan("login");
  597.                 }
  598.             }
  599.         });
  600.     }
  601.    
  602.     gVar.lg = getCookie("language");   
  603.     if(gVar.lg == null){
  604.         gVar.lg = lgCls.defaultLg;
  605.     }else{
  606.         var i;
  607.         for(i =0; i<lgCls.mul.length; i++){
  608.         if(lgCls.mul[i][0] == gVar.lg)
  609.             break;
  610.         }
  611.         if(i >= lgCls.mul.length){
  612.             gVar.lg = lgCls.defaultLg;
  613.         }
  614.     }
  615.  
  616.     LanguageCall(gVar.lg);
  617. }
  618.  
  619. function Logout(){
  620.     if(gVar.webLoginCall == 0){
  621.         $("#plugin").css({"width":0,"height":0});
  622.         //$("body").remove();
  623.         gVar.webLoginCall = 100;
  624.         RfParamCallNoShadow("", "", "logOut&usrName=" + gVar.user + "&groupId=" + gVar.nDate);
  625.         /*try{
  626.             gVar._Cgi({
  627.             timeout:3000,
  628.             url: "cmd=logOut&usrName="+gVar.user+"&groupId="+gVar.nDate,
  629.             suc:function(data, state){
  630.                 //window.location.href = "";
  631.             },
  632.             err:function(data, state){
  633.                 //window.location.href = "";
  634.             }
  635.             });
  636.         }catch(e){}*/
  637.     }
  638. }
  639.  
  640. function WebProc(){
  641.     //init main surface
  642.     //UI.Button("#LiveMenu,#ConfigMenu", 179);
  643.     //UI.Button("#PlayBackMenu",179);
  644.     //UI.Button("#LogoutMenu", 27);
  645.     UI.Button(".liveBtnBt6", 36);
  646.    
  647.     function SPcontrol(e, p, tag, cmd){ //viedo all open OR all close
  648.         var $p = $(p);
  649.         if(e.type == "mousedown"){
  650.             var $x = $(tag);
  651.             //$x.css("background-position", "0px -180px");
  652.             if(cmd == 4){
  653.             }else if(cmd==6){$p.css("display", "none");$x.css("display", "");}
  654.             if($p.attr("class") == "liveBtnBt1" || $p.attr("class") == "liveBtnBt2"){
  655.                 try{
  656.                     debug("SPcontrol", "IFs=" + IFs + " gVar.ip=" + gVar.ip + " cmd=" + cmd);
  657.                     gDvr.VideoPlay(IFs, gVar.ip, cmd);
  658.                 }catch(e){}
  659.                 if (cmd==3) {
  660.                     if ((isappallDev == true && gVar.talkFlag == 0 && gVar.audioFlag == 0) || (isappallDev == false && IsInArray(notTalkAudioDev, gVar.selChDev))) {
  661.                         $(".liveBtnBt4").css("display", "none");
  662.                         $(".liveBtnBt3").css("display", "none");
  663.                         $(".liveBtnBt9").css("display", "none");
  664.                         $(".liveBtnBt109").css("display", "none");
  665.                     }
  666.                     else {
  667.                         $(".liveBtnBt4").css("display", "none");
  668.                         $(".liveBtnBt3").css("display", "");
  669.                         SetDefaultAudioDisplay();
  670. //                      try{gDvr.TalkCMD(IFs, 1);}catch(e){}
  671.                     }
  672.  
  673.                     isOpenV[IFs] = true;
  674.  
  675.                 } else if (cmd == 4) {
  676.                     ShowCircle("Blue", 0);
  677.                     ShowCircle("Red", 0);
  678.                     $("#LVRc").click();
  679.                     isOpenV[IFs] = false;
  680.                     if ((isappallDev == true && gVar.talkFlag == 0 && gVar.audioFlag == 0) || (isappallDev == false && IsInArray(notTalkAudioDev, gVar.selChDev))) {
  681.                         $(".liveBtnBt4").css("display", "none");
  682.                         $(".liveBtnBt3").css("display", "none");
  683.                         $(".liveBtnBt9").css("display", "none");
  684.                         $(".liveBtnBt109").css("display", "none");
  685.                     }
  686.                     else {
  687.                         $(".liveBtnBt4").css("display", "none");
  688.                         $(".liveBtnBt3").css("display", "");
  689.                         //$(".liveBtnBt9").css("background-position", "-25px 0px").attr("name", "active");
  690.                         $(".liveBtnBt109").attr("name", "active");
  691.                       //  SetDefaultAudioDisplay();
  692.                         $(".liveBtnBt9").css("display", "");
  693.                         $(".liveBtnBt109").css("display", "none");
  694.                        
  695.                     }
  696.                     if(IsFirefox() || IsChromeSupportNacl() || IsSarfariSupportH5()){
  697.                         if(H5Live){
  698.                             flv_destroy();
  699.                         }
  700.                     }
  701.                     if(IsEdge()){
  702.                         if(H5Live_Edge){   
  703.                             flv_destroy();
  704.                         }
  705.                     }
  706.                 }
  707.             }else{
  708.                 var fileName = $(".rcChoseAC").parent().attr("title");
  709.                 for (var index = 0; index < 10; index++) {
  710.  
  711.                     if(!gVar.recordPath[index])
  712.                     {
  713.                     continue;  
  714.                     }
  715.                     var path = gVar.recordPath[index].split("/");
  716.                     if (path[2] == fileName) {
  717.                         fileName = gVar.recordPath[index];
  718.                         break;
  719.                     }
  720.                 }
  721.                 if (gDvr.PbVedioPlay(gVar_first.ip, $("#rcListT").attr("rDir"), fileName, cmd)) {
  722.                     if (cmd == 3) {
  723.                         gVar.bPbStop = false;
  724.                         $p.css("display", "none");
  725.                         $x.css("display", "");
  726.                         var ele = $(".rcChoseAC");
  727.                         vVal = ele.parent().attr("title");  //播放文件名;
  728.                         vPage = ele.parents("table").attr("page") * 1; //页码;
  729.                         vList = ele.parent().parent().children().first().html() * 1; //序列号;
  730.                     }
  731.                 }
  732.             }
  733.         }
  734.         return true;
  735.     }
  736.    
  737.     //------live  Button------
  738.     UI.Button("#pbBtnBt10", 0, null, function(e, p){    //open
  739.         if(e.type == "mousedown"){
  740.             if(gVar.bPbStop){
  741.                 return SPcontrol(e, p, ".liveBtnBt11", 3);
  742.             }else{
  743.                 return SPcontrol(e, p, ".liveBtnBt11", 6);
  744.             }
  745.         }
  746.     });
  747.    
  748.     UI.Button(".liveBtnBt11", 0, null, function(e, p){  //pause
  749.         if(e.type == "mousedown"){
  750.             $(".liveBtnBt11").css("display", "none");
  751.             $("#pbBtnBt10").css("display", "");
  752.             gDvr.PbPause();        
  753.         }
  754.     });
  755.    
  756.     UI.Button("#pbBtnBt12", 36, null, function(e, p){   //stop
  757.         if(e.type == "mousedown"){
  758.             gVar.bPbStop = true;
  759.             $(".liveBtnBt11").css("display", "none");
  760.             $("#pbBtnBt10").css("display", "");
  761.             gDvr.PBClose();        
  762.         }
  763.     });
  764.    
  765.     UI.Button(".liveBtnBt1", 0, 0, function(e, p){  //viedo all open
  766.         //console.log("ui button open video");
  767.         return SPcontrol(e, p, ".liveBtnBt2", 3);
  768.     });
  769.    
  770.     UI.Button(".liveBtnBt2", 0, 0, function(e, p){  //viedo all close
  771.         //console.log("ui button close video");
  772.         return SPcontrol(e, ".liveBtnBt1", p, 4);
  773.     });
  774.     UI.Button(".liveBtnBt3,.liveBtnBt4,.liveBtnBt5", 0, null, function(e, p){   //speaker, full screen
  775.         var $p = $(p);
  776.         if(e.type == "mousedown"){
  777.             switch($p.attr("class").split("liveBtnBt")[1]*1){
  778.                 case 3:
  779.                     $(".liveBtnBt3").css("display", "none");
  780.                     $(".liveBtnBt4").css("display", "");
  781.                     gDvr.TalkCMD(IFs,0);
  782.                     isOpenT[IFs]=true;
  783.                     break;
  784.                 case 4:
  785.                     $(".liveBtnBt4").css("display", "none");
  786.                     $(".liveBtnBt3").css("display", "");
  787.                     gDvr.TalkCMD(IFs,1);
  788.                     isOpenT[IFs] = false;
  789.                     break;
  790.                 case 5:
  791.                     if (IsChromeSupportNacl()) {
  792.                         gDvr.FullScreen(IFs);
  793.                     }else{
  794.                         gDvr.FullScreen();
  795.                     }
  796.                     break;
  797.             }
  798.         }
  799.         return(true);
  800.     });
  801.     //layout
  802.     $(".layout").mouseover(function() {
  803.         $(this).css("cursor", "pointer");
  804.         $(this).attr("title", lg.get("LogoutMenu"));
  805.     }).mousedown(function() {
  806.         $(this).css("display", "none");
  807.         $(".layout2").css("display", "");
  808.         gDvr.OpenAudio(IFs);
  809.         isOpenA[IFs] = true;
  810.     })
  811.    
  812.     $(".liveBtnBt6").click(function(){  //live surface bottom
  813.         var $p = $(".liveSSBtn");
  814.         if ($(this).attr("tag") == 'open'){
  815.             $p.attr("widthR", $p.css("width").split("px")[0]);
  816.             $p.animate({width:"0px"}, 200);
  817.             $(this).attr("tag", "close");
  818.         }else{
  819.             $(this).attr("tag", "open");
  820.             $p.animate({width:$p.attr("widthR")}, $p.attr("widthR")*1);
  821.         }
  822.     });
  823.    
  824.     UI.Button(".liveBtnBt8", 36, null, function(e, p){  //screen pt
  825.         var $p = $(p)
  826.         if(e.type == "mousedown"){
  827.             var res = 0;
  828.             if($p.attr("name") != "on"){
  829.                 res = gDvr.PTZcontrol(97, $("#gsliderCov").attr("speed")|0, 0, 0);
  830.                 if(res == 0) {$p.attr("name","on");}
  831.             }else {
  832.                 res = gDvr.PTZcontrol(98, $("#gsliderCov").attr("speed")|0, 0, 0);
  833.                 if(res == 0) {$p.attr("name","off");}
  834.             }
  835.             if(res == 2) { ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_PLAYBACK_RIGHT1")); }
  836.         }else if(e.type == "mouseover")
  837.         {
  838.             if($p.attr("name") != "on"){
  839.                 $p.attr("title",lg.get("IDS_SCREEN_PTZ_ENABLE"))
  840.             }else {
  841.                 $p.attr("title",lg.get("IDS_SCREEN_PTZ_DISABLE"))
  842.             }
  843.         }
  844.         return true;
  845.     });
  846.  
  847.     $(".liveBtnBt9").mouseover(function() {
  848.         $(this).css("cursor", "pointer");
  849.         $(this).attr("title", lg.get("IDS_SOUND_OPEN"));
  850.     }).mousedown(function() {
  851.         $(this).css("display", "none");
  852.         $(".liveBtnBt109").css("display", "");
  853.         gDvr.OpenAudio(IFs);
  854.         isOpenA[IFs] = true;
  855.     })
  856.     $(".liveBtnBt109").mouseover(function() {
  857.         $(this).css("cursor", "pointer");
  858.         $(this).attr("title", lg.get("IDS_SOUND_OFF"));
  859.     }).mousedown(function() {
  860.         $(this).css("display", "none");
  861.         $(".liveBtnBt9").css("display", "");
  862.         gDvr.CloseAudio(IFs);
  863.         isOpenA[IFs] = false;
  864.     })
  865.  
  866.     $(".volumeOn").mouseover(function ()
  867.     {
  868.         $(this).css("cursor", "pointer");
  869.         $(this).attr("title", lg.get("IDS_FB_MUSIC_VOLUME_OFF"));
  870.     }).mousedown(function ()
  871.     {
  872.         $(this).css("display", "none");
  873.         $(".volumeOff").css("display", "");
  874.         $("#live_sound").css("display", "none");
  875.         Struct.babySoundVolume = document.getElementById("clordir_6").style.width.replace("px", "");
  876.     })
  877.     $(".volumeOff").mouseover(function ()
  878.     {
  879.         $(this).css("cursor", "pointer");
  880.         $(this).attr("title", lg.get("IDS_FB_MUSIC_VOLUME_ON"));
  881.     }).mousedown(function ()
  882.     {
  883.         $(this).css("display", "none");
  884.         $(".volumeOn").css("display", "");
  885.         $("#live_sound").css("display", "");
  886.         if (Struct.babySoundVolume >= 0) {
  887.             $("#live_wd_video").attr("innerHTML", Struct.babySoundVolume | 0);
  888.             document.getElementById("clorbtn_6").style.marginLeft = Struct.babySoundVolume + "px";
  889.             document.getElementById("clordir_6").style.width = Struct.babySoundVolume + "px";
  890.         }
  891.     })
  892.  
  893.     $(".liveBtnBt9B").mouseover(function() {
  894.         $(this).css("cursor", "pointer");
  895.         $(this).attr("title", lg.get("IDS_SOUND_OPEN"));
  896.     }).mousedown(function() {
  897.         $(this).css("display", "none");
  898.         $(".liveBtnBt109B").css("display", "");
  899.         gDvr.OpenAudio(IFs);
  900.         isOpenA[IFs] = true;
  901.     })
  902.     $(".liveBtnBt109B").mouseover(function() {
  903.         $(this).css("cursor", "pointer");
  904.         $(this).attr("title", lg.get("IDS_SOUND_OFF"));
  905.     }).mousedown(function() {
  906.         $(this).css("display", "none");
  907.         $(".liveBtnBt9B").css("display", "");
  908.         gDvr.CloseAudio(IFs);
  909.         isOpenA[IFs] = false;
  910.     })
  911.    
  912.     //------live Button regist ------
  913.     //page change
  914.     $(function () {
  915.         $("#LiveMenu").click(function () {  //live
  916.             if (inLivePage)
  917.                 return;
  918.            
  919.             inLivePage = true;
  920.             $("#MaskLayout").css("display", "none");
  921.             $("#serword").css("display", "none");
  922.            
  923.             if (mStarDevice() && isLoginByMainStream()) {
  924.                 if (gBrowser.browser != "IE") {
  925.                     debug("LiveMenu.Click", "It is not ie, In live page, will call getMainStreamFormat");
  926.                     RfParamCall(videoMask_call_1, "", "getMainStreamFormat");
  927.                 } else {
  928.                     gVar.ChangPage(1);
  929.                 }
  930.             } else {
  931.                 gVar.ChangPage(1);
  932.             }          
  933.         });
  934.  
  935.         $("#PlayBackMenu").click(function () {  //playback
  936.             inLivePage = false;
  937.             $("#MaskLayout").css("display", "none");
  938.             var n = 0;
  939.             for (var i = 0; i < 9; i++) {
  940.                 if (isOpenR[i] == 1 || isOpenAlarmR[i] == 1) {
  941.                     n++;
  942.                     break;
  943.                 }
  944.             }
  945.             if (n != 0) {
  946.                 ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_MAIN_RECORD"));
  947.             } else gVar.ChangPage(2);
  948.            
  949.             if (gVar_first.audioFlag == 0) {
  950.                 $(".liveBtnBt9B").css("display", "none");
  951.                 $(".liveBtnBt109B").css("display", "none");
  952.             }
  953.         });
  954.  
  955.         $("#ConfigMenu").click(function () {    //config
  956.             debug("main", "configMenu");
  957.             inLivePage = false;
  958.             $("#MaskLayout").css("display", "none");
  959.             $("#serword").css("display", "none");
  960.             var n = 0;
  961.             for (var i = 0; i < 9; i++) {
  962.                 if (isOpenR[i] == 1 || isOpenAlarmR[i] == 1) {
  963.                     n++;
  964.                     break;
  965.                 }
  966.             }
  967.             if (n != 0) {
  968.                 ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_MAIN_RECORD"));
  969.             } else gVar.ChangPage(3);
  970.            
  971.             VideoMasklayerHide();
  972.         });
  973.  
  974.         $("#LogoutMenu").click(function () {
  975.             Logout();
  976.         })
  977.  
  978.         $(".paopao_close").click(function () {
  979.             $("#MsgPaop").css("display", "none").attr("name", "out");
  980.         }).mouseover(function () {
  981.             $(this).css("background-position", "-15px").css("cursor", "pointer");
  982.         }).mouseout(function () {
  983.             $(this).css("background-position", "0px")
  984.         })
  985.  
  986.         $(".paopao_close1").click(function () {
  987.             $("#MsgPaop1").css("display", "none").attr("name", "out");
  988.         }).mouseover(function () {
  989.             $(this).css("background-position", "-15px").css("cursor", "pointer");
  990.         }).mouseout(function () {
  991.             $(this).css("background-position", "0px")
  992.         })
  993.  
  994.     });
  995. }
  996.  
  997. function FosBabyCall(xml) {
  998.     if ($(xml).find("result").text() * 1 == 0) {
  999.         isSoftAPMode = $(xml).find("wifiMode").text() * 1;   // 0: normal  1: soft AP
  1000.     }
  1001. }
  1002.  
  1003. function GuidModeCall(xml) {
  1004.     if ($(xml).find("result").text() * 1 == 0) {
  1005.         isFirstUse = $(xml).find("guideMode").text() * 1;   // 0:   1: factory default
  1006.         if (gVar_first.model == "1111"){
  1007.             RfParamCall(FosBabyCall, "", "getWifiMode");
  1008.         }
  1009.         gVar.webLoginCall = webLoginResult;
  1010.         UserLoginEvent(gVar.webLoginCall);
  1011.     }
  1012. }
  1013.  
  1014. function LoginCall(xml) {
  1015.     debug("LoginCall", xml);
  1016.     webLoginResult = parseInt($(xml).find("logInResult").text());
  1017.     gVar.nUserRight = parseInt($(xml).find("privilege").text());
  1018.     Qqx = gVar.nUserRight;
  1019.     var userAg=navigator.userAgent.toLowerCase();
  1020.     chromes = /chrome\/([\d.]+)/;
  1021.     var matchs = chromes.exec(userAg);
  1022.     if (webLoginResult == 0) {
  1023.         if (LoadLeftPage == BB && Qqx != 2) {
  1024.             MasklayerHide();
  1025.             if (matchs != null) {
  1026.                 ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_NORIGHT_NOPLUGINS"));
  1027.             }
  1028.             else{
  1029.                 alert(lg.get("IDS_NORIGHT_NOPLUGINS"));
  1030.             }
  1031.             window.location.href = "";
  1032.             return;
  1033.         }
  1034.         var pwd = $("#passwd").val();
  1035.         if (gVar.user == "admin" && gVar.passwd == "" || gVar.nUserRight == 2 && isInCheckPwdFormat(pwd) == 0 && !(isPWOK(pwd))) {
  1036.             /*if(gVar.user == "admin" && gVar.passwd == "")
  1037.             {
  1038.                 if(!IsChromeSupportNacl()){
  1039.                     if(gVar_first.model>4000 && gVar_first.model<6000){
  1040.                         stall = 1;
  1041.                     }else{
  1042.                         stall = 2;
  1043.                     }
  1044.                     RfParamCallNoShadow("", "", "setMainVideoStreamType&streamType=" + stall);
  1045.                     setTimeout(function(){
  1046.                         RfParamCallNoShadow("", "", "setSubVideoStreamType&streamType=0");
  1047.                     },100);
  1048.                 }
  1049.             }*/
  1050.             if (matchs != null) {
  1051.                 if (gVar_first.model == 1113) {
  1052.                     ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LOGIN_PASSWORD_EMPTY") + "<br />" + lg.get("IDS_LOGIN_PWDANDUSR_PASSWORD"));
  1053.                 }
  1054.                 else {
  1055.                     ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LOGIN_PWDANDUSR_ERROR") + "<br />" + lg.get("IDS_LOGIN_PWDANDUSR_PASSWORD"));
  1056.                 }
  1057.             }
  1058.             else {
  1059.                 if (gVar_first.model == 1113) {
  1060.                     alert(lg.get("IDS_LOGIN_PASSWORD_EMPTY") + "\n" + lg.get("IDS_LOGIN_PWDANDUSR_PASSWORD"));
  1061.                 }
  1062.                 else {
  1063.                     alert(lg.get("IDS_LOGIN_PWDANDUSR_ERROR") + "\n" + lg.get("IDS_LOGIN_PWDANDUSR_PASSWORD"));
  1064.                 }
  1065.             }
  1066.             LoadLoginUserPage();
  1067.         } else {
  1068.             RfParamCall(GuidModeCall, "", "getGuideMode");
  1069.         }
  1070.     }
  1071.     else {
  1072.         if(webLoginResult == -3){
  1073.             webLoginResult = -7;
  1074.         }
  1075.         gVar.webLoginCall = webLoginResult;
  1076.         ErrorLogin(gVar.webLoginCall);
  1077.     }
  1078. }
  1079. function onLogin() {
  1080.     if(IsFirefox() || IsEdge() || IsChromeSupportNacl()){
  1081.         if(gVar_first.httpver=="https"){
  1082.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_NOTSUPPORT_HTTPS_LOGIN"));
  1083.             return;
  1084.         }
  1085.         /*if(browserPlatform != "macintel"){
  1086.             if(typeof(hasFlash) == "undefined"){
  1087.                 var msg = lg.get("IDS_DOWNLOAD_FLASH_MSG");
  1088.                 if(confirm(msg) == true){
  1089.                     window.open("https://get2.adobe.com/flashplayer","_blank");
  1090.                 }
  1091.                 return;
  1092.             }*/
  1093.             /*
  1094.             gDvr.flashState();
  1095.             if(flashState == 0){
  1096.                 ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_FLASH_SETTING_TIPS"));
  1097.                 return;
  1098.             }
  1099.             */
  1100.         //}
  1101.     }
  1102.     //check userName format
  1103.     var userName = $("#username").val();
  1104.     var webLoginResult = -100;
  1105.     var userAg = navigator.userAgent.toLowerCase();
  1106.     chromes = /chrome\/([\d.]+)/;
  1107.     var matchs = chromes.exec(userAg);
  1108.  
  1109.     if (userName == "") {
  1110.         if (matchs != null) {
  1111.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_BS_INPUT_USERNAME"));
  1112.         }
  1113.         else{
  1114.             alert(lg.get("IDS_BS_INPUT_USERNAME"));
  1115.         }
  1116.         return;
  1117.     }
  1118.  
  1119.     if (userName != "" && (!userName.match(/^[a-zA-Z0-9\_\-\@\$\*]+$/))) {
  1120.         if (matchs != null) {
  1121.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LOGIN_NAME") + ((gVar.lg == "CHS" || gVar.lg == "CHT") ? "" : " ") + lg.get("IDS_FORMAT_ERROR") + "! " + lg.get("IDS_BS_BASE_USRNAME_TIP"));
  1122.         }
  1123.         else{
  1124.             alert(lg.get("IDS_LOGIN_NAME") + ((gVar.lg == "CHS" || gVar.lg == "CHT") ? "" : " ") + lg.get("IDS_FORMAT_ERROR") + "! " + lg.get("IDS_BS_BASE_USRNAME_TIP"));
  1125.         }
  1126.         $("#username").focus();
  1127.         return;
  1128.     }
  1129.  
  1130.     document.getElementById("login_ok").onclick = null;
  1131.     MasklayerShow();
  1132.     gVar.nOpenPreView = 1; //$("#openPreview").attr("checked") * 1;
  1133.  
  1134.     gVar.user = $("#username").val();
  1135.     gVar.passwd = $("#passwd").val();
  1136.  
  1137.     gVar_first.user = gVar.user;
  1138.     gVar_first.passwd = gVar.passwd;
  1139.     gVar.mediaport = $("#mediaPort").val() * 1;
  1140.     gVar.nStreamType = $("#login_ml").val() * 1;
  1141.     gVar.lg = $("#login_language").val();
  1142.     setCookie("language", gVar.lg);
  1143.     gVar.multi = $("#left_multi1").val() * 1;
  1144.     if (gVar.nStreamType == 2) { gVar.nStreamType = 0; gVar.mediaport = gVar.port; }
  1145.     try {
  1146.         if (gVar.httpver == "https") {
  1147.             gDvr.SetHttpsFlg(1);
  1148.         } else {
  1149.             gDvr.SetHttpsFlg(0);
  1150.         }
  1151.         gDvr.Login(gVar.ip, gVar.mediaport, gVar.webPort, gVar.user, gVar.passwd, gVar.nStreamType, gVar.nDate);
  1152.         setTimeout(function () {
  1153.             if (gVar.pluginLoginCall == -100 || gVar.pluginLoginCall == -100) {
  1154.                 MasklayerHide();
  1155.                 if (matchs != null) {
  1156.                     ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LEFT_OVERT"));
  1157.                 }
  1158.                 else {
  1159.                     alert(lg.get("IDS_LEFT_OVERT"));
  1160.                 }
  1161.                 window.location.href = "";
  1162.             }
  1163.         }, 20000);
  1164.     } catch (e) {
  1165.         if (matchs != null) {
  1166.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_NORIGHT_NOPLUGINS"));
  1167.         }
  1168.         else {
  1169.             alert(lg.get("IDS_NORIGHT_NOPLUGINS"));
  1170.         }
  1171.         setTimeout(function () {
  1172.             window.location.href = "";
  1173.         }, 3000);
  1174.         LoadLeftPage = BB;
  1175.         gDvr = new AA();
  1176.         gVar.pluginLoginCall = 0;
  1177.     }
  1178.  
  1179.     user = gVar_first.user;
  1180.     pwd = gVar_first.passwd;
  1181. }
  1182.  
  1183. function lanuageChange4WebUpgradePromptEnable() {
  1184.     if (WEB_UPGRADE_CHECK_FUNCTION_ENABLE && noPlugin) {
  1185.         setTimeout(function () {
  1186.             var obj = document.getElementById("downPlugins");
  1187.             if (obj)
  1188.                 obj.innerHTML = '<a id="down">' + lg.get("IDS_UPGRADE_PROMPT_NO_PLUGIN") + '</a>';
  1189.            
  1190.             var loginElem = document.getElementById("login_ok");
  1191.             if (loginElem) {
  1192.                 loginElem.innerHTML = lg.get("IDS_UPGRADE_DOWNLOAD");
  1193.             }
  1194.         }, 100);
  1195.     }
  1196. }
  1197.  
  1198. function LoadLoginPage(DownPluginTip){
  1199.     $.get("html/login.html?" + gVar.nDate,function (data) {
  1200.         jQuery("head").append('<link href="css/login.css?' + gVar.nDate + '" rel="stylesheet" type="text/css" />');
  1201.         $("#login").html(data).css("display", "block");
  1202.         try { DownPluginTip(); } catch (e) { }
  1203.         try {
  1204.             if (!WEB_UPGRADE_CHECK_FUNCTION_ENABLE) {
  1205.                 if (needIEUpdate) {
  1206.                     var objIE = document.getElementById("downPlugins");
  1207.                     objIE.innerHTML = '<a id="down" href="IPCWebComponents.exe">' + lg.get("IDS_PLUGIN_UPDATE_TIP") + '</a>';
  1208.                 }
  1209.                 if (needServiceUpdate) {
  1210.                     var obj = document.getElementById("downPlugins");
  1211.                     if(IsChromeSupportNacl() || IsFirefox() || IsEdge()){
  1212.                         obj = document.getElementById("downPlugins");
  1213.                         obj.innerHTML = '<a id="down" href="IPCWebComponents.exe">' + lg.get("IDS_PLUGIN_UPDATE_TIP") + '</a>';
  1214.                     }
  1215.                     if(IsSarfariSupportH5()){
  1216.                         obj.innerHTML = '<a id="down" href="http://download.foscam.com/plugin-a">' + lg.get("IDS_LOGIN_KJ") + '</a>';  
  1217.                     }
  1218.                 }
  1219.             }
  1220.  
  1221.         } catch (e) { }
  1222.  
  1223.         lan("login");
  1224.         UI.Button(".loginBtn");
  1225.         //fill cookie
  1226.         gVar.lg = getCookie("language") == null ? lgCls.defaultLg : getCookie("language");
  1227.         SetPluginLanguage();
  1228.         // try {
  1229.         //     if (gVar.lg == "CHS") gDvr.SetLauguage(0);
  1230.         //     else if (gVar.lg == "CHT") gDvr.SetLauguage(1);
  1231.         //     else gDvr.SetLauguage(2);
  1232.         // } catch (e) { }
  1233.         gVar.user = getCookie("userName");
  1234.         if (getCookie("userName") == null) {
  1235.             gVar.user = "admin";
  1236.         }
  1237.         $("#username").val(gVar.user);
  1238.         //lg   
  1239.         $("#login_language").empty();
  1240.        
  1241.         for (var i = 0; i < lgCls.mul.length; i++) {
  1242.             $("#login_language").append('<option class="option" value="' + lgCls.mul[i][0] + '">' + lgCls.mul[i][1] + '</option>');
  1243.         }
  1244.         if (lgCls.mul.length < 2) {
  1245.             $("#login_language").prop("disabled", true);
  1246.         }
  1247.         else {
  1248.             $('#login_language').prop("disabled", false);
  1249.         }
  1250.  
  1251.         $("#login_language").val(gVar.lg)
  1252.         $("#login_language").change(function () {
  1253.             lg.refresh();
  1254.             var i = $(this).val();
  1255.             SetPluginLanguage();
  1256.             LanguageCall(i);
  1257.             gVar.lg = i;
  1258.            
  1259.             lanuageChange4WebUpgradePromptEnable();
  1260.         });
  1261.         if (getCookie("remenber") == 1) {
  1262.             var pwd = getCookie("pwd") == null ? "" : getCookie("pwd");
  1263.             if (pwd != "")
  1264.                 $("#passwd").val(urlDecode(pwd));
  1265.             $("#remenberText").prop("checked", true);
  1266.         }
  1267.         if (gVar.mediaport != 0)
  1268.             $("#mediaPort").val(gVar.mediaport);
  1269.  
  1270.         $("#username").select().focus();
  1271.         $("#username, #passwd, #login_language, #username").keydown(function (e) {
  1272.             if (e.keyCode == 13) {
  1273.                 if (WEB_UPGRADE_CHECK_FUNCTION_ENABLE) {
  1274.                     var loginElem = document.getElementById("login_ok");
  1275.                     if (loginElem) loginElem.click();
  1276.                 } else {
  1277.                     onLogin();
  1278.                 }
  1279.                
  1280.             }
  1281.         });
  1282.         if(IsChromeSupportNacl()&&gVar_first.httpver=="https")
  1283.         {
  1284.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_NOT_SUPPORT_HTTPS"));
  1285.         }
  1286.         gVar.bWebInit = true;
  1287.         browserAndPlatform();
  1288.         FAQs();
  1289.     });
  1290. }
  1291.  
  1292. function EditUserCall(xml) {
  1293.     var userAg = navigator.userAgent.toLowerCase();
  1294.     chromes = /chrome\/([\d.]+)/;
  1295.     var matchs = chromes.exec(userAg);
  1296.  
  1297.     if ($(xml).find("result").text() * 1 == 0) {
  1298.         if (matchs != null) {
  1299.             if (gVar_first.model == 1113) {
  1300.                 ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_USR_SUCESSPSD"));
  1301.             }
  1302.             else {
  1303.                 ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_NAMEPWD_CHANGESUCSS"));
  1304.             }
  1305.             setTimeout(function () {
  1306.                 if (gVar.httpver == "http") {
  1307.                     window.location = "http://" + gVar.ip + ":" + gVar.port;
  1308.                 }
  1309.                 if (gVar.httpver == "https") {
  1310.                     window.location = "https://" + gVar.ip + ":" + gVar.httpsPort;
  1311.                 }
  1312.             }, 3000);
  1313.         }
  1314.         else {
  1315.             if (gVar_first.model == 1113) {
  1316.                 alert(lg.get("IDS_USR_SUCESSPSD"));
  1317.             }
  1318.             else {
  1319.                 alert(lg.get("IDS_NAMEPWD_CHANGESUCSS"));
  1320.             }
  1321.             setTimeout(function () {
  1322.                 if (gVar.httpver == "http") {
  1323.                     window.location = "http://" + gVar.ip + ":" + gVar.port;
  1324.                 }
  1325.                 if (gVar.httpver == "https") {
  1326.                     window.location = "https://" + gVar.ip + ":" + gVar.httpsPort;
  1327.                 }
  1328.             }, 500);
  1329.         }
  1330.     }
  1331.     else if ($(xml).find("result").text() * 1 == -1) {   //USER_ACCOUNT_OPERATE_PARM_ERR
  1332.         if (matchs != null) {
  1333.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LEFT_CGIW"));
  1334.         }
  1335.         else {
  1336.             alert(lg.get("IDS_LEFT_CGIW"));
  1337.         }
  1338.     }
  1339.     else if ($(xml).find("result").text() * 1 == -2) { //USER_ACCOUNT_OPERATE_EXCEED_MAX_USR
  1340.         if (matchs != null) {
  1341.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LEFT_UNORPWD"));
  1342.         }
  1343.         else {
  1344.             alert(lg.get("IDS_LEFT_UNORPWD"));
  1345.         }
  1346.     }
  1347.     else if ($(xml).find("result").text() * 1 == -3) {  //USER_ACCOUNT_OPERATE_USR_ALREADY_EXIST
  1348.         if (matchs != null) {
  1349.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LOGIN_CHANGE_USRNAME_EXIST"));
  1350.         }
  1351.         else {
  1352.             alert(lg.get("IDS_LOGIN_CHANGE_USRNAME_EXIST"));
  1353.         }
  1354.     }
  1355.     else if ($(xml).find("result").text() * 1 == -4) {   //USER_ACCOUNT_OPERATE_USR_NOT_FOUND
  1356.         if (matchs != null) {
  1357.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LOG_NOUSRN"));
  1358.         }
  1359.         else {
  1360.             alert(lg.get("IDS_LOG_NOUSRN"));
  1361.         }
  1362.     }
  1363.     else if ($(xml).find("result").text() * 1 == -5) {   //USER_ACCOUNT_OPERATE_PASSWORD_ERR
  1364.         if (matchs != null) {
  1365.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LOG_WPWD"));
  1366.         }
  1367.         else {
  1368.             alert(lg.get("IDS_LOG_WPWD"));
  1369.         }
  1370.     }
  1371.     else {
  1372.         if (matchs != null) {
  1373.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_USR_CHANGE_NAMEANDPWD_FAILED"));
  1374.         }
  1375.         else {
  1376.             alert(lg.get("IDS_USR_CHANGE_NAMEANDPWD_FAILED"));
  1377.         }
  1378.     }
  1379. }
  1380.  
  1381. function onEditUser(){
  1382.     var userOldName;
  1383.     $("#txtLoginUser").val(gVar_first.user);
  1384.     userOldName = gVar_first.user;
  1385.     var userName = $("#txtLoginNewUser").val();
  1386.     var userAg = navigator.userAgent.toLowerCase();
  1387.     chromes = /chrome\/([\d.]+)/;
  1388.     var matchs = chromes.exec(userAg);
  1389.     if (gVar_first.model == 1113) {
  1390.         $("#loginNewUserName").css("display","none");
  1391.     }
  1392.     else {
  1393.         if (userName == "") {
  1394.             if (matchs != null) {
  1395.                 ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LOGIN_CHANGE_USRNAME_EMPTY"));
  1396.             }
  1397.             else {
  1398.                 alert(lg.get("IDS_LOGIN_CHANGE_USRNAME_EMPTY"));
  1399.             }
  1400.             $("#txtLoginNewUser").focus();
  1401.             return;
  1402.         }
  1403.         if (userName != "" && (!userName.match(/^[a-zA-Z0-9\_\-\@\$\*]+$/))) {
  1404.             if (matchs != null) {
  1405.                 ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LOGIN_NAME") + " " + lg.get("IDS_FORMAT_ERROR") + "! " + lg.get("IDS_BS_BASE_USRNAME_TIP"));
  1406.             }
  1407.             else {
  1408.                 alert(lg.get("IDS_LOGIN_NAME") + " " + lg.get("IDS_FORMAT_ERROR") + "! " + lg.get("IDS_BS_BASE_USRNAME_TIP"));
  1409.             }
  1410.             $("#txtLoginNewUser").focus();
  1411.             return;
  1412.         }
  1413.     }
  1414.     /*if (userOldName == userName) {
  1415.         if (matchs != null) {
  1416.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_BS_USEEXIS"));
  1417.         }
  1418.         else {
  1419.             alert(lg.get("IDS_BS_USEEXIS"));
  1420.         }
  1421.         $("#txtLoginNewUser").focus();
  1422.         return;
  1423.     }*/
  1424.     var newPwd = $("#txtLoginNewPwd").val();
  1425.     if(newPwd == "") {
  1426.         if (matchs != null) {
  1427.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LOGIN_CHANGE_PWD_EMPTY"));
  1428.         }
  1429.         else{
  1430.             alert(lg.get("IDS_LOGIN_CHANGE_PWD_EMPTY"));
  1431.         }
  1432.         $("#txtLoginNewPwd").focus();
  1433.         return;
  1434.     }
  1435.     if (newPwd != "" && isInCheckPwdFormat(newPwd) == 1 || isInCheckPwdFormat(newPwd) == 0 && !(isPWOK(newPwd))) {
  1436.         if (matchs != null) {
  1437.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_BS_NEWPWD") + ((gVar.lg == "CHS" || gVar.lg == "CHT") ? "" : " ") + lg.get("IDS_FORMAT_ERROR") + "! " + lg.get("IDS_LOGIN_PWDANDUSR_PASSWORD").split(".")[1] + "(" + lg.get("IDS_LOGIN_USER_WORD") + " ~ ! @ # % ^ * ( ) _ + { } : \"| < > ? ` - ; ' \\ , . /)");
  1438.         }
  1439.         else{
  1440.             alert(lg.get("IDS_BS_NEWPWD") + ((gVar.lg == "CHS" || gVar.lg == "CHT") ? "" : " ") + lg.get("IDS_FORMAT_ERROR") + "! " + lg.get("IDS_LOGIN_PWDANDUSR_PASSWORD").split(".")[1] + "(" + lg.get("IDS_LOGIN_USER_WORD") + "~ ! @ # % ^ * ( ) _ + { } : \"| < > ? ` - ; ' \\ , . /)");
  1441.         }
  1442.         $("#txtLoginNewPwd").focus();
  1443.         return;
  1444.     }
  1445.     if($("#txtLoginNewPwd").val() != $("#txtPwdConfirm").val()){
  1446.         if (matchs != null) {
  1447.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_PWD_NOTSAME"));
  1448.         }
  1449.         else {
  1450.             alert(lg.get("IDS_PWD_NOTSAME"));
  1451.         }
  1452.         $("#txtPwdConfirm").focus();
  1453.         return;
  1454.     }
  1455.     if (gVar_first.model == 1113) {
  1456.         RfParamCall(EditUserCall, "", "changeUserNameAndPwdTogether&usrName=" + gVar_first.user + "&newUsrName=admin" + "&oldPwd=" + gVar_first.passwd + "&newPwd=" + $("#txtLoginNewPwd").val());
  1457.     }
  1458.     else {
  1459.         RfParamCall(EditUserCall, "", "changeUserNameAndPwdTogether&usrName=" + gVar_first.user + "&newUsrName=" + $("#txtLoginNewUser").val() + "&oldPwd=" + gVar_first.passwd + "&newPwd=" + $("#txtLoginNewPwd").val());
  1460.     }
  1461. }
  1462.  
  1463. function LoadLoginUserPage() {
  1464.     $.get("html/login_user.html?" + gVar.nDate, function (data) {
  1465.         $("#login").html(data).css("display", "block");
  1466.         lan("login_user");
  1467.         $("#txtLoginNewUser").select().focus();
  1468.         if (gVar_first.model == 1113) {
  1469.             $("#loginNewUserName").css("display", "none");
  1470.         }
  1471.         $("#txtLoginUser, #txtLoginNewUser, #txtLoginNewPwd, #txtPwdConfirm").keydown(function (e) {
  1472.             if (e.keyCode == 13) {
  1473.                 onEditUser();
  1474.             }
  1475.         });
  1476.         $("#txtLoginUser").val(gVar_first.user);
  1477.     });
  1478. }
  1479.  
  1480. function LoadLeftPage(func){
  1481.     tabkey = 0;
  1482.     $.getScript("js/divBox.js?"+gVar.nDate, null);
  1483.     $.get("html/left.html?"+gVar.nDate, function(data){
  1484.         $("#mleft").html(data).attr("name", "isDown");
  1485.         lan("left");
  1486.         RegLeftEvent();
  1487.         if (IsChromeSupportNacl() || IsFirefox() || IsEdge() || IsSarfariSupportH5()) {
  1488.             $("#PlayBackMenu").remove();
  1489.             $("#bs_multi").remove();
  1490.             $("#multiLive").remove();
  1491.             // $("#sys_dr").remove();
  1492.             // $("#sys_patch").remove();
  1493.         }
  1494.         $.getScript("js/left.js?"+gVar.nDate,function(){
  1495.             try{func();}catch(e){} 
  1496.             $.getScript("js/cal.js",function(){
  1497.                 $('#next_touch_date').simpleDatepicker({type:0,x:0,y:5,Laguage:gVar.lg});
  1498.                 $('#next_touch_date').click();
  1499.                 $("#calday").val($('#next_touch_date').simpleDatepicker.formatOutput(new Date()));
  1500.             });
  1501.            
  1502.             if (gBrowser.version == "6.0" && gBrowser.browser == "IE"){
  1503.                 $("#configMl").css("margin-left", "-7px");
  1504.             }
  1505.         });
  1506.     });
  1507. }
  1508. function SliderCgi($o,v){
  1509.     //gVar.KCgi("cmd="+$o.attr("cmd")+"&"+$o.attr("flag")+"="+(v|0));
  1510.     RfParamCallNoShadow("", "", $o.attr("cmd")+"&"+$o.attr("flag")+"="+(v|0));
  1511. }
  1512.  
  1513.  
  1514. function hideHue () {
  1515.     if (model8000To9000()) {   
  1516.         $("#live_wd_sj1").css("display", "none");
  1517.         $("#clordiv_1").css("display", "none");
  1518.         $("#live_wd_sj").css("display", "none");   
  1519.     }
  1520. }
  1521.  
  1522. function RegLeftEvent(){
  1523.    
  1524.     /*if(IsChromeSupportNacl())
  1525.     {
  1526.     UI.motionAmb("#mboxamb");
  1527.     UI.Shel("#box", "#box1,#box2,#box3,#box4", "#box1T,#box2T,#box3T,#box4T");
  1528.     UI.motion("#mbox", "#mboxS1");
  1529.     }*/
  1530.     $(".mSel").click(function(){
  1531.         $(".mSel").css("outline", "2px solid #fff")
  1532.         $(this).css("outline", "2px solid #ff0")
  1533.     }).dblclick(function(){
  1534.         var n = $(this).attr("name")*1;
  1535.         gDvr.FullScreen(n);
  1536.     });
  1537.     UI.Clor("gsliderCov", "gsliderBtn", "gslider",15,null,function(o,v){gVar.pbMouseDown=false;gDvr.PbSeek(v);},function(){gVar.pbMouseDown=true},function(){return !gVar.bPbStop;});
  1538.     UI.Clor("clordiv_1","clorbtn_1","clordir_1",0,function($o,v){$("#live_wd_sj").attr("innerHTML",v|0);},function($o,v){SliderCgi($o,v)});
  1539.     UI.Clor("clordiv_2","clorbtn_2","clordir_2",0,function($o,v){$("#live_wd_ld").attr("innerHTML",v|0);},function($o,v){SliderCgi($o,v)});
  1540.     UI.Clor("clordiv_3","clorbtn_3","clordir_3",0,function($o,v){$("#live_wd_dbd").attr("innerHTML",v|0);},function($o,v){SliderCgi($o,v)});
  1541.     UI.Clor("clordiv_4","clorbtn_4","clordir_4",0,function($o,v){$("#live_wd_bhd").attr("innerHTML",v|0);},function($o,v){SliderCgi($o,v)});
  1542.     UI.Clor("clordiv_5","clorbtn_5","clordir_5",0,function($o,v){$("#live_wd_rd").attr("innerHTML",v|0);},function($o,v){SliderCgi($o,v)});
  1543.     UI.Clor("clordiv_6","clorbtn_6","clordir_6",0,function($o,v){$("#live_wd_video").attr("innerHTML",v|0);},function($o,v){SliderCgi($o,v)});
  1544.    
  1545.     UI.Button(".rtstyle1", 21);
  1546.     UI.Button("#live_fw", 54);
  1547.     //UI.Button("#LVCapture",31);
  1548.     //UI.Button("#LVRrA,#LVRr",0,-21);
  1549.     UI.Button("#RcSearch", 23);
  1550.     UI.Button("#RcReload", 23);
  1551.     UI.Button("#divReloadMusic", 23);
  1552.     UI.Button("#cruise_1,#preset_2,#LED_3,#colar_4,#music_5,#guard_6", 0, -25, function (e, p) { if (e.type = "mouseout") { return false; } })
  1553.  
  1554.     //UI.Button("#cruise_stop,#cruise_start,#pre_add,#pre_sub,#pre_goto,#preSetNameS,#preSetNameQ,#zoomOut,#zoomIn,#zoomStop", 24);
  1555.     UI.Button("#cruise_stop,#cruise_start,#pre_add,#pre_sub,#pre_goto,#preSetNameS,#preSetNameQ", 24);
  1556.     UI.Button("#music_prev,#music_next,#music_play,#music_pause,#music_stop,#music_prev", 24);
  1557.     UI.Button("#music_singlerepeat,#music_allrepeat,#music_playlist,#music_10,#music_20,#music_30,music_100", 24);
  1558.     //UI.Button("#cruise_stop",24,-21,null,0,1);
  1559.     UI.UIGroupBt("#cruise_1,#preset_2,#LED_3,#colar_4,#music_5,#guard_6", "#m_", 6, 191, function (e, p) {
  1560.         if(e.type== "mouseup"){return false;}return true;
  1561.     });
  1562.     $("#cruise_start").click(function(){
  1563.         //gVar.KCgi("cmd=ptzStartCruise&mapName="+OthToEnu($("#cruise").find("option:selected").text()));
  1564.         RfParamCallNoShadow("", "", "ptzStartCruise&mapName="+OthToEnu($("#cruise").find("option:selected").text()));
  1565.     })
  1566.     $("#cruise_stop").click(function(){
  1567.         //gVar.KCgi("cmd=ptzStopCruise")
  1568.         RfParamCallNoShadow("", "", "ptzStopCruise");
  1569.     })
  1570.     $("#zoomIn").click(function() {
  1571.  
  1572.     }).mousedown(function() {
  1573.         //gVar.KCgi("cmd=zoomIn");
  1574.         RfParamCallNoShadow("", "", "zoomIn");
  1575.         isZoomWork = 1
  1576.     }).mouseup(function() {
  1577.         //gVar.KCgi("cmd=zoomStop");
  1578.         RfParamCallNoShadow("", "", "zoomStop");
  1579.         isZoomWork = 0;
  1580.     }).mouseover(function() {
  1581.         $("#zoomIn").css("background", "url(../images/zoomin02.png)");
  1582.     }).mouseout(function() {
  1583.         $("#zoomIn").css("background", "url(../images/zoomin.png)");
  1584.         if(isZoomWork){
  1585.             RfParamCallNoShadow("", "", "zoomStop");
  1586.             isZoomWork = 0;
  1587.         }
  1588.     })
  1589.     $("#zoomOut").click(function() {
  1590.     }).mousedown(function() {
  1591.         //gVar.KCgi("cmd=zoomOut");
  1592.         RfParamCallNoShadow("", "", "zoomOut");
  1593.         isZoomWork = 1;
  1594.     }).mouseup(function() {
  1595.         //gVar.KCgi("cmd=zoomStop");
  1596.         RfParamCallNoShadow("", "", "zoomStop");
  1597.         isZoomWork = 0
  1598.     }).mouseover(function() {
  1599.         $("#zoomOut").css("background", "url(../images/zoomout02.png)");
  1600.     }).mouseout(function() {
  1601.         $("#zoomOut").css("background", "url(../images/zoomout.png)");
  1602.         if(isZoomWork){
  1603.             RfParamCallNoShadow("", "", "zoomStop");
  1604.             isZoomWork = 0
  1605.         }
  1606.     });
  1607.  
  1608.     $("#focus_far").click(function () {
  1609.     }).mousedown(function () {
  1610.         //gVar.KCgi("cmd=focusFar");
  1611.         RfParamCallNoShadow("", "", "focusFar");
  1612.         isFocusWork = 1;
  1613.     }).mouseup(function () {
  1614.         //gVar.KCgi("cmd=focusStop");
  1615.         RfParamCallNoShadow("", "", "focusStop");
  1616.         isFocusWork = 0;
  1617.     }).mouseover(function () {
  1618.         $("#focus_far").css("background", "url(../images/zoomin02.png)");
  1619.     }).mouseout(function () {
  1620.         $("#focus_far").css("background", "url(../images/zoomin.png)");
  1621.         if(isFocusWork){
  1622.             RfParamCallNoShadow("", "", "focusStop");
  1623.             isFocusWork = 0;
  1624.         }
  1625.     })
  1626.  
  1627.     $("#focus_near").click(function () {
  1628.     }).mousedown(function () {
  1629.         //gVar.KCgi("cmd=focusNear");
  1630.         RfParamCallNoShadow("", "", "focusNear");
  1631.         isFocusWork = 1;
  1632.     }).mouseup(function () {
  1633.         //gVar.KCgi("cmd=focusStop");
  1634.         RfParamCallNoShadow("", "", "focusStop");
  1635.         isFocusWork = 0;
  1636.     }).mouseover(function () {
  1637.         $("#focus_near").css("background", "url(../images/zoomout02.png)");
  1638.     }).mouseout(function () {
  1639.         $("#focus_near").css("background", "url(../images/zoomout.png)");
  1640.         if(isFocusWork){
  1641.             RfParamCallNoShadow("", "", "focusStop");
  1642.             isFocusWork = 0;
  1643.         }
  1644.     })
  1645.  
  1646.     $("#pre_goto").click(function(){
  1647.         //gVar.KCgi("cmd=ptzGotoPresetPoint&name=" + OthToEnu($("#preset").find("option:selected").text()));
  1648.         RfParamCallNoShadow("", "", "ptzGotoPresetPoint&name=" + OthToEnu($("#preset").find("option:selected").text()));
  1649.     })
  1650.    
  1651.     $("#pre_add").click(function(){
  1652.         $("#preSetNameT").css("display", "none");
  1653.         $("#preSetName,#preSetNameS,#preSetNameQ").css("display", "");
  1654.         $("#preSetNameTe").focus();
  1655.     })
  1656.  
  1657.     //mode:  1 - list play, 2 - single repeat, 3 - all repeat
  1658.     $("#music_play").click(function(){
  1659.         $("#music_stop").css("display","");
  1660.         $("#music_play").css("display","none");
  1661.         $("#liveBtnBt3").css("display","");
  1662.         $("#liveBtnBt4").css("display","none");
  1663.         gDvr.TalkCMD(IFs,1);
  1664.         isOpenT[IFs] = false;
  1665.         if(Struct.babyPlayMode == 0){
  1666.             Struct.babyPlayMode = 3;
  1667.         }
  1668.  
  1669.         RfParamCallNoShadow("", "", "setMusicPlayStart&mode=" + Struct.babyPlayMode + "&index=0&name=" + $("#sel_music_list").val());
  1670.     })
  1671.  
  1672.     $("#music_pause").click(function(){
  1673.        
  1674.     })
  1675.  
  1676.     $("#music_stop").click(function(){
  1677.         $("#music_stop").css("display","none");
  1678.         $("#music_play").css("display","");
  1679.         RfParamCallNoShadow("", "", "setMusicPlayStop");
  1680.     })
  1681.  
  1682.     $("#music_prev").click(function(){
  1683.         //gVar.KCgi("cmd=setMusicPlayPre");
  1684.         RfParamCallNoShadow("", "", "setMusicPlayPre");
  1685.     })
  1686.  
  1687.     $("#music_next").click(function(){
  1688.         //gVar.KCgi("cmd=setMusicPlayNext");
  1689.         RfParamCallNoShadow("", "", "setMusicPlayNext");
  1690.     })
  1691.  
  1692.     $("#music_singlerepeat").click(function(){
  1693.         $("#music_singlerepeat").css("display", "none");
  1694.         $("#music_allrepeat").css("display", "");
  1695.         $("#music_playlist").css("display", "none");
  1696.         //gVar.KCgi("cmd=setMusicPlayMode&mode=2");           //repeat
  1697.         RfParamCallNoShadow("", "", "setMusicPlayMode&mode=2");
  1698.     })
  1699.  
  1700.     $("#music_allrepeat").click(function(){
  1701.         $("#music_singlerepeat").css("display", "none");
  1702.         $("#music_allrepeat").css("display", "none");
  1703.         $("#music_playlist").css("display", "");
  1704.         //gVar.KCgi("cmd=setMusicPlayMode&mode=3");           //loop
  1705.         RfParamCallNoShadow("", "", "setMusicPlayMode&mode=3");
  1706.     })
  1707.  
  1708.     $("#music_playlist").click(function(){
  1709.         $("#music_singlerepeat").css("display", "");
  1710.         $("#music_allrepeat").css("display", "none");
  1711.         $("#music_playlist").css("display", "none");
  1712.         //gVar.KCgi("cmd=setMusicPlayMode&mode=1");           //play with list
  1713.         RfParamCallNoShadow("", "", "setMusicPlayMode&mode=1");
  1714.     })
  1715.    
  1716.     $("#music_10").click(function(){
  1717.         $("#music_10").css("display", "none");
  1718.         $("#music_20").css("display", "");
  1719.         $("#music_30").css("display", "none");
  1720.         $("#music_100").css("display", "none");
  1721.         //gVar.KCgi("cmd=setMusicDormantTime&minutes=10");
  1722.         RfParamCallNoShadow("", "", "setMusicDormantTime&minutes=10");
  1723.     })
  1724.    
  1725.     $("#music_20").click(function(){
  1726.         $("#music_20").css("display", "none");
  1727.         $("#music_30").css("display", "");
  1728.         $("#music_10").css("display", "none");
  1729.         $("#music_100").css("display", "none");
  1730.         //gVar.KCgi("cmd=setMusicDormantTime&minutes=20");
  1731.         RfParamCallNoShadow("", "", "setMusicDormantTime&minutes=20");
  1732.     })
  1733.    
  1734.     $("#music_30").click(function(){
  1735.         $("#music_30").css("display", "none");
  1736.         $("#music_100").css("display", "");
  1737.         $("#music_10").css("display", "none");
  1738.         $("#music_20").css("display", "none");
  1739.         //gVar.KCgi("cmd=setMusicDormantTime&minutes=30");
  1740.         RfParamCallNoShadow("", "", "setMusicDormantTime&minutes=30");
  1741.     })
  1742.    
  1743.     $("#music_100").click(function(){
  1744.         $("#music_100").css("display", "none");
  1745.         $("#music_10").css("display", "");
  1746.         $("#music_20").css("display", "none");
  1747.         $("#music_30").css("display", "none");
  1748.         //gVar.KCgi("cmd=setMusicDormantTime&minutes=-1");
  1749.         RfParamCallNoShadow("", "", "setMusicDormantTime&minutes=-1");
  1750.     })
  1751.  
  1752.     UI.Button("#color_default", 0, -21, function (e, p) {
  1753.         if (e.type == "mousedown") {//reset pt
  1754.             switch (lgCls.version) {
  1755.                 default:
  1756.                     {
  1757.                         //gVar.KCgi("cmd=resetImageSetting");
  1758.                         RfParamCallNoShadow("", "", "resetImageSetting");
  1759.                         break;
  1760.                     }
  1761.             }
  1762.         }
  1763.         return true;
  1764.     })
  1765.            
  1766.    
  1767.             //pt
  1768.     UI.Button("div[id ^= 'live_yt1_']", 22, null, function(e,p){
  1769.         PTZPro(e,p);
  1770.         return true;
  1771.     });
  1772.    
  1773.     UI.Button("div[id ^= 'live_yt2_']", 13, null, function(e,p){
  1774.         PTZPro(e,p);
  1775.         return true;
  1776.     });
  1777.                
  1778.     UI.Button("div[id ^= 'live_yt5_']", 12, null, function(e,p){
  1779.         PTZPro(e,p);
  1780.         return true;
  1781.     });
  1782.            
  1783.     $("#live_jz,#live_fw").click(function(e){
  1784.         if(gVar.nUserRight>=100){
  1785.             gVar.MJKCgi("25");
  1786.         }else{
  1787.             var cmd = $(this).attr("cmd");
  1788.             //gVar.KCgi("cmd="+cmd);
  1789.             RfParamCallNoShadow("", "", cmd);
  1790.         }
  1791.     })
  1792.            
  1793.     $("#live_fz").click(function(){
  1794.         //gVar.KCgi("cmd=flipVideo&isFlip="+(1-Struct.isFlip*1));
  1795.         RfParamCallNoShadow("", "", "flipVideo&isFlip="+(1-Struct.isFlip*1));
  1796.     })
  1797.            
  1798.     $("#live_jx").click(function(){
  1799.  
  1800.         //gVar.KCgi("cmd=mirrorVideo&isMirror="+(1-Struct.isMirror*1));
  1801.         RfParamCallNoShadow("", "", "mirrorVideo&isMirror="+(1-Struct.isMirror*1));
  1802.     })
  1803.  
  1804.     //if($("#login_ml").val()==1) $("#livespltr").css("display","none");
  1805.     $("#live_spl").change(function(){
  1806.         //livesplClicked = true;
  1807.         var cmdstr = "";
  1808.         if(gVar.nStreamType == 0){
  1809.             cmdstr = "setMainVideoStreamType"
  1810.         }else{
  1811.             cmdstr = "setSubVideoStreamType"
  1812.         }
  1813.         var streamType = $(this).val()*1;
  1814.         gVar.nSelStreamType = $(this).val()*1;
  1815.        
  1816.    
  1817.  
  1818.     HDR_WDR_DisabledSwitch();
  1819.         //gVar.KCgi("cmd="+cmdstr+"&streamType="+streamType);
  1820.         RfParamCallNoShadow("", "", cmdstr+"&streamType="+streamType);
  1821.     })
  1822.     $("#BsHmode").change(function () {     
  1823.         if ($("#BsHmode").val() == 0) {
  1824.             $("#BsHwdManualSetting").css("display", "none");
  1825.             //gVar.KCgi("cmd=setInfraLedConfig&mode=" + $("#BsHmode").val())
  1826.             RfParamCallNoShadow("", "", "setInfraLedConfig&mode=" + $("#BsHmode").val());
  1827.         }
  1828.         else if ($("#BsHmode").val() == 1) {
  1829.             $("#BsHwdManualSetting").css("display", "");
  1830.             $("#irOn").removeAttr("checked");
  1831.             $("#irOff").removeAttr("checked");
  1832.             //gVar.KCgi("cmd=setInfraLedConfig&mode=" + $("#BsHmode").val());
  1833.             RfParamCallNoShadow("", "", "setInfraLedConfig&mode=" + $("#BsHmode").val());
  1834.  
  1835.             if (Struct.infraLedState == 1) {
  1836.                 $("#irOff").prop("checked", true);
  1837.             }
  1838.             else {
  1839.                 $("#irOn").prop("checked", true);
  1840.             }
  1841.         }
  1842.         else if ($("#BsHmode").val() == 2) {
  1843.             $("#BsHwdManualSetting").css("display", "none");
  1844.             //gVar.KCgi("cmd=setInfraLedConfig&mode=2");
  1845.             RfParamCallNoShadow("", "", "setInfraLedConfig&mode=2");
  1846.         }
  1847.         else {
  1848.             //gVar.KCgi("cmd=setInfraLedConfig&mode=1");
  1849.             RfParamCallNoShadow("", "", "setInfraLedConfig&mode=1");
  1850.         }
  1851.  
  1852.  
  1853.     })
  1854.  
  1855.     $("#guardSetPostion").change(function () {
  1856.         RfParamCall(null, "", "ptzSetGuardPosition&name=" + $("#guardSetPostion").val());
  1857.         //guard = $("#guardSetPostion").val();
  1858.     });
  1859.  
  1860.     $("#live_pf").change(function(){
  1861.         var freq = $(this).val()*1;
  1862.         //gVar.KCgi("cmd=setPwrFreq&freq="+freq);
  1863.         RfParamCallNoShadow("", "", "setPwrFreq&freq="+freq);
  1864.     })
  1865.  
  1866.     //HDR
  1867.     $("#live_HDR").change(function () {
  1868.         var HDR = $(this).val() * 1;
  1869.         RfParamCallNoShadow("", "", "setHdrMode&mode=" + HDR);
  1870.     });
  1871.         //WDR
  1872.         $("#liveVideo_WDR").change(function () {
  1873.               var WDR = $(this).val() * 1;
  1874.               RfParamCallNoShadow("", "", "setWdrMode&mode=" + WDR);
  1875.     });
  1876.  
  1877.     $("#preSetNameS").click(function(){
  1878.         var text = $("#preSetNameTe").val();
  1879.         //check name not null
  1880.         if (text == "") {
  1881.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_MAIN_PRENAME"));
  1882.             return;
  1883.         }
  1884.         //check name has space
  1885.         if (text.indexOf(' ') >= 0) {
  1886.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_NAME_NOSPACE"));
  1887.             return;
  1888.         }
  1889.         //check format
  1890.         if (IsLimitLength($("#preSetNameTe").val(), 20) && MatchReg(text))
  1891.         {
  1892.             //check is maxpre
  1893.             if($("#preset option").length*1 == 16)
  1894.             {
  1895.                 ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_MAIN_MAXPRE"));
  1896.                 return;
  1897.             }
  1898.            
  1899.             var isExists=false;
  1900.             $("#preset option").each(function(){
  1901.                 if($(this).text()==text)
  1902.                 {
  1903.                     isExists=true;
  1904.                 }
  1905.             });
  1906.             if(isExists == true)
  1907.             {
  1908.                 ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_MAIN_PREIS"));
  1909.                 return;
  1910.             }
  1911.  
  1912.             //gVar.KCgi("cmd=ptzAddPresetPoint&name="+$("#preSetNameTe").val());
  1913.             RfParamCallNoShadow("", "", "ptzAddPresetPoint&name="+$("#preSetNameTe").val());
  1914.             $("#preSetNameT").css("display", "");
  1915.             $("#preSetName,#preSetNameS,#preSetNameQ").css("display", "none");
  1916.             $("#preSetNameTe").val("");
  1917.         }
  1918.         else {
  1919.             if (gVar_first.N_language != 2) ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_FORMAT_ERROR") + "!  " + lg.get("IDS_PTZ_CTRNAMETIP"));
  1920.             else ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_FORMAT_ERROR") + "!  " + lg.get("IDS_PTZ_CTRNAMETIP2"));
  1921.             return ;
  1922.         }
  1923.  
  1924.     });
  1925.            
  1926.     $("#preSetNameQ").click(function(){
  1927.         $("#preSetNameT").css("display", "");
  1928.         $("#preSetName,#preSetNameS,#preSetNameQ").css("display", "none");
  1929.         $("#preSetNameTe").val("");
  1930.     });
  1931.  
  1932.     function DeletePresetPointCall(xml) {
  1933.         var prePointDelResult = $(xml).find("deleteResult").text();
  1934.         if (prePointDelResult == 3) {
  1935.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_PRESET_NO_DELETE"));
  1936.         }
  1937.         if (prePointDelResult == 4) {
  1938.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_PRESET_NO_DELETE_ISCRUISE"));
  1939.         }
  1940.     }
  1941.  
  1942.     $("#pre_sub").click(function () {
  1943.         var svaPrepoint = OthToEnu(($("#preset")).find("option:selected").text());
  1944.         if (svaPrepoint == "TopMost" || svaPrepoint == "BottomMost" || svaPrepoint == "LeftMost" || svaPrepoint == "RightMost") {
  1945.             ShowPaop(lg.get("IDS_TIPS"), lg.get("PTZ_PRESET_POINT_DELETE_ERROR"));
  1946.         }
  1947.         else {
  1948.             //gVar.KCgi("cmd=ptzDeletePresetPoint&name=" + ChsToEnu($("#preset").find("option:selected").text()));
  1949.             var cgiRet = "";
  1950.             var isHttps = 0;
  1951.             if (gVar.httpver == "https") {
  1952.                 isHttps = 1;
  1953.             }
  1954.  
  1955.             RfParamCallNoShadow(DeletePresetPointCall, "", "ptzDeletePresetPoint&name=" + $("#preset").find("option:selected").text());
  1956.         }
  1957.     });
  1958.    
  1959.     //提示语
  1960.     $(".liveBtnBt1").attr("title",lg.get("IDS_OPEN_ALL_CHANNEL"))
  1961.     $(".liveBtnBt2").attr("title",lg.get("IDS_CLOSE_ALL_CHANNEL"))
  1962.     $(".liveBtnBt3").attr("title",lg.get("IDS_TIP_PRE"))
  1963.     $(".liveBtnBt4").attr("title",lg.get("IDS_TIP_NEXT"))
  1964.     $(".liveBtnBt5").attr("title",lg.get("IDS_FULLSCREEN"))
  1965.     $(".liveBtnBt6").attr("title",lg.get("IDS_TIP_SPLITER"))
  1966.     $("#pbBtnBt10").attr("title",lg.get("IDS_TIP_PLAY"))
  1967.     $(".liveBtnBt11").attr("title",lg.get("IDS_TIP_TEMCLOSE"))
  1968.     $("#pbBtnBt12").attr("title",lg.get("IDS_TIP_STOP"))
  1969.  
  1970.     $("#live_yt2_5").attr("title",lg.get("IDS_PTZ_LEFTUP"))
  1971.     $("#live_yt1_1").attr("title",lg.get("IDS_PTZ_UP"))
  1972.     $("#live_yt3_6").attr("title",lg.get("IDS_PTZ_RIGHTUP"))
  1973.     $("#live_yt5_3").attr("title",lg.get("IDS_PTZ_LEFT"))
  1974.     $("#live_yt6_21").attr("title",lg.get("IDS_PTZ_AUTO"))
  1975.     $("#live_yt4_4").attr("title",lg.get("IDS_PTZ_RIGHT"))
  1976.     $("#live_yt2_7").attr("title",lg.get("IDS_PTZ_LEFTDOWN"))
  1977.     $("#live_yt1_2").attr("title",lg.get("IDS_PTZ_DOWN"))
  1978.     $("#live_yt3_8").attr("title",lg.get("IDS_PTZ_RIGHTDOWN"))
  1979.    
  1980.    
  1981.     $("#live_wd_sd1").attr("title",lg.get("IDS_SOUND")).mouseover(function(){this.style.cursor="pointer"})
  1982.    
  1983.    
  1984.     $("#pre_sub").attr("title",lg.get("IDS_DEl_PRESET"))
  1985.     $("#pre_add").attr("title",lg.get("IDS_BTN_ADD_PRESET"))
  1986.     $("#pre_goto").attr("title",lg.get("IDS_CALL_PRESET"))
  1987.     $("#preSetNameS").attr("title",lg.get("IDS_REBOOT_OK"))
  1988.     $("#preSetNameQ").attr("title",lg.get("IDS_REBOOT_CANCLE"))
  1989.     $("#cruise_stop").attr("title",lg.get("IDS_STOP_CURISE"))
  1990.     $("#cruise_start").attr("title",lg.get("IDS_CALL_CURISE"))
  1991.     $("#zoomIn").attr("title",lg.get("IDS_Z_ZOOMIN"))
  1992.     $("#zoomOut").attr("title",lg.get("IDS_Z_ZOOMOUT"))
  1993.     $("#focus_far").attr("title", lg.get("IDS_PTZ_FOCUS"))
  1994.     $("#focus_near").attr("title", lg.get("IDS_PTZ_FOCUS"))
  1995.  
  1996.     $("#music_play").attr("title",lg.get("IDS_TIP_PLAY"));
  1997.     $("#music_pause").attr("title",lg.get("IDS_TIP_TEMCLOSE"));
  1998.     $("#music_stop").attr("title",lg.get("IDS_TIP_STOP"));
  1999.     $("#music_prev").attr("title",lg.get("IDS_CHILD_MUSIC_PREV"));
  2000.     $("#music_next").attr("title",lg.get("IDS_CHILD_MUSIC_NEXT"));
  2001.     $("#music_singlerepeat").attr("title",lg.get("IDS_CHILD_MUSIC_PLAY_IN_TURN"));
  2002.     $("#music_allrepeat").attr("title",lg.get("IDS_CHILD_MUSIC_ONE_REPEAT"));
  2003.     $("#music_playlist").attr("title",lg.get("IDS_CHILD_MUSIC_ALL_REPEAT"));
  2004.     $("#music_10").attr("title",lg.get("IDS_CHILD_MUSIC_SLIP100"));
  2005.     $("#music_20").attr("title",lg.get("IDS_CHILD_MUSIC_SLIP10"));
  2006.     $("#music_30").attr("title",lg.get("IDS_CHILD_MUSIC_SLIP20"));
  2007.     $("#music_100").attr("title",lg.get("IDS_CHILD_MUSIC_SLIP30"));
  2008.    
  2009.     hideHue();
  2010. }
  2011. function SilderGetCall(n,s,id){
  2012.     $("#clordir_"+n).css("width", s+"%");
  2013.     $("#clorbtn_"+n).css("margin-left", s);
  2014.     $("#clordiv_"+n).attr("speed", s);
  2015.     $("#"+id).prop("innerHTML",s);
  2016.    
  2017.     debug("main", s);
  2018. }
  2019. function RfSc(){
  2020.     SilderGetCall(1,Struct.hue,"live_wd_sj");
  2021.     SilderGetCall(2,Struct.brightness,"live_wd_ld");
  2022.     SilderGetCall(3,Struct.contrast,"live_wd_dbd");
  2023.     SilderGetCall(4,Struct.saturation,"live_wd_bhd");
  2024.     SilderGetCall(5,Struct.sharpness,"live_wd_rd");
  2025. }
  2026.  
  2027. function GetStreamMode(mode) {
  2028.     switch (mode) {
  2029.         case 0: return lg.get("IDS_AV_BASE_DISTINCT_MODE"); break;
  2030.         case 1: return lg.get("IDS_AV_BASE_BALANCE_MODE"); break;
  2031.         case 2: return lg.get("IDS_AV_BASE_SMOOTH_MODE"); break;
  2032.         case 3: return lg.get("IDS_AV_BASE_CUSTOM_MODE"); break;
  2033.         default: return;
  2034.     }
  2035. }
  2036.  
  2037. function RfSpl(){
  2038.     if (gVar.nStreamType == 0) {  
  2039.         $("#live_spl").empty();
  2040.       //main stream
  2041.         for (var i = 0; i < 4; i++) {
  2042.             var resolt = "";
  2043.             var bitR = "";
  2044.             if (Struct.StreamParamInfo[i].resolution == 0)
  2045.                 resolt = "720P";
  2046.             else if (Struct.StreamParamInfo[i].resolution == 1)
  2047.                 resolt = "VGA";
  2048.             else if (Struct.StreamParamInfo[i].resolution == 2)
  2049.                 resolt = "QVGA";
  2050.             else if (Struct.StreamParamInfo[i].resolution == 3)
  2051.                 resolt = "VGA";
  2052.             else if (Struct.StreamParamInfo[i].resolution == 4)
  2053.                 resolt = "QVGA";
  2054.             else if (Struct.StreamParamInfo[i].resolution == 6)
  2055.                 resolt = "960P";
  2056.         else if(Struct.StreamParamInfo[i].resolution == 7)
  2057.             resolt = "1080P";
  2058.             else if(Struct.StreamParamInfo[i].resolution == 8)
  2059.             resolt = "3M";
  2060.             else if(Struct.StreamParamInfo[i].resolution == 9)
  2061.             resolt="2K";
  2062.             else
  2063.                 resolt = "QCIF";
  2064.         if(Struct.StreamParamInfo[i].bitRate == 8388608)
  2065.         bitR = "8M"
  2066.         else if(Struct.StreamParamInfo[i].bitRate == 6291456)
  2067.         bitR = "6M"
  2068.             else if (Struct.StreamParamInfo[i].bitRate > 3145728)
  2069.                 bitR = "4M"
  2070.             else if (Struct.StreamParamInfo[i].bitRate > 1572864 && Struct.StreamParamInfo[i].bitRate <= 3145728)
  2071.                 bitR = "2M"
  2072.             else if (Struct.StreamParamInfo[i].bitRate > 786432 && Struct.StreamParamInfo[i].bitRate <= 1572864)
  2073.                 bitR = "1M"
  2074.             else if (Struct.StreamParamInfo[i].bitRate > 393216 && Struct.StreamParamInfo[i].bitRate <= 786432)
  2075.                 bitR = "512K"
  2076.             else if (Struct.StreamParamInfo[i].bitRate > 233472 && Struct.StreamParamInfo[i].bitRate <= 393216)
  2077.                 bitR = "256K"
  2078.             else if (Struct.StreamParamInfo[i].bitRate > 167936 && Struct.StreamParamInfo[i].bitRate <= 233472)
  2079.                 bitR = "200K"
  2080.             else if (Struct.StreamParamInfo[i].bitRate > 116736 && Struct.StreamParamInfo[i].bitRate <= 167936)
  2081.                 bitR = "128K"
  2082.             else if (Struct.StreamParamInfo[i].bitRate > 76800 && Struct.StreamParamInfo[i].bitRate <= 116736)
  2083.                 bitR = "100K"
  2084.             else if (Struct.StreamParamInfo[i].bitRate > 35840 && Struct.StreamParamInfo[i].bitRate <= 76800)
  2085.                 bitR = "50K"
  2086.             else
  2087.                 bitR = "20K"
  2088.             if (isEncy[IFs]) {
  2089.                 $("#live_spl").append("<option value=" + i + ">" + GetStreamMode(i) + "/ " + resolt + "/ " + Struct.StreamParamInfo[i].frameRate + "fps/ " + bitR + "</option>");
  2090.             } else {
  2091.                 $("#live_spl").append("<option value=" + i + ">" + i + "/ " + resolt + "/ " + Struct.StreamParamInfo[i].frameRate + "fps/ " + bitR + "</option>");
  2092.             }
  2093.         }
  2094.     }
  2095.  
  2096.     setTimeout(function () {
  2097.         if (gVar.nStreamType == 0) {
  2098.             $("#live_spl").val(gVar.nSelStreamType);
  2099.             HDR_WDR_DisabledSwitch();
  2100.         }
  2101.     }, 1);
  2102. }
  2103.  
  2104. function RfSplSub() {
  2105.    
  2106.     //sub stream
  2107.         if (gVar.nStreamType == 1) {
  2108.              $("#live_spl").empty();
  2109.             for (var i = 0; i < 4; i++) {
  2110.                 var resolt = "";
  2111.                 var bitR = "";
  2112.                 if (Struct.SubStreamParamInfo[i].resolution == 0)
  2113.                     resolt = "720P";
  2114.                 else if (Struct.SubStreamParamInfo[i].resolution == 1)
  2115.                     resolt = "VGA";
  2116.                 else if (Struct.SubStreamParamInfo[i].resolution == 2)
  2117.                     resolt = "QVGA";
  2118.                 else if (Struct.SubStreamParamInfo[i].resolution == 3)
  2119.                     resolt = "VGA";
  2120.                 else if (Struct.SubStreamParamInfo[i].resolution == 4)
  2121.                     resolt = "QVGA";
  2122.                 else if (Struct.SubStreamParamInfo[i].resolution == 6)
  2123.                     resolt = "960P";
  2124.                 else
  2125.                     resolt = "QCIF";
  2126.                 if (Struct.SubStreamParamInfo[i].bitRate == 4194304)
  2127.                     bitR = "4M"
  2128.                 else if (Struct.SubStreamParamInfo[i].bitRate == 2097152)
  2129.                     bitR = "2M"
  2130.                 else if (Struct.SubStreamParamInfo[i].bitRate == 1048576)
  2131.                     bitR = "1M"
  2132.                 else if (Struct.SubStreamParamInfo[i].bitRate > 393216)
  2133.                     bitR = "512K"
  2134.                 else if (Struct.SubStreamParamInfo[i].bitRate > 233472 && Struct.SubStreamParamInfo[i].bitRate <= 393216)
  2135.                     bitR = "256K"
  2136.                 else if (Struct.SubStreamParamInfo[i].bitRate > 167936 && Struct.SubStreamParamInfo[i].bitRate <= 233472)
  2137.                     bitR = "200K"
  2138.                 else if (Struct.SubStreamParamInfo[i].bitRate > 116736 && Struct.SubStreamParamInfo[i].bitRate <= 167936)
  2139.                     bitR = "128K"
  2140.                 else if (Struct.SubStreamParamInfo[i].bitRate > 76800 && Struct.SubStreamParamInfo[i].bitRate <= 116736)
  2141.                     bitR = "100K"
  2142.                 else if (Struct.SubStreamParamInfo[i].bitRate > 35840 && Struct.SubStreamParamInfo[i].bitRate <= 76800)
  2143.                     bitR = "50K"
  2144.                 else
  2145.                     bitR = "20K"
  2146.                 if (isEncy[IFs]) {
  2147.                     $("#live_spl").append("<option value=" + i + ">" + GetStreamMode(i) + "/ " + resolt + "/ " + Struct.SubStreamParamInfo[i].frameRate + "fps/ " + bitR + "</option>");
  2148.                 } else {
  2149.                     $("#live_spl").append("<option value=" + i + ">" + i + "/ " + resolt + "/ " + Struct.SubStreamParamInfo[i].frameRate + "fps/ " + bitR + "</option>");
  2150.                 }
  2151.             }
  2152.         }
  2153.         setTimeout(function () {
  2154.             if (gVar.nStreamType == 1) {
  2155.                 $("#live_spl").val(gVar.nSelStreamType);
  2156.             }
  2157.         }, 1);
  2158. }
  2159.  
  2160. function RfHdr() {
  2161.     setTimeout(function () {
  2162.         $("#live_HDR").val(Struct.hdrstate);
  2163.     }, 1);
  2164. }
  2165.  
  2166.  
  2167. function RfNAA(){
  2168.     setTimeout(function(){
  2169.         $("#liveVideo_NAA").val(Struct.naastate);
  2170.     },1);
  2171. }
  2172.    
  2173. function RfWdr() {
  2174.     setTimeout(function () {
  2175.         $("#liveVideo_WDR").val(Struct.wdrstate);
  2176.     }, 1);
  2177. }
  2178. function RfPf(){
  2179.     setTimeout(function(){
  2180.     $("#live_pf").val(Struct.pwrFreq)
  2181.     },1);
  2182. }
  2183. function RfRs(){
  2184.     if(gVar.nUserRight==2 || gVar.nUserRight >= 100){
  2185.     if(Struct.recordState == 0){
  2186.         if (isOpenR[0] == 1) {
  2187.             $("#LVRc").css("display", "");$("#LVRcA").css("display", "none");
  2188.         }else{
  2189.             $("#LVRcA").css("display", "");$("#LVRc").css("display", "none");
  2190.         }
  2191.     }
  2192.     else {$("#LVRcA").css("display", "none");$("#LVRc").css("display", "");}
  2193.     }
  2194. }
  2195.  
  2196. function RfLs(){
  2197.     setTimeout(function() {
  2198.         $("#BsHmode").val(Struct.infraLedMode);
  2199.     },1);
  2200.     if (Struct.infraLedMode == 0) {
  2201.         $("#BsHwdManualSetting").css("display", "none");
  2202.     }
  2203.     else if (Struct.infraLedMode == 1) {
  2204.         $("#BsHwdManualSetting").css("display", "");
  2205.  
  2206.         if (Struct.infraLedState == 1) {
  2207.             $("#irOff").prop("checked", true);
  2208.         }
  2209.         else {
  2210.             $("#irOn").prop("checked", true);
  2211.         }
  2212.     }
  2213.     else if (Struct.infraLedMode == 2) {
  2214.         $("#BsHwdManualSetting").css("display", "none");
  2215.     }
  2216.     HDR_WDR_DisabledSwitch();
  2217.    
  2218. }
  2219.  
  2220. function RfpP(){
  2221.     $("#preset").empty();
  2222.     for (var i=1; i<=Struct.presetPointCnt; i++){
  2223.         //if(Struct.curPresetPoint == i){
  2224.             //$("#preset").append('<option class="option" selected="selected" value="'+i+'">'+EnuToOth(Struct.presetPointList[i])+'</option>');
  2225.         //}
  2226.         //else
  2227.         $("#preset").append('<option class="option" value="' + Struct.presetPointList[i] + '">' + EnuToOth(Struct.presetPointList[i]) + '</option>');
  2228.     }
  2229.     /*setTimeout(function(){
  2230.         $("#preset").val(Struct.curPresetPoint)
  2231.     }, 1)*/
  2232. }
  2233. function RfgU() {
  2234.     $("#guardSetPostion").empty();
  2235.     var i = Struct.presetPointCnt;
  2236.     if (Struct.curPresetPoint == "None") {
  2237.         $("#guardSetPostion").append('<option id="guardNone" class="option" value="' + Struct.curPresetPoint + '">' + EnuToOth(Struct.curPresetPoint) + '</option>');
  2238.     }
  2239.     for (var i = 1; i <=Struct.presetPointCnt; i++) {
  2240.         $("#guardSetPostion").append('<option class="option" value="' + Struct.presetPointList[i] + '">' + EnuToOth(Struct.presetPointList[i]) + '</option>');
  2241.     }
  2242.     //if (Struct.curPresetPoint != guard) {
  2243.         //$("#guardSetPostion").val(guard);
  2244.    // }
  2245.   //  else {
  2246.         $("#guardSetPostion").val(Struct.curPresetPoint);
  2247.    // }
  2248. }
  2249. function RfcM(){
  2250.     $("#cruise").empty();
  2251.     for (var i=0; i<Struct.cruiseMapCnt; i++){
  2252.         if(Struct.curCruiseMap==Struct.cruiseMapList[i])
  2253.             $("#cruise").append('<option selected="selected" class="option" value="'+i+'">'+EnuToOth(Struct.cruiseMapList[i])+'</option>');
  2254.         else
  2255.             $("#cruise").append('<option class="option" value="'+i+'">'+EnuToOth(Struct.cruiseMapList[i])+'</option>');
  2256.     }
  2257.    
  2258.     /*setTimeout(function(){
  2259.         $("#cruise").val(Struct.curCruiseMap)
  2260.     }, 1)*/
  2261. }
  2262. function Rfjx(){
  2263.     //if(Struct.isMirror*1 == 1) $("#live_jx").css("background-position","-62px 0px");
  2264.     if (Struct.isMirror * 1 == 1) $("#live_jx").prop("checked", true);
  2265.     else $("#live_jx").removeAttr("checked");
  2266.     //else $("#live_jx").css("background-position", "0px 0px");
  2267. }
  2268. function Rffz(){
  2269.     //if(Struct.isFlip*1 == 1) $("#live_fz").css("background-position","-62px 0px");
  2270.     if (Struct.isFlip * 1 == 1) $("#live_fz").prop("checked", true);
  2271.     else $("#live_fz").removeAttr("checked");
  2272.     //else $("#live_fz").css("background-position", "0px 0px");
  2273. }
  2274.  
  2275. function RfBabyMusicList(){
  2276.     $("#sel_music_list").empty();
  2277.     if(Struct.babyCurMusicListName != "" && Struct.babyListCnt != 0){
  2278.         for( var i = 0; i < Struct.babyListCnt; i++){
  2279.             if(Struct.babyCurMusicListName == Struct.babayMusicList[i].listName){
  2280.                 $("#sel_music_list").append('<option selected="selected" class="option" value="'+Struct.babayMusicList[i].listName+'">'+Struct.babayMusicList[i].listName+'</option>');
  2281.             }else{
  2282.                 $("#sel_music_list").append('<option class="option" value="'+Struct.babayMusicList[i].listName+'">'+Struct.babayMusicList[i].listName+'</option>');
  2283.             }
  2284.         }
  2285.     }
  2286. }
  2287.  
  2288.  
  2289. /*
  2290. function HDR_WDR_DisabledSwitch()
  2291. 2015/12/10 yangwei
  2292. constorl the "wdr" and "hdr" can been edited
  2293. */
  2294. function HDR_WDR_DisabledSwitch()
  2295. {
  2296.     var resolution=0;
  2297.     if(gVar.nStreamType == 0)
  2298.     {
  2299.      resolution=Struct.StreamParamInfo[$("#live_spl").val()||0].resolution||0;
  2300.     }
  2301.     else
  2302.     {
  2303.         resolution=Struct.SubStreamParamInfo[$("#live_spl").val()||0].resolution||0;
  2304.     }
  2305.     //if(Struct.infraLedState == 0||resolution == 8||resolution == 9||gVar.nUserRight==1||gVar.nUserRight==0)
  2306.     if(Struct.infraLedState == 0||gVar.nUserRight==1||gVar.nUserRight==0)  
  2307.     {
  2308.         $("#live_HDR").prop("disabled", true);
  2309.         $("#liveVideo_WDR").prop("disabled", true);
  2310.     }
  2311.     else
  2312.     {
  2313.         $("#live_HDR").prop("disabled", false);
  2314.         $("#liveVideo_WDR").prop("disabled", false);
  2315.     }
  2316.    
  2317.    
  2318. }
  2319.  
  2320. function Left_Multi1Click() {
  2321.     $("#left_multi1").prop("checked", true);
  2322.     gVar.multi = $("#left_multi1").val();
  2323.     setCookie("multi", gVar.multi);
  2324.     for (var i = 0; i < 9; i++) {
  2325.         $("#ipcamdiv" + i).css({ "width": "0%", "height": "0%" });
  2326.     }
  2327.     $("#ipcamdiv" + IFs).css({ "width": "100%", "height": "100%" });
  2328. }
  2329.  
  2330. function Left_Multi2Click() {
  2331.     $("#left_multi2").prop("checked", true);
  2332.     gVar.multi = $("#left_multi2").val();
  2333.     setCookie("multi", gVar.multi);
  2334.     if (IFs <= 5) {
  2335.         for (var i = 0; i < IFs; i++) {
  2336.             $("#ipcamdiv" + i).css({ "width": "0%", "height": "0%" });
  2337.         }
  2338.         for (var i = IFs; i < IFs + 4; i++) {
  2339.             $("#ipcamdiv" + i).css({ "width": "49.9%", "height": "49.9%" });
  2340.         }
  2341.         for (var i = IFs + 4; i < 9; i++) {
  2342.             $("#ipcamdiv" + i).css({ "width": "0%", "height": "0%" });
  2343.         }
  2344.     }
  2345.     else {
  2346.         for (var i = 0; i < 5; i++) {
  2347.             $("#ipcamdiv" + i).css({ "width": "0%", "height": "0%" });
  2348.         }
  2349.         for (var i = 5; i < 9; i++) {
  2350.             $("#ipcamdiv" + i).css({ "width": "49.9%", "height": "49.9%" });
  2351.         }
  2352.     }
  2353. }
  2354.  
  2355. function Left_Multi3Click() {
  2356.     $("#left_multi3").prop("checked", true);
  2357.     gVar.multi = $("#left_multi3").val();
  2358.     setCookie("multi", gVar.multi);
  2359.     for (var i = 0; i < 9; i++) {
  2360.         $("#ipcamdiv" + i).css({ "width": "33.3%", "height": "33.3%" });
  2361.     }
  2362. }
  2363.  
  2364. function Rfmulti(){
  2365.     gVar.multi = getCookie("multi") == null?1:getCookie("multi");
  2366.     setTimeout(function () {
  2367.         if (gVar.multi == 1) {
  2368.             $("#left_multi1").prop("checked", true);
  2369.             //$("#left_multi1").change();
  2370.             Left_Multi1Click();
  2371.         }
  2372.         else if (gVar.multi == 4) {
  2373.             $("#left_multi2").prop("checked", true);
  2374.             //$("#left_multi2").change();
  2375.             Left_Multi2Click();
  2376.         }
  2377.         else if (gVar.multi == 9) {
  2378.             $("#left_multi3").prop("checked", true);
  2379.             //$("#left_multi3").change();
  2380.             Left_Multi3Click();
  2381.         }
  2382.         else {
  2383.             $("#left_multi1").prop("checked", true);
  2384.             //$("#left_multi1").change();
  2385.             Left_Multi1Click();
  2386.         }
  2387.         //$("#left_multi").val(gVar.multi);
  2388.         //$("#left_multi").change();
  2389.     }, 1);
  2390. }
  2391.  
  2392.  
  2393. function RfQx(qx) {
  2394.     if (gVar.nUserRight == qx) return;
  2395.     gVar.nUserRight = qx;
  2396.     if (gVar.nUserRight >= 100) {   //MJPEG
  2397.         $("#lab_zoomIn").css("display", "none"); $("#zoomIn").css("display", "none");
  2398.         $("#lab_zoomOut").css("display", "none"); $("#zoomOut").css("display", "none");
  2399.         $("#lab_focusFar").css("display", "none"); $("#focus_far").css("display", "none");
  2400.         $("#lab_focusNear").css("display", "none"); $("#focus_near").css("display", "none");
  2401.  
  2402.         $("#LVRcA,#LVRc").css("display", "").prop("disabled", false);
  2403.         $(".volumeOff").css("display", "none");
  2404.         $(".volumeOn").css("display", "none");
  2405.         $("#live_sound").css("display", "none");
  2406.         $("#liveHDR,#liveVideoWDR").css("display", "none");
  2407.         if (gVar.nUserRight == 101) {
  2408.             $("#livespltr,#left_jxfz,#pllive2,#left_powfre,#leftptz").css("display", "none");
  2409.                 if (gVar.nStreamType == 1) $("#livespltr").css("display", "none");
  2410.             }
  2411.         else {
  2412.             $("#livespltr,#left_jxfz,#pllive2,#left_powfre").css("display", "none");
  2413.             if (gVar.ptFlag == 1) {
  2414.                 $("#leftptz").css("display", "");
  2415.             }
  2416.             if(gVar.nStreamType == 1) $("#livespltr").css("display","none");
  2417.         }
  2418.     }else{  //H264
  2419.     $("#livespltr,#left_jxfz,#pllive2,#leftptz,#left_powfre").css("display", "");
  2420.     if (gVar.nUserRight == 0) {
  2421.         $("#liveNAA,#liveHDR,#liveVideoWDR,#pfonmouse,#splonmouse,#live_jx,#lab_live_jx,#live_fz,#lab_live_fz,#zoomIn,#lab_zoomIn,#zoomOut,#lab_zoomOut,#focus_far,#lab_focusFar,#focus_near,#lab_focusNear,#leftptz,#cruise_1,#m_1,#preset_2,#m_2,#LED_3,#m_3,#colar_4,#m_4,#LVRcA,#LVRc,#music_5,#m_5,#guard_6,#m_6,.volumeOn,.volumeOff,#live_sound").css("display", "none");      //#pfonmouse,#splonmouse
  2422.         $("#LVRcA,#LVRc,#live_spl,#live_pf").prop("disabled", true);
  2423.     }
  2424.  
  2425.     else if (gVar.nUserRight == 1) {
  2426.         $("#live_jx,#lab_live_jx,#live_fz,#lab_live_fz,#pfonmouse,#splonmouse,#pre_add,#pre_sub,#LED_3,#m_3,#colar_4,#m_4,#LVRcA,#LVRc").css("display", "none");
  2427.         $("#live_spl,#live_pf").prop("disabled", true);
  2428.         $("#zoomIn,#lab_zoomIn,#zoomOut,#lab_zoomOut,#leftptz,#cruise_1,#preset_2,#music_5,#guard_6").css("display", "");
  2429.         $("#lab_focusFar,#focus_far,#lab_focusNear,#focus_near").css("display", "");
  2430.         if($("#cruise_1").attr("isdown") == 0) $("#m_1").css("display","");
  2431.         else if ($("#preset_2").attr("isdown") == 0) $("#m_2").css("display", "");
  2432.         else if ($("#guard_6").attr("isdown") == 0) $("#m_6").css("display", "");
  2433.         else if($("#music_5").attr("isdown") == 0) $("#m_5").css("display","");
  2434.     }
  2435.     else {
  2436.         $("#pfonmouse,#splonmouse,#live_jx,#lab_live_jx,#live_fz,#lab_live_fz,#zoomIn,#lab_zoomIn,#zoomOut,#lab_zoomOut,#leftptz,#cruise_1,#cruise_start,#cruise_stop,#preset_2,#pre_add,#pre_sub,#pre_goto,#LED_3,#colar_4,#LVRcA,#LVRc,#music_5,#guard_6").css("display", "");
  2437.         $("#lab_focusFar,#focus_far,#lab_focusNear,#focus_near").css("display", "");
  2438.         $("#LVRcA,#LVRc,#live_spl,#live_pf").prop("disabled", false);
  2439.         if($("#cruise_1").attr("isdown") == 0) $("#m_1").css("display","");
  2440.         else if ($("#preset_2").attr("isdown") == 0) $("#m_2").css("display", "");
  2441.         else if ($("#guard_6").attr("isdown") == 0) $("#m_6").css("display", "");
  2442.         else if($("#LED_3").attr("isdown") == 0) $("#m_3").css("display","");
  2443.         else if($("#colar_4").attr("isdown") == 0) $("#m_4").css("display","");
  2444.         else if($("#music_5").attr("isdown") == 0) $("#m_5").css("display","");
  2445.     }
  2446.    
  2447.     }
  2448.    
  2449. }
  2450. function RfLiveItem(){
  2451.    
  2452.     debug("RfLiveItem", "in");
  2453.     RfSc();
  2454.     if (gVar.nStreamType == 0) {
  2455.         RfSpl();
  2456.     } else {
  2457.         RfSplSub();
  2458.     }
  2459.     RfRs();
  2460.     RfLs();
  2461.     RfpP();
  2462.     RfcM();
  2463.     RfPf();
  2464.     Rfjx();
  2465.     Rffz();
  2466.     RfgU();
  2467.     RfBabyMusicList();
  2468.     RfHdr();
  2469.     RfWdr();
  2470.    
  2471.     debug("RfLiveItem", "out");
  2472. }
  2473. function UserLoginEvent(msgID) {
  2474.     debug("UserLoginEvent", msgID);
  2475.     var userAg = navigator.userAgent.toLowerCase();
  2476.     chromes = /chrome\/([\d.]+)/;
  2477.     var matchs = chromes.exec(userAg);
  2478.  
  2479.     if (!(gVar.webLoginCall != -100 && gVar.pluginLoginCall != -100)) return;
  2480.     if (gVar.webLoginCall.toString() == "NaN") {
  2481.         if (matchs != null) {
  2482.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_MAIN_RF"));
  2483.         }
  2484.         else {
  2485.             alert(lg.get("IDS_MAIN_RF"));
  2486.         }
  2487.     }
  2488.     else {
  2489.         MasklayerHide();
  2490.         if (gVar.webLoginCall == 0) {//login success
  2491.             try {
  2492.                 //save cookie
  2493.                 setCookie("userName", gVar.user); //set usrname,save to cookie
  2494.                 if ($("#remenberText").is(":checked")) {
  2495.                     setCookie("pwd", urlEncode($("#passwd").val()));
  2496.                     setCookie("remenber", 1);
  2497.                 } else {
  2498.                     setCookie("remenber", 0);
  2499.                     setCookie("pwd", "");
  2500.                     $("#remenberText").prop("checked", false);
  2501.                 }
  2502.                 try { gDvr.obj[0].LoginSuc() } catch (e) { }
  2503.  
  2504.                 loginSucc = true;
  2505.                 LoadLivePage();
  2506.             } catch (e) { }
  2507.         }
  2508.         else {
  2509.             if (gVar.webLoginCall != -7) {
  2510.                 ErrorLogin(gVar.webLoginCall);
  2511.             }
  2512.         }
  2513.     }
  2514. }
  2515.  
  2516. function ErrorLogin(msg) {
  2517.     var userAg = navigator.userAgent.toLowerCase();
  2518.     chromes = /chrome\/([\d.]+)/;
  2519.     var matchs = chromes.exec(userAg);
  2520.  
  2521.     switch(msg){
  2522.         case -1:
  2523.             if (matchs != null) {
  2524.                 ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LEFT_EFAILD"));
  2525.                 setTimeout(function () {
  2526.                     window.location.href = window.location.href
  2527.                 }, 3000);
  2528.             }
  2529.             else{
  2530.                 alert(lg.get("IDS_LEFT_EFAILD"));
  2531.                 setTimeout(function () {
  2532.                     window.location.href = window.location.href
  2533.                 }, 1000);
  2534.             }
  2535.             break ;
  2536.         case -2:
  2537.             if (matchs != null) {
  2538.                 hideUpgradeWindow();
  2539.                 ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LOG_MUSRE"));
  2540.                 setTimeout(function () {
  2541.                     window.location.href = window.location.href
  2542.                 }, 3000);
  2543.                
  2544.             }
  2545.             else {
  2546.                 hideUpgradeWindow();
  2547.                 alert(lg.get("IDS_LOG_MUSRE"));
  2548.                 setTimeout(function () {
  2549.                     window.location.href = window.location.href
  2550.                 }, 1000);
  2551.                
  2552.             }
  2553.             break;
  2554.         case -4:
  2555.             if (matchs != null) {
  2556.                 ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LOG_NOUSRN"));
  2557.                 setTimeout(function () {
  2558.                     window.location.href = window.location.href
  2559.                 }, 3000);
  2560.             }
  2561.             else{
  2562.                 alert(lg.get("IDS_LOG_NOUSRN"));
  2563.                 setTimeout(function () {
  2564.                     window.location.href = window.location.href
  2565.                 }, 1000);
  2566.             }
  2567.             break;
  2568.         case -5:
  2569.             if (matchs != null) {
  2570.                 ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LOG_WPWD"));
  2571.                 setTimeout(function () {
  2572.                     window.location.href = window.location.href
  2573.                 }, 3000);
  2574.                 return;
  2575.             }
  2576.             else {
  2577.                 alert(lg.get("IDS_LOG_WPWD"));
  2578.                 setTimeout(function () {
  2579.                     window.location.href = window.location.href
  2580.                 }, 1000);
  2581.             }
  2582.             break;
  2583.         case -7:
  2584.             if (matchs != null) {
  2585.                 ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LOG_NOLOG"));
  2586.                 setTimeout(function () {
  2587.                     window.location.href = window.location.href
  2588.                 }, 3000);
  2589.             }
  2590.             else {
  2591.                 alert(lg.get("IDS_LOG_NOLOG"));
  2592.                 setTimeout(function () {
  2593.                     window.location.href = window.location.href
  2594.                 }, 1000);
  2595.             }
  2596.             break;
  2597.         default:
  2598.             return;
  2599.       }
  2600. }
  2601.  
  2602. function LoadLivePage() {
  2603.     debug("LoadLivePage", gVar_first.model + " " + loginSucc);
  2604.     if (gVar_first.model == 0 || !loginSucc) {
  2605.         return;
  2606.     } else {
  2607.     LoadLeftPage(function () {
  2608.         debug("LoadLeftPage", "in");
  2609.         inLivePage = true;
  2610.         try {
  2611.             $("#login").remove();
  2612.             LoadLiveTile(); //load the head title
  2613.         } catch (e) { }
  2614.         try {
  2615.             $("#header").addClass("header").css("display", "");
  2616.             var obj = document.getElementById("content");
  2617.             $("#content").addClass("content");
  2618.             $("#mleft").addClass("mleft");
  2619.             $("#main").addClass("main");
  2620.             $("#objPC").addClass("objPC");
  2621.             $("#bottom").addClass("bottom");
  2622.             $("#plugin").css({ "width": "98%", "height": "100%" });
  2623.             $("#bottom,#header,#mleft").removeClass("undisplay");
  2624.             $("#ftpback").css("height", "36px");
  2625.         } catch (e) { }
  2626.         MasklayerHide();
  2627.        
  2628.        
  2629.         if (!mStarDevice() || gBrowser.browser == "IE" || !isLoginByMainStream()) {
  2630.             if (gVar.nOpenPreView) {
  2631.                 debug("LoadLeftPage", "It is not m device, or not ie, click liveBtnBt1(open?) button " + isFirstUse);
  2632.                
  2633.                 //
  2634.                 // When device factory reset, you login ipc first time,
  2635.                 // codes will open video, if it is safari flvjs will
  2636.                 // cause some bug. Other browsers have no this problem.
  2637.                 //
  2638.                 if (isFirstUse == 1) {
  2639.                    
  2640.                 } else {
  2641.                     $(".liveBtnBt1").mousedown();
  2642.                     //gDvr.OpenAudio(IFs);
  2643.                     gVar.bliveOpen = true; 
  2644.                 }
  2645.  
  2646.             } else {
  2647.                 debug("LoadLeftPage", "It is not m device, or not ie, click liveBtnBt2(close?) button");
  2648.                
  2649.                 if (isFirstUse == 1) {
  2650.                    
  2651.                 } else {
  2652.                     $(".liveBtnBt2").mousedown();
  2653.                     gVar.bliveOpen = false;
  2654.                 }
  2655.  
  2656.                 cutdownalarmrecord[chid] == false;
  2657.             }          
  2658.         }
  2659.  
  2660.  
  2661.        
  2662.         Rfmulti();
  2663.         RfLiveItem();
  2664.         $("#playbackleft").css("display", "none");
  2665.         if (gVar_first.audioFlag == 0 && gVar_first.talkFlag == 0) {
  2666.             $(".liveBtnBt3").css("display", "none");
  2667.             $(".liveBtnBt4").css("display", "none");
  2668.             $(".liveBtnBt9").css("display", "none");
  2669.             $(".liveBtnBt109").css("display", "none");
  2670.         }
  2671.         else {
  2672.             $(".liveBtnBt3").css("display", "");
  2673.             $(".liveBtnBt4").css("display", "none");
  2674.             SetDefaultAudioDisplay();
  2675.         }
  2676.         if ((gVar_first.reserve3 & 0x01) == 0) {
  2677.             $("#Lullabies").css("display", "none");
  2678.             $("#live_sound").css("display", "none");
  2679.             $("#cfgmune_11").remove();
  2680.             $("#cfgpanel_11").remove();
  2681.         } else {
  2682.             $("#cfgmune_11").css("display", "");
  2683.             $("#Lullabies").css("display", "");
  2684.             $("#music_5").css("display", "");
  2685.             $("#live_sound").css("display", "none");
  2686.         }
  2687.         if ((gVar_first.reserve4 >> 6 & 0x01) == 1 || (gVar_first.reserve3 & 0x01) == 1) {
  2688.             $(".volumeOff").css("display", "");
  2689.             $(".volumeOn").css("display", "none");
  2690.         }
  2691.         else {
  2692.             $(".volumeOff").css("display", "none");
  2693.             $(".volumeOn").css("display", "none");
  2694.         }
  2695.  
  2696.         //window.location.reload = function(){Logout();}
  2697.         // 
  2698.         if (gVar.nUserRight == 0)       //visitor
  2699.         {
  2700.             $("#colar_4,#pfonmouse,#splonmouse,#live_jx,#live_fz,#lab_live_jx,#lab_live_fz,#LVRcA,#LVRcz,#LVRcA,#LVRc,#LED_3,#pre_add,#pre_sub,#pre_goto,#cruise_start,#cruise_stop,#zoomIn,#lab_zoomIn,#zoomOut,#lab_zoomOut,#leftptz,#cruise_1,#m_1,#preset_2,#m_2,#m_3,#m_4,#music_5,#m_5,#guard_6,#m_6").css("display", "none");
  2701.             $("#lab_focusFar,#focus_far,#lab_focusNear,#focus_near").css("display", "none");
  2702.             $("#live_spl,#live_pf,#live_HDR,#liveVideo_WDR,#liveVideo_NAA").prop("disabled", true);
  2703.             $("#cfgmune_9").remove();
  2704.             $("#cfgmune_10").remove();
  2705.             $("#PlayBackMenu").remove();
  2706.             $("#ConfigMenu").remove();
  2707.             $(".volumeOff").css("display", "none");
  2708.         } else if (gVar.nUserRight == 1)     //operator
  2709.         {
  2710.             $("#colar_4,#pfonmouse,#splonmouse,#LVRcA,#LVRc,#LED_3,#m_3,#m_4,#pre_add,#pre_sub,#live_jx,#live_fz,#lab_live_jx,#lab_live_fz").css("display", "none");
  2711.             $("#live_spl").prop("disabled", true);
  2712.             $("#live_pf,#live_HDR,#liveVideo_WDR,#liveVideo_NAA").prop("disabled", true);
  2713.             $("#cfgmune_9").remove();
  2714.             $("#cfgmune_10").remove();
  2715.             $("#PlayBackMenu").remove();
  2716.             $("#ConfigMenu").remove();
  2717.         }
  2718.         else {       //administrator
  2719.         }
  2720.  
  2721.         debug("main", "isFristUse = " + isFirstUse);
  2722.         if (isFirstUse == 1) {
  2723.             inLivePage = false;
  2724.             gVar.ChangPage(3);
  2725.         } else {
  2726.             $("#cfgpanel_1").addClass("configpanel").css("display", "");
  2727.         }
  2728.        
  2729.        
  2730.         if (mStarDevice() && isLoginByMainStream()) {
  2731.             debug("LoadLeftPage", "it is m device, send getMainStreamFormat");
  2732.             RfParamCall(videoMask_call, "", "getMainStreamFormat");
  2733.         }
  2734.        
  2735.        
  2736.     });
  2737.         if(gVar.nStreamType == 0){
  2738.             flashStreamType = "mainStream";
  2739.         }
  2740.         if(gVar.nStreamType == 1){
  2741.             flashStreamType = "subStream";
  2742.         }
  2743.        
  2744.  
  2745.        
  2746.         if (browserVer.browsers == "Internet Explorer" || browserVer.browsers == "IE11" || (browserVer.browsers == "safari" && !H5Live_Safari)) {
  2747.             for (var i = 1; i < 9; i++) {
  2748.                 if (Struct.devInfo[i].ip != "" && Struct.devInfo[i].port != 0) {
  2749.                     try {
  2750.                         gDvr.obj[i].UpdateFirstChannelUserRight(Qqx);
  2751.                     }
  2752.                     catch (e) { }
  2753.                     gDvr.obj[i].RegMy(Struct.devInfo[i].ip, Struct.devInfo[i].port * 1, Struct.devInfo[i].mediaport * 1, Struct.devInfo[i].user, Struct.devInfo[i].pwd, Struct.devInfo[i].devname, gVar.nStreamType, gVar.nDate * 1 + i, Struct.devInfo[i].type);
  2754.                 }
  2755.             }
  2756.         }else if(IsEdge()){
  2757.             setTimeout(function () {
  2758.                 gDvr.ScordLiveControler(gVar.httpver + "://" + "127.0.0.1", rtmpPort, "flashOpenLiveView", 'usr=' + user + '&pwd=' + pwd + '&liveViewType=' + flashStreamType + '&groupId=' + gVar.nDate + '&audioFlag=' + gVar_first.audioFlag, '', 0);
  2759.             }, 1000);
  2760.         }
  2761.     }
  2762. }
  2763.  
  2764. function cleanVideo () {
  2765.     VideoMasklayerShow();
  2766.     try {
  2767.         //$(".liveBtnBt2").mousedown();
  2768.         gVar.bliveOpen = false;
  2769.         cutdownalarmrecord[0] == false;
  2770.     } catch (e) {
  2771.     }
  2772.  
  2773.     MasklayerHide();
  2774. }
  2775.  
  2776. function reopenVideo () {
  2777.     debug("reopenVideo", "reopenVideo");
  2778.     $(".liveBtnBt1").mousedown();
  2779.     gVar.bliveOpen = true;
  2780.     cutdownalarmrecord[0] == true;         
  2781. }
  2782.  
  2783. function videoMask_call_1 (xml) {
  2784.     debug("videoMask_call_1", "streamType = " + $(xml).find("result").text());
  2785.     if ($(xml).find("result").text() != "" &&
  2786.         $(xml).find("streamType").text() != "" &&
  2787.         $(xml).find("streamType").text()*1 == 1) {
  2788.        
  2789.         cleanVideo();
  2790.         gVar.ChangPage(1, false);
  2791.     }
  2792.     else {
  2793.         gVar.ChangPage(1, true);
  2794.     }
  2795.    
  2796.     MasklayerHide();       
  2797. }
  2798.  
  2799. function videoMask_call (xml) {
  2800.     debug("videoMask_call", "videoMask_call");
  2801.    
  2802.     if (gBrowser.browser != "IE") {
  2803.         debug("videoMask_call not ie, streamType = " + $(xml).find("result").text());
  2804.         if ($(xml).find("result").text() != "" &&
  2805.             $(xml).find("streamType").text() != "" &&
  2806.             $(xml).find("streamType").text()*1 == 1) {
  2807.            
  2808.             cleanVideo();
  2809.             gDvr.CloseAudio(0);
  2810.             gDvr.VideoPlay(0, "", 4);
  2811.            
  2812.             // When compressor is h264+,  playVideo button don't click,
  2813.             // isOpenV[0] is false, when change page and back to live page,
  2814.             // videoPlay interface can't be called, so we set isOpenV[0] manually
  2815.             isOpenV[0] = true;
  2816.         } else {
  2817.             if (gVar.nOpenPreView) {
  2818.                 debug("videoMask_call", "gVar.nOpenPreView " + gVar.nOpenPreView);
  2819.                
  2820.                 // If device is reset, don't open video
  2821.                 if (isFirstUse != 1) {
  2822.                     $(".liveBtnBt1").mousedown();
  2823.                     //gDvr.OpenAudio(IFs);
  2824.                     gVar.bliveOpen = true; 
  2825.                 }
  2826.  
  2827.             } else {
  2828.                 debug("videoMask_call", "gVar.nOpenPreView 1 " + gVar.nOpenPreView);
  2829.                 $(".liveBtnBt2").mousedown();
  2830.                 gVar.bliveOpen = false;
  2831.                 cutdownalarmrecord[chid] == false;
  2832.             }  
  2833.         }
  2834.     }
  2835.    
  2836.     MasklayerHide();
  2837. }
  2838.  
  2839. function LoadLiveTile()
  2840. {
  2841.     //alert(lg.get("IDS_HEARD_LIVE"))
  2842.     document.getElementById("LogoutMenu").title += lg.get("IDS_SERVER_LOGOUT");
  2843.     //live menu
  2844.     if (document.getElementById("LiveMenu").innerHTML.match(lg.get("IDS_HEARD_LIVE")))
  2845.     {
  2846.        
  2847.     }
  2848.     else
  2849.     {
  2850.         document.getElementById("LiveMenu").innerHTML=lg.get("IDS_HEARD_LIVE")+document.getElementById("LiveMenu").innerHTML;
  2851.     }
  2852.     //ConfigMenu
  2853.     if (document.getElementById("ConfigMenu").innerHTML.match(lg.get("IDS_SYS_SET")))
  2854.     {
  2855.        
  2856.     }
  2857.     else
  2858.     {
  2859.         document.getElementById("ConfigMenu").innerHTML=lg.get("IDS_SYS_SET")+document.getElementById("ConfigMenu").innerHTML;
  2860.     }
  2861.     //PlayBackMenu
  2862.     if (document.getElementById("PlayBackMenu").innerHTML.match(lg.get("IDS_REPLAY")))
  2863.     {
  2864.        
  2865.     }
  2866.     else
  2867.     {
  2868.         document.getElementById("PlayBackMenu").innerHTML=lg.get("IDS_REPLAY")+document.getElementById("PlayBackMenu").innerHTML;
  2869.     }
  2870.    
  2871. }
  2872.  
  2873. function  menutitle(n, m, x){
  2874.     var arr=['LiveMenu','PlayBackMenu','ConfigMenu'];
  2875.     var arr2=['LiveMenu_2','PlayBackMenu_2','ConfigMenu_2'];
  2876.     $("#"+arr[n-1]).css('background-position','-179px 0px').css("z-index", 30);
  2877.    
  2878.     $("#"+arr[m-1]).css('background-position','-179px 0px').css("z-index", 29);
  2879.    
  2880.     $("#"+arr[x-1]).css('background-position','-179px 0px').css("z-index", 28);
  2881.    
  2882.     var $o2;
  2883.     for(var i=0;i<3;i++){
  2884.         $o2 = $("#"+arr2[i]);
  2885.         //$o.css('background-position','-179px 0px').css("z-index", $o.css("z-index")*1-1);
  2886.         $o2.css("background-position","-"+(25+(i+1)*6+i*(i+1)/2)+"px 0px");
  2887.     }
  2888.     $("#"+arr2[n-1]).css("background-position","0px 0px");
  2889.     /*$o = $("#"+arr[n-1]);
  2890.     $o2 = $("#"+arr2[n-1]);
  2891.    
  2892.     $o.css("background-position","0px 0px").css("z-index", 30);*/
  2893. }
  2894.  
  2895. function auic(b) {
  2896.     if (0 == gVar.audioFlag) {
  2897.         $(".liveBtnBt9").css("display", "none");
  2898.         $(".liveBtnBt10").css("display", "none");
  2899.     }
  2900.     else {
  2901.         if (b) {
  2902.             $(".liveBtnBt9").css("display", "none").attr("name", "active");
  2903.             $(".liveBtnBt109").css("display", "").attr("name", "");
  2904.             gDvr.OpenAudio(IFs);
  2905.             isOpenA[IFs] = true;
  2906.         } else {
  2907.             $(".liveBtnBt9").css("display", "").attr("name", "");
  2908.             $(".liveBtnBt109").css("display", "none").attr("name", "active");
  2909.             isOpenA[IFs] = false;
  2910.         }
  2911.     }
  2912. }
  2913.  
  2914. function tuic(b) {
  2915.     if (0 == gVar.talkFlag) {
  2916.         $(".liveBtnBt3").css("display", "none");
  2917.         $(".liveBtnBt4").css("display", "none");
  2918.     }
  2919.     else
  2920.     {
  2921.         if (b) {
  2922.             $(".liveBtnBt3").css("display", "none");
  2923.             $(".liveBtnBt4").css("display", "");
  2924.             isOpenT[IFs] = true;
  2925.         }else {
  2926.             $(".liveBtnBt3").css("display", "");
  2927.             $(".liveBtnBt4").css("display", "none");
  2928.             isOpenT[IFs] = false;
  2929.         }
  2930.     }
  2931. }
  2932. function ShowVCFbutton() {  //show button OpenVidio,CloseVidio,LVcapture,FullScree
  2933.    
  2934.     $(".liveBtnBt2").css("display", "");
  2935.     $(".liveBtnBt1").css("display", "");
  2936.     $("#LVCapture").css("display", "");
  2937.     $(".liveBtnBt5").css("display", "");
  2938. }
  2939. function ShowSomeLeftptz() { //just for rs485,this button will be hidden,otherwise shown
  2940.     $("#live_yt2_ptzMoveTopLeft").css("display", "");
  2941.     $("#live_yt2_ptzMoveTopRight").css("display", "");
  2942.     $("#live_yt5_ptzMoveBottomLeft").css("display", "");
  2943.     $("#live_yt2_ptzMoveBottomRight").css("display", "");
  2944. }
  2945. function SelectChannel(ch, chQx, chDev, ip, fromEventId) {
  2946.     debug("SelectChannel", "fromEventId=" + fromEventId);
  2947.    
  2948.     if (typeof chDev != 'undefined') {
  2949.         if (chQx < 100) {       //H264
  2950.             RfQx((chQx > Qqx ? Qqx : chQx));
  2951.         }
  2952.         else {      //MJ
  2953.             RfQx(chQx);
  2954.         }
  2955.         if (ip == "") {
  2956.             $("#LVRcA").css("display", "none");
  2957.             $("#LVRc").css("display", "none");
  2958.             $("#LVCapture").css("display", "none");
  2959.             $(".liveBtnBt1").css("display", "none");
  2960.             $(".liveBtnBt2").css("display", "none");
  2961.             $(".liveBtnBt3").css("display", "none");
  2962.             $(".liveBtnBt4").css("display", "none");
  2963.             $(".liveBtnBt5").css("display", "none");
  2964.             $(".liveBtnBt9").css("display", "none");
  2965.             $(".liveBtnBt109").css("display", "none");
  2966.             $(".volumeOff").css("display", "none");
  2967.             $(".volumeOn").css("display", "none");
  2968.             $("#liveHDR").css("display", "none");
  2969.             $("#liveVideoWDR").css("display", "none");
  2970.             return;
  2971.         }
  2972.         else {
  2973.             //gVar.selCh = arguments[1];
  2974.             ShowVCFbutton();
  2975.         }
  2976.         //chose 1st channl
  2977.         if (ch == 0) {
  2978.             if (gVar.audioFlag == 0 && gVar.talkFlag == 0) {
  2979.                 $(".liveBtnBt3").css("display", "none");
  2980.                 $(".liveBtnBt4").css("display", "none");
  2981.                 $(".liveBtnBt9").css("display", "none");
  2982.                 $(".liveBtnBt109").css("display", "none");
  2983.             }else{
  2984.                     if(isOpenT[ch]){
  2985.                         isOpenT[ch] = false;
  2986.                         gDvr.TalkCMD(ch,1);
  2987.                         $(".liveBtnBt3").css("display", "");
  2988.                         $(".liveBtnBt4").css("display", "none");
  2989.                       }else{
  2990.                         $(".liveBtnBt3").css("display", "");
  2991.                         $(".liveBtnBt4").css("display", "none");
  2992.                       }
  2993.                      
  2994.                      /*
  2995.                       if(isOpenA[ch]){
  2996.                         isOpenA[ch] = 0;
  2997.                         gDvr.CloseAudio(ch);
  2998.                         $(".liveBtnBt9").css("display", "");
  2999.                         $(".liveBtnBt109").css("display", "none");
  3000.                       }else{
  3001.                       */
  3002.                         $(".liveBtnBt109").css("display", "");
  3003.                         gDvr.OpenAudio(IFs);
  3004.                         $(".liveBtnBt9").css("display", "none");
  3005.                       //}
  3006.             }
  3007.  
  3008.             if (Qqx != 0) {
  3009.                 if (gVar.ptFlag == 1) {
  3010.                     $("#cruise_1").css("display", "");
  3011.                     $("#preset_2").css("display", "");
  3012.                     if ((gVar.reserveFlag2 >> 1 & 0x01) == 0) {
  3013.                         $("#guard_6").css("display", "none");
  3014.                         $("#m_6").css("display", "none");
  3015.                     }
  3016.                     else {
  3017.                         $("#guard_6").css("display", "");
  3018.                     }
  3019.                     $("#leftptz").css("display", "");
  3020.                     ShowSomeLeftptz();
  3021.                     if($("#cruise_1").attr("isdown") == 0) $("#m_1").css("display","");
  3022.                     else if ($("#preset_2").attr("isdown") == 0) $("#m_2").css("display", "");
  3023.                     else if ($("#guard_6").attr("isdown") == 0) $("#m_6").css("display", "");
  3024.                 } else if (gVar.rs485Flag ==1) {
  3025.                     $("#cruise_1").css("display", "");
  3026.                     $("#leftptz").css("display", "");
  3027.                     $("#preset_2").css("display", "none");
  3028.                     $("#m_2").css("display", "none");
  3029.                     $("#guard_6").css("display", "none");
  3030.                     $("#m_6").css("display", "none");
  3031.                     if ($("#cruise_1").attr("isdown") == 0) $("#m_1").css("display", "");
  3032.                     //dou
  3033.                     $("#live_yt2_ptzMoveTopLeft").css("display", "none");
  3034.                     $("#live_yt2_ptzMoveTopRight").css("display", "none");
  3035.                     $("#live_yt5_ptzMoveBottomLeft").css("display", "none");
  3036.                     $("#live_yt2_ptzMoveBottomRight").css("display", "none");
  3037.                 } else {
  3038.                     $("#cruise_1").css("display", "none");
  3039.                     $("#preset_2").css("display", "none");
  3040.                     $("#leftptz").css("display", "none");
  3041.                     $("#m_1").css("display", "none");
  3042.                     $("#m_2").css("display", "none");
  3043.                     $("#guard_6").css("display", "none");
  3044.                     $("#m_6").css("display", "none");
  3045.                 }
  3046.  
  3047.                 if (gVar.zoomFlag == 1) {
  3048.                     $("#lab_zoomIn").css("display", ""); $("#zoomIn").css("display", "");
  3049.                     $("#lab_zoomOut").css("display", ""); $("#zoomOut").css("display", "");
  3050.                     if ((gVar.reserveFlag2 >> 1 & 0x01) == 0 && (gVar.reserveFlag2 >> 0 & 0x01) == 0) {
  3051.                         $("#lab_focusFar,#focus_far,#lab_focusNear,#focus_near").css("display", "none");
  3052.                         $("#guard_6").css("display", "none");
  3053.                         $("#m_6").css("display", "none");
  3054.                     }
  3055.                     else {
  3056.                         $("#lab_focusFar,#focus_far,#lab_focusNear,#focus_near").css("display", "");
  3057.                         $("#guard_6").css("display", "");
  3058.                     }
  3059.                 } else {
  3060.                     $("#lab_zoomIn").css("display", "none"); $("#zoomIn").css("display", "none");
  3061.                     $("#lab_zoomOut").css("display", "none"); $("#zoomOut").css("display", "none");
  3062.                     $("#lab_focusFar,#focus_far,#lab_focusNear,#focus_near").css("display", "none");
  3063.                     $("#guard_6").css("display", "none");
  3064.  
  3065.                 }
  3066.             }
  3067.  
  3068.             $("#livespltr").css("display", "");
  3069.  
  3070.             //administrator,Add schedule option for IR_CUT
  3071.             var IsScheduleOpt = false;
  3072.             $("#BsHmode option").each(function () {
  3073.                 if ($(this).attr("value") * 1 == 2) {
  3074.                     IsScheduleOpt = true;
  3075.                 }
  3076.             });
  3077.  
  3078.             if (IsScheduleOpt == false) {
  3079.                 $("#BsHmode").append('<option id="BsHwdSchedule" value="2">' + lg.get("IDS_BS_TIMING") + '</option>');
  3080.             }
  3081.  
  3082.             //check function nursery rhymes
  3083.             if ((gVar.reserve3 & 0x01) == 0) {
  3084.                 $("#Lullabies").css("display", "none");
  3085.                 $("#live_sound").css("display", "none");
  3086.             }
  3087.             else{
  3088.                 $("#Lullabies").css("display", "");
  3089.                 $("#live_sound").css("display", "none");
  3090.             }
  3091.             if ((gVar.reserve4 >> 6 & 0x01) == 1 || (gVar.reserve3 & 0x01) == 1) {
  3092.                 $(".volumeOff").css("display", "");
  3093.                 $(".volumeOn").css("display", "none");
  3094.             }
  3095.             else {
  3096.                 $(".volumeOff").css("display", "none");
  3097.                 $(".volumeOn").css("display", "none");
  3098.             }
  3099.             if (gVar.nUserRight == 0) {
  3100.                 $("#music_5").css("display", "none");
  3101.                 $(".volumeOff").css("display", "none");
  3102.             }
  3103.             if ((gVar.ambarellaFlag >> 0 & 0x01) == 1) {
  3104.                  $("#liveVideoWDR").css("display", "");
  3105.             }
  3106.             else {
  3107.                 $("#liveVideoWDR").css("display", "none");
  3108.  
  3109.             }
  3110.             if ((gVar.ambarellaFlag >> 1 & 0x01) == 1) {
  3111.                 $("#liveVideoWDR").css("display", "");
  3112.             }
  3113.             else {
  3114.                 $("#liveVideoWDR").css("display", "none");
  3115.             }
  3116.             if ((gVar.ambarellaFlag >> 2 & 0x01) == 1 && Struct.ptstate == 1) {
  3117.                 if(gVar.nUserRight !=0){
  3118.                     $("#leftptz").show();
  3119.                 }else{
  3120.                     $("#leftptz").hide()
  3121.                 }
  3122.                
  3123.             }
  3124.             //irled
  3125.             if(gVar.nUserRight == 2){
  3126.                 if ((gVar.reserve3 >> 5 & 0x01) == 1 ) {
  3127.                     $("#LED_3").css('display', 'none');
  3128.                 }
  3129.                 else{
  3130.                     $("#LED_3").css('display', '');
  3131.                 }
  3132.             }
  3133.         } else {//chose 2-9 channl
  3134.             //admin,operater,vistor login,if show audio and talk
  3135.             if (isappallDev) {//3 quanxian login ,if show audio and talk
  3136.                 if (gVar.audioFlag ==0 && gVar.talkFlag ==0) {
  3137.                     $(".liveBtnBt3").css("display", "none");
  3138.                     $(".liveBtnBt4").css("display", "none");
  3139.                     $(".liveBtnBt9").css("display", "none");
  3140.                     $(".liveBtnBt109").css("display", "none");
  3141.                 }else{
  3142.                     if (isOpenT[ch]) {
  3143.                         isOpenT[ch] = false;
  3144.                         gDvr.TalkCMD(ch, 1);
  3145.                         $(".liveBtnBt3").css("display", "");
  3146.                         $(".liveBtnBt4").css("display", "none");
  3147.                     } else {
  3148.                         $(".liveBtnBt3").css("display", "");
  3149.                         $(".liveBtnBt4").css("display", "none");
  3150.                     }
  3151.  
  3152.                     if (isOpenA[ch]) {
  3153.                         isOpenA[ch] = 0;
  3154.                         gDvr.CloseAudio(ch);
  3155.                         $(".liveBtnBt9").css("display", "");
  3156.                         $(".liveBtnBt109").css("display", "none");
  3157.                     } else {
  3158.                         $(".liveBtnBt109").css("display", "");
  3159.                         gDvr.OpenAudio(IFs);
  3160.                         $(".liveBtnBt9").css("display", "none");
  3161.                     }
  3162.                 }    
  3163.             }else{//3 quanxian not appallDev,check if show audio and talk
  3164.                 if (IsInArray(notTalkAudioDev, chDev)) {
  3165.                     $(".liveBtnBt3").css("display", "none");
  3166.                     $(".liveBtnBt4").css("display", "none");
  3167.                     $(".liveBtnBt9").css("display", "none");
  3168.                     $(".liveBtnBt109").css("display", "none");
  3169.                 }else{
  3170.                     if(isOpenT[ch]){
  3171.                         isOpenT[ch] = false;
  3172.                         gDvr.TalkCMD(ch, 1);
  3173.                         $(".liveBtnBt3").css("display", "");
  3174.                         $(".liveBtnBt4").css("display", "none");
  3175.                     }else{
  3176.                         $(".liveBtnBt3").css("display", "");
  3177.                         $(".liveBtnBt4").css("display", "none");
  3178.                     }
  3179.                  
  3180.                     if(isOpenA[ch]){
  3181.                         isOpenA[ch] = 0;
  3182.                         gDvr.CloseAudio(ch);
  3183.                         $(".liveBtnBt9").css("display", "");
  3184.                         $(".liveBtnBt109").css("display", "none");
  3185.                     }else{
  3186.                         $(".liveBtnBt109").css("display", "none");
  3187.                         $(".liveBtnBt9").css("display", "");
  3188.                     }
  3189.                 }  
  3190.             }
  3191.            
  3192.             if (Qqx != 0) {//if admin/operator login
  3193.                 if (chQx < 100 && chQx > 0)  //H264
  3194.                 {
  3195.                     //check if is allapp dev
  3196.                     if (!isappallDev) {//not allapp dev
  3197.                         if (IsInArray(ytDev, chDev)) {
  3198.                             $("#cruise_1").css("display", "");
  3199.                             $("#preset_2").css("display", "");
  3200.                             $("#leftptz").css("display", "");
  3201.                             $("#guard_6").css("display", "");
  3202.                             if ($("#cruise_1").attr("isdown") == 0) $("#m_1").css("display", "");
  3203.                             else if ($("#preset_2").attr("isdown") == 0) $("#m_2").css("display", "");
  3204.                             else if ($("#guard_6").attr("isdown") == 0) $("#m_6").css("display", "");
  3205.                         } else if (IsInArray(is485ytDev, chDev)) {
  3206.                             $("#cruise_1").css("display", "");
  3207.                             $("#leftptz").css("display", "");
  3208.                             $("#preset_2").css("display", "none");
  3209.                             $("#m_2").css("display", "none");
  3210.                             $("#guard_6").css("display", "none");
  3211.                             $("#m_6").css("display", "none");
  3212.                             if ($("#cruise_1").attr("isdown") == 0) $("#m_1").css("display", "");
  3213.                         } else {
  3214.                             $("#cruise_1").css("display", "none");
  3215.                             $("#preset_2").css("display", "none");
  3216.                             $("#leftptz").css("display", "none");
  3217.                             $("#m_1").css("display", "none");
  3218.                             $("#m_2").css("display", "none");
  3219.                             $("#guard_6").css("display", "none");
  3220.                             $("#m_6").css("display", "none");
  3221.                         }
  3222.  
  3223.                         if (IsInArray(zoomDev, chDev)) {
  3224.                             $("#lab_zoomIn").css("display", ""); $("#zoomIn").css("display", "");
  3225.                             $("#lab_zoomOut").css("display", ""); $("#zoomOut").css("display", "");
  3226.                             $("#lab_focusFar,#focus_far,#lab_focusNear,#focus_near").css("display", "");
  3227.                         } else {
  3228.                             $("#lab_zoomIn").css("display", "none"); $("#zoomIn").css("display", "none");
  3229.                             $("#lab_zoomOut").css("display", "none"); $("#zoomOut").css("display", "none");
  3230.                             $("#lab_focusFar,#focus_far,#lab_focusNear,#focus_near").css("display", "none");
  3231.                         }
  3232.  
  3233.                         //only allapp may have nursery rhymes
  3234.                         $("#music_5").css("display", "none");
  3235.                         $("#m_5").css("display", "none");
  3236.                         $(".volumeOff").css("display", "none");
  3237.                         $(".volumeOn").css("display", "none");
  3238.                         $("#live_sound").css("display", "none");
  3239.                    }else{// is allapp dev
  3240.                         if (gVar.ptFlag == 1) {
  3241.                             ShowSomeLeftptz();
  3242.                             $("#cruise_1").css("display", "");
  3243.                             $("#preset_2").css("display", "");
  3244.                             $("#leftptz").css("display", "");
  3245.                             if ((gVar.reserveFlag2 >> 1 & 0x01) == 0) {
  3246.                                 $("#guard_6").css("display", "none");
  3247.                             }
  3248.                             else {
  3249.                                 $("#guard_6").css("display", "");
  3250.                             }
  3251.                             if($("#cruise_1").attr("isdown") == 0) $("#m_1").css("display","");
  3252.                             else if ($("#preset_2").attr("isdown") == 0) $("#m_2").css("display", "");
  3253.                             else if ($("#guard_6").attr("isdown") == 0) $("#m_6").css("display", "");
  3254.                         }else if (gVar.rs485Flag ==1) {
  3255.                             $("#cruise_1").css("display", "");
  3256.                             $("#leftptz").css("display", "");
  3257.                             $("#preset_2").css("display", "none");
  3258.                             $("#m_2").css("display", "none");
  3259.                             $("#guard_6").css("display", "none");
  3260.                             $("#m_6").css("display", "none");
  3261.                             if ($("#cruise_1").attr("isdown") == 0) $("#m_1").css("display", "");
  3262.                             //dou
  3263.                             $("#live_yt2_ptzMoveTopLeft").css("display", "none");
  3264.                             $("#live_yt2_ptzMoveTopRight").css("display", "none");
  3265.                             $("#live_yt5_ptzMoveBottomLeft").css("display", "none");
  3266.                             $("#live_yt2_ptzMoveBottomRight").css("display", "none");
  3267.  
  3268.                         } else {
  3269.                             $("#cruise_1").css("display", "none");
  3270.                             $("#preset_2").css("display", "none");
  3271.                             $("#leftptz").css("display", "none");
  3272.                             $("#m_1").css("display", "none");
  3273.                             $("#m_2").css("display", "none");
  3274.                             $("#guard_6").css("display", "none");
  3275.                             $("#m_6").css("display", "none");
  3276.                         }
  3277.  
  3278.                         if (gVar.zoomFlag == 1) {
  3279.                             $("#lab_zoomIn").css("display", ""); $("#zoomIn").css("display", "");
  3280.                             $("#lab_zoomOut").css("display", ""); $("#zoomOut").css("display", "");
  3281.                             if ((gVar.reserveFlag2 >> 1 & 0x01) == 0) {
  3282.                                 $("#lab_focusFar,#focus_far,#lab_focusNear,#focus_near").css("display", "none");
  3283.                                 $("#guard_6").css("display", "none");
  3284.                             }
  3285.                             else {
  3286.                                 $("#lab_focusFar,#focus_far,#lab_focusNear,#focus_near").css("display", "");
  3287.                                 $("#guard_6,#m_6").css("display", "");
  3288.                             }
  3289.                         } else {
  3290.                             $("#lab_zoomIn").css("display", "none"); $("#zoomIn").css("display", "none");
  3291.                             $("#lab_zoomOut").css("display", "none"); $("#zoomOut").css("display", "none");
  3292.                             $("#lab_focusFar,#focus_far,#lab_focusNear,#focus_near").css("display", "none");
  3293.                             $("#guard_6,#m_6").css("display", "none");
  3294.                         }
  3295.  
  3296.                         //check function nursery rhymes
  3297.                         if ((gVar.reserve3 & 0x01) == 0) {
  3298.                             $("#Lullabies").css("display", "none");
  3299.                             $("#live_sound").css("display", "none");
  3300.                         }
  3301.                         else{
  3302.                             $("#Lullabies").css("display", "");
  3303.                             $("#live_sound").css("display", "none");
  3304.                             if($("#music_5").attr("isdown") == 0) $("#m_5").css("display","");
  3305.                         }
  3306.                         if ((gVar.reserve4 >> 6 & 0x01) == 1 || (gVar.reserve3 & 0x01) == 1) {
  3307.                             $(".volumeOff").css("display", "");
  3308.                             $(".volumeOn").css("display", "none");
  3309.                         }
  3310.                         else {
  3311.                             $(".volumeOff").css("display", "none");
  3312.                             $(".volumeOn").css("display", "none");
  3313.                         }
  3314.                         if ((gVar.ambarellaFlag >> 0 & 0x01) == 1) {
  3315.                             $("#liveHDR").css("display", "");
  3316.                         }
  3317.                         else {
  3318.                             $("#liveHDR").css("display", "none");
  3319.                            
  3320.                         }
  3321.                         if ((gVar.ambarellaFlag >> 1 & 0x01) == 1) {
  3322.                             $("#liveVideoWDR").css("display", "");
  3323.                         }
  3324.                         else {
  3325.                             $("#liveVideoWDR").css("display", "none");
  3326.                         }
  3327.                         if ((gVar.ambarellaFlag >> 2 & 0x01) == 1 && Struct.ptstate == 1) {
  3328.                             $("#leftptz").css("display", "");
  3329.                         }
  3330.                         //irled
  3331.                         if(gVar.nUserRight == 2){
  3332.                             if ((gVar.reserve3 >> 5 & 0x01) == 1 ) {
  3333.                                 $("#LED_3").css('display', 'none');
  3334.                             }
  3335.                             else{
  3336.                                 $("#LED_3").css('display', '');
  3337.                             }
  3338.                         }
  3339.                     }
  3340.                 }
  3341.             }
  3342.  
  3343.             if (chQx < 100 && chQx >= 0)  //H264
  3344.             {
  3345.                 //display none for stream type
  3346.                // if (gVar.nStreamType == 1) $("#livespltr").css("display", "none");
  3347.                 if ((gVar.ambarellaFlag >> 1 & 0x01) == 1) {
  3348.                     $("#liveVideoWDR").css("display", "");
  3349.                 }
  3350.                 else {
  3351.                     $("#liveVideoWDR").css("display", "none");
  3352.                 }
  3353.                 //delete schedule option for IR_CUT
  3354.                 $("#BsHmode option").each(function () {
  3355.                     if ($(this).attr("value") * 1 == 2) {
  3356.                         $(this).remove();
  3357.                     }  
  3358.                 });
  3359.             }
  3360.         }
  3361.        
  3362.         debug("SelectChannel", "check r2plus and call naa, frome id =" + fromEventId);
  3363.         if (isR2Plus() || isZ2())
  3364.             $("#guard_6").css("display", "none");
  3365.    
  3366.         if(gVar.sPage == 1/* && fromEventId == 100*/){
  3367.             setTimeout(function (){
  3368.                 debug("SelectChannel", "send getNetworkAutoAdaptability");
  3369.                 CgiCallNoMask(getNAACall,"", "getNetworkAutoAdaptability");
  3370.             },300);
  3371.         }
  3372.         debug("SelectChannel", "check r2plus and call naa complete");
  3373.     }
  3374.  
  3375. }
  3376. function showFlashMsg(msg) {
  3377.     //console.log(msg);
  3378. }
  3379. function browserAndPlatform(){
  3380.     if(browserVer.browsers == "Internet Explorer" || browserVer.browsers == "IE11" || browserVer.browsers == "Firefox" || browserVer.browsers == "Chrome"){
  3381.         if(browserPlatform == "macintel"){
  3382.             $(".pluginTips").css({
  3383.                 "display":"",
  3384.                 "text-align":"left",
  3385.                 "display":"inline-block",
  3386.                 "font-size":"16px"
  3387.             });
  3388.             sH("pluginTip1","IDS_MAC_UNSUPPORTEDBROWSER_TIPS");
  3389.             return;
  3390.         }else if(browserPlatform == "win64"){
  3391.             if(browserVer.browsers == "Internet Explorer" || browserVer.browsers == "IE11" || browserVer.browsers == "Firefox" && (FFversion < "52.0")){
  3392.                 $(".pluginTips").css({
  3393.                     "display":"",
  3394.                     "text-align":"left",
  3395.                     "display":"inline-block",
  3396.                     "font-size":"16px"
  3397.                 });
  3398.                 sH("pluginTip1","IDS_64BIT_BROWSER_TIPS");
  3399.                 return;
  3400.             }
  3401.         }
  3402.     }
  3403. }
  3404.  
  3405. // IE download plugin message
  3406. function FAQs(){
  3407.     var obj = document.getElementById("downPlugins");
  3408.     var obj2 = document.getElementById("helpInformation");
  3409.  
  3410.     if(!isPlugin){
  3411.         if(browserVer.browsers == "Internet Explorer" || browserVer.browsers == "IE11"){
  3412.             // IE / no plugin / web upgrade prompt
  3413.             if (WEB_UPGRADE_CHECK_FUNCTION_ENABLE) {
  3414.                     noPlugin = true;
  3415.                     // Use admin / "" try to download
  3416.                     onlineUpgradeCheck("admin", "", "", PAGE_LOGIN_NO_PLUGIN);
  3417.  
  3418.                     // For clicking button to download
  3419.                     var obj = document.getElementById("downPlugins");
  3420.                     obj.innerHTML = '<a id="down">' + lg.get("IDS_UPGRADE_PROMPT_NO_PLUGIN") + '</a>';
  3421.                     var loginElem = document.getElementById("login_ok");
  3422.                     if (loginElem) {
  3423.                         loginElem.innerHTML = "Download";
  3424.                     }
  3425.                    
  3426.                     loginElem.onclick = function () {
  3427.                         var usr = $("#username").val();
  3428.                         var pwd = $("#passwd").val();
  3429.                         onlineUpgradeCheck(usr, pwd, "", PAGE_LOGIN_NO_PLUGIN);
  3430.                     }
  3431.                    
  3432.                     var streamElem = document.getElementById("stream");
  3433.                     if (streamElem) {
  3434.                         streamElem.style.display = "none";
  3435.                     }
  3436.             } else {
  3437.                 obj.innerHTML = '<a id="down" href="IPCWebComponents.exe">' + lg.get("IDS_LOGIN_KJ") + '</a>';
  3438.                 if (!oemVersion()) {
  3439.                     obj2.innerHTML = '<a id="down2" href="https://www.foscam.com/faqs/view.html?id=14#ie" target="_blank">' + lg.get("IDS_PLUGINS_EXCEPTION_LINK") + '</a>';   
  3440.                 }
  3441.  
  3442.             }
  3443.            
  3444.         }
  3445.         return;
  3446.     }
  3447. }
  3448. function flashFullScreen(){
  3449.     try{
  3450.         var elem = $("#plugin").get(0);
  3451.         if(elem.requestFullscreen) {
  3452.             elem.requestFullscreen();
  3453.         } else if(elem.mozRequestFullScreen) {
  3454.             elem.mozRequestFullScreen();
  3455.         } else if(elem.webkitRequestFullscreen) {
  3456.             elem.webkitRequestFullscreen();
  3457.         } else if(elem.msRequestFullscreen) {
  3458.             elem.msRequestFullscreen();
  3459.         }
  3460.     }catch(e){}
  3461. }
  3462. //live页面事件处理
  3463. function PluginCallBack() {
  3464.     msgID = arguments[0];
  3465.     debug("PluginCallBack", "msgID : "+msgID);
  3466.     switch(msgID){
  3467.         case 100:
  3468.             {
  3469.                 Struct.result = arguments[1];
  3470.                 Struct.recordState = arguments[2];
  3471.                 Struct.isMute = arguments[3];
  3472.                 Struct.volume = arguments[4];
  3473.                 Struct.ledState = arguments[5];
  3474.                 Struct.presetPointCnt = arguments[6];
  3475.                 for (var i = 1; i < 18; i++)
  3476.                     Struct.presetPointList[i] = arguments[i + 6];
  3477.  
  3478.                 Struct.curPresetPoint = arguments[23];
  3479.                 Struct.cruiseMapCnt = arguments[24];
  3480.                 for (var i = 0; i < 8; i++)
  3481.                     Struct.cruiseMapList[i] = arguments[i + 25];
  3482.                 Struct.curCruiseMap = arguments[33];
  3483.                 Struct.mainStreamType = arguments[34];
  3484.                 //gVar.nSelStreamType = arguments[34];
  3485.                 Struct.subStreamType = arguments[35];
  3486.                 if (gVar.nStreamType == 0) {    //main stream
  3487.                     for (var i = 0; i < 4; i++) {
  3488.                         Struct.StreamParamInfo[i].resolution = arguments[i * 5 + 36];
  3489.                         Struct.StreamParamInfo[i].bitRate = arguments[i * 5 + 37];
  3490.                         Struct.StreamParamInfo[i].frameRate = arguments[i * 5 + 38];
  3491.                         Struct.StreamParamInfo[i].GOP = arguments[i * 5 + 39];
  3492.                         Struct.StreamParamInfo[i].isVBR = arguments[i * 5 + 40];
  3493.                     }
  3494.                 }
  3495.                 else {          //sub main
  3496.                     for (var i = 0; i < 4; i++) {
  3497.                         Struct.SubStreamParamInfo[i].resolution = arguments[i * 5 + 36];
  3498.                         Struct.SubStreamParamInfo[i].bitRate = arguments[i * 5 + 37];
  3499.                         Struct.SubStreamParamInfo[i].frameRate = arguments[i * 5 + 38];
  3500.                         Struct.SubStreamParamInfo[i].GOP = arguments[i * 5 + 39];
  3501.                         Struct.SubStreamParamInfo[i].isVBR = arguments[i * 5 + 40];
  3502.                     }
  3503.                 }
  3504.                 Struct.brightness = arguments[56];
  3505.                 Struct.contrast = arguments[57];
  3506.                 Struct.hue = arguments[58];
  3507.                 Struct.saturation = arguments[59];
  3508.                 Struct.sharpness = arguments[60];
  3509.                 Struct.isMirror = arguments[61];
  3510.                 Struct.isFlip = arguments[62];
  3511.                 Struct.isAlarming = arguments[63];
  3512.                 Struct.alarmType = arguments[64];
  3513.                 Struct.pwrFreq = arguments[65];
  3514.                 Struct.infraLedMode = arguments[66];
  3515.                 Struct.infraLedState = arguments[67];
  3516.                 gVar.nUserRight = arguments[68];
  3517.                 if (!gVar.bLogin) {
  3518.                     for (var i = 0; i < 9; i++) {
  3519.                         Struct.devInfo[i].ip = arguments[i * 7 + 70];
  3520.                         Struct.devInfo[i].port = arguments[i * 7 + 71];
  3521.                         Struct.devInfo[i].mediaport = arguments[i * 7 + 72];
  3522.                         Struct.devInfo[i].user = arguments[i * 7 + 73];
  3523.                         Struct.devInfo[i].pwd = arguments[i * 7 + 74];
  3524.                         Struct.devInfo[i].devname = arguments[i * 7 + 75];
  3525.                         Struct.devInfo[i].type = arguments[i * 7 + 76];
  3526.                     }
  3527.                     gVar.bLogin = true;
  3528.                     gVar.pluginLoginCall = Struct.result;
  3529.                     if (gVar.nStreamType == 0) {
  3530.                         gVar.nSelStreamType = Struct.mainStreamType;
  3531.                     } else {
  3532.                         gVar.nSelStreamType = Struct.subStreamType;
  3533.                     }
  3534.                     SetPluginLanguage();/*mantis: 0002036 */
  3535.                     RfParamCall(LoginCall, "", "logIn&usrName=" + gVar.user + "&pwd=" + gVar.passwd + "&streamType=" + gVar.nStreamType + "&groupId=" + gVar.nDate);
  3536.                 } else {
  3537.                     if (arguments[69]) {
  3538.                         switch (arguments[68] >> 16) {
  3539.                             case 0:
  3540.                                 gJson = false;
  3541.                                 break;
  3542.                             default:
  3543.                                 gJson = true;
  3544.                                 break;
  3545.                         }
  3546.                         var qx = arguments[68] & 0xffff;
  3547.                         debug("case 100", "will call SelectChannel");
  3548.                         SelectChannel(gVar.selCh, qx, gVar.selChDev, gVar.ip, 100);
  3549.                         /*if (qx < 100) {         //H264
  3550.                             RfQx((Qqx > qx ? qx : Qqx));
  3551.                        }else {          //MJ
  3552.                             RfQx(qx);
  3553.                         }*/
  3554.                     }
  3555.                     if (gVar.nStreamType == 0) {
  3556.                             gVar.nSelStreamType = Struct.mainStreamType;
  3557.                     } else {
  3558.                            gVar.nSelStreamType = Struct.subStreamType;
  3559.                     }
  3560.                     /*if(gVar.user == "admin" && gVar.passwd == ""){
  3561.                         if(IsChromeSupportNacl()){
  3562.                             if(gVar_first.model>4000 && gVar_first.model<6000){
  3563.                                 stall = 1;
  3564.                             }else{
  3565.                                 stall = 2;
  3566.                             }
  3567.                             RfParamCallNoShadow("", "", "setMainVideoStreamType&streamType=" + stall);
  3568.                             setTimeout(function(){
  3569.                                 RfParamCallNoShadow("", "", "setSubVideoStreamType&streamType=0");
  3570.                             },100);
  3571.                         }
  3572.                     }*/
  3573.                 }
  3574.                
  3575.                 if (WEB_UPGRADE_CHECK_FUNCTION_ENABLE) {
  3576.                     if (gVar.usr != "admin" && gVar.passwd != "")
  3577.                         onlineUpgradeCheck(gVar.user, gVar.passwd, vsIf, PAGE_LIVE);
  3578.                 }
  3579.                    
  3580.                
  3581.                 RfLiveItem();
  3582.                 break;
  3583.    }
  3584.    case 102:{
  3585.         //Struct.recordState = arguments[1];
  3586.        
  3587.         //RfRs();
  3588.         break;
  3589.     }
  3590.     case 103:{
  3591.         Struct.isMute = arguments[1];
  3592.         Struct.volume = arguments[2];break;
  3593.     }case 105:{
  3594.         Struct.ledState = arguments[1];
  3595.         Struct.infraLedMode = arguments[2];
  3596.         Struct.infraLedState = arguments[1];
  3597.         if (Struct.infraLedState == 1) {
  3598.             $("#live_HDR").prop("disabled", false);
  3599.         }
  3600.         else {
  3601.             $("#live_HDR").prop("disabled", true);
  3602.         }
  3603.         RfLs();break;
  3604.     }case 106:{
  3605.         Struct.presetPointCnt = arguments[1];
  3606.         for (var i=1; i<17; i++)
  3607.             Struct.presetPointList[i] = arguments[i+1];
  3608.         //Struct.curPresetPoint = arguments[18];
  3609.  
  3610.         RfpP();
  3611.         RfgU();
  3612.         break;
  3613.     }case 303:
  3614.     {
  3615.         Struct.curPresetPoint = arguments[1];
  3616.         RfgU();
  3617.         break;
  3618.     }
  3619.     case 107:{
  3620.         Struct.cruiseMapCnt = arguments[1];
  3621.        
  3622.         for (var i=0; i<8; i++)
  3623.             Struct.cruiseMapList[i] = arguments[i+2];
  3624.        
  3625.         Struct.curCruiseMap = arguments[10];
  3626.        
  3627.         RfcM();break;
  3628.     }case 108:{
  3629.         Struct.isMirror = arguments[2];
  3630.         Struct.isFlip = arguments[1];
  3631.         Rfjx();
  3632.         Rffz();break;
  3633.     }case 109:{     //main stream
  3634.         Struct.mainStreamType = arguments[1];
  3635.         Struct.subStreamType = arguments[2];
  3636.         for (var i = 0; i < 4; i++) {
  3637.             if (arguments[i * 5 + 3] != Struct.StreamParamInfo[i].resolution || arguments[i * 5 + 4] != Struct.StreamParamInfo[i].bitRate || arguments[i * 5 + 5] != Struct.StreamParamInfo[i].frameRate || arguments[i * 5 + 6] != Struct.StreamParamInfo[i].GOP || arguments[i * 5 + 7] != Struct.StreamParamInfo[i].isVBR) {
  3638.                 Struct.StreamParamInfo[i].resolution = arguments[i * 5 + 3];
  3639.                 Struct.StreamParamInfo[i].bitRate = arguments[i * 5 + 4];
  3640.                 Struct.StreamParamInfo[i].frameRate = arguments[i * 5 + 5];
  3641.                 Struct.StreamParamInfo[i].GOP = arguments[i * 5 + 6];
  3642.                 Struct.StreamParamInfo[i].isVBR = arguments[i * 5 + 7];
  3643.                 RfSpl();
  3644.             }
  3645.         }  
  3646.         break;
  3647.     }case 110:{
  3648.         Struct.brightness = arguments[1];
  3649.         Struct.contrast = arguments[2];
  3650.         Struct.hue = arguments[3];
  3651.         Struct.saturation = arguments[4];
  3652.         Struct.sharpness = arguments[5];
  3653.         RfSc();break;
  3654.     }case 111:{
  3655.         //Struct.isAlarming = arguments[1];
  3656.         //Struct.alarmType = arguments[2];
  3657.         if(gVar.sPage == 1)
  3658.         {
  3659.             if (arguments[1] * 1 == 0)  //old protocal
  3660.             {
  3661.                 if (typeof arguments[4] != 'undefined')  //except apple
  3662.                 {
  3663.                     var chid = arguments[4] * 1;
  3664.                     var recordSec = arguments[5] * 1;
  3665.                     if(isOpenR[chid] == false)
  3666.                     {
  3667.                         if(isOpenAlarmR[chid] == false && cutdownalarmrecord[chid] == false)
  3668.                         {
  3669.                             isOpenAlarmR[chid] = 1;
  3670.                             gDvr.LocalAlarmRecord(true, chid);
  3671.                             window.clearTimeout(hRecord[chid]);
  3672.                             hRecord[chid] = setTimeout(function ()
  3673.                             {
  3674.                                 gDvr.LocalAlarmRecord(false, chid);
  3675.                                 isOpenAlarmR[chid] = 0;
  3676.                             }, recordSec * 1000);
  3677.                         }
  3678.                         else
  3679.                         {
  3680.                             gDvr.LocalAlarmRecord(false, chid);
  3681.                             window.clearTimeout(hRecord[chid]);
  3682.                             gDvr.LocalAlarmRecord(true, chid);
  3683.                             cutdownalarmrecord[chid] = true;
  3684.                             hRecord[chid] = setTimeout(function ()
  3685.                             {
  3686.                                 gDvr.LocalAlarmRecord(false, chid);
  3687.                                 isOpenAlarmR[chid] = 0;
  3688.                                 cutdownalarmrecord[chid] = false;
  3689.                             }, recordSec * 1000);
  3690.                         }
  3691.                     }
  3692.                 }
  3693.             }
  3694.             else if (arguments[1] * 1 == 1) {
  3695.                 var chid = arguments[2] * 1;
  3696.                 var isEnable = arguments[3] * 1;
  3697.                 var recordSec = arguments[4] * 1;
  3698.                 if(isOpenR[chid] == false)
  3699.                 {
  3700.                     if (isEnable == 1) {
  3701.                         if (IFs == chid && (gVar.nUserRight == 2 || gVar.nUserRight >= 100)) {
  3702.                             $("#LVRcA").css("display", "none");
  3703.                             $("#LVRc").css("display", "");
  3704.                         }
  3705.  
  3706.                         if(isOpenAlarmR[chid] == false && cutdownalarmrecord[chid] == false)
  3707.                         {  
  3708.                             isOpenAlarmR[chid] = 1;
  3709.                             try { gDvr.LocalAlarmRecord(true, chid); } catch (e) { }
  3710.                             window.clearTimeout(hRecord[chid]);
  3711.                             hRecord[chid] = setTimeout(function ()
  3712.                             {
  3713.                                 try { gDvr.LocalAlarmRecord(false, chid); } catch (e) { }
  3714.                                 isOpenAlarmR[chid] = 0;
  3715.                                 if (IFs == chid && (gVar.nUserRight == 2 || gVar.nUserRight >= 100)) {
  3716.                                     $("#LVRcA").css("display", "");
  3717.                                     $("#LVRc").css("display", "none");
  3718.                                     ShowCircle("Blue", 0);
  3719.                                 }
  3720.                             }, recordSec * 1000);
  3721.                         }
  3722.                         else
  3723.                         {  
  3724.                             try { gDvr.LocalAlarmRecord(false, chid); } catch (e) { }
  3725.                             isOpenAlarmR[chid] = 0;
  3726.                             window.clearTimeout(hRecord[chid]);
  3727.                             try { gDvr.LocalAlarmRecord(true, chid); } catch (e) { }
  3728.                             isOpenAlarmR[chid] = 1;
  3729.                             cutdownalarmrecord[chid] = true;
  3730.                             hRecord[chid] = setTimeout(function ()
  3731.                             {
  3732.                                 try { gDvr.LocalAlarmRecord(false, chid); } catch (e) { }
  3733.                                 isOpenAlarmR[chid] = 0;
  3734.                                 cutdownalarmrecord[chid] = false;
  3735.                                 if (IFs == chid && (gVar.nUserRight == 2 || gVar.nUserRight >= 100)) {
  3736.                                     $("#LVRcA").css("display", "");
  3737.                                     $("#LVRc").css("display", "none");
  3738.                                     ShowCircle("Blue", 0);
  3739.                                 }
  3740.                             }, recordSec * 1000);
  3741.                         }
  3742.                     }
  3743.                 }
  3744.             }
  3745.         }
  3746.         break;
  3747.     }case 112:{
  3748.         Struct.pwrFreq = arguments[1]; 
  3749.         RfPf(); break;
  3750.     }case 113:{     //main stream type change
  3751.         Struct.mainStreamType = gVar.nSelStreamType= arguments[1];
  3752.         if (gVar.nStreamType == 0) {
  3753.             setTimeout(function(){
  3754.                 $("#live_spl").val(Struct.mainStreamType);
  3755.                 HDR_WDR_DisabledSwitch();
  3756.                 }, 1);
  3757.         }
  3758.         break;
  3759.     }case 119:{     //sub stream type change
  3760.         Struct.subStreamType = arguments[1];
  3761.         if (gVar.nStreamType != 0) {
  3762.             setTimeout(function(){
  3763.                 $("#live_spl").val(Struct.subStreamType);
  3764.                 }, 1);
  3765.         }
  3766.         break;
  3767.     } case 120:{      //sub stream
  3768.         Struct.mainStreamType = arguments[1];
  3769.         Struct.subStreamType = arguments[2];
  3770.         for (var i = 0; i < 4; i++) {
  3771.             if (arguments[i * 5 + 3] != Struct.StreamParamInfo[i].resolution || arguments[i * 5 + 4] != Struct.StreamParamInfo[i].bitRate || arguments[i * 5 + 5] != Struct.StreamParamInfo[i].frameRate || arguments[i * 5 + 6] != Struct.StreamParamInfo[i].GOP || arguments[i * 5 + 7] != Struct.StreamParamInfo[i].isVBR) {
  3772.                 Struct.SubStreamParamInfo[i].resolution = arguments[i * 5 + 3];
  3773.                 Struct.SubStreamParamInfo[i].bitRate = arguments[i * 5 + 4];
  3774.                 Struct.SubStreamParamInfo[i].frameRate = arguments[i * 5 + 5];
  3775.                 Struct.SubStreamParamInfo[i].GOP = arguments[i * 5 + 6];
  3776.                 Struct.SubStreamParamInfo[i].isVBR = arguments[i * 5 + 7];
  3777.                 if (gVar.nStreamType == 1) {
  3778.                     RfSplSub();
  3779.                 }
  3780.             }
  3781.         }
  3782.         break;
  3783.     }case 200:{ //打开视频出错误
  3784.         if(gVar.sPage == 1)
  3785.             //ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_MAIN_AVOPENF"));
  3786.         break;
  3787.     }case 201:{ //ip格式错误
  3788.         if(gVar.sPage == 1)
  3789.             //ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_MAIN_IPWR") + "," + lg.get("IDS_MAIN_AVOPENF"));
  3790.         break;
  3791.     }case 202:{ //connect失败
  3792.         if(gVar.sPage == 1)
  3793.             //ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_NET_WIFININTE") + "," + lg.get("IDS_MAIN_RECONN"));
  3794.         break;
  3795.     }case 203:{//playback slider
  3796.         if (!gVar.pbMouseDown){
  3797.             var i=arguments[1]*document.getElementById("gsliderCov").a/10000;
  3798.             $("#gsliderBtn").css("margin-left", i-5);
  3799.             $("#gslider").css("width", i);break;
  3800.         }
  3801.     }case 204:{
  3802.         switch(arguments[1]){
  3803.             case 0:
  3804.             break;
  3805.             case 1:
  3806.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LOG_NOLOG"));
  3807.             break;
  3808.             case 2:
  3809.             hideUpgradeWindow();
  3810.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LOG_MUSRE"));
  3811.             break;
  3812.             case 3:
  3813.             //ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_MAIN_AVI"));
  3814.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LEFT_OPENAVIFAIL"));
  3815.             break;
  3816.         }break;
  3817.     }case 205:
  3818.     {
  3819.         if (gVar.dbOpenNew == true) {
  3820.             $("#pbBtnBt10").mousedown();
  3821.             gVar.dbOpenNew = false;
  3822.             return;
  3823.         }
  3824.  
  3825.         if ($("#continCheck").is(":checked")) {
  3826.  
  3827.             if (gVar.bPbStop != true && gVar.pbRecord != true) {
  3828.                 $("#continCheck").prop("checked", false);
  3829.                 gVar.bPbStop = true;
  3830.                 gVar.pbRecord = true;
  3831.                 $(".liveBtnBt11").css("display", "none");
  3832.                 $("#pbBtnBt10").css("display", "");
  3833.                 gDvr.PbPause();
  3834.                 return;
  3835.             }
  3836.             if (gVar.bPbStop != true) {
  3837.                 var ele = $(".rcChoseAC");
  3838.                 if (vPage != $("#rcListT").attr("page")) {
  3839.                     //判断播放页码与选中页码不一致;
  3840.                     if (ele.parent().parent().children().first().html() * 1 == gVar.totalRecord) {
  3841.                         gVar.bPbStop = true;
  3842.                         $(".liveBtnBt11").css("display", "none");
  3843.                         $("#pbBtnBt10").css("display", "");
  3844.                     }
  3845.                     else {
  3846.                         if (vList % 10 == 0) {
  3847.                             //判断为最后一项记录;
  3848.                             vPage = vPage + 1;
  3849.                             $("#rcListT").attr("page", vPage);
  3850.                             var numT = $(".fontColor").next("a").html() * 1 - 1;
  3851.                             var isNan = $("#rcListT").attr("isNan") * 1;
  3852.                             RfParamCall(function (xml) {
  3853.                                 $("#serword").css("display", "none");
  3854.                                 var res = XmlParser("result", xml) * 1;
  3855.                                 if (res != 0) {
  3856.                                     ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LEFT_SERTCHF"))
  3857.                                 } else {
  3858.                                     var total = XmlParser("totalCnt", xml) * 1;
  3859.                                     gVar.totalRecord = total;
  3860.                                     if (total <= 0) { $("#rcListT").empty(); $("#rcListM > div:first").empty(); $("#rcListM > div:last").empty(); ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LEFT_NORECORD")); return; }
  3861.                                     $("#rcListT, #rcListM").css("display", "");
  3862.                                     var num = XmlParser("curCnt", xml);
  3863.                                     var Page = ((total / 10) | 0) + ((total % 10 == 0) ? 0 : 1) - 1;
  3864.                                     if (Page >= 0) {
  3865.                                         UI.FyHead("rcListM", ">div:first", ">div:last", Page, vPage, isNan);
  3866.                                     }
  3867.                                     $("#rcListT").attr("tPage", Page);
  3868.                                     var rcl;
  3869.                                     $("#rcListT").empty();
  3870.                                     var str = ' <thead height="20"><th width="34">NO.</th><th width="114">' + lg.get("IDS_LEFT_WNAME") + '</th><th>' + lg.get("IDS_TYPE") + '</th></thead>'
  3871.                                     $("#rcListT").append(str);
  3872.                                     gVar.recordPath.length = 0;
  3873.                                     for (var i = 0; i < num; i++) {
  3874.                                         gVar.recordPath[i] = XmlParser("record" + i, xml);
  3875.                                         rcl = XmlParser("record" + i, xml).split("/");
  3876.                                         var rectyp = "";
  3877.                                         if (rcl[2].toLowerCase().indexOf("alarm") != -1) {
  3878.                                             rectyp = lg.get("IDS_LEFT_ARM");
  3879.                                         } else if (rcl[2].toLowerCase().indexOf("schedule") != -1) {
  3880.                                             rectyp = lg.get("IDS_LEFT_PLAN");
  3881.                                         } else if (rcl[2].toLowerCase().indexOf("normal") != -1) {
  3882.                                             rectyp = lg.get("IDS_LEFT_NOMAL");
  3883.                                         }
  3884.                                         str = '<tr><td>' + (i + vPage * 10 + 1) + '</td><td title=' + rcl[2] + '><div>' + rcl[2].substring(0, 8) + "..." + rcl[2].substring(rcl[2].length - 8, rcl[2].length) + '</div></td><td>' + rectyp + '</td></tr>';
  3885.                                         $("#rcListT").append(str);
  3886.                                     }
  3887.                                     //开启新的分页的播放功能;
  3888.                                     $("#rcListT tr td div:first").css("background-color", "transparent").removeClass("rcChoseAC");
  3889.                                     $("#rcListT tr td div:first").css("background-color", "#FAD");
  3890.                                     $("#rcListT tr td div:first").addClass("rcChoseAC");
  3891.                                     var fileName = $(".rcChoseAC").parent().attr("title");
  3892.                                     for (var index = 0; index < 10; index++) {
  3893.                                         var path = gVar.recordPath[index].split("/");
  3894.                                         if (path[2] == fileName) {
  3895.                                             vVal = gVar.recordPath[index].split("/")[2];
  3896.                                             fileName = gVar.recordPath[index];
  3897.                                             break;
  3898.                                         }
  3899.                                     }
  3900.                                     gDvr.PbVedioPlay(gVar_first.ip, $("#rcListT").attr("rDir"), fileName, 3);
  3901.                                     vList = vList + 1;
  3902.                                 }
  3903.                             }, "", "getRecordList2&recordPath=" + $("#rcListT").attr("rDir") + "&startTime=" + gVar.recordStartTime + "&endTime=" + gVar.recordEndTime + "&recordType=" + $("#pbRcType").val() + "&startNo=" + vPage * 10);
  3904.                         }
  3905.                         else {
  3906.                             //播放记录与播放页不一致,不是最后一条记录;
  3907.                             $("#rcListT").attr("page", vPage);
  3908.                             var numT = $(".fontColor").next("a").html() * 1 - 1;
  3909.                             var isNan = $("#rcListT").attr("isNan") * 1;
  3910.                             RfParamCall(function (xml) {
  3911.                                 $("#serword").css("display", "none");
  3912.                                 var res = XmlParser("result", xml) * 1;
  3913.                                 if (res != 0) {
  3914.                                     ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LEFT_SERTCHF"))
  3915.                                 } else {
  3916.                                     var total = XmlParser("totalCnt", xml) * 1;
  3917.                                     gVar.totalRecord = total;
  3918.                                     if (total <= 0) { $("#rcListT").empty(); $("#rcListM > div:first").empty(); $("#rcListM > div:last").empty(); ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LEFT_NORECORD")); return; }
  3919.                                     $("#rcListT, #rcListM").css("display", "");
  3920.                                     var num = XmlParser("curCnt", xml);
  3921.                                     var Page = ((total / 10) | 0) + ((total % 10 == 0) ? 0 : 1) - 1;
  3922.                                     if (Page >= 0) {
  3923.                                         UI.FyHead("rcListM", ">div:first", ">div:last", Page, vPage, isNan);
  3924.                                     }
  3925.                                     $("#rcListT").attr("tPage", Page);
  3926.  
  3927.                                     var rcl;
  3928.                                     $("#rcListT").empty();
  3929.                                     var str = ' <thead height="20"><th width="34">NO.</th><th width="114">' + lg.get("IDS_LEFT_WNAME") + '</th><th>' + lg.get("IDS_TYPE") + '</th></thead>'
  3930.                                     $("#rcListT").append(str);
  3931.                                     gVar.recordPath.length = 0;
  3932.                                     if(vList>=gVar.totalRecord)
  3933.                                     {
  3934.                                     gVar.bPbStop = true;
  3935.                                     $(".liveBtnBt11").css("display", "none");
  3936.                                     $("#pbBtnBt10").css("display", "");
  3937.                                     }
  3938.                                     for (var i = 0; i < num; i++) {
  3939.                                         gVar.recordPath[i] = XmlParser("record" + i, xml);
  3940.                                         rcl = XmlParser("record" + i, xml).split("/");
  3941.                                         var rectyp = "";
  3942.                                         if (rcl[2].toLowerCase().indexOf("alarm") != -1) {
  3943.                                             rectyp = lg.get("IDS_LEFT_ARM");
  3944.                                         } else if (rcl[2].toLowerCase().indexOf("schedule") != -1) {
  3945.                                             rectyp = lg.get("IDS_LEFT_PLAN");
  3946.                                         } else if (rcl[2].toLowerCase().indexOf("normal") != -1) {
  3947.                                             rectyp = lg.get("IDS_LEFT_NOMAL");
  3948.                                         }
  3949.  
  3950.                                         str = '<tr><td>' + (i + vPage * 10 + 1) + '</td><td title=' + rcl[2] + '><div>' + rcl[2].substring(0, 8) + "..." + rcl[2].substring(rcl[2].length - 8, rcl[2].length) + '</div></td><td>' + rectyp + '</td></tr>';
  3951.                                         $("#rcListT").append(str);
  3952.                                     }
  3953.                                     //开启新的分页的播放功能;
  3954.                                     $("#rcListT tr td div").css("background-color", "transparent").removeClass("rcChoseAC");
  3955.                                     var paths = "";
  3956.                                     for (var index = 0; index < 10; index++) {
  3957.                                         var path = gVar.recordPath[index].split("/");
  3958.                                         if (path[2] == vVal) {
  3959.                                             vVal = gVar.recordPath[index + 1].split("/")[2];
  3960.                                             paths = gVar.recordPath[index + 1];
  3961.                                             break;
  3962.                                         }
  3963.                                     }
  3964.                                     $("#rcListT tr:eq(" + (index + 2) + ")").find("div:first").css("background-color", "#FAD");
  3965.                                     $("#rcListT tr:eq(" + (index + 2) + ")").find("div:first").addClass("rcChoseAC");
  3966.                                     gDvr.PbVedioPlay(gVar_first.ip, $("#rcListT").attr("rDir"), paths, 3);
  3967.                                     vList = vList + 1;
  3968.                                 }
  3969.                             }, "", "getRecordList2&recordPath=" + $("#rcListT").attr("rDir") + "&startTime=" + gVar.recordStartTime + "&endTime=" + gVar.recordEndTime + "&recordType=" + $("#pbRcType").val() + "&startNo=" + vPage * 10);
  3970.                         }
  3971.                     }
  3972.                 }
  3973.                 else {
  3974.                     //当前播放页码;
  3975.                     if (ele.parent().parent().children().first().html() * 1 == gVar.totalRecord) {
  3976.                         gVar.bPbStop = true;
  3977.                         $(".liveBtnBt11").css("display", "none");
  3978.                         $("#pbBtnBt10").css("display", "");
  3979.                     }
  3980.                     else {
  3981.                         if (vList % 10 == 0) {
  3982.                             //判断同一页时为最后一项记录;
  3983.                             vPage = vPage + 1;
  3984.                             //var numT = $(".fontColor").next("a").html() * 1 - 1;
  3985.                             $("#rcListT").attr("page", vPage);
  3986.                             var isNan = $("#rcListT").attr("isNan") * 1;
  3987.                             RfParamCall(function (xml) {
  3988.                                 $("#serword").css("display", "none");
  3989.                                 var res = XmlParser("result", xml) * 1;
  3990.                                 if (res != 0) {
  3991.                                     ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LEFT_SERTCHF"))
  3992.                                 } else {
  3993.                                     var total = XmlParser("totalCnt", xml) * 1;
  3994.                                     gVar.totalRecord = total;
  3995.                                     if (total <= 0) { $("#rcListT").empty(); $("#rcListM > div:first").empty(); $("#rcListM > div:last").empty(); ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LEFT_NORECORD")); return; }
  3996.                                     $("#rcListT, #rcListM").css("display", "");
  3997.                                     var num = XmlParser("curCnt", xml);
  3998.                                     var Page = ((total / 10) | 0) + ((total % 10 == 0) ? 0 : 1) - 1;
  3999.                                     if (Page >= 0) {
  4000.                                         UI.FyHead("rcListM", ">div:first", ">div:last", Page, vPage, isNan);
  4001.                                     }
  4002.                                     $("#rcListT").attr("tPage", Page);
  4003.  
  4004.                                     var rcl;
  4005.                                     $("#rcListT").empty();
  4006.                                     var str = ' <thead height="20"><th width="34">NO.</th><th width="114">' + lg.get("IDS_LEFT_WNAME") + '</th><th>' + lg.get("IDS_TYPE") + '</th></thead>'
  4007.                                     $("#rcListT").append(str);
  4008.                                     gVar.recordPath.length = 0;
  4009.                                     for (var i = 0; i < num; i++) {
  4010.                                         gVar.recordPath[i] = XmlParser("record" + i, xml);
  4011.                                         rcl = XmlParser("record" + i, xml).split("/");
  4012.                                         var rectyp = "";
  4013.                                         if (rcl[2].toLowerCase().indexOf("alarm") != -1) {
  4014.                                             rectyp = lg.get("IDS_LEFT_ARM");
  4015.                                         } else if (rcl[2].toLowerCase().indexOf("schedule") != -1) {
  4016.                                             rectyp = lg.get("IDS_LEFT_PLAN");
  4017.                                         } else if (rcl[2].toLowerCase().indexOf("normal") != -1) {
  4018.                                             rectyp = lg.get("IDS_LEFT_NOMAL");
  4019.                                         }
  4020.  
  4021.                                         str = '<tr><td>' + (i + vPage * 10 + 1) + '</td><td title=' + rcl[2] + '><div>' + rcl[2].substring(0, 8) + "..." + rcl[2].substring(rcl[2].length - 8, rcl[2].length) + '</div></td><td>' + rectyp + '</td></tr>';
  4022.                                         $("#rcListT").append(str);
  4023.                                     }
  4024.                                     //开启新的分页的播放功能;
  4025.                                     $("#rcListT tr td div:first").css("background-color", "transparent").removeClass("rcChoseAC");
  4026.                                     $("#rcListT tr td div:first").css("background-color", "#FAD");
  4027.                                     $("#rcListT tr td div:first").addClass("rcChoseAC");
  4028.                                     var fileName = $(".rcChoseAC").parent().attr("title");
  4029.                                     for (var index = 0; index < 10; index++) {
  4030.                                         var path = gVar.recordPath[index].split("/");
  4031.                                         if (path[2] == fileName) {
  4032.                                             vVal = gVar.recordPath[index].split("/")[2];
  4033.                                             fileName = gVar.recordPath[index];
  4034.                                             break;
  4035.                                         }
  4036.                                     }
  4037.                                     gDvr.PbVedioPlay(gVar_first.ip, $("#rcListT").attr("rDir"), fileName, 3);
  4038.                                     vList = vList + 1;
  4039.                                 }
  4040.                             }, "", "getRecordList2&recordPath=" + $("#rcListT").attr("rDir") + "&startTime=" + gVar.recordStartTime + "&endTime=" + gVar.recordEndTime + "&recordType=" + $("#pbRcType").val() + "&startNo=" + vPage * 10);
  4041.                         }
  4042.                         else {
  4043.                             $("#rcListT tr td div").css("background-color", "transparent").removeClass("rcChoseAC");
  4044.                             var paths = "";
  4045.                             for (var index = 0; index < 10; index++) {
  4046.                                 var path = gVar.recordPath[index].split("/");
  4047.                                 if (path[2] == vVal) {
  4048.                                     vVal = gVar.recordPath[index + 1].split("/")[2];
  4049.                                     paths = gVar.recordPath[index + 1];
  4050.                                     break;
  4051.                                 }
  4052.                             }
  4053.                             $("#rcListT tr:eq(" + (index + 2) + ")").find("div:first").css("background-color", "#FAD");
  4054.                             $("#rcListT tr:eq(" + (index + 2) + ")").find("div:first").addClass("rcChoseAC");
  4055.                             gDvr.PbVedioPlay(gVar_first.ip, $("#rcListT").attr("rDir"), paths, 3);
  4056.                             vList = vList + 1;
  4057.                         }
  4058.                     }
  4059.                 }
  4060.             }
  4061.         }
  4062.         else {
  4063.             gVar.bPbStop = true;
  4064.             $(".liveBtnBt11").css("display", "none");
  4065.             $("#pbBtnBt10").css("display", "");
  4066.         }
  4067.         break;
  4068.     }                case 206:{//NET_MSG_TALK_OPEN
  4069.         switch(arguments[1]){
  4070.             case 0:
  4071.             break;
  4072.             case 1:
  4073.             $(".liveBtnBt4").css("display", "none");
  4074.             $(".liveBtnBt3").css("display", "");
  4075.             isOpenT[IFs] = false;
  4076.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LOG_NOLOG"));
  4077.             break;
  4078.             case 2:
  4079.             $(".liveBtnBt4").css("display", "none");
  4080.             $(".liveBtnBt3").css("display", "");
  4081.             isOpenT[IFs] = false;
  4082.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_MAIN_ANOUSR"));
  4083.             break;
  4084.             case 3:
  4085.             $(".liveBtnBt4").css("display", "none");
  4086.             $(".liveBtnBt3").css("display", "");
  4087.             isOpenT[IFs] = false;
  4088.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_MAIN_ANOUSR"));
  4089.             break;
  4090.         }break;
  4091.     }case 207:{//NET_MSG_TALK_CLOSE
  4092.         switch(arguments[1]){
  4093.             case 0:
  4094.             break;
  4095.             case 1:
  4096.             $(".liveBtnBt3").css("display", "none");
  4097.             $(".liveBtnBt4").css("display", "");
  4098.             isOpenT[IFs] = true;
  4099.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_LOG_NOLOG"));
  4100.             break;
  4101.         }break;
  4102.     }case 208:{
  4103.         gVar.ip = arguments[1];
  4104.         gVar.port = arguments[2];
  4105.         setTimeout(function(){
  4106.             if(gVar.httpver == "http"){
  4107.                 window.location = "http://"+gVar.ip+":"+gVar.port;
  4108.             }
  4109.             if(gVar.httpver == "https"){
  4110.                 window.location = "https://"+gVar.ip+":"+gVar.httpsPort;
  4111.             }
  4112.         }, 10);
  4113.         break;
  4114.     }case 209:
  4115.     {
  4116.         if (IFs != arguments[1]) {
  4117.             gDvr.obj[IFs].KillFocus();
  4118.             IFs = arguments[1];
  4119.             gVar.ip = arguments[2];
  4120.             gVar.port = arguments[3];
  4121.             gVar.user = arguments[4];
  4122.             gVar.passwd = arguments[5];
  4123.            
  4124.             user = gVar.user;
  4125.         pwd = gVar.passwd;
  4126.            
  4127.             for (var i = 0; i < 9; i++) {
  4128.                 if (isOpenT[i]) gDvr.TalkCMD(i, 1);
  4129.                 if (isOpenA[i]) gDvr.CloseAudio(i);
  4130.             }
  4131.  
  4132.             switch (arguments[7] >> 16) {
  4133.                 case 0:
  4134.                     gJson = false;
  4135.                     break;
  4136.                 default:
  4137.                     gJson = true;
  4138.                     break;
  4139.             }
  4140.             //if (Qqx != 0 && Qqx != 1) RfQx(arguments[7] & 0xffff);
  4141.             if (typeof arguments[8] != 'undefined') {
  4142.                 tuic(arguments[8]);
  4143.                 auic(arguments[9]);
  4144.             }
  4145.             if (typeof arguments[12] != "undefined") {
  4146.                 isEncy[arguments[1]] = arguments[12];
  4147.             }
  4148.             if (typeof arguments[11] != 'undefined' && XmlParser2("result", arguments[11]) * 1 == 0) {//if is appall dev
  4149.                 isappallDev = 1;
  4150.                 gVar.model = XmlParser2("model", arguments[11]) * 1;
  4151.                 gVar.modelName = XmlParser2("modelName", arguments[11]);
  4152.                 gVar.N_language = XmlParser2("language", arguments[11]) * 1;
  4153.                 gVar.sensorType = XmlParser2("sensorType", arguments[11]) * 1;
  4154.                 gVar.wifiType = XmlParser2("wifiType", arguments[11]) * 1;
  4155.                 gVar.sdFlag = XmlParser2("sdFlag", arguments[11]) * 1;
  4156.                 gVar.outdoorFlag = XmlParser2("outdoorFlag", arguments[11]) * 1;
  4157.                 gVar.ptFlag = XmlParser2("ptFlag", arguments[11]) * 1;
  4158.                 gVar.zoomFlag = XmlParser2("zoomFlag", arguments[11]) * 1;
  4159.                 gVar.rs485Flag = XmlParser2("rs485Flag", arguments[11]) * 1;
  4160.                 gVar.ioAlarmFlag = XmlParser2("ioAlarmFlag", arguments[11]) * 1;
  4161.                 gVar.onvifFlag = XmlParser2("onvifFlag", arguments[11]) * 1;
  4162.                 gVar.p2pFlag = XmlParser2("p2pFlag", arguments[11]) * 1;
  4163.                 gVar.wpsFlag = XmlParser2("wpsFlag", arguments[11]) * 1;
  4164.                 gVar.audioFlag = XmlParser2("audioFlag", arguments[11]) * 1;
  4165.                 gVar.talkFlag = XmlParser2("talkFlag", arguments[11]) * 1;
  4166.                 gVar.reserve1 = XmlParser2("reserve1", arguments[11]) * 1;
  4167.                 gVar.reserve2 = XmlParser2("reserve2", arguments[11]) * 1;
  4168.                 gVar.reserve3 = XmlParser2("reserve3", arguments[11]) * 1;
  4169.                 gVar.reserve4 = XmlParser2("reserve4", arguments[11]) * 1;
  4170.                 gVar.reserveFlag1 = XmlParser2("reserveFlag1", arguments[11]) * 1;
  4171.                 gVar.reserveFlag2 = XmlParser2("reserveFlag2", arguments[11]) * 1;
  4172.                 gVar.reserveFlag3 = XmlParser2("reserveFlag3", arguments[11]) * 1;
  4173.                 gVar.reserveFlag4 = XmlParser2("reserveFlag4", arguments[11]) * 1;
  4174.  
  4175.                 gVar.hasPrivacyZone = XmlParser2("hasPrivacyZone", arguments[11]) * 1;
  4176.                 gVar.motionAreaRows = XmlParser2("motionAreaRows", arguments[11]) * 1;
  4177.                 gVar.motionAreaCols = XmlParser2("motionAreaCols", arguments[11]) * 1;
  4178.                 gVar.H264FrmRef = XmlParser2("H264FrmRef", arguments[11]) * 1;
  4179.                 gVar.HasSubStream = XmlParser2("HasSubStream", arguments[11]) * 1;
  4180.                 gVar.ambarellaFlag = XmlParser2("ambarellaFlag", arguments[11]) * 1;
  4181.  
  4182.                 gVar.selChDev = gVar.modelName;
  4183.                
  4184.             }
  4185.             else {
  4186.                 isappallDev = 0;
  4187.                 gVar.selChDev = arguments[10];
  4188.             }
  4189.  
  4190.             gVar.selCh = arguments[1];
  4191.             gVar.selChQx = arguments[7] & 0xffff;
  4192.             SelectChannel(gVar.selCh, gVar.selChQx, gVar.selChDev, gVar.ip);
  4193.  
  4194.             if (gVar.nUserRight >= 100) {
  4195.                 PTZPro = MJYT;
  4196.             }
  4197.             else {
  4198.                 PTZPro = H264YT;
  4199.             }
  4200.             //NAA
  4201.             /*if(gVar.model>1000&&gVar.model<2000||gVar.model>3000&&gVar.model<4000||gVar.model>5000&&gVar.model<7000)
  4202.             {
  4203.                 if(gVar.nUserRight != 0)
  4204.                 //if(gVar.reserve2 >> 5 == 1)
  4205.                 {
  4206.                     $("#liveNAA").show();
  4207.                 }
  4208.             }*/
  4209.  
  4210.             //humidity
  4211.             if ((gVar.reserve2 >> 3 & 0x01) == 0) {
  4212.                 $("#liveHumidity").text("");
  4213.             }
  4214.             else {
  4215.                 $("#liveHumidity").text("H: " + humidity + "%");
  4216.             }
  4217.  
  4218.             if ((gVar.reserve2 >> 2 & 0x01) == 0) {
  4219.                 $("#liveTemperature").text("");
  4220.             }
  4221.             else {
  4222.                 $("#liveTemperature").text(temperature);
  4223.             }
  4224.  
  4225.             if ((gVar.reserve3 & 0x01) == 0) {
  4226.                 $("#Lullabies").css("display", "none");
  4227.                 $("#live_sound").css("display", "none");
  4228.             }
  4229.  
  4230.         }
  4231.         if(gVar.audioFlag!=0)
  4232.         {
  4233.          SetDefaultAudioDisplay();
  4234.         }
  4235.        
  4236.         // get wdr hdr state
  4237.         Struct.wdrstate = arguments[13];
  4238.         RfWdr();
  4239.         Struct.hdrstate = arguments[14];
  4240.         RfHdr();
  4241.        
  4242.         break;
  4243.     }
  4244.     case 210:{
  4245.         var i = arguments[1];
  4246.         var r = arguments[2];
  4247.         if (gVar.nOpenPreView && r == 0){
  4248.             isOpenV[i]=true;
  4249.             if (gVar.sPage == 1)
  4250.                 gDvr.VideoPlay(i, Struct.devInfo[i].ip,3);
  4251.         }else if (r != 0){
  4252.             gDvr.obj[i].UNRegMy();
  4253.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_DEV_DEVICE") + (i + 1) + lg.get("IDS_SERVER_LOGIN") + lg.get("IDS_BS_TESTFAIL") + r);
  4254.         }
  4255.         break;
  4256.     }
  4257.     case 211:{
  4258.         var SEname=arguments[1];
  4259.         if(SEname=="") SEname="anonymous";
  4260.         var strIP=arguments[2];
  4261.         var strOption="";
  4262.         if(strIP == ip || strIP == $("#bs2_hostput").val() || strIP == $("#bs3_hostput").val() || strIP == $("#bs4_hostput").val() || strIP == $("#bs5_hostput").val() || strIP == $("#bs6_hostput").val() || strIP == $("#bs7_hostput").val() || strIP == $("#bs8_hostput").val() || strIP == $("#bs9_hostput").val()){
  4263.             strOption='<option disabled="disabled" ip="'+strIP+'" dname="'+SEname+'" port="'+arguments[3]+'" mport="'+arguments[4]+'">'+SEname+'('+strIP+')</option>'}
  4264.         else{
  4265.             strOption='<option ip="'+strIP+'" dname="'+SEname+'" port="'+arguments[3]+'" mport="'+arguments[4]+'">'+SEname+"("+strIP+')</option>'}
  4266.         $("#bsmullist").append(strOption);
  4267.         break;
  4268.     }
  4269.     case 212:{
  4270.         //Logout();
  4271.         break;
  4272.     }
  4273.     case 213:{//record
  4274.         if(IFs == arguments[1]){
  4275.             Struct.recordState=1;
  4276.         //isOpenR[arguments[1]*1]=1;
  4277.             if (gVar.nUserRight == 2 || gVar.nUserRight >= 100) {
  4278.                 $("#LVRcA").css("display", "none");
  4279.                 $("#LVRc").css("display", "");
  4280.             }  
  4281.         }
  4282.         isOpenR[arguments[1]*1]=1;
  4283.         break;
  4284.     }case 214:{//record close
  4285.         if(IFs == arguments[1]){
  4286.             Struct.recordState=0;
  4287. //      isOpenR[arguments[1]*1]=0;
  4288. //        isOpenAlarmR[arguments[1]*1]=0;
  4289.             if (gVar.nUserRight == 2 || gVar.nUserRight >= 100) {
  4290.                 if(cutdownalarmrecord[IFs] == false){
  4291.                     $("#LVRcA").css("display", "");
  4292.                     $("#LVRc").css("display", "none");
  4293.                 }
  4294.             }
  4295.         }
  4296.         isOpenR[arguments[1]*1]=0;
  4297.         if (cutdownalarmrecord[IFs] == false) {
  4298.             isOpenAlarmR[arguments[1]*1]=0;
  4299.         }
  4300.        
  4301.         break;
  4302.     }case 215:{//no space
  4303.         ShowPaop(lg.get("IDS_TIPS"),lg.get("IDS_PC_RC_NOSPACE"));
  4304.         Struct.recordState=0;
  4305.         for(var i = 0; i <= 8; i++){
  4306.             isOpenR[i] = 0;
  4307.             isOpenAlarmR[i] = 0;
  4308.         }
  4309.         if (gVar.nUserRight == 2 || gVar.nUserRight >= 100) {
  4310.                 if(cutdownalarmrecord[IFs] == false){
  4311.         $("#LVRcA").css("display", "");
  4312.         $("#LVRc").css("display", "none");
  4313.                 }
  4314.             }
  4315.         break;
  4316.     }case 216:{//no qx
  4317.         //if no right write IE record file,show tip and change states in web
  4318.         ShowPaop(lg.get("IDS_TIPS"),lg.get("IDS_MAIN_NOFIHNT"));
  4319.         //$("#LVRc").click(); //this will stop current web chose channel record
  4320.                               //may not be the channel plugins push to web
  4321.         try
  4322.         {  
  4323.          if (gVar.nUserRight == 2 || gVar.nUserRight >= 100) {
  4324.                 if(cutdownalarmrecord[IFs] == false){
  4325.             $("#LVRcA").css("display", "");
  4326.             $("#LVRc").css("display", "none");
  4327.                 }
  4328.             }
  4329.             gDvr.obj[arguments[1]*1].Record(false,"");
  4330.             isOpenR[arguments[1]*1]=0;
  4331.             isOpenAlarmR[arguments[1]*1]=0;             //get msg from plugins,no quanxian,chanle in the msg
  4332.                                                         //stop record of the channel
  4333.         }                      
  4334.         catch (e)
  4335.         {
  4336.            
  4337.         }
  4338.        
  4339.         break;
  4340.     }case 300:{
  4341.         $(".liveBtnBt3").css("display", "");
  4342.         $(".liveBtnBt4").css("display", "none");
  4343.         isOpenT[IFs]=false;break;
  4344.     }case 301:{
  4345.         tuic(arguments[1]);
  4346.         auic(arguments[2]);break;
  4347.     }case 302:{
  4348.         $("#LVRcA,#LVRc").css("display","none");
  4349.         Struct.recordState = arguments[1];setTimeout('RfRs()',1)
  4350.         break;
  4351.     }
  4352.     case 29:{
  4353.                 RfParamCallNoShadow("", "", "logIn&usrName=" + gVar.user + "&pwd=" + gVar.passwd + "&groupId=" + gVar.nDate);
  4354.                 break;
  4355.     }
  4356.     case 217:{
  4357.         if ((isappallDev == true && gVar.talkFlag == 0 && gVar.audioFlag == 0) || (isappallDev == false && IsInArray(notTalkAudioDev, gVar.selChDev))) break;
  4358.  
  4359.         $(".liveBtnBt3").css("display","");
  4360.         $(".liveBtnBt9").css("display", "none");
  4361.         $(".liveBtnBt4").css("display","none");
  4362.         $(".liveBtnBt109").css("display","");
  4363.         gDvr.OpenAudio(IFs);
  4364.         break;
  4365.     }
  4366.     case 218:{
  4367.         if(arguments[1] == "1"){
  4368.             User_defined_text("rcLocalAlarmResult",lg.get("IDS_PATH_SUCCESS"));
  4369.         }
  4370.         else{
  4371.             ShowPaop(lg.get("IDS_TIPS"),lg.get("IDS_MAIN_NO_CONFIGPATH_RIGHT"));
  4372.         }
  4373.         break;
  4374.     }
  4375.     case 219:{
  4376.             if (arguments[1] == "0") {
  4377.                 //gVar.KCgi("cmd=" + "ptzMoveTopLeft");
  4378.                 RfParamCallNoShadow("", "", "ptzMoveTopLeft");
  4379.             }
  4380.             if (arguments[1] == "1") {
  4381.                 //gVar.KCgi("cmd=" + "ptzMoveUp");
  4382.                 RfParamCallNoShadow("", "", "ptzMoveUp");
  4383.             }
  4384.             if (arguments[1] == "2") {
  4385.                 //gVar.KCgi("cmd=" + "ptzMoveTopRight");
  4386.                 RfParamCallNoShadow("", "", "ptzMoveTopRight");
  4387.             }
  4388.             if (arguments[1] == "3") {
  4389.                 //gVar.KCgi("cmd=" + "ptzMoveLeft");
  4390.                 RfParamCallNoShadow("", "", "ptzMoveLeft");
  4391.             }
  4392.             if (arguments[1] == "4") {
  4393.                 //gVar.KCgi("cmd=" + "ptzStopRun");
  4394.                 RfParamCallNoShadow("", "", "ptzStopRun");
  4395.             }
  4396.             if (arguments[1] == "5") {
  4397.                 //gVar.KCgi("cmd=" + "ptzMoveRight");
  4398.                 RfParamCallNoShadow("", "", "ptzMoveRight");
  4399.             }
  4400.             if (arguments[1] == "6") {
  4401.                 //gVar.KCgi("cmd=" + "ptzMoveBottomLeft");
  4402.                 RfParamCallNoShadow("", "", "ptzMoveBottomLeft");
  4403.             }
  4404.             if (arguments[1] == "7") {
  4405.                 //gVar.KCgi("cmd=" + "ptzMoveDown");
  4406.                 RfParamCallNoShadow("", "", "ptzMoveDown");
  4407.             }
  4408.             if (arguments[1] == "8") {
  4409.                 //gVar.KCgi("cmd=" + "ptzMoveBottomRight");
  4410.                 RfParamCallNoShadow("", "", "ptzMoveBottomRight");
  4411.             }
  4412.         break;
  4413.     }
  4414.     case 220:{      
  4415.         mult_https_port[arguments[1]] = arguments[2];
  4416.        
  4417.         break;
  4418.     }
  4419.     case 221:{
  4420.         gVar.bPbStop = true;
  4421.         $(".liveBtnBt11").css("display", "none");
  4422.         $("#pbBtnBt10").css("display", "");
  4423.         ShowPaop(lg.get("IDS_TIPS"),lg.get("IDS_VIDEO_PLAYBACK_RECORD_INTERRUPT"));
  4424.         break;
  4425.     }
  4426.     case 500:
  4427.     {
  4428.         //gDvr.obj[IFs].KillFocus();
  4429.         IFs = arguments[1];
  4430.         if (typeof arguments[7] != 'undefined') gVar.ip = arguments[7];
  4431.         if (typeof arguments[8] != 'undefined') gVar.port = arguments[8];
  4432.         if (typeof arguments[9] != 'undefined') gVar.user = arguments[9];
  4433.         if (typeof arguments[10] != 'undefined') gVar.passwd = arguments[10];
  4434.  
  4435.         switch (arguments[3] >> 16) {
  4436.             case 0:
  4437.                 gJson = false;
  4438.                 break;
  4439.             default:
  4440.                 gJson = true;
  4441.                 break;
  4442.         }
  4443.         //if (Qqx != 0 && Qqx != 1) RfQx(arguments[7] & 0xffff);
  4444.         if (typeof arguments[4] != 'undefined') {
  4445.             tuic(arguments[4]);
  4446.             auic(arguments[5]);
  4447.         }
  4448.  
  4449.         if (typeof arguments[11] != 'undefined' && XmlParser2("result", arguments[11]) * 1 == 0) {
  4450.             isappallDev = 1;
  4451.             gVar.model = XmlParser2("model", arguments[11]) * 1;
  4452.             gVar.modelName = XmlParser2("modelName", arguments[11]);
  4453.             gVar.N_language = XmlParser2("language", arguments[11]) * 1;
  4454.             gVar.sensorType = XmlParser2("sensorType", arguments[11]) * 1;
  4455.             gVar.wifiType = XmlParser2("wifiType", arguments[11]) * 1;
  4456.             gVar.sdFlag = XmlParser2("sdFlag", arguments[11]) * 1;
  4457.             gVar.outdoorFlag = XmlParser2("outdoorFlag", arguments[11]) * 1;
  4458.             gVar.ptFlag = XmlParser2("ptFlag", arguments[11]) * 1;
  4459.             gVar.zoomFlag = XmlParser2("zoomFlag", arguments[11]) * 1;
  4460.             gVar.rs485Flag = XmlParser2("rs485Flag", arguments[11]) * 1;
  4461.             gVar.ioAlarmFlag = XmlParser2("ioAlarmFlag", arguments[11]) * 1;
  4462.             gVar.onvifFlag = XmlParser2("onvifFlag", arguments[11]) * 1;
  4463.             gVar.audioFlag = XmlParser2("audioFlag", arguments[11]) * 1;
  4464.             gVar.talkFlag = XmlParser2("talkFlag", arguments[11]) * 1;
  4465.             gVar.p2pFlag = XmlParser2("p2pFlag", arguments[11]) * 1;
  4466.             gVar.wpsFlag = XmlParser2("wpsFlag", arguments[11]) * 1;
  4467.             gVar.reserve1 = XmlParser2("reserve1", arguments[11]) * 1;
  4468.             gVar.reserve2 = XmlParser2("reserve2", arguments[11]) * 1;
  4469.             gVar.reserve3 = XmlParser2("reserve3", arguments[11]) * 1;
  4470.             gVar.reserve4 = XmlParser2("reserve4", arguments[11]) * 1;
  4471.             gVar.reserveFlag1 = XmlParser2("reserveFlag1", arguments[11]) * 1;
  4472.             gVar.reserveFlag2 = XmlParser2("reserveFlag2", arguments[11]) * 1;
  4473.             gVar.reserveFlag3 = XmlParser2("reserveFlag3", arguments[11]) * 1;
  4474.             gVar.reserveFlag4 = XmlParser2("reserveFlag4", arguments[11]) * 1;
  4475.  
  4476.             gVar.hasPrivacyZone = XmlParser2("hasPrivacyZone", arguments[11]) * 1;
  4477.             gVar.motionAreaRows = XmlParser2("motionAreaRows", arguments[11]) * 1;
  4478.             gVar.motionAreaCols = XmlParser2("motionAreaCols", arguments[11]) * 1;
  4479.             gVar.H264FrmRef = XmlParser2("H264FrmRef", arguments[11]) * 1;
  4480.             gVar.HasSubStream = XmlParser2("HasSubStream", arguments[11]) * 1;
  4481.             gVar.ambarellaFlag = XmlParser2("ambarellaFlag", arguments[11]) * 1;
  4482.            
  4483.             gVar.selChDev = gVar.modelName;
  4484.         } else {
  4485.             isappallDev = 0;
  4486.             gVar.selChDev = arguments[6];
  4487.         }
  4488.         gVar.selCh = arguments[1];
  4489.         gVar.selChQx = arguments[3] & 0xffff;
  4490.         SelectChannel(gVar.selCh, gVar.selChQx, gVar.selChDev,gVar.ip, 500);
  4491.  
  4492.         if (gVar.nUserRight >= 100) {
  4493.             PTZPro = MJYT;
  4494.         }
  4495.         else {
  4496.             PTZPro = H264YT;
  4497.         }
  4498.     }
  4499.     break;
  4500. case 508:
  4501.     {
  4502.    
  4503.         SetDefaultAudioDisplay();
  4504.     }
  4505.     break;
  4506. case 501:
  4507.     {
  4508.         Struct.babyPlayState = arguments[1];
  4509.         Struct.babyPlayMode = arguments[2];
  4510.         Struct.babyPlayPath = arguments[3];
  4511.         Struct.babySoundOpen = arguments[4];
  4512.         Struct.babySoundVolume = arguments[5];
  4513.         Struct.babyDomantTime = arguments[6];
  4514.         Struct.babyTemperature = arguments[7];
  4515.         Struct.babyListResult = arguments[8];
  4516.         Struct.babyListCnt = arguments[9];
  4517.         Struct.babyCurMusicListName = arguments[10];
  4518.         for (var i = 0; i < 3; i++) {
  4519.             Struct.babayMusicList[i].listName = arguments[11 + i];
  4520.         }
  4521.         Struct.babyHumidity = arguments[14];
  4522.  
  4523.         if (Struct.babyPlayState == 0) {
  4524.             $("#music_stop").css("display", "none");
  4525.             $("#music_play").css("display", "");
  4526.         } else if (Struct.babyPlayState == 1) {
  4527.             $("#music_stop").css("display", "");
  4528.             $("#music_play").css("display", "none");
  4529.         }
  4530.  
  4531.         if (Struct.babyPlayMode == 1) {        //顺序播放
  4532.             $("#music_singlerepeat").css("display", "");
  4533.             $("#music_allrepeat").css("display", "none");
  4534.             $("#music_playlist").css("display", "none");
  4535.         }
  4536.         else if (Struct.babyPlayMode == 2) {   //单曲循环
  4537.             $("#music_singlerepeat").css("display", "none");
  4538.             $("#music_allrepeat").css("display", "");
  4539.             $("#music_playlist").css("display", "none");
  4540.         }
  4541.         else if (Struct.babyPlayMode == 3) {       //列表循环
  4542.             $("#music_singlerepeat").css("display", "none");
  4543.             $("#music_allrepeat").css("display", "none");
  4544.             $("#music_playlist").css("display", "");
  4545.         }
  4546.  
  4547.         if (Struct.babyDomantTime == -1) {
  4548.             $("#music_10").css("display", "");
  4549.             $("#music_20").css("display", "none");
  4550.             $("#music_30").css("display", "none");
  4551.             $("#music_100").css("display", "none");
  4552.         }
  4553.         else if (Struct.babyDomantTime == 10) {
  4554.             $("#music_10").css("display", "none");
  4555.             $("#music_20").css("display", "");
  4556.             $("#music_30").css("display", "none");
  4557.             $("#music_100").css("display", "none");
  4558.         }
  4559.         else if (Struct.babyDomantTime == 20) {
  4560.             $("#music_10").css("display", "none");
  4561.             $("#music_20").css("display", "none");
  4562.             $("#music_30").css("display", "");
  4563.             $("#music_100").css("display", "none");
  4564.         }
  4565.         else if (Struct.babyDomantTime == 30) {
  4566.             $("#music_10").css("display", "none");
  4567.             $("#music_20").css("display", "none");
  4568.             $("#music_30").css("display", "none");
  4569.             $("#music_100").css("display", "");
  4570.         }
  4571.         var Temperature = parseInt(parseFloat(arguments[7]) * 9 / 5 + 32);
  4572.         Struct.babyTemperature = "T: " + String(arguments[7]) + "℃" + "(" + String(Temperature) + "°F)";
  4573.  
  4574.         //play list
  4575.         RfBabyMusicList();
  4576.  
  4577.  
  4578.         //湿度
  4579.         if ((gVar.reserve2 >> 3 & 0x01) == 0) {
  4580.             $("#liveHumidity").text("");
  4581.         }
  4582.         else {
  4583.             if (Struct.humidityType == 1) {
  4584.                 $("#liveHumidity").text("H: " + Struct.babyHumidity + "%");
  4585.             }
  4586.             else {
  4587.                 $("#liveHumidity").text("");
  4588.             }
  4589.         }
  4590.         //温度
  4591.         if ((gVar.reserve2 >> 2 & 0x01) == 0) {
  4592.             $("#liveTemperature").text("");
  4593.         }
  4594.         else {
  4595.             if (Struct.tempType == 1) {
  4596.                 $("#liveTemperature").text(Struct.babyTemperature);
  4597.             }
  4598.             else {
  4599.                 $("#liveTemperature").text("");
  4600.             }
  4601.         }
  4602.         //volume
  4603.         if (gVar.nUserRight == 0) {
  4604.             $(".volumeOn").css("display", "none");
  4605.             $(".volumeOff").css("display", "none");
  4606.         }
  4607.  
  4608.     }
  4609.     break;
  4610. case 502:
  4611.     {
  4612.         gVar_first.model = XmlParser2("model", arguments[1]); // $(xml).find("model").text() * 1;
  4613.         gVar_first.modelName = XmlParser2("modelName", arguments[1]); // $(xml).find("modelName").text();
  4614.         gVar_first.N_language = XmlParser2("language", arguments[1]); // $(xml).find("language").text() * 1;
  4615.         gVar_first.sensorType = XmlParser2("sensorType", arguments[1]); // $(xml).find("sensorType").text() * 1;
  4616.         gVar_first.wifiType = XmlParser2("wifiType", arguments[1]); // $(xml).find("wifiType").text() * 1;
  4617.         gVar_first.sdFlag = XmlParser2("sdFlag", arguments[1]); // $(xml).find("sdFlag").text() * 1;
  4618.         gVar_first.outdoorFlag = XmlParser2("outdoorFlag", arguments[1]); // $(xml).find("outdoorFlag").text() * 1;
  4619.         gVar_first.ptFlag = XmlParser2("ptFlag", arguments[1]); // $(xml).find("ptFlag").text() * 1;
  4620.         gVar_first.zoomFlag = XmlParser2("zoomFlag", arguments[1]); // $(xml).find("zoomFlag").text() * 1;
  4621.         gVar_first.rs485Flag = XmlParser2("rs485Flag", arguments[1]); // $(xml).find("rs485Flag").text() * 1;
  4622.         gVar_first.ioAlarmFlag = XmlParser2("ioAlarmFlag", arguments[1]); // $(xml).find("ioAlarmFlag").text() * 1;
  4623.         gVar_first.onvifFlag = XmlParser2("onvifFlag", arguments[1]); // $(xml).find("onvifFlag").text() * 1;
  4624.         gVar_first.p2pFlag = XmlParser2("p2pFlag", arguments[1]); // $(xml).find("p2pFlag").text() * 1;
  4625.         gVar_first.wpsFlag = XmlParser2("wpsFlag", arguments[1]); // $(xml).find("wpsFlag").text() * 1;
  4626.         gVar_first.audioFlag = XmlParser2("audioFlag", arguments[1]); // $(xml).find("audioFlag").text() * 1;
  4627.         gVar_first.talkFlag = XmlParser2("talkFlag", arguments[1]); // $(xml).find("talkFlag").text() * 1;
  4628.         gVar_first.reserve1 = XmlParser2("reserve1", arguments[1]); // $(xml).find("reserve1").text() * 1;
  4629.         gVar_first.reserve2 = XmlParser2("reserve2", arguments[1]); // $(xml).find("reserve2").text() * 1;
  4630.         gVar_first.reserve3 = XmlParser2("reserve3", arguments[1]); // $(xml).find("reserve3").text() * 1;
  4631.         gVar_first.reserve4 = XmlParser2("reserve4", arguments[1]); // $(xml).find("reserve4").text() * 1;
  4632.         gVar_first.reserveFlag1 = XmlParser2("reserveFlag1", arguments[1]); // $(xml).find("reserveFlag1").text() * 1;
  4633.         gVar_first.reserveFlag2 = XmlParser2("reserveFlag2", arguments[1]) * 1; // $(xml).find("reserveFlag2").text() * 1;
  4634.         gVar_first.reserveFlag3 = XmlParser2("reserveFlag3", arguments[1]); // $(xml).find("reserveFlag3").text() * 1;
  4635.         gVar_first.reserveFlag4 = XmlParser2("reserveFlag4", arguments[1]); // $(xml).find("reserveFlag4").text() * 1;
  4636.         gVar_first.appVer = XmlParser2("appVer", arguments[1]); // $(xml).find("appVer").text();
  4637.         gVar_first.hasPrivacyZone = XmlParser2("hasPrivacyZone", arguments[1]); // $(xml).find("hasPrivacyZone").text() * 1;
  4638.         gVar_first.motionAreaRows = XmlParser2("motionAreaRows", arguments[1]); // $(xml).find("motionAreaRows").text() * 1;
  4639.         gVar_first.motionAreaCols = XmlParser2("motionAreaCols", arguments[1]); // $(xml).find("motionAreaCols").text() * 1;
  4640.         gVar_first.H264FrmRef = XmlParser2("H264FrmRef", arguments[1]); // $(xml).find("H264FrmRef").text() * 1;
  4641.         gVar_first.HasSubStream = XmlParser2("HasSubStream", arguments[1]); // $(xml).find("HasSubStream").text() * 1;
  4642.         gVar_first.ambarellaFlag = XmlParser2("ambarellaFlag", arguments[1]); // $(xml).find("ambarellaFlag").text() * 1;
  4643.  
  4644.         gVar.selCh = 0;
  4645.         gVar.selChDev = cur_Dev;
  4646.         gVar.selChQx = Qqx;
  4647.  
  4648.         debug("case 502", gVar.sPage + " " + gVar.bLogin);
  4649.         if (gVar.sPage == 1 && !gVar.bLogin) {
  4650.             LoadLivePage();
  4651.         }
  4652.     }
  4653.     break;
  4654. case 504:
  4655.     {
  4656.         Struct.hdrstate = arguments[1];
  4657.         RfHdr();
  4658.     }
  4659.     break;
  4660. case 505:
  4661.     {
  4662.         Struct.wdrstate = arguments[1];
  4663.         RfWdr();
  4664.     }
  4665.     break;
  4666.    
  4667. case 507: {
  4668.     if (!isLoginByMainStream())
  4669.         break;
  4670.    
  4671.     var index = arguments[1];
  4672.    
  4673.     debug("pluginCallback", "case 507 index = " + index);
  4674.    
  4675.     if (isOpenT[index]) gDvr.TalkCMD(index, 1);
  4676.     if (isOpenA[index]) gDvr.CloseAudio(index);
  4677.     if (isOpenV[index]) gDvr.VideoPlay(index, "", 4);
  4678.    
  4679.     cutdownalarmrecord[index] = false;
  4680.                
  4681.     //$(".liveBtnBt2").mousedown();
  4682.     setTimeout(function () {
  4683.         if (inLivePage) {
  4684.             debug("PluginCallback", "open=" + isOpenV[index] + " index=" + index + " ip=" + Struct.devInfo[index].ip);
  4685.             if (isOpenV[index])
  4686.                 gDvr.VideoPlay(index, Struct.devInfo[index].ip, 3);
  4687.         }
  4688.            
  4689.     }, 10000);
  4690.    
  4691.        
  4692.     break;
  4693. }
  4694. case 121:
  4695.     {
  4696.         Struct.naastate = arguments[1];
  4697.         RfNAA();
  4698.     }
  4699.     break;
  4700. case 506:
  4701.     {
  4702.         Struct.ptstate = arguments[1];
  4703.         if ((gVar_first.ambarellaFlag >> 2 & 0x01) == 1 && Struct.ptstate == 1) {
  4704.             $("#leftptz").show();
  4705.         }
  4706.         else {
  4707.             $("#leftptz").hide();
  4708.         }
  4709.     }
  4710.     break;
  4711. case 151:       //fosbaby-CONTROL_MSG_MUSIC_STATE_CHG
  4712.     {
  4713.         var playState = -1;
  4714.         if (typeof arguments[1] != 'undefined') playState = arguments[1];
  4715.         if (playState == 0) {       //stop
  4716.             $("#music_stop").css("display", "none");
  4717.             $("#music_play").css("display", "");
  4718.         }
  4719.         else if (playState == 1){          //play
  4720.             $("#music_stop").css("display", "");
  4721.             $("#music_play").css("display", "none");
  4722.         }
  4723.     }
  4724.     break;
  4725. case 152:       //fosbaby-CONTROL_MSG_MUSIC_FORMAT_ERR
  4726.     {
  4727.         var musicErr = arguments[1]*1;
  4728.         if(musicErr == 1) ShowPaop(lg.get("IDS_TIPS"),arguments[2]+":"+lg.get("IDS_FB_MUSIC_FORMAT_NO"));
  4729.         else ShowPaop(lg.get("IDS_TIPS"), arguments[2]+":"+lg.get("IDS_FB_MUSIC_FORMAT_ERR"));
  4730.     }
  4731.     break;
  4732. case 153:       //fosbaby-CONTROL_MSG_MUSIC_PLAY_MODE_CHG
  4733.     {
  4734.         if (typeof arguments[1] != 'undefined') Struct.babyPlayMode = arguments[1];
  4735.         if (Struct.babyPlayMode == 1) {        //顺序播放
  4736.             $("#music_singlerepeat").css("display", "");
  4737.             $("#music_allrepeat").css("display", "none");
  4738.             $("#music_playlist").css("display", "none");
  4739.         }
  4740.         else if (Struct.babyPlayMode == 2) {   //单曲循环
  4741.             $("#music_singlerepeat").css("display", "none");
  4742.             $("#music_allrepeat").css("display", "");
  4743.             $("#music_playlist").css("display", "none");
  4744.         }
  4745.         else if (Struct.babyPlayMode == 3) {       //列表循环
  4746.             $("#music_singlerepeat").css("display", "none");
  4747.             $("#music_allrepeat").css("display", "none");
  4748.             $("#music_playlist").css("display", "");
  4749.         }
  4750.     }
  4751.     break;
  4752. case 154:       //fosbaby-CONTROL_MSG_MUSIC_DORMANT_TIME_CHG
  4753.     {
  4754.         var DormanteTime = 0;
  4755.         if (typeof arguments[1] != 'undefined') DormanteTime = arguments[1];
  4756.         if (DormanteTime == 10) {      //休眠10分钟
  4757.             $("#music_20").css("display", "");
  4758.             $("#music_10").css("display", "none");
  4759.             $("#music_30").css("display", "none");
  4760.             $("#music_100").css("display", "none");
  4761.         }
  4762.         else if (DormanteTime == 20) {
  4763.             $("#music_30").css("display", "");
  4764.             $("#music_20").css("display", "none");
  4765.             $("#music_10").css("display", "none");
  4766.             $("#music_100").css("display", "none");
  4767.         }
  4768.         else if (DormanteTime == 30) {
  4769.             $("#music_100").css("display", "");
  4770.             $("#music_30").css("display", "none");
  4771.             $("#music_10").css("display", "none");
  4772.             $("#music_20").css("display", "none");
  4773.         }
  4774.         else {    //不休眠
  4775.             $("#music_10").css("display", "");
  4776.             $("#music_100").css("display", "none");
  4777.             $("#music_20").css("display", "none");
  4778.             $("#music_30").css("display", "none");
  4779.         }
  4780.     }
  4781.     break;
  4782. case 155:       //fosbaby-CONTROL_MSG_MUSIC_PATH_CHG
  4783.     {
  4784.     }
  4785.     break;
  4786. case 156:       //fosbaby-CONTROL_MSG_MUSIC_LISTS_CHG
  4787.     {
  4788.         Struct.babyListCnt = arguments[2];
  4789.         Struct.babyCurMusicListName = arguments[3];
  4790.         for (var index = 0; index < 3; index++) {
  4791.             Struct.babayMusicList[index].listName = arguments[4 + index];
  4792.         }
  4793.         RfBabyMusicList();
  4794.     }
  4795.     break;
  4796. case 157:       //fosbaby-CONTROL_MSG_AUDIO_VOLUME_CHG
  4797.     {
  4798.         var isMute = -1;
  4799.         var volume = -1;
  4800.         if (typeof arguments[1] != 'undefined') isMute = arguments[1];
  4801.         if (typeof arguments[2] != 'undefined') volume = arguments[2];
  4802.          Struct.babySoundVolume = volume;
  4803.       //   console.log("volume=%d",volume);
  4804.       //   if (isMute == 1) {      //静音
  4805.       //       $(".volumeOn").css("display", "none");
  4806.       //       $(".volumeOff").css("display", "");
  4807.       //       $("#live_sound").css("display", "none");
  4808.       //   }
  4809.       //   else if (isMute == 0) {
  4810.       //       //$(".volumeOn").css("display", "");
  4811.       //       $(".volumeOff").css("display", "none");
  4812.  
  4813.       //       if (gVar.nUserRight == 0) {
  4814.       //           $(".volumeOn").css("display", "none");
  4815.       //       }
  4816.       //       else {
  4817.        //         $(".volumeOn").css("display", "");
  4818.        //            $("#live_sound").css("display", "");
  4819.        //   }
  4820.       //       if (volume >= 0) {
  4821.       //           $("#live_wd_video").attr("innerHTML", volume | 0);
  4822.       //           document.getElementById("clorbtn_6").style.marginLeft = volume + "px";
  4823.       //           document.getElementById("clordir_6").style.width = volume + "px";
  4824.       //       }
  4825.       //   }
  4826.             if (volume >= 0) {
  4827.                 $("#live_wd_video").attr("innerHTML", volume | 0);
  4828.                 document.getElementById("clorbtn_6").style.marginLeft = volume + "px";
  4829.                 document.getElementById("clordir_6").style.width = volume + "px";
  4830.         }
  4831.     }
  4832.     break;
  4833.     case 158:
  4834.     {
  4835.         var tmperatueF = parseInt(parseFloat(arguments[1]) * 9 / 5 + 32);
  4836.         temperature = "T: " + String(arguments[1]) + "℃" + "(" + String(tmperatueF) + "°F)";
  4837.         if (Struct.tempType == "0") {
  4838.             $("#liveTemperature").text("");
  4839.         }
  4840.         else{
  4841.             $("#liveTemperature").text(temperature);
  4842.         }
  4843.     }
  4844.     break;
  4845.     case 159:
  4846.     {
  4847.         if (!isSoftAPMode) {
  4848.             var ftperr = arguments[1];
  4849.             var channel = arguments[2];
  4850.             if (ftperr == 1) {
  4851.                 ShowPaop(lg.get("IDS_TIPS"), "\</br\>\<center\>\<font style='color:red; font-weight:700;font-size:12px;'\>" + lg.get("IDS_CH") + " " + (channel + 1) + " " + lg.get("IDS_FTP_CONNECTERR") + "\</font\>\</center\>\</br\>" + lg.get("IDS_FTP_CONNECTERR1") + "\</br\>\</br\>" + lg.get("IDS_FTP_CONNECTERR2"));
  4852.             }
  4853.             else {
  4854.                 // 新需求 更改FTP上传失败的提示            
  4855.                // ShowPaop(lg.get("IDS_TIPS"), "\</br\>\<center\>\<font style='color:red; font-weight:700;font-size:12px;'\>" + lg.get("IDS_CH") + " " + (channel + 1) + " " + lg.get("IDS_FTP_GOTOERR") + "\</font\>\</center\>\</br\>" + lg.get("IDS_FTP_GOTOERR1") + "\</br\>\</br\>" + lg.get("IDS_FTP_CONNECTERR2"));
  4856.                 ShowPaop(lg.get("IDS_TIPS"), "\</br\>\<font style='color:red; font-weight:700;font-size:12px;'\>" + lg.get("IDS_CH") + " " + (channel + 1) + " " + lg.get("IDS_FTP_UPLOADERR"));
  4857.             }
  4858.         }
  4859.     }
  4860.     break;
  4861.     case 160:
  4862.     {
  4863.         var errNo = arguments[1] * 1;
  4864.         if (errNo == 1) {
  4865.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_CLOUD_SPACE_ALARM_EMPTY"));
  4866.         } else if (errNo == 2) {
  4867.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_CLOUD_SPACE_ALARM_200"));
  4868.         } else if (errNo == 3) {
  4869.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_CLOUD_SPACE_ALARM_500"));
  4870.         }
  4871.     }
  4872.     break;
  4873.     case 163:
  4874.     {
  4875.         humidity = arguments[1] * 1;
  4876.         if (Struct.humidityType == "0") {
  4877.             $("#liveHumidity").text("");
  4878.         }
  4879.         else {
  4880.             $("#liveHumidity").text("H: " + humidity + "%");
  4881.         }
  4882.     }
  4883.     break;
  4884.     case 164:
  4885.     {
  4886.         Struct.tempType = arguments[1];
  4887.         if (Struct.tempType == "0") {
  4888.             $("#alarm_temperature").css("display", "none");
  4889.             ShowPaop2(lg.get("IDS_TIPS"), lg.get("IDS_HUMIDITY_TYPE1"));
  4890.         }
  4891.         else if (Struct.tempType == "1") {
  4892.             $("#alarm_temperature").css("display", "");
  4893.             ShowPaop2(lg.get("IDS_TIPS"), lg.get("IDS_HUMIDITYS_TYPE1"));
  4894.         }
  4895.  
  4896.     }
  4897.     break;
  4898.     case 165:
  4899.     {
  4900.         Struct.humidityType = arguments[1];
  4901.         if (Struct.humidityType == "0") {
  4902.             $("#alarm_humidity").css("display", "none");
  4903.             if (gVar_first.model == "1112") {
  4904.                 ShowPaop3(lg.get("IDS_TIPS"), lg.get("IDS_HUMIDITY_TYPE2"));
  4905.             }
  4906.             else {
  4907.                 ShowPaop2(lg.get("IDS_TIPS"), lg.get("IDS_HUMIDITY_TYPE2"));
  4908.             }
  4909.         }
  4910.         else if (Struct.humidityType == "1") {
  4911.             $("#alarm_humidity").css("display", "");
  4912.             if (gVar_first.model == "1112") {
  4913.                 ShowPaop3(lg.get("IDS_TIPS"), lg.get("IDS_HUMIDITYS_TYPE2"));
  4914.             }
  4915.             else {
  4916.                 ShowPaop2(lg.get("IDS_TIPS"), lg.get("IDS_HUMIDITYS_TYPE2"));
  4917.             }
  4918.         }
  4919.     }
  4920.     break;
  4921.     case 602:
  4922.     {
  4923.         var fileUpdateErrNo = arguments[1] * 1;
  4924.         if (fileUpdateErrNo == 1) {
  4925.             //数据格式问题
  4926.             if (lanPage == "sys_dr") {
  4927.                 ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_SYS_FILEFIL") + ": " + lg.get("IDS_SYS_CONFIG_MODEL_NO_MATCH"));
  4928.             }
  4929.         } else if (fileUpdateErrNo == 2) {
  4930.             //未登录 无权限
  4931.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_SYSDR_NOLOGIN"));
  4932.         } else if (fileUpdateErrNo == 3) {
  4933.             //正在升级
  4934.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_SYSDR_STATION"));
  4935.         } else if (fileUpdateErrNo == 4) {
  4936.             //写文件失败
  4937.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_SYSDR_FAIL"));
  4938.         }
  4939.         clearTimeout(djsTimer);
  4940.         $("#sysDrResult").html("");
  4941.         $("#sysUpdataResult").html("");
  4942.         $("#sysUpdataResult_patch").html("");
  4943.         MasklayerHide();
  4944.     }
  4945.     break;
  4946.     case 604:
  4947.     {
  4948.         var firmUpdateResult = arguments[1] * 1;  //-1 - fail; 0 - success
  4949.         getDevIPandPort();
  4950.         var rebootTime = 70;
  4951.         if(gVar_first.model > 5000 && gVar_first.model < 6000){
  4952.             rebootTime = 85;
  4953.             if(IsInArray(needMoreTimeIPC,gVar_first.model)){
  4954.                 rebootTime = 120;
  4955.             }
  4956.         }
  4957.         if (firmUpdateResult == "0") {
  4958.             if (lanPage == "sys_updata") {
  4959.                 $("#Supresult").val(lg.get("IDS_SYS_UPSEC"));
  4960.                 clearTimeout(djsTimer);
  4961.                 Do_js_Time("sysUpdataResult", rebootTime, lg.get("IDS_SYS_UPSEC") + "," + lg.get("IDS_COM_RESTART"), "0", "55px");
  4962.             } else if (lanPage == "sys_patch") {
  4963.                 $("#Supresult_patch").val(lg.get("IDS_SYS_UPSEC"));
  4964.                 clearTimeout(djsTimer);
  4965.                 Do_js_Time("sysUpdataResult_patch", rebootTime, lg.get("IDS_SYS_UPSEC") + "," + lg.get("IDS_COM_RESTART"), "0", "55px");
  4966.             }
  4967.             $("#MaskError").fadeOut("fast");
  4968.         } else {
  4969.             if (lanPage == "sys_updata") {
  4970.                 $("#Supresult").val(lg.get("IDS_SYS_UPFAIL"));
  4971.                 clearTimeout(djsTimer);
  4972.                 Do_js_Time("sysUpdataResult", rebootTime, lg.get("IDS_SYS_UPFAIL") + "," + lg.get("IDS_COM_RESTART"), "0", "55px");
  4973.             } else if (lanPage == "sys_patch") {
  4974.                 $("#Supresult_patch").val(lg.get("IDS_SYS_UPFAIL"));
  4975.                 clearTimeout(djsTimer);
  4976.                 Do_js_Time("sysUpdataResult_patch", rebootTime, lg.get("IDS_SYS_UPFAIL") + "," + lg.get("IDS_COM_RESTART"), "0", "55px");
  4977.             }
  4978.             $("#MaskError").fadeOut("fast");
  4979.         }
  4980.     }
  4981.     break;
  4982.     case 605:
  4983.     {
  4984.         var configUpdateResult = arguments[1] * 1;  //-1 - fail; 0 - success
  4985.         getDevIPandPort();
  4986.         if (configUpdateResult == 0) {
  4987.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_SYS_FILESEC"))
  4988.             clearTimeout(djsTimer);
  4989.             $("#MaskError").fadeOut("fast");
  4990.             Do_js_Time("sysDrResult", 60, lg.get("IDS_SYS_FILESEC") + "," + lg.get("IDS_COM_RESTART"), "0", "55px");
  4991.         } else {
  4992.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_SYS_FILEFIL"))
  4993.             clearTimeout(djsTimer);
  4994.             $("#MaskError").fadeOut("fast");
  4995.             Do_js_Time("sysDrResult", 60, lg.get("IDS_SYS_FILEFIL"), "0", "55px");
  4996.            
  4997.         }
  4998.     }
  4999.     break;
  5000.     case 162:
  5001.     {
  5002.         var SDCardState = arguments[1] * 1;
  5003.         var chnnNo = arguments[2] * 1 + 1;
  5004.         if (SDCardState == 1) {
  5005.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_SD_STORAGE_ALARM_128") + lg.get("IDS_CHANNEL_NO") + lg.get("IDS_BS_MUL" + chnnNo));
  5006.         } else if (SDCardState == 2) {
  5007.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_SD_STORAGE_ALARM_256") + lg.get("IDS_CHANNEL_NO") + lg.get("IDS_BS_MUL" + chnnNo));
  5008.         } else if (SDCardState == 3) {
  5009.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_SD_STORAGE_ALARM_384") + lg.get("IDS_CHANNEL_NO") + lg.get("IDS_BS_MUL" + chnnNo));
  5010.         } else if (SDCardState == 5) {
  5011.             ShowPaop(lg.get("IDS_TIPS"), lg.get("IDS_SD_STORAGE_ALARM_500") + lg.get("IDS_CHANNEL_NO") + lg.get("IDS_BS_MUL" + chnnNo));
  5012.         }
  5013.     }
  5014.     break;
  5015.     case 20002:
  5016.     {
  5017.       fixCircelPos(arguments[1], arguments[2]);
  5018.     }
  5019.     break;
  5020.     default:
  5021.     break;
  5022.     }
  5023. }
  5024. function getNAACall(xml)
  5025. {  
  5026.     debug("getNAACall", "getNAACall");
  5027.    
  5028.     try {
  5029.         if(xml != null && $(xml).find("result").text() == "0"){
  5030.             $("#liveNAA").css("display", "");
  5031.             $("#liveVideo_NAA").val($(xml).find("enable").text()*1);
  5032.         }else{
  5033.             $("#liveNAA").css("display", "none");
  5034.         }      
  5035.        
  5036.         MasklayerHide();
  5037.     } catch (e) {
  5038.         MasklayerHide();
  5039.     }
  5040.  
  5041. }
  5042.  
  5043. function safariAutoplaySettingCheck (media) {
  5044.     var promise = media.play();
  5045.     if (promise !== undefined) {
  5046.         promise.then(function (value) {
  5047.             console.log("promise, safari allow autoplay");
  5048.         });
  5049.        
  5050.         promise.catch(function (value) {
  5051.             console.log("promise, safari deny autoplay e=" + value);
  5052.         });
  5053.     }
  5054. }
  5055.  
  5056. //
  5057. // Sarfari on macOS, media element often pause, maybe it has no buffer to play, but it can't
  5058. // play after new media data arrived, so a timer check video and audio to make them to play
  5059. //
  5060. function Flv_load_video () {
  5061.     console.log("-------------------Flv_load_video--------------------");
  5062.    
  5063.     if (videoTimer != null)
  5064.         clearInterval(videoTimer);
  5065.    
  5066.     var url = "http://127.0.0.1:"+ livePort + "/live/playlist1.json";
  5067.     var xhr = new XMLHttpRequest();
  5068.     xhr.open('GET', url, true);
  5069.     xhr.onload = function (e) {
  5070.         var xhrResponse = xhr.response;
  5071.         //console.log("xhrResponse : " + xhrResponse);
  5072.         var mediaDataSource = JSON.parse(xhr.response);
  5073.        
  5074.         if (typeof playerVideo != "undefined") {
  5075.             if (playerVideo != null) {
  5076.                 playerVideo.unload();
  5077.                 playerVideo.detachMediaElement();
  5078.                 playerVideo.destroy();
  5079.                 playerVideo = null;
  5080.             }
  5081.         }
  5082.  
  5083.     var playervideoinit =setInterval(function() {
  5084.             if (playerVideo == null) {
  5085.         playerVideo = flvjs.createPlayer(mediaDataSource, {
  5086.             enableWorker: false,
  5087.             enableStashBuffer: false,
  5088.             isLive:true,
  5089.             seekType: 'range',
  5090.             stashInitialSize: 128
  5091.         });
  5092.             }else{
  5093.                    clearInterval(playervideoinit);
  5094.                    playvideoNextProcess();
  5095.             }
  5096.  
  5097.     },100);
  5098.  
  5099. }
  5100.  
  5101. function playvideoNextProcess(){
  5102.         var element = document.getElementsByName('videoElement')[0];
  5103.         playerVideo.attachMediaElement(element);
  5104.        
  5105.         // Call setTimeout for that make safari to buffer media in 2s,
  5106.         // setInerval is for keeping player to play.
  5107.         if (IsSarfariSupportH5()) {
  5108.             element.oncanplay = function() {
  5109.                 //console.log("video can play");
  5110.                 safariAutoplaySettingCheck(playerVideo);
  5111.  
  5112.                 setTimeout(function() {
  5113.                     this.playerVideo.play();
  5114.                     videoTimer = setInterval(function() {
  5115.                         if (element.pause) {
  5116.                             var buffered = element.buffered;
  5117.                             var currentTime = element.currentTime;
  5118.                             var currentRangeStart = 0;
  5119.                             var currentRangeEnd = 0;
  5120.  
  5121.                             for (var i = 0; i < buffered.length; i++) {
  5122.                                 var start = buffered.start(i);
  5123.                                 var end = buffered.end(i);
  5124.                                 //console.log("video paused, start=" + start + " end=" + end + " currenttime=" + element.currentTime);
  5125.                                 this.playerVideo.play();
  5126.                             }
  5127.                            
  5128.                             if (end - start > 2)
  5129.                                 this.playerVideo._internalSeek(buffered.end(0) - 1);
  5130.                         }
  5131.                    
  5132.                     }, 10000);
  5133.                 }, 1000);              
  5134.             };
  5135.         }
  5136.        
  5137.         playerVideo.load();
  5138.         if (!IsSarfariSupportH5()) {
  5139.             playerVideo.play();
  5140.         }
  5141.            
  5142.     }
  5143.     xhr.onreadystatechange = function () {
  5144.         console.log("state == " + xhr.readyState);
  5145.     }
  5146.     xhr.send();
  5147. }
  5148. function Flv_load_audio () {
  5149.  
  5150.     console.log("-------------------Flv_load_audio--------------------");
  5151.    
  5152.     if (audioTimer != null)
  5153.         clearInterval(audioTimer);
  5154.    
  5155.     var url = "http://127.0.0.1:"+ livePort + "/live/playlist2.json";
  5156.     var xhr = new XMLHttpRequest();
  5157.     xhr.open('GET', url, true);
  5158.     xhr.onload = function (e) {
  5159.         var xhrResponse = xhr.response;
  5160.         //console.log("xhrResponse : " + xhrResponse);
  5161.         var mediaDataSource = JSON.parse(xhr.response);
  5162.        
  5163.         if (typeof playerAudio != "undefined") {
  5164.             if (playerAudio != null) {
  5165.                 playerAudio.unload();
  5166.                 playerAudio.detachMediaElement();
  5167.                 playerAudio.destroy();
  5168.                 playerAudio = null;
  5169.             }
  5170.         }
  5171.         var playeraudioinit =setInterval(function() {
  5172.             if (playerAudio == null) {
  5173.         playerAudio = flvjs.createPlayer(mediaDataSource, {
  5174.             enableWorker: false,
  5175.             enableStashBuffer: false,
  5176.             isLive:true,
  5177.             seekType: 'range',
  5178.             stashInitialSize: 128
  5179.         });
  5180.              } else {
  5181.                  clearInterval(playeraudioinit);
  5182.                  playaudioNextprocess();
  5183.  
  5184.              }
  5185.          },100);
  5186. }
  5187.  
  5188. function playaudioNextprocess() {
  5189.         var element = document.getElementsByName('audioElement')[0];
  5190.         playerAudio.attachMediaElement(element);
  5191.        
  5192.         if (IsSarfariSupportH5()) {
  5193.             element.oncanplay = function() {
  5194.                 //console.log("audio can play");
  5195.                 safariAutoplaySettingCheck(playerAudio);
  5196.                
  5197.                 setTimeout(function () {
  5198.                     playerAudio.play();
  5199.                    
  5200.                     audioTimer = setInterval(function() {
  5201.                         if (element.pause) {
  5202.                             var buffered = element.buffered;
  5203.                             var currentTime = element.currentTime;
  5204.                             var currentRangeStart = 0;
  5205.                             var currentRangeEnd = 0;
  5206.  
  5207.                             for (var i = 0; i < buffered.length; i++) {
  5208.                                 var start = buffered.start(i);
  5209.                                 var end = buffered.end(i);
  5210.                                 //console.log("audio paused, start=" + start + " end=" + end + " currenttime=" + element.currentTime);
  5211.                                 this.playerAudio.play();
  5212.                             }
  5213.                            
  5214.                             if (end - start > 5)
  5215.                                 this.playerAudio._internalSeek(buffered.end(0) - 1.5);
  5216.                         }
  5217.                    
  5218.                     }, 10000); 
  5219.                 }, 1000);              
  5220.             };
  5221.         }
  5222.        
  5223.         playerAudio.load();
  5224.         playerVideo.audioPlayer = playerAudio;
  5225.     }
  5226.     xhr.onreadystatechange = function () {
  5227.         console.log("state == " + xhr.readyState);
  5228.     }
  5229.     xhr.send();
  5230. }
  5231. function flv_destroy() {
  5232.     //console.log("-------------flv_destory--------------------");
  5233.     try {
  5234.         if (videoTimer != null)
  5235.             clearInterval(videoTimer);
  5236.        
  5237.         if (audioTimer != null)
  5238.             clearInterval(audioTimer);
  5239.        
  5240.         if (playerVideo != null) {
  5241.             playerVideo.unload();
  5242.             playerVideo.detachMediaElement();
  5243.             playerVideo.destroy();
  5244.             playerVideo = null;
  5245.         }
  5246.  
  5247.         if (playerAudio != null) {
  5248.             playerAudio.unload();
  5249.             playerAudio.detachMediaElement();
  5250.             playerAudio.destroy();
  5251.             playerAudio = null;
  5252.         }
  5253.  
  5254.         //console.log("-------------flv_destory complete--------------------");
  5255.     } catch (e) {
  5256.        
  5257.     }
  5258.  
  5259. }
  5260. var interval = 1000*60*60*4;
  5261. /*
  5262. setInterval(function (){
  5263.  
  5264. },interval)
  5265. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement