var myport = "80"; var g_check_if_airelay = 1; /* var mymirror = "0"; var myflip = "0"; var myrotate = "0"; */ /* window.addEventListener("mousewheel", (e) => { if (e.deltaY === 1) { e.preventDefault(); } })*/ getIPCamSettings(); // Restricts input for the given textbox to the given inputFilter. function getIPCamSettings() { var urlStr; if (g_check_if_airelay == 1) { urlStr = '/airelay/getipcamsettings'; } else { urlStr = '/getipcamsettings'; } if (localStorage.getItem('IPCAM_PORT') == null) { $.ajax({ //url: "/airelay/getipcamsettings", url: urlStr, type: "GET", async: false, // timeout: 0, beforeSend: function (xmlHttp) { xmlHttp.setRequestHeader("If-Modified-Since", "0"); xmlHttp.setRequestHeader("Cache-Control", "no-cache"); //xmlHttp.setRequestHeader("Authorization", "Basic " + btoa("username:password")); }, success: function (retdata) { var jsonbuf = JSON.parse(retdata); myport = jsonbuf["IPCAM_PORT"]; localStorage.setItem("IPCAM_PORT", myport); /*mymirror = jsonbuf["IPCAM_MIRROR"]; myflip = jsonbuf["IPCAM_FLIP"]; myrotate = jsonbuf["IPCAM_ROTATE"]; */ //console.info(retdata); }, error: function (retdata) { console.warn(retdata); /* if (localStorage.getItem('IPCAM_PORT') != null) { myport = localStorage.getItem('IPCAM_PORT'); }*/ } }); } else { myport = localStorage.getItem('IPCAM_PORT'); } } get_cgi = function () { if (arguments.length == 0) { return; } var ajax = new Array; var _timeout; if(window.location.protocol == "http:") { ajax["port"] = myport; if(arguments[0].port != null) { ajax["port"] = arguments[0].port; if (ajax["port"] == myport) ajax["url"] = "http://"+ (document.URL.split('//')[1]).split('/')[0].split(':')[0] + arguments[0].cmd; else ajax["url"] = "http://"+ (document.URL.split('//')[1]).split('/')[0].split(':')[0] + ":" + ajax["port"] + arguments[0].cmd; }else{ ajax["url"] = "http://"+ (document.URL.split('//')[1]).split('/')[0] + arguments[0].cmd; } } else { ajax["url"] = "https://"+ (document.URL.split('//')[1]).split('/')[0] + arguments[0].cmd; } //console.log(ajax["url"]); ajax["async"] = true; if (typeof arguments[0].async == "boolean") { ajax["async"] = arguments[0].async; } if(arguments[0].timeout != null) { _timeout = arguments[0].timeout; }else{ _timeout = 30000; } ajax["get_parser"] = arguments[0].get_parser; ajax["get_response"] = arguments[0].get_response; if(arguments[0].parameter != null) { ajax["parameter"] = arguments[0].parameter; } $.ajax({ url: ajax["url"], type: 'GET', async: ajax["async"], timeout: _timeout, cache: false, error: function (xhr) { if (typeof ajax["get_parser"] == "function") { ajax["get_parser"]("cgi_error"); } else if (typeof ajax["get_response"] == "function") { ajax["get_response"]("cgi_error"); } }, success: function (response) { //console.info(response); if (typeof ajax["get_parser"] == "function") { if(ajax["parameter"] != null) { ajax["get_parser"](parse_key_array_content(response),ajax["parameter"]); } else { ajax["get_parser"](parse_key_array_content(response)); } } else if (typeof ajax["get_response"] == "function") { ajax["get_response"](response); } } }); } post_cgi = function() { if (arguments.length == 0) { return; } var ajax = new Array; var _timeout; if(window.location.protocol == "http:") { ajax["url"] = "http://"+ (document.URL.split('//')[1]).split('/')[0] + arguments[0].cmd; } else { ajax["url"] = "https://"+ (document.URL.split('//')[1]).split('/')[0] + arguments[0].cmd; } //console.log(ajax["url"]); ajax["async"] = true; if (typeof arguments[0].async == "boolean") { ajax["async"] = arguments[0].async; } if(arguments[0].timeout != null) { _timeout = arguments[0].timeout; }else{ _timeout = 1900; } ajax["get_parser"] = arguments[0].get_parser; ajax["post_data"] = arguments[0].post_data; ajax["get_response"] = arguments[0].get_response; $.ajax({ url: ajax["url"], data: ajax["post_data"], dataType: 'text', type: 'POST', async: ajax["async"], timeout: _timeout, cache: false, error: function (xhr) { if (typeof ajax["get_parser"] == "function") { ajax["get_parser"]("cgi_error"); } else if (typeof ajax["get_response"] == "function") { ajax["get_response"]("cgi_error"); } }, success: function (response) { if (typeof ajax["get_parser"] == "function") { ajax["get_parser"](parse_key_array_content(response)); } else if (typeof ajax["get_response"] == "function") { ajax["get_response"](response); } } }); } parse_key_array_content = function(content,options) { var options = $.extend({spliter1: '=', spliter2: '\n'},options); var result = { all: content }; var place = content.split(options.spliter2); var info=new Array; for (var i=0;i; o+='%3B'; else if(v.charCodeAt(i)==0x5C)//-> \ o+='%5C'; else if(v.charCodeAt(i)==0x2F)// ->/ o+='%2F'; else if(v.charCodeAt(i)==0x26)//->& o+='%26'; else o+=v.charAt(i); } return o; };