1234 |
- !function(){if(!window.WebVideoCtrl){var e=function(){function e(e,t,n){return(e<<16|t<<8|n).toString(16)}function n(e,t){return(Array(t).join("0")+e).slice(-t)}function r(e){var t=/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;if(e&&t.test(e)){if(4===e.length){for(var n="#",r=1;4>r;r+=1)n+=e.slice(r,r+1).concat(e.slice(r,r+1));e=n}for(var s=[],r=1;7>r;r+=2)s.push(parseInt("0x"+e.slice(r,r+2)));return"["+s.join(",")+",0.6]"}return e}function s(){return void 0!==s.unique?s.unique:(this.szIP="",this.szHostName="",this.szAuth="",this.szHttpProtocol="http://",this.iCGIPort=80,this.szDeviceIdentify="",this.iDevicePort=-1,this.iHttpPort=-1,this.iHttpsPort=-1,this.iRtspPort=-1,this.iWSPort=-1,this.iAudioType=1,this.m_iAudioBitRate=-1,this.m_iAudioSamplingRate=-1,this.iDeviceProtocol=x,this.oProtocolInc=null,this.iAnalogChannelNum=0,this.szDeviceType="",this.bVoiceTalk=!1,this.oAuthType={},this.oStreamCapa={bObtained:!1,bSupportShttpPlay:!1,bSupportShttpPlayback:!1,bSupportShttpsPlay:!1,bSupportShttpsPlayback:!1,bSupportShttpPlaybackTransCode:!1,bSupportShttpsPlaybackTransCode:!1,iIpChanBase:1},s.unique=this,void 0)}function o(){this.id=this.createUUID()}var a="100%",u="100%",c="",l="";oSecurityCap={},szAESKey="";var d={szversion:"websdk3.220200429",szContainerID:"",szColorProperty:"",szOcxClassId:"clsid:FDF0038A-CF64-4634-81AB-80F0A7946D6C",szMimeTypes:"application/webvideo-plugin-kit",szBasePath:"",iWndowType:1,iPlayMode:2,bWndFull:!0,iPackageType:2,bDebugMode:!1,bNoPlugin:!0,cbSelWnd:null,cbDoubleClickWnd:null,cbEvent:null,cbRemoteConfig:null,cbInitPluginComplete:null,proxyAddress:null},p=null,f=0,h=!1,P=[],I=[],m=null,v=null,C=null,S=null,y=this,g=null;this.w_options=d,this.w_deviceSet=P,this.w_wndSet=I,this.w_xmlLocalCfg=g;var x=1,D=2,z=200,b=0,T=1,A=2,M=3,L=4,q=5,R=6,w=0,G=2,W=3,X=21,_=-1,H=0,k="IPCamera",E="IPDome",Z="IPZoom",B="<?xml version='1.0' encoding='utf-8'?><FileVersion><Platform name='win32'><npWebVideoKitPlugin.dll>3,0,6,2</npWebVideoKitPlugin.dll><WebVideoKitActiveX.ocx>3,0,6,2</WebVideoKitActiveX.ocx><PlayCtrl.dll>7,3,3,61</PlayCtrl.dll><StreamTransClient.dll>1,1,3,6</StreamTransClient.dll><SystemTransform.dll>2,5,2,8</SystemTransform.dll><NetStream.dll>1,0,5,59</NetStream.dll></Platform></FileVersion>";window.GetSelectWndInfo=function(e){if(ct()){f=e;var n=[];n.push("<RealPlayInfo>"),n.push("<SelectWnd>"+e+"</SelectWnd>"),n.push("</RealPlayInfo>"),d.cbSelWnd&&d.cbSelWnd(S.loadXML(n.join("")))}else{var r=S.loadXML(e);if(t.$XML(r).find("SelectWnd",!0).length>0){f=parseInt(t.$XML(r).find("SelectWnd").eq(0).text(),10),null===g&&Y();var n=[];n.push("<RealPlayInfo>"),n.push("<SelectWnd>"+f+"</SelectWnd>"),n.push("</RealPlayInfo>"),d.cbSelWnd&&d.cbSelWnd(S.loadXML(n.join("")))}else if(t.$XML(r).find("DoubleClickWnd",!0).length>0){var s=parseInt(t.$XML(r).find("DoubleClickWnd").eq(0).text(),10);h="0"===t.$XML(r).find("IsFullScreen").eq(0).text(),d.cbDoubleClickWnd&&d.cbDoubleClickWnd(s,h)}}},window.WindowDblClick=function(e){h=e,d.cbDoubleClickWnd&&d.cbDoubleClickWnd(f,h)},window.ZoomInfoCallback=function(e){var t=y.findWndIndexByIndex(f);if(-1!=t){var n=I[t];if(t=y.findDeviceIndexByIP(n.szDeviceIdentify),-1!=t){var r=P[t];r.oProtocolInc.set3DZoom(r,n,e,{success:function(){},error:function(){}})}}},window.PluginEventHandler=function(e,t,n){ct()?d.cbEvent&&d.cbEvent(e,t,n):(w==t||G==t?y.I_Stop(e):X==t?y.I_StopRecord(e):W==t&&y.I_StopVoiceTalk(),d.cbEvent&&d.cbEvent(t,e,n))},window.GetHttpInfo=function(e,t){Pt.prototype.processCallback(e,t)},window.RemoteConfigInfo=function(e){d.cbRemoteConfig&&d.cbRemoteConfig(e)},window.KeyBoardEventInfo=function(e){100===parseInt(e,10)&&(h=!1,d.cbDoubleClickWnd&&d.cbDoubleClickWnd(f,h))};var N=function(){if(d.bDebugMode){var e=F(arguments);m._alert(e)}},F=function(){for(var e=arguments[0],t=1;t<arguments.length;t++)e=e.replace("%s",arguments[t]);return e},V=function(e){var t=e.indexOf(":");return t>-1?e.substring(0,t):e},U=function(e){return"undefined"==typeof e},j=function(e){return"[object Object]"===Object.prototype.toString.call(e)},O=function(e,t){var n="",r={type:"GET",async:!1,success:function(e){e&&e.Token&&(n=e.Token.value)}},s="ISAPI/Security/token?format=json";return y.I_SendHTTPRequest(t,s,r),n},J=function(e,n,r){y.I_GetSecurityVersion(e,{success:function(e){oSecurityCap.iKeyIterateNum=parseInt(t.$XML(e).find("keyIterateNum").eq(0).text(),10),oSecurityCap.oIrreversibleEncrypt={bSupport:"true"===t.$XML(e).find("isIrreversible").eq(0).text(),salt:t.$XML(e).find("salt").eq(0).text()},szAESKey=S.strToAESKey(n,r)}})},K=function(){var e="";if(S.browser().msie)e="<object classid='"+d.szOcxClassId+"' codebase='' standby='Waiting...' "+"id='"+c+"' width='"+a+"' height='"+u+"' align='center' >"+"<param name='wndtype' value='"+d.iWndowType+"'>"+"<param name='playmode' value='"+d.iPlayMode+"'>"+"<param name='colors' value='"+d.szColorProperty+"'></object>";else for(var t=navigator.mimeTypes.length,n=0;t>n;n++)navigator.mimeTypes[n].type.toLowerCase()==d.szMimeTypes&&(e="<embed align='center' type='"+d.szMimeTypes+"' width='"+a+"' height='"+u+"' name='"+l+"' wndtype='"+d.iWndowType+"' playmode='"+d.iPlayMode+"' colors='"+d.szColorProperty+"'>");return e},Y=function(){if(!ct()&&null!==p){var e=p.HWP_GetLocalConfig();g=S.loadXML(e)}},Q=function(e){y.I_GetDeviceInfo(e.szIP,{success:function(n){e.szDeviceType=t.$XML(n).find("deviceType").eq(0).text()}}),y.I_GetAnalogChannelInfo(e.szIP,{success:function(){},error:function(){}}),y.I_GetAudioInfo(e.szIP,{success:function(n){var r=t.$XML(n).find("audioCompressionType",!0);if(r.length>0){var s=t.$XML(r).eq(0).text(),o=0;"G.711ulaw"==s?o=1:"G.711alaw"==s?o=2:"G.726"==s?o=3:"MP2L2"==s||"MPEL2"==s?o=4:"G.722.1"==s?o=0:"AAC"==s?o=5:"PCM"==s&&(o=6),e.iAudioType=o}e.m_iAudioBitRate=""!==t.$XML(n).find("audioBitRate").eq(0).text()?1e3*parseInt(t.$XML(n).find("audioBitRate").eq(0).text(),10):0,e.m_iAudioSamplingRate=""!==t.$XML(n).find("audioSamplingRate").eq(0).text()?1e3*parseInt(t.$XML(n).find("audioSamplingRate").eq(0).text(),10):0}})},et=function(e){e.bSupportWebsocket=!1,e.bSupportSubStreamPlayback=!1,e.oProtocolInc.getSystemCapa(e,{success:function(n){var r=t.$XML(n).find("NetworkCap").eq(0).find("isSupportWebsocket",!0);r.length>0&&(e.bSupportWebsocket="true"===t.$XML(n).find("NetworkCap").eq(0).find("isSupportWebsocket").eq(0).text()),e.bSupportWebsocket=!0,r=t.$XML(n).find("RacmCap").eq(0).find("isSupportMainAndSubRecord",!0),r.length>0&&(e.bSupportSubStreamPlayback="true"===t.$XML(n).find("RacmCap").eq(0).find("isSupportMainAndSubRecord").eq(0).text()),e.bSupportSubStreamPlayback=!0}})},tt=function(){var e=d.bWndFull?1:0;p.HWP_SetCanFullScreen(e),p.HWP_SetPackageType(d.iPackageType)},nt=function(e){var t=-1,n=-1,r=-1,s=null;if(it(e))s=rt(e),t=s.iRtspPort,r=s.iDevicePort;else{for(var o=ot(e),i=!1,a=0;a<o.length;a++)if(o[a].ipv4==e.szIP||o[a].ipv6==e.szIP){i=!0;break}i?s=rt(e):(s=st(e),-1==s.iRtspPort&&-1==s.iDevicePort&&(s=rt(e))),t=s.iRtspPort,n=s.iHttpPort,r=s.iDevicePort}return s},rt=function(e){var n=-1,r=-1,s=-1;return e.oProtocolInc.getPortInfo(e,{async:!1,success:function(e){var o=t.$XML(e).find("AdminAccessProtocol",!0);n=554;for(var i=0,a=o.length;a>i;i++)"rtsp"===t.$XML(o).eq(i).find("protocol").eq(0).text().toLowerCase()&&(n=parseInt(t.$XML(o).eq(i).find("portNo").eq(0).text(),10)),"http"===t.$XML(o).eq(i).find("protocol").eq(0).text().toLowerCase()&&(r=parseInt(t.$XML(o).eq(i).find("portNo").eq(0).text(),10)),"dev_manage"===t.$XML(o).eq(i).find("protocol").eq(0).text().toLowerCase()&&(s=parseInt(t.$XML(o).eq(i).find("portNo").eq(0).text(),10))},error:function(){n=-1,r=-1,s=-1}}),{iRtspPort:n,iHttpPort:r,iDevicePort:s}},st=function(e){var n=-1,r=-1,s=-1;return e.oProtocolInc.getUPnPPortStatus(e,{async:!1,success:function(e){for(var o=t.$XML(e).find("portStatus",!0),i=0,a=o.length;a>i;i++)"rtsp"==t.$XML(o).eq(i).find("internalPort").eq(0).text().toLowerCase()&&(n=parseInt(t.$XML(o).eq(i).find("externalPort").eq(0).text(),10)),"http"==t.$XML(o).eq(i).find("internalPort").eq(0).text().toLowerCase()&&(r=parseInt(t.$XML(o).eq(i).find("externalPort").eq(0).text(),10)),"admin"==t.$XML(o).eq(i).find("internalPort").eq(0).text().toLowerCase()&&(s=parseInt(t.$XML(o).eq(i).find("externalPort").eq(0).text(),10))},error:function(){n=-1,r=-1,s=-1}}),{iRtspPort:n,iHttpPort:r,iDevicePort:s}},ot=function(e){var n=[];return e.oProtocolInc.getNetworkBond(e,{async:!1,success:function(r){"true"==t.$XML(r).find("enabled").eq(0).text()?n.push({ipv4:t.$XML(r).find("ipAddress").eq(0).text(),ipv6:t.$XML(r).find("ipv6Address").eq(0).text()}):e.oProtocolInc.getNetworkInterface(e,{async:!1,success:function(e){for(var r=t.$XML(e).find("NetworkInterface",!0),s=0,o=r.length;o>s;s++){n.push({ipv4:t.$XML(e).find("ipAddress").eq(0).text(),ipv6:t.$XML(e).find("ipv6Address").eq(0).text()});break}},error:function(){}})},error:function(){e.oProtocolInc.getNetworkInterface(e,{async:!1,success:function(e){for(var r=t.$XML(e).find("NetworkInterface",!0),s=0,o=r.length;o>s;s++){n.push({ipv4:t.$XML(e).find("ipAddress").eq(0).text(),ipv6:t.$XML(e).find("ipv6Address").eq(0).text()});break}},error:function(){}})}}),n},it=function(e){var n=!1;return e.oProtocolInc.getPPPoEStatus(e,{async:!1,success:function(e){n=t.$XML(e).find("ipAddress",!0).length>0?!0:t.$XML(e).find("ipv6Address",!0).length>0?!0:!1},error:function(){n=!1}}),n},at=function(e){e.oProtocolInc instanceof It&&e.oProtocolInc.getSDKCapa(e,{async:!1,success:function(n){e.oStreamCapa.bObtained=!0,e.oStreamCapa.bSupportShttpPlay="true"===t.$XML(n).find("isSupportHttpPlay").eq(0).text(),e.oStreamCapa.bSupportShttpPlayback="true"===t.$XML(n).find("isSupportHttpPlayback").eq(0).text(),e.oStreamCapa.bSupportShttpsPlay="true"===t.$XML(n).find("isSupportHttpsPlay").eq(0).text(),e.oStreamCapa.bSupportShttpsPlayback="true"===t.$XML(n).find("isSupportHttpsPlayback").eq(0).text(),e.oStreamCapa.bSupportShttpPlaybackTransCode="true"===t.$XML(n).find("isSupportHttpTransCodePlayback").eq(0).text(),e.oStreamCapa.bSupportShttpsPlaybackTransCode="true"===t.$XML(n).find("isSupportHttpsTransCodePlayback").eq(0).text(),e.oStreamCapa.iIpChanBase=t.$XML(n).find("ipChanBase",!0).length>0?parseInt(t.$XML(n).find("ipChanBase").eq(0).text(),10):1},error:function(){e.oStreamCapa.bObtained=!0}})},ut=function(e){var t={TransFrameRate:"",TransResolution:"",TransBitrate:""};if(S.extend(t,e),""==t.TransFrameRate||""==t.TransResolution||""==t.TransBitrate)return"";var n=[];return n.push("<?xml version='1.0' encoding='UTF-8'?>"),n.push("<CompressionInfo>"),n.push("<TransFrameRate>"+t.TransFrameRate+"</TransFrameRate>"),n.push("<TransResolution>"+t.TransResolution+"</TransResolution>"),n.push("<TransBitrate>"+t.TransBitrate+"</TransBitrate>"),n.push("</CompressionInfo>"),n.join("")},ct=function(){if(d.bNoPlugin){var e=S.browser();return e.chrome&&parseInt(e.version,10)>45||e.mozilla&&parseInt(e.version,10)>52?!0:!1}return!1},lt=function(e){var t=location.hostname,n=location.port||"80";return d.proxyAddress&&(t=d.proxyAddress.ip,n=d.proxyAddress.port),/^(http|https):\/\/([^\/]+)(.+)$/.test(e)&&(e=e.replace(RegExp.$2,t+":"+n)),S.cookie("webVideoCtrlProxy",RegExp.$2,{raw:!0}),e},dt=function(e){var t=location.hostname,n=location.port||"80";return/^(ws):\/\/([^\/:]+):(\d+)\/(.+)$/.test(e)&&(e=e.replace(RegExp.$2+":"+RegExp.$3,t+":"+n)),e.indexOf("ws")>-1?S.cookie("webVideoCtrlProxyWs",RegExp.$2+":"+RegExp.$3,{raw:!0}):S.cookie("webVideoCtrlProxyWss",RegExp.$2+":"+RegExp.$3,{raw:!0}),S.cookie("webVideoCtrlProxyWsChannel",RegExp.$4,{raw:!0}),e+"/webSocketVideoCtrlProxy"},pt=function(){var e="<ResponseStatus>";return e+="<requestURL></requestURL>",e+="<statusCode>4</statusCode>",e+="<statusString>Invalid Operation</statusString>",e+="<subStatusCode>notSupport</subStatusCode>",e+="</ResponseStatus>",S.loadXML(e)};this.I_SupportNoPlugin=function(){return ct()},this.I_DestroyWorker=function(){null!==p&&ct()&&p.JS_DestroyWorker()},this.I_Resize=function(e,t){null!==p&&ct()&&(a=e,u=t,p.JS_Resize(e,t))},this.I_InitPlugin=function(e,t,n){if(a=e,u=t,S.extend(d,n),ct()){var r=S.getDirName();r&&("object"==typeof exports&&"undefined"!=typeof module||("function"==typeof define&&define.amd?require([r+"/jsPlugin-1.2.0.min.js"],function(e){window.JSPlugin=e.JSPlugin,n.cbInitPluginComplete&&n.cbInitPluginComplete()}):S.loadScript(r+"/jsPlugin-1.2.0.min.js",function(){n.cbInitPluginComplete&&n.cbInitPluginComplete()}))),window.addEventListener("resize",function(){null!==p&&ct()&&p.JS_Resize($("#divPlugin").width(),$("#divPlugin").height())}),U(document.fullScreen)?U(document.webkitIsFullScreen)?U(document.mozFullScreen)||document.addEventListener("mozfullscreenchange",function(){var e=document.fullscreen||document.webkitIsFullScreen||document.mozFullScreen||!1;h&&!e&&window.KeyBoardEventInfo(100)}):document.addEventListener("webkitfullscreenchange",function(){var e=document.fullscreen||document.webkitIsFullScreen||document.mozFullScreen||!1;h&&!e&&window.KeyBoardEventInfo(100)}):document.addEventListener("fullscreenchange",function(){var e=document.fullscreen||document.webkitIsFullScreen||document.mozFullScreen||!1;h&&!e&&window.KeyBoardEventInfo(100)}),window.addEventListener("unload",function(){null!==p&&p.JS_DestroyWorker()})}else n.cbInitPluginComplete&&n.cbInitPluginComplete()},this.I_InsertOBJECTPlugin=function(e){if(U(e)||(d.szContainerID=e),null==document.getElementById(d.szContainerID))return-1;if(null!=document.getElementById(c)||0!=document.getElementsByName(c).length)return-1;if(ct()){var t={szId:e,iType:1,iWidth:a,iHeight:u,iMaxSplit:4,iCurrentSplit:d.iWndowType,szBasePath:S.getDirName()},n=d.szColorProperty;if(""!=n){for(var r={},s=n.split(";"),o="",i=0,f=s.length;f>i;i++)o=s[i],o.indexOf("sub-background")>-1?r.background="#"+o.split(":")[1]:o.indexOf("sub-border-select")>-1?r.borderSelect="#"+o.split(":")[1]:o.indexOf("sub-border")>-1&&(r.border="#"+o.split(":")[1]);t.oStyle=r}p=new JSPlugin(t)}else document.getElementById(d.szContainerID).innerHTML=K(),p=S.browser().msie?document.getElementById(c):document.getElementsByName(l)[0];return null==p&&null==p.object?-1:("object"==typeof window.attachEvent&&S.browser().msie&&(p.attachEvent("GetSelectWndInfo",GetSelectWndInfo),p.attachEvent("ZoomInfoCallback",ZoomInfoCallback),p.attachEvent("GetHttpInfo",GetHttpInfo),p.attachEvent("PluginEventHandler",PluginEventHandler),p.attachEvent("RemoteConfigInfo",RemoteConfigInfo),p.attachEvent("KeyBoardEventInfo",KeyBoardEventInfo)),Y(),0)},this.I_WriteOBJECT_XHTML=function(){return ct()?-1:(document.writeln(K()),p=S.browser().msie?document.getElementById(c):document.getElementsByName(l)[0],null==p&&null==p.object?-1:("object"==typeof window.attachEvent&&S.browser().msie&&(p.attachEvent("GetSelectWndInfo",GetSelectWndInfo),p.attachEvent("ZoomInfoCallback",ZoomInfoCallback),p.attachEvent("GetHttpInfo",GetHttpInfo),p.attachEvent("PluginEventHandler",PluginEventHandler),p.attachEvent("RemoteConfigInfo",RemoteConfigInfo),p.attachEvent("KeyBoardEventInfo",KeyBoardEventInfo)),Y(),0))},this.I_OpenFileDlg=function(e){var t="";if(ct())return t;if(t=p.HWP_OpenFileBrowser(e,""),null==t)return"";if(1==e){if(t.length>100)return-1}else if(t.length>130)return-1;return t},this.I2_OpenFileDlg=function(e){var t="",n=$.Deferred();return ct()?p.JS_OpenFileBrowser(e,"").then(function(t){null!=t?1==e?t.length>100&&n.resolve(-1):t.length>130&&n.resolve(-1):n.resolve(),n.resolve(t)}):(t=p.HWP_OpenFileBrowser(e,""),null!=t?1==e?t.length>100&&n.resolve(-1):t.length>130&&n.resolve(-1):n.resolve(),n.resolve(t)),n},this.I_GetLocalCfg=function(){var e=null;if(ct())return e;var n=p.HWP_GetLocalConfig(),r=[];return g=S.loadXML(n),r.push("<LocalConfigInfo>"),r.push("<ProtocolType>"+t.$XML(g).find("ProtocolType").eq(0).text()+"</ProtocolType>"),r.push("<PackgeSize>"+t.$XML(g).find("PackgeSize").eq(0).text()+"</PackgeSize>"),r.push("<PlayWndType>"+t.$XML(g).find("PlayWndType").eq(0).text()+"</PlayWndType>"),r.push("<BuffNumberType>"+t.$XML(g).find("BuffNumberType").eq(0).text()+"</BuffNumberType>"),r.push("<RecordPath>"+t.$XML(g).find("RecordPath").eq(0).text()+"</RecordPath>"),r.push("<CapturePath>"+t.$XML(g).find("CapturePath").eq(0).text()+"</CapturePath>"),r.push("<PlaybackFilePath>"+t.$XML(g).find("PlaybackFilePath").eq(0).text()+"</PlaybackFilePath>"),r.push("<PlaybackPicPath>"+t.$XML(g).find("PlaybackPicPath").eq(0).text()+"</PlaybackPicPath>"),r.push("<DeviceCapturePath>"+t.$XML(g).find("DeviceCapturePath").eq(0).text()+"</DeviceCapturePath>"),r.push("<DownloadPath>"+t.$XML(g).find("DownloadPath").eq(0).text()+"</DownloadPath>"),r.push("<IVSMode>"+t.$XML(g).find("IVSMode").eq(0).text()+"</IVSMode>"),r.push("<CaptureFileFormat>"+t.$XML(g).find("CaptureFileFormat").eq(0).text()+"</CaptureFileFormat>"),r.push("</LocalConfigInfo>"),e=S.loadXML(r.join(""))},this.I_SetLocalCfg=function(e){if(ct())return-1;var n=S.loadXML(e),r=!1;return t.$XML(g).find("ProtocolType").eq(0).text(t.$XML(n).find("ProtocolType").eq(0).text()),t.$XML(g).find("PackgeSize").eq(0).text(t.$XML(n).find("PackgeSize").eq(0).text()),t.$XML(g).find("PlayWndType").eq(0).text(t.$XML(n).find("PlayWndType").eq(0).text()),t.$XML(g).find("BuffNumberType").eq(0).text(t.$XML(n).find("BuffNumberType").eq(0).text()),t.$XML(g).find("RecordPath").eq(0).text(t.$XML(n).find("RecordPath").eq(0).text()),t.$XML(g).find("CapturePath").eq(0).text(t.$XML(n).find("CapturePath").eq(0).text()),t.$XML(g).find("PlaybackFilePath").eq(0).text(t.$XML(n).find("PlaybackFilePath").eq(0).text()),t.$XML(g).find("DeviceCapturePath").eq(0).text(t.$XML(n).find("DeviceCapturePath").eq(0).text()),t.$XML(g).find("PlaybackPicPath").eq(0).text(t.$XML(n).find("PlaybackPicPath").eq(0).text()),t.$XML(g).find("DownloadPath").eq(0).text(t.$XML(n).find("DownloadPath").eq(0).text()),t.$XML(g).find("IVSMode").eq(0).text(t.$XML(n).find("IVSMode").eq(0).text()),t.$XML(g).find("CaptureFileFormat").eq(0).text(t.$XML(n).find("CaptureFileFormat").eq(0).text()),r=p.HWP_SetLocalConfig(S.toXMLStr(g)),r?0:-1};var ft=function(e,t,n,r,o,i,a){var u={protocol:t,success:null,error:null};S.extend(u,a),S.extend(u,{success:function(u){var c=new s;c.szIP=e,2==t?(c.szHttpProtocol="https://",c.iHttpsPort=n):(c.szHttpProtocol="http://",c.iHttpPort=n),c.iCGIPort=n,c.szDeviceIdentify=e+"_"+n,c.szAuth=r,c.iDeviceProtocol=o,c.oProtocolInc=i,N("使用%s协议登录成功",o),Q(c),tt(),et(c),P.push(jQuery.extend({},c)),a.success&&a.success(u)},error:function(e,t){a.error&&a.error(e,t)}}),i.login(e,n,r,u)};this.getAuthType=function(e,n,r,s,o,i){e.oAuthType[n]=1;var a=v,u={async:!0,success:function(r){e.oAuthType[n]=t.$XML(r).find("sessionIDVersion").eq(0).text(),i()},error:function(t){t>500&&(e.oAuthType[n]=t),i(t)}};a.getSessionCap(n,r,s,o,u)},this.setDeviceInfo=function(e,t,n,r,o){var t=new s;return t.szIP=n,2==r?(t.szHttpProtocol="https://",t.iHttpsPort=o):(t.szHttpProtocol="http://",t.iHttpPort=o),t.iCGIPort=o,t.szDeviceIdentify=n+"_"+o,t.iDeviceProtocol=x,t.oProtocolInc=e,t},this.successV1cb=function(e,n,r,s,o,i,a,u){n=this.setDeviceInfo(e,n,r,s,o),n.szAuth=t.$XML(i).find("sessionID").eq(0).text(),Q(n),N("使用%s协议登录成功",x),J(n.szDeviceIdentify,a,u),n.sessionFailed=0,et(n);var c=jQuery.extend({},n);P.push(c),c.sesstionTimer=setInterval(function(){e.sessionHeartbeat(c,function(){c.sessionFailed=0},function(){c.sessionFailed++,c.sessionFailed>=5&&(window.PluginEventHandler(null,_,c.szDeviceIdentify),clearInterval(c.sesstionTimer))})},3e4)},this.successV2cb=function(e,t,n,r,s,o,i,a){t=this.setDeviceInfo(e,t,n,r,s),t.szAuth=O(t,t.szDeviceIdentify),Q(t),N("使用%s协议登录成功",x),document.cookie="domain='10.18.99.194';path=/;",et(t),J(t.szDeviceIdentify,i,a),t.sessionFailed=0;var u=jQuery.extend({},t);P.push(u),u.sesstionTimer=setInterval(function(){e.sessionHeartbeat(u,function(){u.sessionFailed=0},function(){u.sessionFailed++,u.sessionFailed>=5&&(window.PluginEventHandler(null,_,u.szDeviceIdentify),clearInterval(u.sesstionTimer))})},3e4)},this.I_LoginV1=function(e,t,n,r,s,o,i,a){var u=this,c={success:null,error:null};return S.extend(c,{success:function(c){var l={success:null,error:null};S.extend(l,{success:function(c){a.success&&(a.success(c),u.successV1cb(e,t,n,r,s,c,i,o))},error:function(e,t){a.error&&a.error(e,t)}}),e.sessionLogin(n,r,s,o,i,c,l)},error:function(e,t){a.error&&a.error(e,t)}}),c},this.I_LoginV2=function(e,t,n,r,s,o,i,a,u){var c={success:null,error:null},l=this;return S.extend(c,{success:function(c){var d={success:null,error:null};S.extend(d,{success:function(e){l.successV2cb(t,n,r,s,o,e,a,i),u.success&&u.success(e)},error:function(e,t){u.error&&u.error(e,t)}}),t.sessionV2Login(e,r,s,o,i,a,c,d)},error:function(e,t){u.error&&u.error(e,t)}}),c},this.I_Login=function(e,t,n,r,o,i){var a=e+"_"+n,u=this.findDeviceIndexByIP(a);if(-1!=u)return N("设备已经登录过"),-1;var c=v,l=x;if(U(i.cgi)||(x==i.cgi?(c=v,l=x):(c=C,l=D)),ct())if(x==l){var d=new s;this.getAuthType(d,e,t,n,r,function(){var s=d.oAuthType[e];if(s>2)i.error&&i.error(s);else if(2>s){var a=this.I_LoginV1(c,d,e,t,n,r,o,i);c.getSessionCap(e,t,n,r,a)}else{var u=MD5((new Date).getTime().toString()).substring(0,8);u=parseInt(u.replace("#",""),16).toString().substring(0,8);var a=this.I_LoginV2(u,c,d,e,t,n,r,o,i);c.getSessionV2Cap(u,e,t,n,r,a)}})}else i.error&&i.error(403,pt());else{var p="";if(x==l){p=S.Base64.encode(":"+r+":"+o);var f={success:null,error:null};S.extend(f,i),S.extend(f,{error:function(s,a){p=S.Base64.encode(r+":"+o),l=x,c=v;var u={success:null,error:null};S.extend(u,i),S.extend(u,{error:function(){if(!U(i.cgi))return i.error&&i.error(s,a),void 0;p=S.Base64.encode(":"+r+":"+o),l=D,c=C;var u={success:null,error:null};S.extend(u,i),S.extend(u,{error:function(s,a){p=S.Base64.encode(r+":"+o),l=D,c=C;var u={success:null,error:null};S.extend(u,i),S.extend(u,{error:function(){i.error&&i.error(s,a)}}),ft(e,t,n,p,l,c,u)}}),ft(e,t,n,p,l,c,u)}}),ft(e,t,n,p,l,c,u)}}),ft(e,t,n,p,l,c,f)}else{p=S.Base64.encode(":"+r+":"+o),l=D,c=C;var f={success:null,error:null};S.extend(f,i),S.extend(f,{error:function(s,a){p=S.Base64.encode(r+":"+o),l=D,c=C;var u={success:null,error:null};S.extend(u,i),S.extend(u,{error:function(){i.error&&i.error(s,a)}}),ft(e,t,n,p,l,c,u)}}),ft(e,t,n,p,l,c,f)}}},this.I_Logout=function(e){var t=this.findDeviceIndexByIP(e);if(-1!=t){if(ct()){var n=P[t];clearInterval(n.sesstionTimer),n.oProtocolInc.sessionLogout(n,{})}return P.splice(t,1),0}return-1},this.I_GetAudioInfo=function(e,t){var n=this.findDeviceIndexByIP(e);if(-1!=n){var r=P[n],s={success:null,error:null};S.extend(s,t),r.oProtocolInc.getAudioInfo(r,s)}},this.I_GetDeviceInfo=function(e,t){var n=this.findDeviceIndexByIP(e);if(-1!=n){var r=P[n],s={success:null,error:null};S.extend(s,t),r.oProtocolInc.getDeviceInfo(r,s)}},this.I_GetAnalogChannelInfo=function(e,t){var n=this.findDeviceIndexByIP(e);if(-1!=n){var r=P[n],s={success:null,error:null};S.extend(s,t),r.oProtocolInc.getAnalogChannelInfo(r,s)}},this.I_GetSecurityVersion=function(e,t){var n=this.findDeviceIndexByIP(e);if(-1!=n){var r=P[n],s={success:null,error:null};S.extend(s,t),r.oProtocolInc.getSecurityVersion(r,s)}},this.I_GetDigitalChannelInfo=function(e,t){var n=this.findDeviceIndexByIP(e);if(-1!=n){var r=P[n],s={success:null,error:null};S.extend(s,t),r.oProtocolInc.getDigitalChannelInfo(r,s)}},this.I_GetZeroChannelInfo=function(e,t){var n=this.findDeviceIndexByIP(e);if(-1!=n){var r=P[n],s={success:null,error:null};S.extend(s,t),r.oProtocolInc.getZeroChannelInfo(r,s)}},this.getStream=function(e,t,n){var r=$.Deferred();return ct()&&p.JS_Play(e,t,n).then(function(){addToWndSet(),r.resolve()},function(){r.reject()}),r},this.I_StartRealPlay=function(e,n){var r=this.findDeviceIndexByIP(e),s="",o="",i=-1,a=0,u=0,c=!1,l={iWndIndex:f,iStreamType:1,iChannelID:1,bZeroChannel:!1};if(S.extend(l,n),-1!=r){at(P[r]);var d=P[r];if(ct()){if(!d.bSupportWebsocket)return n.error&&n.error(403,pt()),void 0;s=d.oProtocolInc.CGI.startWsRealPlay;var p=location.protocol;o=/^(https)(.*)$/.test(p)?"wss://":"ws://",d.iWSPort=U(l.iWSPort)?7681:l.iWSPort,i=d.iWSPort,u=l.iStreamType,a=l.iChannelID<=d.iAnalogChannelNum?l.iChannelID:d.oStreamCapa.iIpChanBase+parseInt(l.iChannelID,10)-d.iAnalogChannelNum-1,c=!0}else{var h=parseInt(t.$XML(g).find("ProtocolType").eq(0).text(),10);h==H&&d.oStreamCapa.bSupportShttpPlay?(N("SHTTP RealPlay"),s=d.oProtocolInc.CGI.startShttpRealPlay,o="http://",u=l.iStreamType-1,a=l.iChannelID<=d.iAnalogChannelNum?l.iChannelID:d.oStreamCapa.iIpChanBase+parseInt(l.iChannelID,10)-d.iAnalogChannelNum-1,c=!0,U(l.iPort)?"https://"==d.szHttpProtocol?(-1==d.iHttpPort&&(d.iHttpPort=nt(d).iHttpPort),i=d.iHttpPort):i=d.iCGIPort:(d.iHttpPort=l.iPort,i=l.iPort)):(N("RTSP RealPlay"),s=d.oProtocolInc.CGI.startRealPlay,o="rtsp://",u=l.iStreamType,a=l.iChannelID,U(l.iRtspPort)||(d.iRtspPort=l.iRtspPort),-1==d.iRtspPort&&(d.iRtspPort=nt(d).iRtspPort),i=d.iRtspPort)}if(-1==i)return N("获取端口号失败"),n.error&&n.error(),void 0;S.extend(l,{urlProtocol:o,cgi:s,iPort:i,iStreamType:u,iChannelID:a}),r=this.findWndIndexByIndex(l.iWndIndex);var m=this;-1==r&&d.oProtocolInc.startRealPlay(d,l).then(function(){r=m.findWndIndexByIndex(l.iWndIndex);var e=I[r];e.bShttpIPChannel=c,n.success&&n.success()},function(){ct()||(d.iRtspPort=-1),n.error&&n.error()})}else n.error&&n.error()},this.I_CloseWin=function(e){var t=this.findWndIndexByIndex(e);I.splice(t,1)},this.I_Stop=function(e){var t={iWndIndex:f};j(e)?S.extend(t,e):U(e)||(t.iWndIndex=e);var n=this.findWndIndexByIndex(t.iWndIndex);if(-1!=n){var r=I[n];if(r.bRecord&&(ct()||p.HWP_StopSave(r.iIndex)),r.bSound&&(ct()||p.HWP_CloseSound()),r.bEZoom&&(ct()||p.HWP_DisableZoom(r.iIndex)),ct())p.JS_Stop(t.iWndIndex).then(function(){I.splice(n,1),t.success&&t.success()},function(){t.error&&t.error()});else{var s=p.HWP_Stop(t.iWndIndex);0==s?(I.splice(n,1),t.success&&t.success()):t.error&&t.error()}}else t.error&&t.error()},this.I_OpenSound=function(e){e=U(e)?f:e;var t=this.findWndIndexByIndex(e),n=-1;if(-1!=t){var r=I[t];r.bSound||(n=ct()?p.JS_OpenSound(e):p.HWP_OpenSound(e),0==n&&(r.bSound=!0))}return n},this.I_CloseSound=function(e){e=U(e)?f:e;var t=this.findWndIndexByIndex(e),n=-1;if(-1!=t){var r=I[t];r.bSound&&(n=ct()?p.JS_CloseSound():p.HWP_CloseSound(),0==n&&(r.bSound=!1))}return n},this.I_SetVolume=function(e,t){var n=-1;if(e=parseInt(e,10),isNaN(e))return n;if(0>e||e>100)return n;t=U(t)?f:t;var r=this.findWndIndexByIndex(t);return-1!=r&&(ct()?(p.JS_SetVolume(t,e),n=0):n=p.HWP_SetVolume(t,e)),n},this.I2_CapturePic=function(e,t){var n={iWndIndex:f,bDateDir:!0};j(t)?S.extend(n,t):U(t)||(n.iWndIndex=t);var r=this.findWndIndexByIndex(n.iWndIndex),s=-1,o=$.Deferred();if(-1!=r)if(ct()){var i="JPEG";".jpg"===e.slice(-4).toLowerCase()?e=e.slice(0,-4):".jpeg"===e.slice(-5).toLowerCase()?e=e.slice(0,-5):".bmp"===e.slice(-4).toLowerCase()&&(e=e.slice(0,-4),i="BMP"),p.JS_CapturePicture(n.iWndIndex,e,i).then(function(){o.resolve()},function(){o.reject()})}else".jpg"===e.slice(-4).toLowerCase()?e=e.slice(0,-4):".jpeg"===e.slice(-5).toLowerCase()&&(e=e.slice(0,-5)),s=p.HWP_CapturePicture(n.iWndIndex,e,n.bDateDir),0===s?o.resolve():o.reject();else o.reject();return o},this.I2_CapturePicData=function(e){var t={iWndIndex:f,bDateDir:!0};j(e)?S.extend(t,e):U(e)||(t.iWndIndex=e);var n=this.findWndIndexByIndex(t.iWndIndex);if(-1!=n){var r=$.Deferred();ct()?p.JS_CapturePictureData(t.iWndIndex).then(function(e){r.resolve(e)},function(e){N(e),r.reject()}):r.reject()}else r.reject();return r},this.I_StartRecord=function(e,t){var n={iWndIndex:f,bDateDir:!0};j(t)?S.extend(n,t):U(t)||(n.iWndIndex=t);var r=this.findWndIndexByIndex(n.iWndIndex);if(-1!=r){var s=I[r];if(s.bRecord)n.error&&n.error();else if(ct()){var o=S.browser();o.chrome?p.JS_StartSave(n.iWndIndex,e).then(function(){s.bRecord=!0,n.success&&n.success()},function(){n.error&&n.error()}):n.error&&n.error()}else{var i=p.HWP_StartSave(n.iWndIndex,e,n.bDateDir);0==i?(s.bRecord=!0,n.success&&n.success()):n.error&&n.error()}}else n.error&&n.error()},this.I_StopRecord=function(e){var t={iWndIndex:f};j(e)?S.extend(t,e):U(e)||(t.iWndIndex=e);var n=this.findWndIndexByIndex(t.iWndIndex);if(-1!=n){var r=I[n];if(r.bRecord)if(ct()){var s=S.browser();s.chrome?p.JS_StopSave(t.iWndIndex).then(function(){r.bRecord=!1,t.success&&t.success()},function(){t.error&&t.error()}):t.error&&t.error()}else{var o=p.HWP_StopSave(t.iWndIndex);0==o?(r.bRecord=!1,t.success&&t.success()):t.error&&t.error()}else t.error&&t.error()}else t.error&&t.error()},this.I_StartVoiceTalk=function(e,t){if(isNaN(parseInt(t,10)))return-1;var n=this.findDeviceIndexByIP(e),r=-1;if(-1!=n){var s=P[n];s.bVoiceTalk||(r=ct()?-1:s.oProtocolInc.startVoiceTalk(s,t),0==r&&(P[n].bVoiceTalk=!0))}return r},this.I_StopVoiceTalk=function(){var e=-1;if(!ct()){e=p.HWP_StopVoiceTalk();for(var t=0,n=P.length;n>t;t++)if(P[t].bVoiceTalk){P[t].bVoiceTalk=!1;break}}return e},this.I_PTZControl=function(e,t,n){var r={iWndIndex:f,iPTZIndex:e,iPTZSpeed:4};S.extend(r,n),S.extend(r,{async:!1});var s=this.findWndIndexByIndex(r.iWndIndex);if(-1!=s){var o=I[s];if(s=this.findDeviceIndexByIP(o.szIP),-1!=s){var i=P[s];9==e?i.oProtocolInc.ptzAutoControl(i,t,o,r):i.oProtocolInc.ptzControl(i,t,o,r)}}},this.I_EnableEZoom=function(e){e=U(e)?f:e;var t=this.findWndIndexByIndex(e),n=-1;if(-1!=t){var r=I[t];r.bEZoom||(n=ct()?p.JS_EnableZoom(e):p.HWP_EnableZoom(e,0),0==n&&(r.bEZoom=!0))}return n},this.I_DisableEZoom=function(e){e=U(e)?f:e;var t=this.findWndIndexByIndex(e),n=-1;if(-1!=t){var r=I[t];r.bEZoom&&(ct()?n=p.JS_DisableZoom(e):(p.HWP_DisableZoom(e),n=0),0==n&&(r.bEZoom=!1))}return n},this.I_Enable3DZoom=function(e){e=U(e)?f:e;var t=this.findWndIndexByIndex(e),n=-1;if(-1!=t){var r=I[t];r.b3DZoom||(ct()?(n=0,p.JS_Enable3DZoom(e,function(e){window.ZoomInfoCallback(e)})):n=p.HWP_EnableZoom(e,1),0==n&&(r.b3DZoom=!0))}return n},this.I_Disable3DZoom=function(e){e=U(e)?f:e;var t=this.findWndIndexByIndex(e),n=-1;if(-1!=t){var r=I[t];r.b3DZoom&&(ct()?(p.JS_Disable3DZoom(e),n=0):(p.HWP_DisableZoom(e),n=0),0==n&&(r.b3DZoom=!1))}return n},this.I_FullScreen=function(e){ct()?p.JS_FullScreenSingle(f):p.HWP_FullScreenDisplay(e)},this.I_SetPreset=function(e,t){var n={iWndIndex:f,iPresetID:e};S.extend(n,t);var r=this.findWndIndexByIndex(n.iWndIndex);if(-1!=r){var s=I[r];if(r=this.findDeviceIndexByIP(s.szIP),-1!=r){var o=P[r];o.oProtocolInc.setPreset(o,s,n)}}},this.I_GoPreset=function(e,t){var n={iWndIndex:f,iPresetID:e};S.extend(n,t);var r=this.findWndIndexByIndex(n.iWndIndex);if(-1!=r){var s=I[r];if(r=this.findDeviceIndexByIP(s.szIP),-1!=r){var o=P[r];o.oProtocolInc.goPreset(o,s,n)}}},this.I_RecordSearch=function(e,t,n,r,s){var o=this.findDeviceIndexByIP(e);if(-1!=o){var i=P[o],a={iChannelID:t,szStartTime:n,szEndTime:r,iSearchPos:0,iStreamType:1,success:null,error:null};S.extend(a,s),i.oProtocolInc.recordSearch(i,a)}},this.I_StartPlayback=function(e,n){var r=this.findDeviceIndexByIP(e),s="",o="",i=-1,a=1,u=0,c=S.dateFormat(new Date,"yyyy-MM-dd"),l={iWndIndex:f,iStreamType:1,iChannelID:1,szStartTime:c+" 00:00:00",szEndTime:c+" 23:59:59"};if(S.extend(l,n),-1!=r){at(P[r]);var d=P[r];if(ct()){if(!d.bSupportWebsocket)return n.error&&n.error(403,pt()),void 0;if(!U(l.oTransCodeParam))return n.error&&n.error(),void 0;s=d.oProtocolInc.CGI.startWsPlayback;var p=location.protocol;o=/^(https)(.*)$/.test(p)?"wss://":"ws://",d.iWSPort=U(l.iWSPort)?7681:l.iWSPort,i=d.iWSPort,u=l.iStreamType,a=l.iChannelID<=d.iAnalogChannelNum?l.iChannelID:d.oStreamCapa.iIpChanBase+parseInt(l.iChannelID,10)-d.iAnalogChannelNum-1,a=100*a+u}else{var h=parseInt(t.$XML(g).find("ProtocolType").eq(0).text(),10);h==H&&d.oStreamCapa.bSupportShttpPlay?(s=U(l.oTransCodeParam)?d.oProtocolInc.CGI.startShttpPlayback:d.oProtocolInc.CGI.startTransCodePlayback,o="http://",u=l.iStreamType-1,a=l.iChannelID<=d.iAnalogChannelNum?l.iChannelID:d.oStreamCapa.iIpChanBase+parseInt(l.iChannelID,10)-d.iAnalogChannelNum-1,d.bSupportSubStreamPlayback&&(a=100*a+u),U(l.iPort)?"https://"==d.szHttpProtocol?(-1==d.iHttpPort&&(d.iHttpPort=nt(d).iHttpPort),i=d.iHttpPort):i=d.iCGIPort:(d.iHttpPort=l.iPort,i=l.iPort)):(s=d.oProtocolInc.CGI.startPlayback,o="rtsp://",u=l.iStreamType,a=100*l.iChannelID+u,U(l.iRtspPort)||(d.iRtspPort=l.iRtspPort),-1==d.iRtspPort&&(d.iRtspPort=nt(d).iRtspPort),i=d.iRtspPort)
- }if(-1==i)return N("获取端口号失败"),n.error&&n.error(),void 0;S.extend(l,{urlProtocol:o,cgi:s,iPort:i,iChannelID:a}),r=this.findWndIndexByIndex(l.iWndIndex),-1==r&&(ct()?(l.szStartTime=l.szStartTime.replace(" ","T")+"Z",l.szEndTime=l.szEndTime.replace(" ","T")+"Z",d.oProtocolInc.startPlayback(d,l).then(function(){n.success&&n.success()},function(){n.error&&n.error()})):(l.szStartTime=l.szStartTime.replace(/[-:]/g,"").replace(" ","T")+"Z",l.szEndTime=l.szEndTime.replace(/[-:]/g,"").replace(" ","T")+"Z",d.oProtocolInc.startPlayback(d,l).then(function(){n.success&&n.success()},function(){d.iRtspPort=-1,n.error&&n.error()})))}else n.error&&n.error()},this.I_ReversePlayback=function(e,n){var r=this.findDeviceIndexByIP(e),s=-1,o="",i="",a=-1,u=-1,c=0,l=S.dateFormat(new Date,"yyyy-MM-dd"),d={iWndIndex:f,iStreamType:1,iChannelID:1,szStartTime:l+" 00:00:00",szEndTime:l+" 23:59:59"};if(S.extend(d,n),-1!=r){at(P[r]);var p=P[r];if(ct())return s;var h=parseInt(t.$XML(g).find("ProtocolType").eq(0).text(),10);if(h==H&&p.oStreamCapa.bSupportShttpPlay?(o=p.oProtocolInc.CGI.startShttpReversePlayback,i="http://",c=d.iStreamType-1,u=d.iChannelID<=p.iAnalogChannelNum?d.iChannelID:p.oStreamCapa.iIpChanBase+parseInt(d.iChannelID,10)-p.iAnalogChannelNum-1,u=100*u+c,U(d.iPort)?"https://"==p.szHttpProtocol?(-1==p.iHttpPort&&(p.iHttpPort=nt(p).iHttpPort),a=p.iHttpPort):a=p.iCGIPort:(p.iHttpPort=d.iPort,a=d.iPort)):(o=p.oProtocolInc.CGI.startPlayback,i="rtsp://",c=d.iStreamType,u=100*d.iChannelID+c,U(d.iRtspPort)||(p.iRtspPort=d.iRtspPort),-1==p.iRtspPort&&(p.iRtspPort=nt(p).iRtspPort),a=p.iRtspPort),-1==a)return N("获取端口号失败"),s;S.extend(d,{urlProtocol:i,cgi:o,iPort:a,iChannelID:u}),r=this.findWndIndexByIndex(d.iWndIndex),-1==r&&(d.szStartTime=d.szStartTime.replace(/[-:]/g,"").replace(" ","T")+"Z",d.szEndTime=d.szEndTime.replace(/[-:]/g,"").replace(" ","T")+"Z",s=p.oProtocolInc.reversePlayback(p,d))}return-1==s&&(p.iRtspPort=-1),s},this.I_Frame=function(e){var t={iWndIndex:f};j(e)?S.extend(t,e):U(e)||(t.iWndIndex=e);var n=this.findWndIndexByIndex(t.iWndIndex);if(-1!=n){var r=I[n],s=r.iPlayStatus;if(s==A||s==L)if(ct())p.JS_FrameForward(t.iWndIndex).then(function(){r.iPlayStatus=L,t.success&&t.success()},function(){t.error&&t.error()});else{var o=p.HWP_FrameForward(t.iWndIndex);0==o?(r.iPlayStatus=L,t.success&&t.success()):t.error&&t.error()}else t.error&&t.error()}else t.error&&t.error()},this.I_Pause=function(e){var t={iWndIndex:f};j(e)?S.extend(t,e):U(e)||(t.iWndIndex=e);var n=this.findWndIndexByIndex(t.iWndIndex);if(-1!=n){var r=I[n],s=r.iPlayStatus,o=-1;if(s==A)o=M;else{if(s!=q)return t.error&&t.error(),void 0;o=R}if(ct())p.JS_Pause(t.iWndIndex).then(function(){r.iPlayStatus=o,t.success&&t.success()},function(){t.error&&t.error()});else{var i=p.HWP_Pause(t.iWndIndex);0==i?(r.iPlayStatus=o,t.success&&t.success()):t.error&&t.error()}}else t.error&&t.error()},this.I_Resume=function(e){var t={iWndIndex:f};j(e)?S.extend(t,e):U(e)||(t.iWndIndex=e);var n=this.findWndIndexByIndex(t.iWndIndex);if(-1!=n){var r=I[n],s=r.iPlayStatus,o=-1;if(s==M||s==L)o=A;else{if(s!=R)return t.error&&t.error(),void 0;o=q}if(ct())p.JS_Resume(t.iWndIndex).then(function(){r.iPlayStatus=o,t.success&&t.success()},function(){t.error&&t.error()});else{var i=p.HWP_Resume(t.iWndIndex);0==i?(r.iPlayStatus=o,t.success&&t.success()):t.error&&t.error()}}else t.error&&t.error()},this.I_PlaySlow=function(e){var t={iWndIndex:f};j(e)?S.extend(t,e):U(e)||(t.iWndIndex=e);var n=this.findWndIndexByIndex(t.iWndIndex);if(-1!=n){var r=I[n];if(r.iPlayStatus==A)if(ct()){var s=p.JS_GetWndStatus(t.iWndIndex);s.iRate<=-4?t.error&&t.error():p.JS_Slow(t.iWndIndex).then(function(){t.success&&t.success()},function(){t.error&&t.error()})}else{var o=p.HWP_Slow(t.iWndIndex);0==o?t.success&&t.success():t.error&&t.error()}else t.error&&t.error()}else t.error&&t.error()},this.I_PlayFast=function(e){var t={iWndIndex:f};j(e)?S.extend(t,e):U(e)||(t.iWndIndex=e);var n=this.findWndIndexByIndex(t.iWndIndex);if(-1!=n){var r=I[n];if(r.iPlayStatus==A)if(ct()){var s=p.JS_GetWndStatus(t.iWndIndex);s.iRate>=8?t.error&&t.error():p.JS_Fast(t.iWndIndex).then(function(){t.success&&t.success()},function(){t.error&&t.error()})}else{var o=p.HWP_Fast(t.iWndIndex);0==o?t.success&&t.success():t.error&&t.error()}else t.error&&t.error()}else t.error&&t.error()},this.I_GetOSDTime=function(e){var t={iWndIndex:f};j(e)?S.extend(t,e):U(e)||(t.iWndIndex=e);var n=this.findWndIndexByIndex(t.iWndIndex);if(-1!=n){if(ct())p.JS_GetOSDTime(t.iWndIndex).then(function(e){if(t.success){var n=S.dateFormat(new Date(1e3*e),"yyyy-MM-dd hh:mm:ss");t.success(n)}},function(){t.error&&t.error()});else if(t.success){var r=p.HWP_GetOSDTime(t.iWndIndex),s=S.dateFormat(new Date(1e3*r),"yyyy-MM-dd hh:mm:ss");t.success(s)}}else t.error&&t.error()},this.I_StartDownloadRecord=function(e,t,n,r){var s=this.findDeviceIndexByIP(e),o=-1;if(-1!=s){var i=P[s],a={szPlaybackURI:t,szFileName:n,bDateDir:!0};U(r)||S.extend(a,r),o=i.oProtocolInc.startDownloadRecord(i,a)}return o},this.I_StartDownloadRecordByTime=function(e,t,n,r,s,o){var i=this.findDeviceIndexByIP(e),a=-1;if(-1!=i){var u=P[i];t=t.split("?")[0]+"?starttime="+r.replace(" ","T")+"Z&endtime="+s.replace(" ","T")+"Z";var c={szPlaybackURI:t,szFileName:n,bDateDir:!0};U(o)||S.extend(c,o),a=u.oProtocolInc.startDownloadRecord(u,c)}return a},this.I_GetDownloadStatus=function(e){var t=-1;return ct()?t:(t=p.HWP_GetDownloadStatus(e),1==t&&(t=-1),t)},this.I_GetDownloadProgress=function(e){return ct()?-1:p.HWP_GetDownloadProgress(e)},this.I_StopDownloadRecord=function(e){return ct()?-1:p.HWP_StopDownload(e)},this.I_ExportDeviceConfig=function(e,t){var n=this.findDeviceIndexByIP(e),r=-1;if(-1!=n){var s=P[n];r=s.oProtocolInc.exportDeviceConfig(s,t)}return r},this.I_ImportDeviceConfig=function(e,t,n){var r=this.findDeviceIndexByIP(e),s=-1;if(-1!=r){var o=P[r],i={szFileName:t};s=o.oProtocolInc.importDeviceConfig(o,i,n)}return s},this.I_RestoreDefault=function(e,t,n){var r={success:null,error:null};S.extend(r,n);var s=this.findDeviceIndexByIP(e);if(-1!=s){var o=P[s];o.oProtocolInc.restore(o,t,r)}},this.I_Restart=function(e,t){var n=this.findDeviceIndexByIP(e),r={success:null,error:null};if(S.extend(r,t),-1!=n){var s=P[n];s.oProtocolInc.restart(s,r)}},this.I_Reconnect=function(e,t){var n=this.findDeviceIndexByIP(e),r={success:null,error:null};if(S.extend(r,t),-1!=n){var s=P[n];s.oProtocolInc.login(s.szIP,s.iCGIPort,s.szAuth,r)}},this.I_StartUpgrade=function(e,t){var n=this.findDeviceIndexByIP(e),r=-1;if(-1!=n){var s=P[n],o={szFileName:t};return ct()?r:s.oProtocolInc.startUpgrade(s,o)}return r},this.I2_StartUpgrade=function(e,t){var n=this.findDeviceIndexByIP(e);if(-1!=n){var r=P[n],s={szFileName:t};return r.oProtocolInc.asyncstartUpgrade(r,s)}},this.I_UpgradeStatus=function(){return ct()?p.JS_UpgradeStatus():p.HWP_UpgradeStatus()},this.I_UpgradeProgress=function(){return ct()?p.JS_UpgradeProgress():p.HWP_UpgradeProgress()},this.I_StopUpgrade=function(){return ct()?-1:p.HWP_StopUpgrade()},this.I_CheckPluginInstall=function(){var e=-1,t=S.browser();if(ct())e=0;else if(t.msie)try{new ActiveXObject("WebVideoKitActiveX.WebVideoKitActiveXCtrl.1"),e=0}catch(n){}else for(var r=0,s=navigator.mimeTypes.length;s>r;r++)if("application/webvideo-plugin-kit"==navigator.mimeTypes[r].type.toLowerCase()){e=0;break}return e},this.I_CheckPluginVersion=function(){return ct()?0:p.HWP_CheckPluginUpdate(B)?-1:0},this.I_SendHTTPRequest=function(e,t,n){var r=this.findDeviceIndexByIP(e);if(!(0>r)){var s=P[r],o=new Pt,i=s.szHttpProtocol+s.szIP+":"+s.iCGIPort+"/"+t,a={type:"GET",url:i,auth:s.szAuth,success:null,error:null};S.extend(a,n),S.extend(a,{success:function(e){n.success&&n.success(e)},error:function(e,t){n.error&&n.error(e,t)}}),o.setRequestParam(a),o.submitRequest()}},this.I_RemoteConfig=function(e,t){var n=this.findDeviceIndexByIP(e),r=-1,s=-1;if(ct())return r;var o={iLan:0,iDevicePort:-1,iType:0};if(S.extend(o,t),-1!=n){var i=P[n];if(-1==o.iDevicePort)if(-1==i.iDevicePort){if(i.iDevicePort=nt(i).iDevicePort,s=i.iDevicePort,-1==s)return r}else s=i.iDevicePort;else s=o.iDevicePort;if(":"==S.Base64.decode(i.szAuth)[0])var a=S.Base64.decode(i.szAuth).split(":")[1],u=S.Base64.decode(i.szAuth).split(":")[2];else var a=S.Base64.decode(i.szAuth).split(":")[0],u=S.Base64.decode(i.szAuth).split(":")[1];var c="<RemoteInfo><DeviceInfo><DeviceType>"+o.iType+"</DeviceType>"+"<LanType>"+o.iLan+"</LanType>"+"<IP>"+i.szIP+"</IP>"+"<Port>"+s+"</Port>"+"<UName>"+a+"</UName>"+"<PWD>"+S.Base64.encode(u)+"</PWD></DeviceInfo></RemoteInfo>";return p.HWP_ShowRemConfig(c)}return r},this.I_ChangeWndNum=function(e){return isNaN(parseInt(e,10))?-1:(ct()?p.JS_ArrangeWindow(e):p.HWP_ArrangeWindow(e),0)},this.I_GetLastError=function(){return ct()?-1:p.HWP_GetLastError()},this.I_GetWindowStatus=function(e){if(U(e)){var t=[];return S.extend(t,I),t}var n=this.findWndIndexByIndex(e);if(-1!=n){var t={};return S.extend(t,I[n]),t}return null},this.I_GetIPInfoByMode=function(e,t,n,r){return ct()?"":p.HWP_GetIpInfoByMode(e,t,n,r)},this.I_SetPlayModeType=function(e){return ct()?0:p.HWP_SetPlayModeType(e)},this.I_SetSnapDrawMode=function(e,t){return ct()?t>-1?p.JS_SetDrawStatus(!0):p.JS_SetDrawStatus(!1):p.HWP_SetSnapDrawMode(e,t)},this.I2_SetSnapPolygonInfo=function(r,s){if(ct()){p.JS_GetPolygonInfo();var o=S.loadXML(s),a=[];for(nodeList=t.$XML(o).find("SnapPolygon",!0),i=0,iLen=nodeList.length;iLen>i;i++){node=nodeList[i];var u=e(t.$XML(node).find("r").eq(0).text(),t.$XML(node).find("g").eq(0).text(),t.$XML(node).find("b").eq(0).text());u=n(u,6),u="#"+u;for(var c=[],l=t.$XML(node).find("point",!0),d=0,f=l.length;f>d;d++)oNodePoint=l[d],c.push([500*t.$XML(oNodePoint).find("x").eq(0).text(),300*t.$XML(oNodePoint).find("y").eq(0).text()]);a.push({iPolygonType:1,id:t.$XML(node).find("id").eq(0).text(),iEditType:0,aPoint:c,bClosed:!0,szTips:t.$XML(node).find("tips").eq(0).text(),szDrawColor:u,iTranslucent:.1})}return p.JS_SetPolygonInfo(a)}return p.HWP_SetSnapPolygonInfo(r,s)},this.I_SetSnapPolygonInfo=function(r,s){if(ct()){var o=p.JS_GetPolygonInfo(),i=S.loadXML(s),a=[];for(D=t.$XML(i).find("SnapPolygon",!0),d=0,f=D.length;f>d;d++){h=D[d];var u=e(t.$XML(h).find("r").eq(0).text(),t.$XML(h).find("g").eq(0).text(),t.$XML(h).find("b").eq(0).text());u=n(u,6),u="#"+u,a.push({id:t.$XML(h).find("id").eq(0).text(),tips:t.$XML(h).find("tips").eq(0).text(),iMaxShapeSupport:o.length+1,iMaxPointSupport:t.$XML(h).find("PointNumMax").eq(0).text(),iMinPointSupport:t.$XML(h).find("MinClosed").eq(0).text(),style:{szDrawColor:u,iTranslucent:.1}})}0===D.length&&a.push({iMaxShapeSupport:1,iMaxPointSupport:17,iMinPointSupport:1,style:{szDrawColor:"#FFFF00",iTranslucent:.1}});var c=[];$.each(o,function(e,t){c.push(t.id)});var l=c.join(",");if(l=","+l+",",o.length+a.length>32)return-3;for(var d=0,f=a.length;f>d;d++){var h=a[d],P=h.id;if(!S.isInt(P))return-2;var I=parseInt(P,10);if(1>I||I>32)return-2;if(l.indexOf(","+P+",")>-1)return-4;var m=h.tips;if(m.length>32)return-2;var v=h.flag;if(!v){var C=h.iMinPointSupport;if(!S.isInt(C))return-2;var y=parseInt(C,10);if(4>y||y>17)return-2;var g=h.iMaxPointSupport;if(!S.isInt(g))return-2;var x=parseInt(g,10);if(y>x||x>17)return-2}}return p.JS_SetDrawShapeInfo("Polygon",a[0])}var i,D,d,f,h,P,I,m,C,y,v,g,x,z=p.HWP_GetSnapPolygonInfo(r);i=S.loadXML(z),D=t.$XML(i).find("SnapPolygon",!0);var b=D.length,c=[];for(d=0,f=D.length;f>d;d++)h=D[d],c.push(t.$XML(h).find("id").eq(0).text());var l=c.join(",");if(l=","+l+",",i=S.loadXML(s),D=t.$XML(i).find("SnapPolygon",!0),b+D.length>32)return-3;for(d=0,f=D.length;f>d;d++){if(h=D[d],P=t.$XML(h).find("id").eq(0).text(),!S.isInt(P))return-2;if(I=parseInt(P,10),1>I||I>32)return-2;if(l.indexOf(","+P+",")>-1)return-4;if(m=t.$XML(h).find("tips").eq(0).text(),m.length>32)return-2;if(v="true"===t.$XML(h).find("isClosed").eq(0).text(),!v){if(C=t.$XML(h).find("MinClosed").eq(0).text(),!S.isInt(C))return-2;if(y=parseInt(C,10),4>y||y>17)return-2;if(g=t.$XML(h).find("PointNumMax").eq(0).text(),!S.isInt(g))return-2;if(x=parseInt(g,10),y>x||x>17)return-2}}return p.HWP_SetSnapPolygonInfo(r,s)},this.I_GetSnapPolygonInfo=function(e){if(ct()){for(var t=p.JS_GetPolygonInfo(e),n='<?xml version="1.0" encoding="utf-8"?><SnapPolygonList>',s=0;s<t.length;s++){n+="<SnapPolygon>";var o=r(t[s].szDrawColor);n+="<id>"+t[s].szTips.split("#")[1]+"</id><polygonType>1</polygonType><color><r>"+o[0]+"</r><g>"+o[1]+"</g><b>"+o[2]+"</b></color><tips>"+t[s].szTips+"</tips><isClosed>"+t[s].bClosed+"</isClosed><pointList>";for(var i=0;i<t[s].aPoint.length;i++)n+="<point><x>"+t[s].aPoint[i][0]/a+"</x><y>"+t[s].aPoint[i][1]/u+"</y></point>";n+="</pointList></SnapPolygon>"}return n+="</SnapPolygonList>"}return p.HWP_GetSnapPolygonInfo(e)},this.I_ClearSnapInfo=function(e){return ct()?p.JS_ClearSnapInfo():p.HWP_ClearSnapInfo(e,1)},this.I_DeviceCapturePic=function(e,t,n,r){var s=this.findDeviceIndexByIP(e),o=-1;if(-1!=s){var i=P[s],a={bDateDir:!0};if(S.extend(a,r),!U(a.iResolutionWidth)&&!S.isInt(a.iResolutionWidth))return o;if(!U(a.iResolutionHeight)&&!S.isInt(a.iResolutionHeight))return o;o=i.oProtocolInc.deviceCapturePic(i,t,n,a)}return o},this.I_SetPackageType=function(e){return ct()?-1:p.HWP_SetPackageType(e)},this.I_GetDevicePort=function(e){var t=this.findDeviceIndexByIP(e),n=null;if(-1!=t){var r=P[t];n=nt(r)}return n},this.I_GetTextOverlay=function(e,t,n){var r=this.findDeviceIndexByIP(t),s=-1;if(-1!=r){var o=P[r];I[r];var i={async:!1,type:"GET",success:n.success,error:n.error};this.I_SendHTTPRequest(o.szIP+"_"+o.iCGIPort,e,i)}return s},this.findDeviceIndexByIP=function(e){if(e.indexOf("_")>-1){for(var t=0,n=P.length;n>t;t++)if(P[t].szDeviceIdentify==e)return t}else for(var t=0,n=P.length;n>t;t++)if(P[t].szIP==e)return t;return-1},this.findWndIndexByIndex=function(e){for(var t=0,n=I.length;n>t;t++)if(I[t].iIndex==e)return t;return-1};var ht=function(){this.iIndex=0,this.szIP="",this.iCGIPort=80,this.szDeviceIdentify="",this.iChannelID="",this.iPlayStatus=b,this.bSound=!1,this.bRecord=!1,this.bPTZAuto=!1,this.bEZoom=!1,this.b3DZoom=!1},Pt=function(){this.options={type:"GET",url:"",auth:"",timeout:1e4,data:"",async:!0,success:null,error:null},this.m_szHttpHead="",this.m_szHttpContent="",this.m_szHttpData=""};Pt.prototype.m_httpRequestSet=[],Pt.prototype.setRequestParam=function(e){S.extend(this.options,e)},Pt.prototype.submitRequest=function(){var e=null,t=this;if(ct()){this.options.auth?S.cookie("WebSession",this.options.auth):S.cookie("WebSession",null);var n=lt(this.options.url),r=new window.XMLHttpRequest;r.open(this.options.type,n,this.options.async);var s=function(e){return/^(http|https):\/\/([^\/]+)(.+)$/.test(e)?RegExp.$2:""};if(d.proxyAddress){r.withCredentials=!0;var o=s(this.options.url);r.setRequestHeader("deviceIdentify",o)}r.setRequestHeader("X-Requested-With","XMLHttpRequest"),r.setRequestHeader("If-Modified-Since","0"),r.send(this.options.data||null);var i=function(){if(4===r.readyState){e={funSuccessCallback:t.options.success,funErrorCallback:t.options.error};var n=r.status+r.responseText;0===r.status&&(n=""),t.httpDataAnalyse(e,n)}};this.options.async?(r.timeout=this.options.timeout,r.onreadystatechange=function(){i()}):i()}else{var a=this.getHttpMethod(this.options.type);if(this.options.async){var u=p.HWP_SubmitHttpRequest(a,this.options.url,this.options.auth,this.options.data,this.options.timeout);-1!=u&&(e={iRequestID:u,funSuccessCallback:this.options.success,funErrorCallback:this.options.error},this.m_httpRequestSet.push(e))}else{var c=p.HWP_SendHttpSynRequest(a,this.options.url,this.options.auth,this.options.data,this.options.timeout);e={funSuccessCallback:this.options.success,funErrorCallback:this.options.error},this.httpDataAnalyse(e,c)}}},Pt.prototype.getHttpMethod=function(e){var t={GET:1,POST:2,PUT:5,DELETE:6},n=t[e];return n?n:-1},Pt.prototype.processCallback=function(e,t){for(var n=null,r=0;r<this.m_httpRequestSet.length;r++)if(e==this.m_httpRequestSet[r].iRequestID){n=this.m_httpRequestSet[r],this.m_httpRequestSet.splice(r,1);break}null!=n&&(this.httpDataAnalyse(n,t),delete n)},Pt.prototype.httpDataAnalyse=function(e,t){var n="",r=0;""==t||U(t)?e.funErrorCallback():(r=parseInt(t.substring(0,3)),n=t.substring(3,t.length),isNaN(r)?e.funErrorCallback():z==r?this.options&&this.options.url.indexOf("?format=json")>-1?e.funSuccessCallback(JSON.parse(n)):e.funSuccessCallback(S.loadXML(n)):e.funErrorCallback&&e.funErrorCallback(r,S.loadXML(n)))};var It=function(){};It.prototype.CGI={login:"%s%s:%s/ISAPI/Security/userCheck",getAudioInfo:"%s%s:%s/ISAPI/System/TwoWayAudio/channels",getDeviceInfo:"%s%s:%s/ISAPI/System/deviceInfo",getAnalogChannelInfo:"%s%s:%s/ISAPI/System/Video/inputs/channels",getDigitalChannel:"%s%s:%s/ISAPI/ContentMgmt/InputProxy/channels",getDigitalChannelInfo:"%s%s:%s/ISAPI/ContentMgmt/InputProxy/channels/status",getZeroChannelInfo:"%s%s:%s/ISAPI/ContentMgmt/ZeroVideo/channels",getStreamChannels:{analog:"%s%s:%s/ISAPI/Streaming/channels",digital:"%s%s:%s/ISAPI/ContentMgmt/StreamingProxy/channels"},getStreamDynChannels:"%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/DynStreaming/channels",startRealPlay:{channels:"%s%s:%s/PSIA/streaming/channels/%s",zeroChannels:"%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/ZeroStreaming/channels/%s"},startShttpRealPlay:{channels:"%s%s:%s/SDK/play/%s/004",zeroChannels:"%s%s:%s/SDK/play/100/004/ZeroStreaming"},startWsRealPlay:{channels:"%s%s:%s/%s",zeroChannels:"%s%s:%s/%s"},startVoiceTalk:{open:"%s%s:%s/ISAPI/System/TwoWayAudio/channels/%s/open",close:"%s%s:%s/ISAPI/System/TwoWayAudio/channels/%s/close",audioData:"%s%s:%s/ISAPI/System/TwoWayAudio/channels/%s/audioData"},ptzControl:{analog:"%s%s:%s/ISAPI/PTZCtrl/channels/%s/continuous",digital:"%s%s:%s/ISAPI/ContentMgmt/PTZCtrlProxy/channels/%s/continuous"},ptzAutoControl:{ipdome:"%s%s:%s/ISAPI/PTZCtrl/channels/%s/presets/%s/goto",analog:"%s%s:%s/ISAPI/PTZCtrl/channels/%s/autoPan",digital:"%s%s:%s/ISAPI/ContentMgmt/PTZCtrlProxy/channels/%s/autoPan"},setPreset:{analog:"%s%s:%s/ISAPI/PTZCtrl/channels/%s/presets/%s",digital:"%s%s:%s/ISAPI/ContentMgmt/PTZCtrlProxy/channels/%s/presets/%s"},goPreset:{analog:"%s%s:%s/ISAPI/PTZCtrl/channels/%s/presets/%s/goto",digital:"%s%s:%s/ISAPI/ContentMgmt/PTZCtrlProxy/channels/%s/presets/%s/goto"},ptzFocus:{analog:"%s%s:%s/ISAPI/Image/channels/%s/focus",digital:"%s%s:%s/ISAPI/ContentMgmt/ImageProxy/channels/%s/focus",ipc:"%s%s:%s/ISAPI/System/Video/inputs/channels/%s/focus"},ptzIris:{analog:"%s%s:%s/ISAPI/Image/channels/%s/iris",digital:"%s%s:%s/ISAPI/ContentMgmt/ImageProxy/channels/%s/iris",ipc:"%s%s:%s/ISAPI/System/Video/inputs/channels/%s/iris"},getNetworkBond:"%s%s:%s/ISAPI/System/Network/Bond",getNetworkInterface:"%s%s:%s/ISAPI/System/Network/interfaces",getUPnPPortStatus:"%s%s:%s/ISAPI/System/Network/UPnP/ports/status",getPPPoEStatus:"%s%s:%s/ISAPI/System/Network/PPPoE/1/status",getPortInfo:"%s%s:%s/ISAPI/Security/adminAccesses",recordSearch:"%s%s:%s/ISAPI/ContentMgmt/search",startPlayback:"%s%s:%s/PSIA/streaming/tracks/%s?starttime=%s&endtime=%s",startWsPlayback:"%s%s:%s/%s",startShttpPlayback:"%s%s:%s/SDK/playback/%s",startShttpReversePlayback:"%s%s:%s/SDK/playback/%s/reversePlay",startTransCodePlayback:"%s%s:%s/SDK/playback/%s/transcoding",startDownloadRecord:"%s%s:%s/ISAPI/ContentMgmt/download",downloaddeviceConfig:"%s%s:%s/ISAPI/System/configurationData",uploaddeviceConfig:"%s%s:%s/ISAPI/System/configurationData",restart:"%s%s:%s/ISAPI/System/reboot",restore:"%s%s:%s/ISAPI/System/factoryReset?mode=%s",startUpgrade:{upgrade:"%s%s:%s/ISAPI/System/updateFirmware",status:"%s%s:%s/ISAPI/System/upgradeStatus"},set3DZoom:{analog:"%s%s:%s/ISAPI/PTZCtrl/channels/%s/position3D",digital:"%s%s:%s/ISAPI/ContentMgmt/PTZCtrlProxy/channels/%s/position3D"},getSecurityVersion:"%s%s:%s/ISAPI/Security/capabilities?username=admin",SDKCapabilities:"%s%s:%s/SDK/capabilities",deviceCapture:{channels:"%s%s:%s/ISAPI/Streaming/channels/%s/picture"},overlayInfo:{analog:"%s%s:%s/ISAPI/System/Video/inputs/channels/%s/overlays/",digital:"%s%s:%s/ISAPI/ContentMgmt/InputProxy/channels/%s/video/overlays"},sessionCap:"%s%s:%s/ISAPI/Security/sessionLogin/capabilities?username=%s",sessionLogin:"%s%s:%s/ISAPI/Security/sessionLogin",sessionHeartbeat:"%s%s:%s/ISAPI/Security/sessionHeartbeat",sessionLogout:"%s%s:%s/ISAPI/Security/sessionLogout",systemCapabilities:"%s%s:%s/ISAPI/System/capabilities"},It.prototype.login=function(e,t,n,r){var s=2==r.protocol?"https://":"http://",o=F(this.CGI.login,s,e,t),i=new Pt,a={type:"GET",url:o,auth:n,success:null,error:null};S.extend(a,r),S.extend(a,{success:function(e){r.success&&r.success(e)},error:function(e,t){r.error&&r.error(e,t)}}),i.setRequestParam(a),i.submitRequest()},It.prototype.getAudioInfo=function(e,t){var n=F(this.CGI.getAudioInfo,e.szHttpProtocol,e.szIP,e.iCGIPort),r=new Pt,s={type:"GET",url:n,auth:e.szAuth,success:null,error:null};S.extend(s,t),S.extend(s,{success:function(e){t.success&&t.success(e)},error:function(e,n){t.error&&t.error(e,n)}}),r.setRequestParam(s),r.submitRequest()},It.prototype.getSecurityVersion=function(e,t){var n=F(this.CGI.getSecurityVersion,e.szHttpProtocol,e.szIP,e.iCGIPort),r=new Pt,s={type:"GET",url:n,auth:e.szAuth,success:null,error:null};S.extend(s,t),S.extend(s,{success:function(e){t.success&&t.success(e)},error:function(e,n){t.error&&t.error(e,n)}}),r.setRequestParam(s),r.submitRequest()},It.prototype.getDeviceInfo=function(e,n){var r=F(this.CGI.getDeviceInfo,e.szHttpProtocol,e.szIP,e.iCGIPort),s=new Pt,o={type:"GET",url:r,auth:e.szAuth,success:null,error:null};S.extend(o,n),S.extend(o,{success:function(e){var r=[];r.push("<DeviceInfo>"),r.push("<deviceName>"+S.escape(t.$XML(e).find("deviceName").eq(0).text())+"</deviceName>"),r.push("<deviceID>"+t.$XML(e).find("deviceID").eq(0).text()+"</deviceID>"),r.push("<deviceType>"+t.$XML(e).find("deviceType").eq(0).text()+"</deviceType>"),r.push("<model>"+t.$XML(e).find("model").eq(0).text()+"</model>"),r.push("<serialNumber>"+t.$XML(e).find("serialNumber").eq(0).text()+"</serialNumber>"),r.push("<macAddress>"+t.$XML(e).find("macAddress").eq(0).text()+"</macAddress>"),r.push("<firmwareVersion>"+t.$XML(e).find("firmwareVersion").eq(0).text()+"</firmwareVersion>"),r.push("<firmwareReleasedDate>"+t.$XML(e).find("firmwareReleasedDate").eq(0).text()+"</firmwareReleasedDate>"),r.push("<encoderVersion>"+t.$XML(e).find("encoderVersion").eq(0).text()+"</encoderVersion>"),r.push("<encoderReleasedDate>"+t.$XML(e).find("encoderReleasedDate").eq(0).text()+"</encoderReleasedDate>"),r.push("</DeviceInfo>"),e=S.loadXML(r.join("")),n.success&&n.success(e)},error:function(e,t){n.error&&n.error(e,t)}}),s.setRequestParam(o),s.submitRequest()},It.prototype.getAnalogChannelInfo=function(e,n){var r=F(this.CGI.getAnalogChannelInfo,e.szHttpProtocol,e.szIP,e.iCGIPort),s=new Pt,o={type:"GET",url:r,auth:e.szAuth,success:null,error:null};S.extend(o,n),S.extend(o,{success:function(r){var s=[];s.push("<VideoInputChannelList>");var o=t.$XML(r).find("VideoInputChannel",!0);e.iAnalogChannelNum=o.length;for(var i=0,a=o.length;a>i;i++){var u=o[i];s.push("<VideoInputChannel>"),s.push("<id>"+t.$XML(u).find("id").eq(0).text()+"</id>"),s.push("<inputPort>"+t.$XML(u).find("inputPort").eq(0).text()+"</inputPort>"),s.push("<name>"+S.escape(t.$XML(u).find("name").eq(0).text())+"</name>"),s.push("<videoFormat>"+t.$XML(u).find("videoFormat").eq(0).text()+"</videoFormat>"),s.push("</VideoInputChannel>")}s.push("</VideoInputChannelList>"),r=S.loadXML(s.join("")),n.success&&n.success(r)},error:function(e,t){n.error&&n.error(e,t)}}),s.setRequestParam(o),s.submitRequest()},It.prototype.getDigitalChannel=function(e,n){var r=F(this.CGI.getDigitalChannel,e.szHttpProtocol,e.szIP,e.iCGIPort),s=new Pt,o={type:"GET",url:r,auth:e.szAuth,success:null,error:null};S.extend(o,n),S.extend(o,{success:function(e){var r=[];r.push("<InputProxyChannelList>");for(var s=t.$XML(e).find("InputProxyChannel",!0),o=0,i=s.length;i>o;o++){var a=s[o];r.push("<InputProxyChannel>"),r.push("<id>"+t.$XML(a).find("id").eq(0).text()+"</id>"),r.push("<name>"+S.escape(t.$XML(a).find("name").eq(0).text())+"</name>"),r.push("</InputProxyChannel>")}r.push("</InputProxyChannelList>"),e=S.loadXML(r.join("")),n.success&&n.success(e)},error:function(e,t){n.error&&n.error(e,t)}}),s.setRequestParam(o),s.submitRequest()},It.prototype.getDigitalChannelInfo=function(e,n){var r=null,s={};if(this.getDigitalChannel(e,{async:!1,success:function(e){r=e;for(var n=t.$XML(r).find("InputProxyChannel",!0),o=0,i=n.length;i>o;o++){var a=n[o],u=t.$XML(a).find("id").eq(0).text(),c=t.$XML(a).find("name").eq(0).text();s[u]=c}},error:function(e,t){n.error&&n.error(e,t)}}),null!==r){var o=F(this.CGI.getDigitalChannelInfo,e.szHttpProtocol,e.szIP,e.iCGIPort),i=new Pt,a={type:"GET",url:o,auth:e.szAuth,success:null,error:null};S.extend(a,n),S.extend(a,{success:function(e){var r=[];r.push("<InputProxyChannelStatusList>");for(var o=t.$XML(e).find("InputProxyChannelStatus",!0),i=0,a=o.length;a>i;i++){var u=o[i],c=t.$XML(u).find("id").eq(0).text();r.push("<InputProxyChannelStatus>"),r.push("<id>"+c+"</id>"),r.push("<sourceInputPortDescriptor>"),r.push("<proxyProtocol>"+t.$XML(u).find("proxyProtocol").eq(0).text()+"</proxyProtocol>"),r.push("<addressingFormatType>"+t.$XML(u).find("addressingFormatType").eq(0).text()+"</addressingFormatType>"),r.push("<ipAddress>"+t.$XML(u).find("ipAddress").eq(0).text()+"</ipAddress>"),r.push("<managePortNo>"+t.$XML(u).find("managePortNo").eq(0).text()+"</managePortNo>"),r.push("<srcInputPort>"+t.$XML(u).find("srcInputPort").eq(0).text()+"</srcInputPort>"),r.push("<userName>"+S.escape(t.$XML(u).find("userName").eq(0).text())+"</userName>"),r.push("<streamType>"+t.$XML(u).find("streamType").eq(0).text()+"</streamType>"),r.push("<online>"+t.$XML(u).find("online").eq(0).text()+"</online>"),r.push("<name>"+S.escape(s[c])+"</name>"),r.push("</sourceInputPortDescriptor>"),r.push("</InputProxyChannelStatus>")}r.push("</InputProxyChannelStatusList>"),e=S.loadXML(r.join("")),n.success&&n.success(e)},error:function(e,t){n.error&&n.error(e,t)}}),i.setRequestParam(a),i.submitRequest()}},It.prototype.getZeroChannelInfo=function(e,t){var n=F(this.CGI.getZeroChannelInfo,e.szHttpProtocol,e.szIP,e.iCGIPort),r=new Pt,s={type:"GET",url:n,auth:e.szAuth,success:null,error:null};S.extend(s,t),S.extend(s,{success:function(e){t.success&&t.success(e)},error:function(e,n){t.error&&t.error(e,n)}}),r.setRequestParam(s),r.submitRequest()},It.prototype.getStreamChannels=function(e,t){if(0!=e.iAnalogChannelNum)var n=F(this.CGI.getStreamChannels.analog,e.szHttpProtocol,e.szIP,e.iCGIPort);else var n=F(this.CGI.getStreamChannels.digital,e.szHttpProtocol,e.szIP,e.iCGIPort);var r=new Pt,s={type:"GET",url:n,auth:e.szAuth,success:null,error:null};S.extend(s,t),S.extend(s,{success:function(e){t.success&&t.success(e)},error:function(e,n){t.error&&t.error(e,n)}}),r.setRequestParam(s),r.submitRequest()},It.prototype.getPPPoEStatus=function(e,t){var n=F(this.CGI.getPPPoEStatus,e.szHttpProtocol,e.szIP,e.iCGIPort),r=new Pt,s={type:"GET",url:n,auth:e.szAuth,success:null,error:null};S.extend(s,t),S.extend(s,{success:function(e){t.success&&t.success(e)},error:function(e,n){t.error&&t.error(e,n)}}),r.setRequestParam(s),r.submitRequest()},It.prototype.getUPnPPortStatus=function(e,t){var n=F(this.CGI.getUPnPPortStatus,e.szHttpProtocol,e.szIP,e.iCGIPort),r=new Pt,s={type:"GET",url:n,auth:e.szAuth,success:null,error:null};S.extend(s,t),S.extend(s,{success:function(e){t.success&&t.success(e)},error:function(e,n){t.error&&t.error(e,n)}}),r.setRequestParam(s),r.submitRequest()},It.prototype.getNetworkBond=function(e,t){var n=F(this.CGI.getNetworkBond,e.szHttpProtocol,e.szIP,e.iCGIPort),r=new Pt,s={type:"GET",url:n,auth:e.szAuth,success:null,error:null};S.extend(s,t),S.extend(s,{success:function(e){t.success&&t.success(e)},error:function(e,n){t.error&&t.error(e,n)}}),r.setRequestParam(s),r.submitRequest()},It.prototype.getNetworkInterface=function(e,t){var n=F(this.CGI.getNetworkInterface,e.szHttpProtocol,e.szIP,e.iCGIPort),r=new Pt,s={type:"GET",url:n,auth:e.szAuth,success:null,error:null};S.extend(s,t),S.extend(s,{success:function(e){t.success&&t.success(e)},error:function(e,n){t.error&&t.error(e,n)}}),r.setRequestParam(s),r.submitRequest()},It.prototype.getPortInfo=function(e,t){var n=F(this.CGI.getPortInfo,e.szHttpProtocol,e.szIP,e.iCGIPort),r=new Pt,s={type:"GET",url:n,auth:e.szAuth,success:null,error:null};S.extend(s,t),S.extend(s,{success:function(e){t.success&&t.success(e)},error:function(e,n){t.error&&t.error(e,n)}}),r.setRequestParam(s),r.submitRequest()},It.prototype.startRealPlay=function(e,t){var n=100*t.iChannelID+t.iStreamType,r="",s=-1,o=e.szIP;if("rtsp://"===t.urlProtocol&&(o=V(o)),t.bZeroChannel?(ct()&&(n=0),r=F(t.cgi.zeroChannels,t.urlProtocol,o,t.iPort,n)):r=F(t.cgi.channels,t.urlProtocol,o,t.iPort,n),d.proxyAddress&&ct()){S.cookie("webVideoCtrlProxy",o+":"+t.iPort,{raw:!0}),r=F(t.cgi.zeroChannels,t.urlProtocol,d.proxyAddress.ip,d.proxyAddress.port,n);var i=o+":"+t.iPort;r+=r.indexOf("?")>-1?"&deviceIdentify="+i:"?deviceIdentify="+i}var a=function(){var n=new ht;n.iIndex=t.iWndIndex,n.szIP=e.szIP,n.iCGIPort=e.iCGIPort,n.szDeviceIdentify=e.szDeviceIdentify,n.iChannelID=t.iChannelID,n.iPlayStatus=T,I.push(n)},u=$.Deferred();if(ct()){var c={sessionID:e.szAuth,token:O(e,e.szDeviceIdentify)};r=dt(r),p.JS_Play(r,c,t.iWndIndex).then(function(){a(),u.resolve()},function(){u.reject()})}else s=p.HWP_Play(r,e.szAuth,t.iWndIndex,"",""),0==s?(a(),u.resolve()):u.reject();return u},It.prototype.startVoiceTalk=function(e,t){var n=F(this.CGI.startVoiceTalk.open,e.szHttpProtocol,e.szIP,e.iCGIPort,t),r=F(this.CGI.startVoiceTalk.close,e.szHttpProtocol,e.szIP,e.iCGIPort,t),s=F(this.CGI.startVoiceTalk.audioData,e.szHttpProtocol,e.szIP,e.iCGIPort,t),o=p.HWP_StartVoiceTalkEx(n,r,s,e.szAuth,e.iAudioType,e.m_iAudioBitRate,e.m_iAudioSamplingRate);return o},It.prototype.ptzAutoControl=function(e,t,n,r){var s=n.iChannelID,o="",i="";if(r.iPTZSpeed=r.iPTZSpeed<7?15*r.iPTZSpeed:100,t&&(r.iPTZSpeed=0),e.szDeviceType!=E)o=s<=e.iAnalogChannelNum?F(this.CGI.ptzAutoControl.analog,e.szHttpProtocol,e.szIP,e.iCGIPort,n.iChannelID):n.bShttpIPChannel?F(this.CGI.ptzAutoControl.digital,e.szHttpProtocol,e.szIP,e.iCGIPort,n.iChannelID-e.oStreamCapa.iIpChanBase+1+e.iAnalogChannelNum):F(this.CGI.ptzAutoControl.digital,e.szHttpProtocol,e.szIP,e.iCGIPort,n.iChannelID),i="<?xml version='1.0' encoding='UTF-8'?><autoPanData><autoPan>"+r.iPTZSpeed+"</autoPan>"+"</autoPanData>";else{0===r.iPTZSpeed&&(t=!0);var a=99;t&&(a=96),o=F(this.CGI.ptzAutoControl.ipdome,e.szHttpProtocol,e.szIP,e.iCGIPort,n.iChannelID,a)}var u=new Pt,c={type:"PUT",url:o,async:!1,auth:e.szAuth,data:i,success:null,error:null},l=this;S.extend(c,r),S.extend(c,{success:function(e){n.bPTZAuto=!n.bPTZAuto,r.success&&r.success(e)},error:function(t,s){if(k==e.szDeviceType||Z==e.szDeviceType){o=n.bShttpIPChannel?F(l.CGI.ptzControl.analog,e.szHttpProtocol,e.szIP,e.iCGIPort,n.iChannelID-e.oStreamCapa.iIpChanBase+1+e.iAnalogChannelNum):F(l.CGI.ptzControl.analog,e.szHttpProtocol,e.szIP,e.iCGIPort,n.iChannelID),i="<?xml version='1.0' encoding='UTF-8'?><PTZData><pan>"+r.iPTZSpeed+"</pan>"+"<tilt>"+0+"</tilt>"+"</PTZData>";var a=new Pt,u={type:"PUT",url:o,async:!1,auth:e.szAuth,data:i,success:null,error:null};S.extend(u,r),a.setRequestParam(u),a.submitRequest()}else r.error&&r.error(t,s)}}),u.setRequestParam(c),u.submitRequest()},It.prototype.ptzControl=function(e,t,n,r){var s=n.iChannelID,o="";n.bPTZAuto&&this.ptzAutoControl(e,!0,n,{iPTZSpeed:0}),r.iPTZSpeed=t?0:r.iPTZSpeed<7?15*r.iPTZSpeed:100;var i=[{},{pan:0,tilt:r.iPTZSpeed},{pan:0,tilt:-r.iPTZSpeed},{pan:-r.iPTZSpeed,tilt:0},{pan:r.iPTZSpeed,tilt:0},{pan:-r.iPTZSpeed,tilt:r.iPTZSpeed},{pan:-r.iPTZSpeed,tilt:-r.iPTZSpeed},{pan:r.iPTZSpeed,tilt:r.iPTZSpeed},{pan:r.iPTZSpeed,tilt:-r.iPTZSpeed},{},{speed:r.iPTZSpeed},{speed:-r.iPTZSpeed},{speed:r.iPTZSpeed},{speed:-r.iPTZSpeed},{speed:r.iPTZSpeed},{speed:-r.iPTZSpeed}],a="",u={};switch(r.iPTZIndex){case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:u=this.CGI.ptzControl,a="<?xml version='1.0' encoding='UTF-8'?><PTZData><pan>"+i[r.iPTZIndex].pan+"</pan>"+"<tilt>"+i[r.iPTZIndex].tilt+"</tilt>"+"</PTZData>";
- break;case 10:case 11:u=this.CGI.ptzControl,a="<?xml version='1.0' encoding='UTF-8'?><PTZData><zoom>"+i[r.iPTZIndex].speed+"</zoom>"+"</PTZData>";break;case 12:case 13:u=this.CGI.ptzFocus,a="<?xml version='1.0' encoding='UTF-8'?><FocusData><focus>"+i[r.iPTZIndex].speed+"</focus>"+"</FocusData>";break;case 14:case 15:u=this.CGI.ptzIris,a="<?xml version='1.0' encoding='UTF-8'?><IrisData><iris>"+i[r.iPTZIndex].speed+"</iris>"+"</IrisData>";break;default:return r.error&&r.error(),void 0}o=u!=this.CGI.ptzFocus&&u!=this.CGI.ptzIris||e.szDeviceType!=k&&e.szDeviceType!=E&&e.szDeviceType!=Z?s<=e.iAnalogChannelNum?F(u.analog,e.szHttpProtocol,e.szIP,e.iCGIPort,n.iChannelID):n.bShttpIPChannel?F(u.digital,e.szHttpProtocol,e.szIP,e.iCGIPort,n.iChannelID-e.oStreamCapa.iIpChanBase+1+e.iAnalogChannelNum):F(u.digital,e.szHttpProtocol,e.szIP,e.iCGIPort,n.iChannelID):F(u.ipc,e.szHttpProtocol,e.szIP,e.iCGIPort,n.iChannelID);var c=new Pt,l={type:"PUT",url:o,async:!1,auth:e.szAuth,data:a,success:null,error:null};S.extend(l,r),S.extend(l,{success:function(e){r.success&&r.success(e)},error:function(e,t){r.error&&r.error(e,t)}}),c.setRequestParam(l),c.submitRequest()},It.prototype.setPreset=function(e,t,n){var r=t.iChannelID,s="",o="";s=r<=e.iAnalogChannelNum?F(this.CGI.setPreset.analog,e.szHttpProtocol,e.szIP,e.iCGIPort,t.iChannelID,n.iPresetID):t.bShttpIPChannel?F(this.CGI.setPreset.digital,e.szHttpProtocol,e.szIP,e.iCGIPort,t.iChannelID-e.oStreamCapa.iIpChanBase+1+e.iAnalogChannelNum,n.iPresetID):F(this.CGI.setPreset.digital,e.szHttpProtocol,e.szIP,e.iCGIPort,t.iChannelID,n.iPresetID),o="<?xml version='1.0' encoding='UTF-8'?>",o+="<PTZPreset>",o+="<id>"+n.iPresetID+"</id>",e.szDeviceType!=E&&(o+="<presetName>Preset"+n.iPresetID+"</presetName>"),o+="</PTZPreset>";var i=new Pt,a={type:"PUT",url:s,auth:e.szAuth,data:o,success:null,error:null};S.extend(a,n),S.extend(a,{success:function(e){n.success&&n.success(e)},error:function(e,t){n.error&&n.error(e,t)}}),i.setRequestParam(a),i.submitRequest()},It.prototype.goPreset=function(e,t,n){var r=t.iChannelID,s="";s=r<=e.iAnalogChannelNum?F(this.CGI.goPreset.analog,e.szHttpProtocol,e.szIP,e.iCGIPort,t.iChannelID,n.iPresetID):t.bShttpIPChannel?F(this.CGI.goPreset.digital,e.szHttpProtocol,e.szIP,e.iCGIPort,t.iChannelID-e.oStreamCapa.iIpChanBase+1+e.iAnalogChannelNum,n.iPresetID):F(this.CGI.goPreset.digital,e.szHttpProtocol,e.szIP,e.iCGIPort,t.iChannelID,n.iPresetID);var o=new Pt,i={type:"PUT",url:s,auth:e.szAuth,success:null,error:null};S.extend(i,n),S.extend(i,{success:function(e){n.success&&n.success(e)},error:function(e,t){n.error&&n.error(e,t)}}),o.setRequestParam(i),o.submitRequest()},It.prototype.overlayInfo=function(){return szUrl=this.CGI.overlayInfo.analog},It.prototype.recordSearch=function(e,n){var r="",s="",i=n.iChannelID,a=n.iStreamType,u=n.szStartTime.replace(" ","T")+"Z",c=n.szEndTime.replace(" ","T")+"Z";r=F(this.CGI.recordSearch,e.szHttpProtocol,e.szIP,e.iCGIPort),s="<?xml version='1.0' encoding='UTF-8'?><CMSearchDescription><searchID>"+new o+"</searchID>"+"<trackList><trackID>"+(100*i+a)+"</trackID></trackList>"+"<timeSpanList>"+"<timeSpan>"+"<startTime>"+u+"</startTime>"+"<endTime>"+c+"</endTime>"+"</timeSpan>"+"</timeSpanList>"+"<maxResults>40</maxResults>"+"<searchResultPostion>"+n.iSearchPos+"</searchResultPostion>"+"<metadataList>"+"<metadataDescriptor>//metadata.ISAPI.org/VideoMotion</metadataDescriptor>"+"</metadataList>"+"</CMSearchDescription>";var l=new Pt,d={type:"POST",url:r,auth:e.szAuth,data:s,success:null,error:null};S.extend(d,n),S.extend(d,{success:function(e){var r=[];r.push("<CMSearchResult>"),r.push("<responseStatus>"+t.$XML(e).find("responseStatus").eq(0).text()+"</responseStatus>"),r.push("<responseStatusStrg>"+t.$XML(e).find("responseStatusStrg").eq(0).text()+"</responseStatusStrg>"),r.push("<numOfMatches>"+t.$XML(e).find("numOfMatches").eq(0).text()+"</numOfMatches>"),r.push("<matchList>");for(var s=t.$XML(e).find("searchMatchItem",!0),o=0,i=s.length;i>o;o++){var a=s[o];r.push("<searchMatchItem>"),r.push("<trackID>"+t.$XML(a).find("trackID").eq(0).text()+"</trackID>"),r.push("<startTime>"+t.$XML(a).find("startTime").eq(0).text()+"</startTime>"),r.push("<endTime>"+t.$XML(a).find("endTime").eq(0).text()+"</endTime>"),r.push("<playbackURI>"+S.escape(t.$XML(a).find("playbackURI").eq(0).text())+"</playbackURI>"),r.push("<metadataDescriptor>"+t.$XML(a).find("metadataDescriptor").eq(0).text().split("/")[1]+"</metadataDescriptor>"),r.push("</searchMatchItem>")}r.push("</matchList>"),r.push("</CMSearchResult>"),e=S.loadXML(r.join("")),n.success&&n.success(e)},error:function(e,t){n.error&&n.error(e,t)}}),l.setRequestParam(d),l.submitRequest()},It.prototype.startPlayback=function(e,t){var n=t.iWndIndex,r="",s=t.szStartTime,o=t.szEndTime,i=e.szIP;if("rtsp://"===t.urlProtocol&&(i=V(i)),ct())if(d.proxyAddress){S.cookie("webVideoCtrlProxy",i+":"+t.iPort,{raw:!0}),r=F(t.cgi,t.urlProtocol,d.proxyAddress.ip,d.proxyAddress.port,t.iChannelID);var a=i+":"+t.iPort;r+=r.indexOf("?")>-1?"&deviceIdentify="+a:"?deviceIdentify="+a}else r=F(t.cgi,t.urlProtocol,i,t.iPort,t.iChannelID,s,o);else r=F(t.cgi,t.urlProtocol,i,t.iPort,t.iChannelID,s,o);if(!U(t.oTransCodeParam)){var u=ut(t.oTransCodeParam);if(""==u)return-1;p.HWP_SetTrsPlayBackParam(n,u)}var c=function(){var r=new ht;r.iIndex=n,r.szIP=e.szIP,r.iCGIPort=e.iCGIPort,r.szDeviceIdentify=e.szDeviceIdentify,r.iChannelID=t.iChannelID,r.iPlayStatus=A,I.push(r)},l=$.Deferred();if(ct()){var f={sessionID:e.szAuth,token:O(e,e.szDeviceIdentify)};p.JS_Play(r,f,n,s,o).then(function(){c(),l.resolve()},function(){l.reject()})}else{var h=p.HWP_Play(r,e.szAuth,n,s,o);0==h?(c(),l.resolve()):l.reject()}return l},It.prototype.reversePlayback=function(e,t){var n=t.iWndIndex,r=t.szStartTime,s=t.szEndTime,o=e.szIP;"rtsp://"===t.urlProtocol&&(o=V(o));var i=F(t.cgi,t.urlProtocol,o,t.iPort,t.iChannelID,r,s),a=p.HWP_ReversePlay(i,e.szAuth,n,r,s);if(0==a){var u=new ht;u.iIndex=n,u.szIP=e.szIP,u.iCGIPort=e.iCGIPort,u.szDeviceIdentify=e.szDeviceIdentify,u.iChannelID=t.iChannelID,u.iPlayStatus=q,I.push(u)}return a},It.prototype.startDownloadRecord=function(e,t){var n=-1,r=F(this.CGI.startDownloadRecord,e.szHttpProtocol,e.szIP,e.iCGIPort),s="<?xml version='1.0' encoding='UTF-8'?><downloadRequest><playbackURI> "+S.escape(t.szPlaybackURI)+"</playbackURI>"+"</downloadRequest>";return ct()?(r=lt(r),n=p.JS_StartDownload(r,e.szAuth,t.szFileName,s)):n=p.HWP_StartDownload(r,e.szAuth,t.szFileName,s,t.bDateDir),n},It.prototype.exportDeviceConfig=function(e,t){var n=F(this.CGI.downloaddeviceConfig,e.szHttpProtocol,e.szIP,e.iCGIPort);if(ct()){var r={type:"PUT",url:n,auth:e.szAuth,success:function(){},error:function(){}},s=new Pt;return s.setRequestParam(r),s.submitRequest(),n=lt(n),t&&(n=S.exportPasswordDeviceConfig(n,t)),p.JS_ExportDeviceConfig(n)}return t&&(n=S.exportPasswordDeviceConfig(n,t)),p.HWP_ExportDeviceConfig(n,e.szAuth,"",0)},It.prototype.importDeviceConfig=function(e,t,n){var r=F(this.CGI.uploaddeviceConfig,e.szHttpProtocol,e.szIP,e.iCGIPort);if(ct()){var s={type:"PUT",url:r,auth:e.szAuth,success:function(){},error:function(){}},o=new Pt;return o.setRequestParam(s),o.submitRequest(),r=lt(r),n&&(r=S.exportPasswordDeviceConfig(r,n)),p.JS_UploadFile(r)}return n&&(r=S.exportPasswordDeviceConfig(r,n)),p.HWP_ImportDeviceConfig(r,e.szAuth,t.szFileName,0)},It.prototype.restart=function(e,t){var n=F(this.CGI.restart,e.szHttpProtocol,e.szIP,e.iCGIPort),r=new Pt,s={type:"PUT",url:n,auth:e.szAuth,success:null,error:null};S.extend(s,t),S.extend(s,{success:function(e){t.success&&t.success(e)},error:function(e,n){t.error&&t.error(e,n)}}),r.setRequestParam(s),r.submitRequest()},It.prototype.restore=function(e,t,n){var r=F(this.CGI.restore,e.szHttpProtocol,e.szIP,e.iCGIPort,t),s=new Pt,o={type:"PUT",url:r,auth:e.szAuth,success:null,error:null};S.extend(o,n),S.extend(o,{success:function(e){n.success&&n.success(e)},error:function(e,t){n.error&&n.error(e,t)}}),s.setRequestParam(o),s.submitRequest()},It.prototype.startUpgrade=function(e,t){$.Deferred();var n=F(this.CGI.startUpgrade.upgrade,e.szHttpProtocol,e.szIP,e.iCGIPort),r=F(this.CGI.startUpgrade.status,e.szHttpProtocol,e.szIP,e.iCGIPort);return szRet=p.HWP_StartUpgrade(n,r,e.szAuth,t.szFileName)},It.prototype.asyncstartUpgrade=function(e,t){var n=$.Deferred(),r=F(this.CGI.startUpgrade.upgrade,e.szHttpProtocol,e.szIP,e.iCGIPort),s=F(this.CGI.startUpgrade.status,e.szHttpProtocol,e.szIP,e.iCGIPort);if(ct())r=lt(r),s=lt(s),p.JS_StartUpgradeEx(r,s).then(function(e){n.resolve(e)},function(){n.reject(o)});else{var o=p.HWP_StartUpgrade(r,s,e.szAuth,t.szFileName);0===o?n.resolve(o):n.reject(o)}return n},It.prototype.set3DZoom=function(e,n,r,s){var o=n.iChannelID,i="";if(i=o<=e.iAnalogChannelNum?F(this.CGI.set3DZoom.analog,e.szHttpProtocol,e.szIP,e.iCGIPort,n.iChannelID):n.bShttpIPChannel?F(this.CGI.set3DZoom.digital,e.szHttpProtocol,e.szIP,e.iCGIPort,n.iChannelID-e.oStreamCapa.iIpChanBase+1+e.iAnalogChannelNum):F(this.CGI.set3DZoom.digital,e.szHttpProtocol,e.szIP,e.iCGIPort,n.iChannelID),ct())var c=S.loadXML(r),l=parseInt(255*(r.startPos[0]/a),10),d=parseInt(255*(r.startPos[1]/u),10),p=parseInt(255*(r.endPos[0]/a),10),f=parseInt(255*(r.endPos[1]/u),10);else var c=S.loadXML(r),l=parseInt(t.$XML(c).find("StartPoint").eq(0).find("positionX").eq(0).text(),10),d=parseInt(t.$XML(c).find("StartPoint").eq(0).find("positionY").eq(0).text(),10),p=parseInt(t.$XML(c).find("EndPoint").eq(0).find("positionX").eq(0).text(),10),f=parseInt(t.$XML(c).find("EndPoint").eq(0).find("positionY").eq(0).text(),10);var h="<?xml version='1.0' encoding='UTF-8'?><Position3D><StartPoint><positionX>"+l+"</positionX>"+"<positionY>"+(255-d)+"</positionY>"+"</StartPoint>"+"<EndPoint>"+"<positionX>"+p+"</positionX>"+"<positionY>"+(255-f)+"</positionY>"+"</EndPoint>"+"</Position3D>",P=new Pt,I={type:"PUT",url:i,data:h,auth:e.szAuth,success:null,error:null};S.extend(I,s),S.extend(I,{success:function(e){s.success&&s.success(e)},error:function(e,t){s.error&&s.error(e,t)}}),P.setRequestParam(I),P.submitRequest()},It.prototype.getSDKCapa=function(e,t){var n=F(this.CGI.SDKCapabilities,e.szHttpProtocol,e.szIP,e.iCGIPort),r=new Pt,s={type:"GET",url:n,async:!1,auth:e.szAuth,success:null,error:null};S.extend(s,t),S.extend(s,{success:function(e){t.success&&t.success(e)},error:function(e,n){t.error&&t.error(e,n)}}),r.setRequestParam(s),r.submitRequest()},It.prototype.deviceCapturePic=function(e,t,n,r){var t=100*t+1,s=-1,o=F(this.CGI.deviceCapture.channels,e.szHttpProtocol,e.szIP,e.iCGIPort,t),i=[];if(S.isInt(r.iResolutionWidth)&&i.push("videoResolutionWidth="+r.iResolutionWidth),S.isInt(r.iResolutionHeight)&&i.push("videoResolutionHeight="+r.iResolutionHeight),i.length>0&&(o+="?"+i.join("&")),ct()){var a=function(e,t){var n=".jpg";return $("body").append('<a id="jsplugin_download_a" href="'+e+'" download='+t+n+'><li id="jsplugin_download_li"></li></a>'),$("#jsplugin_download_li").trigger("click"),$("#jsplugin_download_a").remove(),0};o=lt(o),s=a(o,n)}else s=p.HWP_DeviceCapturePic(o,e.szAuth,n,r.bDateDir);return s},It.prototype.getSessionV2Cap=function(e,t,n,r,s,o){var i="";i=2==n?"https://":"http://";var a=F(this.CGI.sessionCap,i,t,r,encodeURIComponent(s));a=a+"&random:"+e;var u=new Pt,c={type:"GET",url:a,auth:"",success:null,error:null};S.extend(c,o),S.extend(c,{success:function(e){o.success&&o.success(e)},error:function(e,t){o.error&&o.error(e,t)}}),u.setRequestParam(c),u.submitRequest()},It.prototype.getSessionCap=function(e,t,n,r,s){var o="";o=2==t?"https://":"http://";var i=F(this.CGI.sessionCap,o,e,n,encodeURIComponent(r)),a=new Pt,u={type:"GET",url:i,auth:"",success:null,error:null};S.extend(u,s),S.extend(u,{success:function(e){s.success&&s.success(e)},error:function(e,t){s.error&&s.error(e,t)}}),a.setRequestParam(u),a.submitRequest()},It.prototype.sessionV2Login=function(e,n,r,s,o,i,a,u){var c="";c=2==r?"https://":"http://";var l=parseInt(t.$XML(a).find("sessionIDVersion").eq(0).text(),10),d="true"===t.$XML(a).find("isSessionIDValidLongTerm").eq(0).text(),p=F(this.CGI.sessionLogin,c,n,s),f=t.$XML(a).find("sessionID").eq(0).text(),h=t.$XML(a).find("challenge").eq(0).text(),P=parseInt(t.$XML(a).find("iterations").eq(0).text(),10),I=!1,m="";t.$XML(a).find("isIrreversible",!0).length>0&&(I="true"===t.$XML(a).find("isIrreversible").eq(0).text(),m=t.$XML(a).find("salt").eq(0).text()),this.m_oInfoForLocalPlgin={szRandom:e,sessionID:f,iterations:P,challenge:h,user:o};var v=S.encodePwd(i,{challenge:h,userName:o,salt:m,iIterate:P},I),C="<SessionLogin>";C+="<userName>"+S.escape(o)+"</userName>",C+="<password>"+v+"</password>",C+="<sessionID>"+f+"</sessionID>",C+="<isSessionIDValidLongTerm>"+d+"</isSessionIDValidLongTerm>",C+="<sessionIDVersion>"+l+"</sessionIDVersion>",C+="</SessionLogin>";var y=new Pt,g={type:"POST",url:p,data:C,auth:"",success:null,error:null};S.extend(g,u),S.extend(g,{success:function(e){u.success&&u.success(e)},error:function(e,t){u.error&&u.error(e,t)}}),y.setRequestParam(g),y.submitRequest()},It.prototype.sessionLogin=function(e,n,r,s,o,i,a){var u="";u=2==n?"https://":"http://";var c=F(this.CGI.sessionLogin,u,e,r),l=t.$XML(i).find("sessionID").eq(0).text(),d=t.$XML(i).find("challenge").eq(0).text(),p=parseInt(t.$XML(i).find("iterations").eq(0).text(),10),f=!1,h="";t.$XML(i).find("isIrreversible",!0).length>0&&(f="true"===t.$XML(i).find("isIrreversible").eq(0).text(),h=t.$XML(i).find("salt").eq(0).text());var P="";if(f){P=S.sha256(s+h+o),P=S.sha256(P+d);for(var I=2;p>I;I++)P=S.sha256(P)}else{P=S.sha256(o)+d;for(var I=1;p>I;I++)P=S.sha256(P)}var m="<SessionLogin>";m+="<userName>"+S.escape(s)+"</userName>",m+="<password>"+P+"</password>",m+="<sessionID>"+l+"</sessionID>",m+="</SessionLogin>";var v=new Pt,C={type:"POST",url:c,data:m,auth:"",success:null,error:null};S.extend(C,a),S.extend(C,{success:function(e){a.success&&a.success(e)},error:function(e,t){a.error&&a.error(e,t)}}),v.setRequestParam(C),v.submitRequest()},It.prototype.sessionHeartbeat=function(e,t,n){var r=F(this.CGI.sessionHeartbeat,e.szHttpProtocol,e.szIP,e.iCGIPort),s=new Pt,o={type:"PUT",url:r,auth:e.szAuth,success:null,error:null};S.extend(o,{success:function(e){t&&t(e)},error:function(e,t){n&&n(e,t)}}),s.setRequestParam(o),s.submitRequest()},It.prototype.sessionLogout=function(e,t){var n=F(this.CGI.sessionLogout,e.szHttpProtocol,e.szIP,e.iCGIPort),r=new Pt,s={type:"PUT",url:n,auth:e.szAuth,success:null,error:null};S.extend(s,t),S.extend(s,{success:function(e){t.success&&t.success(e)},error:function(e,n){t.error&&t.error(e,n)}}),r.setRequestParam(s),r.submitRequest()},It.prototype.getSystemCapa=function(e,t){var n=F(this.CGI.systemCapabilities,e.szHttpProtocol,e.szIP,e.iCGIPort),r=new Pt,s={type:"GET",url:n,async:!1,auth:e.szAuth,success:null,error:null};S.extend(s,t),S.extend(s,{success:function(e){t.success&&t.success(e)},error:function(e,n){t.error&&t.error(e,n)}}),r.setRequestParam(s),r.submitRequest()};var mt=function(){};mt.prototype.CGI={login:"%s%s:%s/PSIA/Custom/SelfExt/userCheck",getAudioInfo:"%s%s:%s/PSIA/Custom/SelfExt/TwoWayAudio/channels",getDeviceInfo:"%s%s:%s/PSIA/System/deviceInfo",getAnalogChannelInfo:"%s%s:%s/PSIA/System/Video/inputs/channels",getDigitalChannel:"%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/DynVideo/inputs/channels",getDigitalChannelInfo:"%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/DynVideo/inputs/channels/status",getZeroChannelInfo:"%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/ZeroVideo/channels",getStreamChannels:{analog:"%s%s:%s/PSIA/Streaming/channels",digital:"%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/DynStreaming/channels"},getStreamDynChannels:"%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/DynStreaming/channels",startRealPlay:{channels:"%s%s:%s/PSIA/streaming/channels/%s",zeroChannels:"%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/ZeroStreaming/channels/%s"},startVoiceTalk:{open:"%s%s:%s/PSIA/Custom/SelfExt/TwoWayAudio/channels/%s/open",close:"%s%s:%s/PSIA/Custom/SelfExt/TwoWayAudio/channels/%s/close",audioData:"%s%s:%s/PSIA/Custom/SelfExt/TwoWayAudio/channels/%s/audioData"},ptzControl:"%s%s:%s/PSIA/PTZ/channels/%s/continuous",ptzAutoControl:"%s%s:%s/PSIA/Custom/SelfExt/PTZ/channels/%s/autoptz",setPreset:"%s%s:%s/PSIA/PTZ/channels/%s/presets/%s",goPreset:"%s%s:%s/PSIA/PTZ/channels/%s/presets/%s/goto",ptzFocus:"%s%s:%s/PSIA/System/Video/inputs/channels/%s/focus",ptzIris:"%s%s:%s/PSIA/System/Video/inputs/channels/%s/iris",getNetworkBond:"%s%s:%s/PSIA/Custom/SelfExt/Bond",getNetworkInterface:"%s%s:%s/PSIA/System/Network/interfaces",getUPnPPortStatus:"%s%s:%s/PSIA/Custom/SelfExt/UPnP/ports/status",getPPPoEStatus:"%s%s:%s/PSIA/Custom/SelfExt/PPPoE/1/status",getPortInfo:"%s%s:%s/PSIA/Security/AAA/adminAccesses",recordSearch:"%s%s:%s/PSIA/ContentMgmt/search",startPlayback:"%s%s:%s/PSIA/streaming/tracks/%s?starttime=%s&endtime=%s",startDownloadRecord:"%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/download",deviceConfig:"%s%s:%s/PSIA/System/configurationData",restart:"%s%s:%s/PSIA/System/reboot",restore:"%s%s:%s/PSIA/System/factoryReset?mode=%s",startUpgrade:{upgrade:"%s%s:%s/PSIA/System/updateFirmware",status:"%s%s:%s/PSIA/Custom/SelfExt/upgradeStatus"},set3DZoom:"%s%s:%s/PSIA/Custom/SelfExt/PTZ/channels/%s/Set3DZoom",deviceCapture:{channels:"%s%s:%s/PSIA/Streaming/channels/%s/picture"},systemCapabilities:"%s%s:%s/PSIA/System/capabilities"},mt.prototype.login=function(e,n,r,s){var o=2==s.protocol?"https://":"http://",i=F(this.CGI.login,o,e,n),a=new Pt,u={type:"GET",url:i,auth:r,success:null,error:null};S.extend(u,s),S.extend(u,{success:function(e){"200"==t.$XML(e).find("statusValue").eq(0).text()?s.success&&s.success(e):s.error&&s.error(401,e)},error:function(e,t){s.error&&s.error(e,t)}}),a.setRequestParam(u),a.submitRequest()},mt.prototype.getAudioInfo=function(e,t){var n=F(this.CGI.getAudioInfo,e.szHttpProtocol,e.szIP,e.iCGIPort),r=new Pt,s={type:"GET",url:n,auth:e.szAuth,success:null,error:null};S.extend(s,t),S.extend(s,{success:function(e){t.success&&t.success(e)},error:function(e,n){t.error&&t.error(e,n)}}),r.setRequestParam(s),r.submitRequest()},mt.prototype.getDeviceInfo=function(e,n){var r=F(this.CGI.getDeviceInfo,e.szHttpProtocol,e.szIP,e.iCGIPort),s=new Pt,o={type:"GET",url:r,auth:e.szAuth,success:null,error:null};S.extend(o,n),S.extend(o,{success:function(e){var r=[];r.push("<DeviceInfo>"),r.push("<deviceName>"+S.escape(t.$XML(e).find("deviceName").eq(0).text())+"</deviceName>"),r.push("<deviceID>"+t.$XML(e).find("deviceID").eq(0).text()+"</deviceID>"),r.push("<deviceType>"+t.$XML(e).find("deviceDescription").eq(0).text()+"</deviceType>"),r.push("<model>"+t.$XML(e).find("model").eq(0).text()+"</model>"),r.push("<serialNumber>"+t.$XML(e).find("serialNumber").eq(0).text()+"</serialNumber>"),r.push("<macAddress>"+t.$XML(e).find("macAddress").eq(0).text()+"</macAddress>"),r.push("<firmwareVersion>"+t.$XML(e).find("firmwareVersion").eq(0).text()+"</firmwareVersion>"),r.push("<firmwareReleasedDate>"+t.$XML(e).find("firmwareReleasedDate").eq(0).text()+"</firmwareReleasedDate>"),r.push("<encoderVersion>"+t.$XML(e).find("logicVersion").eq(0).text()+"</encoderVersion>"),r.push("<encoderReleasedDate>"+t.$XML(e).find("logicReleasedDate").eq(0).text()+"</encoderReleasedDate>"),r.push("</DeviceInfo>"),e=S.loadXML(r.join("")),n.success&&n.success(e)},error:function(e,t){n.error&&n.error(e,t)}}),s.setRequestParam(o),s.submitRequest()},mt.prototype.getSystemCapa=function(e,t){var n=F(this.CGI.systemCapabilities,e.szHttpProtocol,e.szIP,e.iCGIPort),r=new Pt,s={type:"GET",async:!1,url:n,auth:e.szAuth,success:null,error:null};S.extend(s,t),S.extend(s,{success:function(e){t.success&&t.success(e)},error:function(e,n){t.error&&t.error(e,n)}}),r.setRequestParam(s),r.submitRequest()},mt.prototype.getAnalogChannelInfo=function(e,n){var r=F(this.CGI.getAnalogChannelInfo,e.szHttpProtocol,e.szIP,e.iCGIPort),s=new Pt,o={type:"GET",url:r,auth:e.szAuth,success:null,error:null};S.extend(o,n),S.extend(o,{success:function(e){var r=[];r.push("<VideoInputChannelList>");for(var s=t.$XML(e).find("VideoInputChannel",!0),o=0,i=s.length;i>o;o++){var a=s[o];r.push("<VideoInputChannel>"),r.push("<id>"+t.$XML(a).find("id").eq(0).text()+"</id>"),r.push("<inputPort>"+t.$XML(a).find("inputPort").eq(0).text()+"</inputPort>"),r.push("<name>"+S.escape(t.$XML(a).find("name").eq(0).text())+"</name>"),r.push("<videoFormat>"+t.$XML(a).find("videoFormat").eq(0).text()+"</videoFormat>"),r.push("</VideoInputChannel>")}r.push("</VideoInputChannelList>"),e=S.loadXML(r.join("")),n.success&&n.success(e)},error:function(e,t){n.error&&n.error(e,t)}}),s.setRequestParam(o),s.submitRequest()},mt.prototype.getDigitalChannel=function(e,n){var r=F(this.CGI.getDigitalChannel,e.szHttpProtocol,e.szIP,e.iCGIPort),s=new Pt,o={type:"GET",url:r,auth:e.szAuth,success:null,error:null};S.extend(o,n),S.extend(o,{success:function(e){var r=[];r.push("<InputProxyChannelList>");for(var s=t.$XML(e).find("DynVideoInputChannel",!0),o=0,i=s.length;i>o;o++){var a=s[o];r.push("<InputProxyChannel>"),r.push("<id>"+t.$XML(a).find("id").eq(0).text()+"</id>"),r.push("<name>"+S.escape(t.$XML(a).find("name").eq(0).text())+"</name>"),r.push("</InputProxyChannel>")}r.push("</InputProxyChannelList>"),e=S.loadXML(r.join("")),n.success&&n.success(e)},error:function(e,t){n.error&&n.error(e,t)}}),s.setRequestParam(o),s.submitRequest()},mt.prototype.getDigitalChannelInfo=function(e,n){var r=null,s={};if(this.getDigitalChannel(e,{async:!1,success:function(e){r=e;for(var n=t.$XML(r).find("InputProxyChannel",!0),o=0,i=n.length;i>o;o++){var a=n[o],u=t.$XML(a).find("id").eq(0).text(),c=t.$XML(a).find("name").eq(0).text();s[u]=c}},error:function(e,t){n.error&&n.error(e,t)}}),null!==r){var o=F(this.CGI.getDigitalChannelInfo,e.szHttpProtocol,e.szIP,e.iCGIPort),i=new Pt,a={type:"GET",url:o,auth:e.szAuth,success:null,error:null};S.extend(a,n),S.extend(a,{success:function(e){var r=[];r.push("<InputProxyChannelStatusList>");for(var o=t.$XML(e).find("DynVideoInputChannelStatus",!0),i=0,a=o.length;a>i;i++){var u=o[i],c=t.$XML(u).find("id").eq(0).text();r.push("<InputProxyChannelStatus>"),r.push("<id>"+c+"</id>"),r.push("<sourceInputPortDescriptor>"),r.push("<proxyProtocol>"+t.$XML(u).find("adminProtocol").eq(0).text()+"</proxyProtocol>"),r.push("<addressingFormatType>"+t.$XML(u).find("addressingFormatType").eq(0).text()+"</addressingFormatType>"),r.push("<ipAddress>"+t.$XML(u).find("ipAddress").eq(0).text()+"</ipAddress>"),r.push("<managePortNo>"+t.$XML(u).find("adminPortNo").eq(0).text()+"</managePortNo>"),r.push("<srcInputPort>"+t.$XML(u).find("srcInputPort").eq(0).text()+"</srcInputPort>"),r.push("<userName>"+S.escape(t.$XML(u).find("userName").eq(0).text())+"</userName>"),r.push("<streamType>"+t.$XML(u).find("streamType").eq(0).text()+"</streamType>"),r.push("<online>"+t.$XML(u).find("online").eq(0).text()+"</online>"),r.push("<name>"+S.escape(s[c])+"</name>"),r.push("</sourceInputPortDescriptor>"),r.push("</InputProxyChannelStatus>")}r.push("</InputProxyChannelStatusList>"),e=S.loadXML(r.join("")),n.success&&n.success(e)},error:function(e,t){n.error&&n.error(e,t)}}),i.setRequestParam(a),i.submitRequest()}},mt.prototype.getZeroChannelInfo=function(e,t){var n=F(this.CGI.getZeroChannelInfo,e.szHttpProtocol,e.szIP,e.iCGIPort),r=new Pt,s={type:"GET",url:n,auth:e.szAuth,success:null,error:null};S.extend(s,t),S.extend(s,{success:function(e){t.success&&t.success(e)},error:function(e,n){t.error&&t.error(e,n)}}),r.setRequestParam(s),r.submitRequest()},mt.prototype.getPPPoEStatus=function(e,t){var n=F(this.CGI.getPPPoEStatus,e.szHttpProtocol,e.szIP,e.iCGIPort),r=new Pt,s={type:"GET",url:n,auth:e.szAuth,success:null,error:null};S.extend(s,t),S.extend(s,{success:function(e){t.success&&t.success(e)},error:function(e,n){t.error&&t.error(e,n)}}),r.setRequestParam(s),r.submitRequest()},mt.prototype.getUPnPPortStatus=function(e,t){var n=F(this.CGI.getUPnPPortStatus,e.szHttpProtocol,e.szIP,e.iCGIPort),r=new Pt,s={type:"GET",url:n,auth:e.szAuth,success:null,error:null};S.extend(s,t),S.extend(s,{success:function(e){t.success&&t.success(e)},error:function(e,n){t.error&&t.error(e,n)}}),r.setRequestParam(s),r.submitRequest()},mt.prototype.getNetworkBond=function(e,t){var n=F(this.CGI.getNetworkBond,e.szHttpProtocol,e.szIP,e.iCGIPort),r=new Pt,s={type:"GET",url:n,auth:e.szAuth,success:null,error:null};S.extend(s,t),S.extend(s,{success:function(e){t.success&&t.success(e)},error:function(e,n){t.error&&t.error(e,n)}}),r.setRequestParam(s),r.submitRequest()},mt.prototype.getNetworkInterface=function(e,t){var n=F(this.CGI.getNetworkInterface,e.szHttpProtocol,e.szIP,e.iCGIPort),r=new Pt,s={type:"GET",url:n,auth:e.szAuth,success:null,error:null};S.extend(s,t),S.extend(s,{success:function(e){t.success&&t.success(e)},error:function(e,n){t.error&&t.error(e,n)}}),r.setRequestParam(s),r.submitRequest()},mt.prototype.getPortInfo=function(e,n){var r=F(this.CGI.getPortInfo,e.szHttpProtocol,e.szIP,e.iCGIPort),s=new Pt,o={type:"GET",url:r,auth:e.szAuth,success:null,error:null};S.extend(o,n),S.extend(o,{success:function(r){var s=[];s.push("<AdminAccessProtocolList>");for(var o=t.$XML(r).find("AdminAccessProtocol",!0),i=0,a=o.length;a>i;i++)o[i],s.push("<AdminAccessProtocol>"),s.push("<id>"+t.$XML(r).find("id").eq(0).text()+"</id>"),s.push("<enabled>"+t.$XML(r).find("enabled").eq(0).text()+"</enabled>"),s.push("<protocol>"+t.$XML(r).find("protocol").eq(0).text().toUpperCase()+"</protocol>"),s.push("<portNo>"+t.$XML(r).find("portNo").eq(0).text()+"</portNo>"),s.push("</AdminAccessProtocol>");C.getStreamChannels(e,{async:!1,success:function(r){if(t.$XML(r).find("rtspPortNo",!0).length>0){var o=parseInt(t.$XML(r).find("rtspPortNo").eq(0).text(),10);s.push("<AdminAccessProtocol>"),s.push("<id>4</id>"),s.push("<enabled>true</enabled>"),s.push("<protocol>RTSP</protocol>"),s.push("<portNo>"+o+"</portNo>"),s.push("</AdminAccessProtocol>"),s.push("</AdminAccessProtocolList>");var i=S.loadXML(s.join(""));n.success&&n.success(i)}else C.getStreamDynChannels(e,{async:!1,success:function(e){if(t.$XML(e).find("rtspPortNo",!0).length>0){var r=parseInt(t.$XML(e).find("rtspPortNo").eq(0).text(),10);s.push("<AdminAccessProtocol>"),s.push("<id>4</id>"),s.push("<enabled>true</enabled>"),s.push("<protocol>RTSP</protocol>"),s.push("<portNo>"+r+"</portNo>"),s.push("</AdminAccessProtocol>"),s.push("</AdminAccessProtocolList>");var o=S.loadXML(s.join(""));n.success&&n.success(o)}},error:function(){n.error&&n.error()}})},error:function(){n.error&&n.error()}})},error:function(){var r=[];r.push("<AdminAccessProtocolList>"),C.getStreamChannels(e,{async:!1,success:function(s){if(t.$XML(s).find("rtspPortNo",!0).length>0){var o=parseInt(t.$XML(s).find("rtspPortNo").eq(0).text(),10);r.push("<AdminAccessProtocol>"),r.push("<id>4</id>"),r.push("<enabled>true</enabled>"),r.push("<protocol>RTSP</protocol>"),r.push("<portNo>"+o+"</portNo>"),r.push("</AdminAccessProtocol>"),r.push("</AdminAccessProtocolList>");var i=S.loadXML(r.join(""));n.success&&n.success(i)}else C.getStreamDynChannels(e,{async:!1,success:function(e){if(t.$XML(e).find("rtspPortNo",!0).length>0){var s=parseInt(t.$XML(e).find("rtspPortNo").eq(0).text(),10);r.push("<AdminAccessProtocol>"),r.push("<id>4</id>"),r.push("<enabled>true</enabled>"),r.push("<protocol>RTSP</protocol>"),r.push("<portNo>"+s+"</portNo>"),r.push("</AdminAccessProtocol>"),r.push("</AdminAccessProtocolList>");var o=S.loadXML(r.join(""));n.success&&n.success(o)}},error:function(){n.error&&n.error()}})},error:function(){n.error&&n.error()}})}}),s.setRequestParam(o),s.submitRequest()},mt.prototype.getStreamChannels=function(e,t){if(0!=e.iAnalogChannelNum)var n=F(this.CGI.getStreamChannels.analog,e.szHttpProtocol,e.szIP,e.iCGIPort);else var n=F(this.CGI.getStreamChannels.digital,e.szHttpProtocol,e.szIP,e.iCGIPort);var r=new Pt,s={type:"GET",url:n,auth:e.szAuth,success:null,error:null};S.extend(s,t),S.extend(s,{success:function(e){t.success&&t.success(e)},error:function(e,n){t.error&&t.error(e,n)}}),r.setRequestParam(s),r.submitRequest()},mt.prototype.getStreamDynChannels=function(e,t){var n=F(this.CGI.getStreamDynChannels,e.szHttpProtocol,e.szIP,e.iCGIPort),r=new Pt,s={type:"GET",url:n,auth:e.szAuth,success:null,error:null};S.extend(s,t),S.extend(s,{success:function(e){t.success&&t.success(e)},error:function(e,n){t.error&&t.error(e,n)}}),r.setRequestParam(s),r.submitRequest()},mt.prototype.startRealPlay=function(e,t){var n=100*t.iChannelID+t.iStreamType,r="",s=e.szIP;"rtsp://"===t.urlProtocol&&(s=V(s)),r=t.bZeroChannel?F(t.cgi.zeroChannels,t.urlProtocol,s,t.iPort,n):F(t.cgi.channels,t.urlProtocol,s,t.iPort,n);var o=p.HWP_Play(r,e.szAuth,t.iWndIndex,"","");if(0==o){var i=new ht;i.iIndex=t.iWndIndex,i.szIP=e.szIP,i.iCGIPort=e.iCGIPort,i.szDeviceIdentify=e.szDeviceIdentify,i.iChannelID=t.iChannelID,i.iPlayStatus=T,I.push(i)}return o},mt.prototype.startVoiceTalk=function(e,t){var n=F(this.CGI.startVoiceTalk.open,e.szHttpProtocol,e.szIP,e.iCGIPort,t),r=F(this.CGI.startVoiceTalk.close,e.szHttpProtocol,e.szIP,e.iCGIPort,t),s=F(this.CGI.startVoiceTalk.audioData,e.szHttpProtocol,e.szIP,e.iCGIPort,t),o=p.HWP_StartVoiceTalkEx(n,r,s,e.szAuth,e.iAudioTypeoDeviceInfo.m_iAudioBitRate,e.m_iAudioSamplingRate);return o},mt.prototype.ptzAutoControl=function(e,t,n,r){var s=n.iChannelID,o="",i="";if(r.iPTZSpeed=r.iPTZSpeed<7?15*r.iPTZSpeed:100,t&&(r.iPTZSpeed=0),e.szDeviceType!=E)o=F(this.CGI.ptzAutoControl,e.szHttpProtocol,e.szIP,e.iCGIPort,s),i="<?xml version='1.0' encoding='UTF-8'?><PTZData><pan>"+r.iPTZSpeed+"</pan>"+"<tilt>0</tilt>"+"</PTZData>";else{var a=99;t&&(a=96),o=F(this.CGI.goPreset,e.szHttpProtocol,e.szIP,e.iCGIPort,s,a)}var u=new Pt,c={type:"PUT",url:o,async:!1,auth:e.szAuth,data:i,success:null,error:null},l=this;S.extend(c,r),S.extend(c,{success:function(e){n.bPTZAuto=!n.bPTZAuto,r.success&&r.success(e)},error:function(t,s){if(e.szDeviceType!=E){o=F(l.CGI.ptzControl,e.szHttpProtocol,e.szIP,e.iCGIPort,n.iChannelID);var a=new Pt,u={type:"PUT",url:o,async:!1,auth:e.szAuth,data:i,success:null,error:null};S.extend(u,r),a.setRequestParam(u),a.submitRequest()}else r.error&&r.error(t,s)}}),u.setRequestParam(c),u.submitRequest()},mt.prototype.ptzControl=function(e,t,n,r){var s=(n.iChannelID,"");n.bPTZAuto&&this.ptzAutoControl(e,!0,n,{iPTZSpeed:0}),r.iPTZSpeed=t?0:r.iPTZSpeed<7?15*r.iPTZSpeed:100;var o=[{},{pan:0,tilt:r.iPTZSpeed},{pan:0,tilt:-r.iPTZSpeed},{pan:-r.iPTZSpeed,tilt:0},{pan:r.iPTZSpeed,tilt:0},{pan:-r.iPTZSpeed,tilt:r.iPTZSpeed},{pan:-r.iPTZSpeed,tilt:-r.iPTZSpeed},{pan:r.iPTZSpeed,tilt:r.iPTZSpeed},{pan:r.iPTZSpeed,tilt:-r.iPTZSpeed},{},{speed:r.iPTZSpeed},{speed:-r.iPTZSpeed},{speed:r.iPTZSpeed},{speed:-r.iPTZSpeed},{speed:r.iPTZSpeed},{speed:-r.iPTZSpeed}],i="",a={};switch(r.iPTZIndex){case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:a=this.CGI.ptzControl,i="<?xml version='1.0' encoding='UTF-8'?><PTZData><pan>"+o[r.iPTZIndex].pan+"</pan>"+"<tilt>"+o[r.iPTZIndex].tilt+"</tilt>"+"</PTZData>";break;case 10:case 11:a=this.CGI.ptzControl,i="<?xml version='1.0' encoding='UTF-8'?><PTZData><zoom>"+o[r.iPTZIndex].speed+"</zoom>"+"</PTZData>";break;case 12:case 13:a=this.CGI.ptzFocus,i="<?xml version='1.0' encoding='UTF-8'?><FocusData><focus>"+o[r.iPTZIndex].speed+"</focus>"+"</FocusData>";break;case 14:case 15:a=this.CGI.ptzIris,i="<?xml version='1.0' encoding='UTF-8'?><IrisData><iris>"+o[r.iPTZIndex].speed+"</iris>"+"</IrisData>";break;default:return r.error&&r.error(),void 0}s=F(a,e.szHttpProtocol,e.szIP,e.iCGIPort,n.iChannelID);var u=new Pt,c={type:"PUT",url:s,async:!1,auth:e.szAuth,data:i,success:null,error:null};S.extend(c,r),S.extend(c,{success:function(e){r.success&&r.success(e)},error:function(e,t){r.error&&r.error(e,t)}}),u.setRequestParam(c),u.submitRequest()},mt.prototype.setPreset=function(e,t,n){var r=(t.iChannelID,""),s="";r=F(this.CGI.setPreset,e.szHttpProtocol,e.szIP,e.iCGIPort,t.iChannelID,n.iPresetID),s="<?xml version='1.0' encoding='UTF-8'?>",s+="<PTZPreset>",s+="<id>"+n.iPresetID+"</id>",e.szDeviceType!=E&&(s+="<presetName>Preset"+n.iPresetID+"</presetName>"),s+="</PTZPreset>";var o=new Pt,i={type:"PUT",url:r,auth:e.szAuth,data:s,success:null,error:null};
- S.extend(i,n),S.extend(i,{success:function(e){n.success&&n.success(e)},error:function(e,t){n.error&&n.error(e,t)}}),o.setRequestParam(i),o.submitRequest()},mt.prototype.goPreset=function(e,t,n){var r=(t.iChannelID,"");r=F(this.CGI.goPreset,e.szHttpProtocol,e.szIP,e.iCGIPort,t.iChannelID,n.iPresetID);var s=new Pt,o={type:"PUT",url:r,auth:e.szAuth,success:null,error:null};S.extend(o,n),S.extend(o,{success:function(e){n.success&&n.success(e)},error:function(e,t){n.error&&n.error(e,t)}}),s.setRequestParam(o),s.submitRequest()},mt.prototype.recordSearch=function(e,n){var r="",s="",i=n.iChannelID,a=n.iStreamType,u=n.szStartTime.replace(" ","T")+"Z",c=n.szEndTime.replace(" ","T")+"Z";r=F(this.CGI.recordSearch,e.szHttpProtocol,e.szIP,e.iCGIPort),s="<?xml version='1.0' encoding='UTF-8'?><CMSearchDescription><searchID>"+new o+"</searchID>"+"<trackList><trackID>"+(100*i+a)+"</trackID></trackList>"+"<timeSpanList>"+"<timeSpan>"+"<startTime>"+u+"</startTime>"+"<endTime>"+c+"</endTime>"+"</timeSpan>"+"</timeSpanList>"+"<maxResults>40</maxResults>"+"<searchResultPostion>"+n.iSearchPos+"</searchResultPostion>"+"<metadataList>"+"<metadataDescriptor>//metadata.psia.org/VideoMotion</metadataDescriptor>"+"</metadataList>"+"</CMSearchDescription>";var l=new Pt,d={type:"POST",url:r,auth:e.szAuth,data:s,success:null,error:null};S.extend(d,n),S.extend(d,{success:function(e){var r=[];r.push("<CMSearchResult>"),r.push("<responseStatus>"+t.$XML(e).find("responseStatus").eq(0).text()+"</responseStatus>"),r.push("<responseStatusStrg>"+t.$XML(e).find("responseStatusStrg").eq(0).text()+"</responseStatusStrg>"),r.push("<numOfMatches>"+t.$XML(e).find("numOfMatches").eq(0).text()+"</numOfMatches>"),r.push("<matchList>");for(var s=t.$XML(e).find("searchMatchItem",!0),o=0,i=s.length;i>o;o++){var a=s[o];r.push("<searchMatchItem>"),r.push("<trackID>"+t.$XML(a).find("trackID").eq(0).text()+"</trackID>"),r.push("<startTime>"+t.$XML(a).find("startTime").eq(0).text()+"</startTime>"),r.push("<endTime>"+t.$XML(a).find("endTime").eq(0).text()+"</endTime>"),r.push("<playbackURI>"+S.escape(t.$XML(a).find("playbackURI").eq(0).text())+"</playbackURI>"),r.push("<metadataDescriptor>"+t.$XML(a).find("metadataDescriptor").eq(0).text().split("/")[1]+"</metadataDescriptor>"),r.push("</searchMatchItem>")}r.push("</matchList>"),r.push("</CMSearchResult>"),e=S.loadXML(r.join("")),n.success&&n.success(e)},error:function(e,t){n.error&&n.error(e,t)}}),l.setRequestParam(d),l.submitRequest()},mt.prototype.startPlayback=function(e,t){var n=t.iWndIndex,r=t.szStartTime,s=t.szEndTime,o=e.szIP;"rtsp://"===t.urlProtocol&&(o=V(o));var i=F(t.cgi,t.urlProtocol,o,t.iPort,t.iChannelID,r,s),a=p.HWP_Play(i,e.szAuth,n,r,s);if(0==a){var u=new ht;u.iIndex=n,u.szIP=e.szIP,u.iCGIPort=e.iCGIPort,u.szDeviceIdentify=e.szDeviceIdentify,u.iChannelID=t.iChannelID,u.iPlayStatus=A,I.push(u)}return a},mt.prototype.reversePlayback=function(e,t){var n=t.iWndIndex,r=t.szStartTime,s=t.szEndTime,o=e.szIP;"rtsp://"===t.urlProtocol&&(o=V(o));var i=F(t.cgi,t.urlProtocol,o,t.iPort,t.iChannelID,r,s),a=p.HWP_ReversePlay(i,e.szAuth,n,r,s);if(0==a){var u=new ht;u.iIndex=n,u.szIP=e.szIP,u.iCGIPort=e.iCGIPort,u.szDeviceIdentify=e.szDeviceIdentify,u.iChannelID=t.iChannelID,u.iPlayStatus=q,I.push(u)}return a},mt.prototype.startDownloadRecord=function(e,t){var n=F(this.CGI.startDownloadRecord,e.szHttpProtocol,e.szIP,e.iCGIPort),r="<?xml version='1.0' encoding='UTF-8'?><downloadRequest><playbackURI> "+S.escape(t.szPlaybackURI)+"</playbackURI>"+"</downloadRequest>";return p.HWP_StartDownload(n,e.szAuth,t.szFileName,r,t.bDateDir)},mt.prototype.exportDeviceConfig=function(e){var t=F(this.CGI.downloaddeviceConfig,e.szHttpProtocol,e.szIP,e.iCGIPort);return ct()?-1:p.HWP_ExportDeviceConfig(t,e.szAuth,"",0)},mt.prototype.importDeviceConfig=function(e,t){var n=F(this.CGI.uploaddeviceConfig,e.szHttpProtocol,e.szIP,e.iCGIPort);return p.HWP_ImportDeviceConfig(n,e.szAuth,t.szFileName,0)},mt.prototype.restart=function(e,t){var n=F(this.CGI.restart,e.szHttpProtocol,e.szIP,e.iCGIPort),r=new Pt,s={type:"PUT",url:n,auth:e.szAuth,success:null,error:null};S.extend(s,t),S.extend(s,{success:function(e){t.success&&t.success(e)},error:function(e,n){t.error&&t.error(e,n)}}),r.setRequestParam(s),r.submitRequest()},mt.prototype.restore=function(e,t,n){var r=F(this.CGI.restore,e.szHttpProtocol,e.szIP,e.iCGIPort,t),s=new Pt,o={type:"PUT",url:r,auth:e.szAuth,success:null,error:null};S.extend(o,n),S.extend(o,{success:function(e){n.success&&n.success(e)},error:function(e,t){n.error&&n.error(e,t)}}),s.setRequestParam(o),s.submitRequest()},mt.prototype.startUpgrade=function(e,t){var n=F(this.CGI.startUpgrade.upgrade,e.szHttpProtocol,e.szIP,e.iCGIPort),r=F(this.CGI.startUpgrade.status,e.szHttpProtocol,e.szIP,e.iCGIPort);return p.HWP_StartUpgrade(n,r,e.szAuth,t.szFileName)},mt.prototype.set3DZoom=function(e,t,n,r){var s=F(this.CGI.set3DZoom,e.szHttpProtocol,e.szIP,e.iCGIPort,t.iChannelID),o=new Pt,i={type:"PUT",url:s,data:n,auth:e.szAuth,success:null,error:null};S.extend(i,r),S.extend(i,{success:function(e){r.success&&r.success(e)},error:function(e,t){r.error&&r.error(e,t)}}),o.setRequestParam(i),o.submitRequest()},mt.prototype.deviceCapturePic=function(e,t,n,r){var t=100*t+1,s=F(this.CGI.deviceCapture.channels,e.szHttpProtocol,e.szIP,e.iCGIPort,t),o=[];return S.isInt(r.iResolutionWidth)&&o.push("videoResolutionWidth="+r.iResolutionWidth),S.isInt(r.iResolutionHeight)&&o.push("videoResolutionHeight="+r.iResolutionHeight),o.length>0&&(s+="?"+o.join("&")),p.HWP_DeviceCapturePic(s,e.szAuth,n,r.bDateDir)};var vt=function(){};vt.prototype._alert=function(e){d.bDebugMode&&console.log(e)},function(e){var t=function(e){this.elems=[],this.length=0,this.length=this.elems.push(e)};t.prototype.find=function(e,t){var n=this.elems[this.length-1]?this.elems[this.length-1].getElementsByTagName(e):[];return this.length=this.elems.push(n),t?n:this},t.prototype.eq=function(e,t){var n=this.elems[this.length-1].length,r=null;return n>0&&n>e&&(r=this.elems[this.length-1][e]),this.length=this.elems.push(r),t?r:this},t.prototype.text=function(e){return this.elems[this.length-1]?e?(window.DOMParser?this.elems[this.length-1].textContent=e:this.elems[this.length-1].text=e,void 0):window.DOMParser?this.elems[this.length-1].textContent:this.elems[this.length-1].text:""},t.prototype.attr=function(e){if(this.elems[this.length-1]){var t=this.elems[this.length-1].attributes.getNamedItem(e);return t?t.value:""}},e.$XML=function(e){return new t(e)}}(this);var Ct=function(){};Ct.prototype.extend=function(){for(var e,t=arguments[0]||{},n=1,r=arguments.length;r>n;n++)if(null!=(e=arguments[n]))for(var s in e){var o=(t[s],e[s]);t!==o&&("object"==typeof o?t[s]=this.extend({},o):void 0!==o&&(t[s]=o))}return t},Ct.prototype.browser=function(){var e=/(chrome)[ \/]([\w.]+)/,t=/(safari)[ \/]([\w.]+)/,n=/(opera)(?:.*version)?[ \/]([\w.]+)/,r=/(msie) ([\w.]+)/,s=/(trident.*rv:)([\w.]+)/,o=/(mozilla)(?:.*? rv:([\w.]+))?/,i=navigator.userAgent.toLowerCase(),a=e.exec(i)||t.exec(i)||n.exec(i)||r.exec(i)||s.exec(i)||i.indexOf("compatible")<0&&o.exec(i)||["unknow","0"];a.length>0&&a[1].indexOf("trident")>-1&&(a[1]="msie");var u={};return u[a[1]]=!0,u.version=a[2],u},Ct.prototype.loadXML=function(e){if(null==e||""==e)return null;var t=null;if(window.DOMParser){var n=new DOMParser;t=n.parseFromString(e,"text/xml")}else t=new ActiveXObject("Microsoft.XMLDOM"),t.async=!1,t.loadXML(e);return t},Ct.prototype.toXMLStr=function(e){var t="";try{var n=new XMLSerializer;t=n.serializeToString(e)}catch(r){try{t=e.xml}catch(r){return""}}return-1==t.indexOf("<?xml")&&(t="<?xml version='1.0' encoding='utf-8'?>"+t),t},Ct.prototype.escape=function(e){return e?e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"):e},Ct.prototype.encodePwd=function(e,t,n){var r="";if(n){r=S.sha256(t.userName+t.salt+e),r=S.sha256(r+t.challenge);for(var s=2;s<t.iIterate;s++)r=S.sha256(r)}else{r=S.sha256(e)+t.challenge;for(var s=1;s<t.iIterate;s++)r=S.sha256(r)}return r},Ct.prototype.dateFormat=function(e,t){var n={"M+":e.getMonth()+1,"d+":e.getDate(),"h+":e.getHours(),"m+":e.getMinutes(),"s+":e.getSeconds(),"q+":Math.floor((e.getMonth()+3)/3),S:e.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(e.getFullYear()+"").substr(4-RegExp.$1.length)));for(var r in n)new RegExp("("+r+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?n[r]:("00"+n[r]).substr((""+n[r]).length)));return t},Ct.prototype.Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(e){var t,n,r,s,o,i,a,u="",c=0;for(e=Ct.prototype.Base64._utf8_encode(e);c<e.length;)t=e.charCodeAt(c++),n=e.charCodeAt(c++),r=e.charCodeAt(c++),s=t>>2,o=(3&t)<<4|n>>4,i=(15&n)<<2|r>>6,a=63&r,isNaN(n)?i=a=64:isNaN(r)&&(a=64),u=u+this._keyStr.charAt(s)+this._keyStr.charAt(o)+this._keyStr.charAt(i)+this._keyStr.charAt(a);return u},decode:function(e){var t,n,r,s,o,i,a,u="",c=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");c<e.length;)s=this._keyStr.indexOf(e.charAt(c++)),o=this._keyStr.indexOf(e.charAt(c++)),i=this._keyStr.indexOf(e.charAt(c++)),a=this._keyStr.indexOf(e.charAt(c++)),t=s<<2|o>>4,n=(15&o)<<4|i>>2,r=(3&i)<<6|a,u+=String.fromCharCode(t),64!=i&&(u+=String.fromCharCode(n)),64!=a&&(u+=String.fromCharCode(r));return u=Ct.prototype.Base64._utf8_decode(u)},_utf8_encode:function(e){e=e.replace(/\r\n/g,"\n");for(var t="",n=0;n<e.length;n++){var r=e.charCodeAt(n);128>r?t+=String.fromCharCode(r):r>127&&2048>r?(t+=String.fromCharCode(192|r>>6),t+=String.fromCharCode(128|63&r)):(t+=String.fromCharCode(224|r>>12),t+=String.fromCharCode(128|63&r>>6),t+=String.fromCharCode(128|63&r))}return t},_utf8_decode:function(e){for(var t="",n=0,r=c1=c2=0;n<e.length;)r=e.charCodeAt(n),128>r?(t+=String.fromCharCode(r),n++):r>191&&224>r?(c2=e.charCodeAt(n+1),t+=String.fromCharCode((31&r)<<6|63&c2),n+=2):(c2=e.charCodeAt(n+1),c3=e.charCodeAt(n+2),t+=String.fromCharCode((15&r)<<12|(63&c2)<<6|63&c3),n+=3);return t}},Ct.prototype.createEventScript=function(e,t,n){var r=document.createElement("script");r.htmlFor=e,r.event=t,r.innerHTML=n,document.body.parentNode.appendChild(r)},Ct.prototype.isInt=function(e){return/^\d+$/.test(e)},Ct.prototype.getDirName=function(){var e="";if(""!==d.szBasePath)e=d.szBasePath;else{var t=/[^?#]*\//,n=document.getElementById("videonode");if(n)e=n.src.match(t)[0];else{for(var r=document.scripts,s=0,o=r.length;o>s;s++)if(r[s].src.indexOf("webVideoCtrl.js")>-1){n=r[s];break}n&&(e=n.src.match(t)[0])}}return e},Ct.prototype.loadScript=function(e,t){var n=document.createElement("script");n.type="text/javascript",n.onload=function(){t()},n.src=e,document.getElementsByTagName("head")[0].appendChild(n)},Ct.prototype.encodeString=function(e){return e?e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"):""},Ct.prototype.getIrreversibleKey=function(e,t){var n=e;if(oSecurityCap.oIrreversibleEncrypt.bSupport){var r=oSecurityCap.oIrreversibleEncrypt.salt;return S.sha256(t+r+e)}return n},Ct.prototype.strToAESKey=function(e,t){var n="";if(oSecurityCap.iKeyIterateNum>0){n=S.sha256(S.getIrreversibleKey(e,t)+"AaBbCcDd1234!@#$");for(var r=1;r<oSecurityCap.iKeyIterateNum;r++)n=S.sha256(n)}return n=n&&n.substring(0,32)},Ct.prototype.exportPasswordDeviceConfig=function(e,t){var n=MD5((new Date).getTime().toString()),r=S.encodeAES(S.Base64.encode(S.encodeString(t)),szAESKey,n);return e+"?secretkey="+r+"&security=1&iv="+n},Ct.prototype.encodeAES=function(e,t,n,r){var s="";if("ecb"===r)for(var o=e.length,i=0;o>0;)s+=o>16?aes_encrypt(e.substring(i,i+16),t,!0):aes_encrypt(e.substring(i),t,!0),o-=16,i+=16;else{"undefined"==typeof n&&(n="6cd9616beb39d4034fdebe107df9a399");var a=CryptoJS.enc.Hex.parse(t),u=CryptoJS.enc.Hex.parse(n),c=CryptoJS.AES.encrypt(e,a,{mode:CryptoJS.mode.CBC,iv:u,padding:CryptoJS.pad.Pkcs7});s=c.ciphertext.toString()}return s},Ct.prototype.sha256=function(e){function t(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function n(e,t){return e>>>t|e<<32-t}return e=function(e){for(var e=e.replace(/\r\n/g,"\n"),t="",n=0;n<e.length;n++){var r=e.charCodeAt(n);128>r?t+=String.fromCharCode(r):(r>127&&2048>r?t+=String.fromCharCode(192|r>>6):(t+=String.fromCharCode(224|r>>12),t+=String.fromCharCode(128|63&r>>6)),t+=String.fromCharCode(128|63&r))}return t}(e),function(e){for(var t="",n=0;n<4*e.length;n++)t+="0123456789abcdef".charAt(15&e[n>>2]>>8*(3-n%4)+4)+"0123456789abcdef".charAt(15&e[n>>2]>>8*(3-n%4));return t}(function(e,r){var s,o,i,a,u,c,l,d,p,f,h,P,I=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],m=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],v=Array(64);for(e[r>>5]|=128<<24-r%32,e[(r+64>>9<<4)+15]=r,p=0;p<e.length;p+=16){for(s=m[0],o=m[1],i=m[2],a=m[3],u=m[4],c=m[5],l=m[6],d=m[7],f=0;64>f;f++)v[f]=16>f?e[f+p]:t(t(t(n(v[f-2],17)^n(v[f-2],19)^v[f-2]>>>10,v[f-7]),n(v[f-15],7)^n(v[f-15],18)^v[f-15]>>>3),v[f-16]),h=t(t(t(t(d,n(u,6)^n(u,11)^n(u,25)),u&c^~u&l),I[f]),v[f]),P=t(n(s,2)^n(s,13)^n(s,22),s&o^s&i^o&i),d=l,l=c,c=u,u=t(a,h),a=i,i=o,o=s,s=t(h,P);m[0]=t(s,m[0]),m[1]=t(o,m[1]),m[2]=t(i,m[2]),m[3]=t(a,m[3]),m[4]=t(u,m[4]),m[5]=t(c,m[5]),m[6]=t(l,m[6]),m[7]=t(d,m[7])}return m}(function(e){for(var t=[],n=0;n<8*e.length;n+=8)t[n>>5]|=(255&e.charCodeAt(n/8))<<24-n%32;return t}(e),8*e.length))},Ct.prototype.cookie=function(e,t,n){if(arguments.length>1&&(null===t||"object"!=typeof t)){if(n=this.extend({},n),null===t&&(n.expires=-1),"number"==typeof n.expires){var r=n.expires,s=n.expires=new Date;s.setDate(s.getDate()+r)}return document.cookie=[encodeURIComponent(e),"=",n.raw?String(t):encodeURIComponent(String(t)),n.expires?"; expires="+n.expires.toUTCString():"",n.path?"; path="+n.path:"; path=/",n.domain?"; domain="+n.domain:"",n.secure?"; secure":""].join("")}n=t||{};var o,i=n.raw?function(e){return e}:decodeURIComponent;return(o=new RegExp("(?:^|; )"+encodeURIComponent(e)+"=([^;]*)").exec(document.cookie))?i(o[1]):null},o.prototype.valueOf=function(){return this.id},o.prototype.toString=function(){return this.id},o.prototype.createUUID=function(){var e=new Date(1582,10,15,0,0,0,0),t=new Date,n=t.getTime()-e.getTime(),r="-",s=o.getIntegerBits(n,0,31),i=o.getIntegerBits(n,32,47),a=o.getIntegerBits(n,48,59)+"1",u=o.getIntegerBits(o.rand(4095),0,7),c=o.getIntegerBits(o.rand(4095),0,7),l=o.getIntegerBits(o.rand(8191),0,7)+o.getIntegerBits(o.rand(8191),8,15)+o.getIntegerBits(o.rand(8191),0,7)+o.getIntegerBits(o.rand(8191),8,15)+o.getIntegerBits(o.rand(8191),0,15);return s+r+i+r+a+r+u+c+r+l},o.getIntegerBits=function(e,t,n){var r=o.returnBase(e,16),s=new Array,i="",a=0;for(a=0;a<r.length;a++)s.push(r.substring(a,a+1));for(a=Math.floor(t/4);a<=Math.floor(n/4);a++)i+=s[a]&&""!=s[a]?s[a]:"0";return i},o.returnBase=function(e,t){var n=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];if(t>e)var r=n[e];else{var s=""+Math.floor(e/t),o=e-s*t;if(s>=t)var r=this.returnBase(s,t)+n[o];else var r=n[s]+n[o]}return r},o.rand=function(e){return Math.floor(Math.random()*e)},v=new It,C=new mt,m=new vt,S=new Ct;var St=S.dateFormat(new Date,"yyyyMMddhhmmss");return c="webVideoCtrl"+St,l="webVideoCtrl"+St,"object"!=typeof window.attachEvent&&S.browser().msie&&(S.createEventScript(c,"GetSelectWndInfo(SelectWndInfo)","GetSelectWndInfo(SelectWndInfo);"),S.createEventScript(c,"ZoomInfoCallback(szZoomInfo)","ZoomInfoCallback(szZoomInfo);"),S.createEventScript(c,"GetHttpInfo(lID, lpInfo, lReverse)","GetHttpInfo(lID, lpInfo, lReverse);"),S.createEventScript(c,"PluginEventHandler(iEventType, iParam1, iParam2)","PluginEventHandler(iEventType, iParam1, iParam2);"),S.createEventScript(c,"RemoteConfigInfo(lID)","RemoteConfigInfo(lID);"),S.createEventScript(c,"KeyBoardEventInfo(iKeyCode)","KeyBoardEventInfo(iKeyCode);")),this}(),t=window.WebVideoCtrl=e;t.version="1.1.0"}}(this),"object"==typeof exports&&"undefined"!=typeof module||("function"==typeof define&&define.amd?define(function(){return WebVideoCtrl}):"function"==typeof define&&define.cmd&&define(function(e,t,n){n.exports=WebVideoCtrl}));
|