var m_szProtocol = window.location.protocol ; var m_szHostName = window.location.host ; var m_szPort = window.location.port ; //var m_szURL = m_szProtocol + '//' + m_szHostName + ":" + m_szPort + '/cgi-bin/' ; var m_szURL = m_szProtocol + '//' + m_szHostName + '/cgi-bin/cmd/' ; var m_szURL_login = m_szProtocol + '//' + m_szHostName + '/cgi-bin/' ; var m_szUser = "" ; var m_szPWD = "" ; var m_szAuth = "" ; var m_szPorfileId = "" ; var m_authorize = "" ; var m_sensor_board = "" ; var m_flag_Media = 1 ; var m_szSelectedMenu = 'HOST' ; var m_preview = 0 ; var async = '' ; var control_port = '' ; //for ptz speed var panSpeed = 3 ; var tiltSpeed = 3 ; var zoomSpeed = 5 ; function doRequest(v) { var request; if(m_szUser!="" && m_szPWD!=""){ v = m_szURL + v ; } else{ v = m_szURL_login + v ; } try { request = new XMLHttpRequest(); } catch(e) { try { request = new ActiveXObject("MSXML2.XMLHTTP.3.0");; } catch(e) { try { request = new ActieXObject("Msxml2.XMLHTTP"); } catch(e) { try { request = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { alert("You cannot run this web"); return false; } } } } try { request.open("GET", v , false, m_szUser, m_szPWD) ; request.setRequestHeader("Cache-Control","no-cache"); request.setRequestHeader("Content-Type", "text/plain;charset=utf-8"); request.setRequestHeader("Pragma","no-cache"); request.setRequestHeader("Expires","0"); request.setRequestHeader("Last-Modified","Wed, 1 Jan 1997 00:00:00 GMT"); request.setRequestHeader("If-Modified-Since","01"); request.send(); return request.responseText; } catch(e) { alert(v +'\n'+ e.description); } var request = null ; } function doRequestXML(v) { var xmlhttp; if(m_szUser!="" && m_szPWD!=""){ v = m_szURL + v ; } else{ v = m_szURL_login + v ; } try { xmlhttp = new XMLHttpRequest(); } catch(e) { try { xmlhttp = new ActiveXObject("MSXML2.XMLHTTP.3.0");; } catch(e) { try { xmlhttp = new ActieXObject("Msxml2.XMLHTTP"); } catch(e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { alert("You cannot run this web"); return false; } } } } try { xmlhttp.open("GET", v , false, m_szUser, m_szPWD) ; xmlhttp.setRequestHeader("Cache-Control","no-cache"); xmlhttp.setRequestHeader("Content-Type", "text/xml;charset=utf-8"); xmlhttp.setRequestHeader("Pragma","no-cache"); xmlhttp.setRequestHeader("Expires","0"); xmlhttp.setRequestHeader("Last-Modified","Wed, 1 Jan 1997 00:00:00 GMT"); xmlhttp.setRequestHeader("If-Modified-Since","01"); xmlhttp.send(); return xmlhttp.responseXML; } catch(e) { alert(v +'\n'+ e.description); } var xmlhttp = null ; } function doXMLDOMRequest(v) { var url = m_szURL + "system?" ; url += "USER=" + m_szUser + "&PWD=" + m_szPWD + "&"; url += v; xmlReturn = new ActiveXObject("Microsoft.XMLDOM"); xmlReturn.async="false"; xmlReturn.load(url); return xmlReturn; } function doXMLDOMRequestAsync(v, func) { var url = m_szURL + "system?" ; url += "USER=" + m_szUser + "&PWD=" + m_szPWD + "&"; url += v; xmlReturn = new ActiveXObject("Microsoft.XMLDOM"); xmlReturn.async = "true"; xmlReturn.load(url); //xmlReturn.onReadyStateChange = func; //xmlReturn.open("GET", url, 1); //xmlReturn.send(void); return xmlReturn; } function loadXML(file) { //load xml file //// code for IE if (window.ActiveXObject) { xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async=false; xmlDoc.load(file); } else if (document.implementation && document.implementation.createDocument) { try { // code for Mozilla, Opera etc. xmlDoc= document.implementation.createDocument("","",null); xmlDoc.load(file); } catch (e) { // code for Safari . xmlDoc = new XMLHttpRequest (); xmlDoc.open ("GET", file, false); xmlDoc.send(); xmlDoc = xmlDoc.responseXML; } } else { alert('Your browser cannot handle this script'); } return xmlDoc; } function loadXMLDoc(dname) { if (window.XMLHttpRequest) { xhttp=new XMLHttpRequest(); } else { xhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xhttp.open("GET",dname,false); xhttp.send(); return xhttp.responseXML; } function doSplitValue( v ) { var r = new Array(); r[0] = '' ; r[1] = '' ; if ( v.substr(0,4) != 'ERROR') { var equal = v.indexOf ('='); if ( equal >= 0 ) { r[0] = v.substr(0, equal); r[1] = v.substr(equal + 1) ; l = r[1].length ; if ( r[1].substr(r[1].length-1,1) == '\'') r[1] = r[1].substr(0, r[1].length-1 ) ; if ( r[1].substr( 0,1) == '\'') r[1] = r[1].substr(1, r[1].length-1 ) ; } } else { r[0] = 'ERROR' ; r[1] = v.substr(6,v.length-6) ; } return r ; } function setCookie(name,value) { document.cookie = name + "=" + escape(value) + ";"; } function getCookie(name) { if (document.cookie.length > 0) { var c_name = name; var c_start = document.cookie.indexOf(c_name + "="); if (c_start!= "-1") { c_start = c_start + c_name.length + 1 ; c_end = document.cookie.indexOf(";",c_start); if (c_end == "-1") c_end = document.cookie.length; return unescape(document.cookie.substring(c_start,c_end)); } } else { return false; } } function idget(a){ return document.getElementById(a); } function getSetting(name){ try { return xmlsetting.getElementsByTagName(name)[0].getAttribute("VALUE") ; } catch (e) {return "Null"} } /* functions from KPL */ function frame_extent(){ window.frameElement.height=document.body.scrollHeight+10; window.frameElement.width=document.body.scrollWidth; } /* end of functions from KPL */ var ToShow = { // private property _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", // public method for encoding encode : function (input) { var output = ""; var chr1, chr2, chr3, enc1, enc2, enc3, enc4; var i = 0; input = ToShow._utf8_encode(input); while (i < input.length) { chr1 = input.charCodeAt(i++); chr2 = input.charCodeAt(i++); chr3 = input.charCodeAt(i++); enc1 = chr1 >> 2; enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); enc4 = chr3 & 63; if (isNaN(chr2)) { enc3 = enc4 = 64; } else if (isNaN(chr3)) { enc4 = 64; } output = output + this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) + this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4); } return output; }, // public method for decoding to_display : function (input) { var output = ""; var chr1, chr2, chr3; var enc1, enc2, enc3, enc4; var i = 0; input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); while (i < input.length) { enc1 = this._keyStr.indexOf(input.charAt(i++)); enc2 = this._keyStr.indexOf(input.charAt(i++)); enc3 = this._keyStr.indexOf(input.charAt(i++)); enc4 = this._keyStr.indexOf(input.charAt(i++)); chr1 = (enc1 << 2) | (enc2 >> 4); chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); chr3 = ((enc3 & 3) << 6) | enc4; output = output + String.fromCharCode(chr1); if (enc3 != 64) { output = output + String.fromCharCode(chr2); } if (enc4 != 64) { output = output + String.fromCharCode(chr3); } } output = ToShow._utf8_decode(output); return output; }, // private method for UTF-8 encoding _utf8_encode : function (string) { string = string.replace(/\r\n/g,"\n"); var utftext = ""; for (var n = 0; n < string.length; n++) { var c = string.charCodeAt(n); if (c < 128) { utftext += String.fromCharCode(c); } else if((c > 127) && (c < 2048)) { utftext += String.fromCharCode((c >> 6) | 192); utftext += String.fromCharCode((c & 63) | 128); } else { utftext += String.fromCharCode((c >> 12) | 224); utftext += String.fromCharCode(((c >> 6) & 63) | 128); utftext += String.fromCharCode((c & 63) | 128); } } return utftext; }, // private method for UTF-8 decoding _utf8_decode : function (utftext) { var string = ""; var i = 0; var c = c1 = c2 = 0; while ( i < utftext.length ) { c = utftext.charCodeAt(i); if (c < 128) { string += String.fromCharCode(c); i++; } else if((c > 191) && (c < 224)) { c2 = utftext.charCodeAt(i+1); string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); i += 2; } else { c2 = utftext.charCodeAt(i+1); c3 = utftext.charCodeAt(i+2); string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); i += 3; } } return string; } } function verifyLoginName (name) { var firstChar = true; for (var i = 0; i < name.length; i++) { if (verifyLoginNameChar (name.substr(i,1), firstChar) == false) return false; firstChar = false; } return true; } function verifyLoginNameChar (key, firstChar) { if (firstChar == true) { if ((key >= 'A' && key <= 'Z') || (key >= 'a' && key <= 'z')) { ret = true; } else { alert ("Verify Account Failed.\nThe first character is allowed to A~Z or a~z."); ret = false; } } else { if ((key >= 'A' && key <= 'Z') || (key >= 'a' && key <= 'z') || (key >= '0' && key <= '9') || key == '-' || key == '_' || key == '.' || key == '$') { ret = true; } else { alert ("Verify Account Failed.\nOnly A~Z, a~z, 0~9, minus sign (-), underscore (_), period (.) and $ are allowed."); ret = false; } } return ret; } function verifyPassword (pwd) { for (var i = 0; i < pwd.length; i++) { if (verifyPasswordChar (pwd.substr(i,1)) == false) return false; } return true; } function verifyPasswordChar (key) { if (key >= '!' && key <= '~' && key != ':' && key != '#' && key != '?' && key != '\\' && key != '/' && key != '%' && key != '&' && key != '\'' && key != '\"' && key != ',') { ret = true; } else { alert ("Verify Password Failed.\nStarted from ASCII code 0x21 to 0x7E\nImportant Note:\n10 reserved characters in these printable characters are not allowed.\nThese reserved characters are \':\', \'#\', \'?\', \'/\', \'\\\', \'%\', \'&\', \'\'\', \'\"\', \',\' "); ret = false; } return ret; }