aboutsummaryrefslogtreecommitdiffstats
path: root/build/client.js
diff options
context:
space:
mode:
authorRblSb <msrblsb@gmail.com>2020-02-24 07:58:56 +0300
committerRblSb <msrblsb@gmail.com>2020-02-24 07:58:56 +0300
commit9c6cd2c2310d2e3ce3d1a6e3350a97e7ba0ca657 (patch)
tree3eb12f0eee7ba05b7e70c740561eff31e06b608a /build/client.js
parentc561fb9e2e42e4968f2b48cd535f208e90f8c12c (diff)
Start working on user folder
Diffstat (limited to 'build/client.js')
-rw-r--r--build/client.js1660
1 files changed, 0 insertions, 1660 deletions
diff --git a/build/client.js b/build/client.js
deleted file mode 100644
index 4b9954b..0000000
--- a/build/client.js
+++ /dev/null
@@ -1,1660 +0,0 @@
-// Generated by Haxe 4.0.5
-(function ($global) { "use strict";
-var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_;
-function $extend(from, fields) {
- var proto = Object.create(from);
- for (var name in fields) proto[name] = fields[name];
- if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString;
- return proto;
-}
-var ClientGroup = $hxEnums["ClientGroup"] = { __ename__ : true, __constructs__ : ["User","Leader","Admin"]
- ,User: {_hx_index:0,__enum__:"ClientGroup",toString:$estr}
- ,Leader: {_hx_index:1,__enum__:"ClientGroup",toString:$estr}
- ,Admin: {_hx_index:2,__enum__:"ClientGroup",toString:$estr}
-};
-var Client = function(ws,id,name,group) {
- this.name = name;
- var i = group;
- if(group == null) {
- i = 0;
- }
- this.group = i;
-};
-Client.__name__ = true;
-Client.fromData = function(data) {
- return new Client(null,null,data.name,data.group);
-};
-Client.prototype = {
- setGroupFlag: function(type,flag) {
- if(flag) {
- this.group |= 1 << type._hx_index;
- } else {
- this.group &= -1 - (1 << type._hx_index);
- }
- return flag;
- }
-};
-var ClientTools = function() { };
-ClientTools.__name__ = true;
-ClientTools.setLeader = function(clients,name) {
- var _g = 0;
- while(_g < clients.length) {
- var client = clients[_g];
- ++_g;
- if(client.name == name) {
- client.setGroupFlag(ClientGroup.Leader,true);
- } else if((client.group & 2) != 0) {
- client.setGroupFlag(ClientGroup.Leader,false);
- }
- }
-};
-ClientTools.getByName = function(clients,name,def) {
- var _g = 0;
- while(_g < clients.length) {
- var client = clients[_g];
- ++_g;
- if(client.name == name) {
- return client;
- }
- }
- return def;
-};
-var EReg = function(r,opt) {
- this.r = new RegExp(r,opt.split("u").join(""));
-};
-EReg.__name__ = true;
-EReg.prototype = {
- match: function(s) {
- if(this.r.global) {
- this.r.lastIndex = 0;
- }
- this.r.m = this.r.exec(s);
- this.r.s = s;
- return this.r.m != null;
- }
- ,matched: function(n) {
- if(this.r.m != null && n >= 0 && n < this.r.m.length) {
- return this.r.m[n];
- } else {
- throw new js__$Boot_HaxeError("EReg::matched");
- }
- }
-};
-var HxOverrides = function() { };
-HxOverrides.__name__ = true;
-HxOverrides.substr = function(s,pos,len) {
- if(len == null) {
- len = s.length;
- } else if(len < 0) {
- if(pos == 0) {
- len = s.length + len;
- } else {
- return "";
- }
- }
- return s.substr(pos,len);
-};
-HxOverrides.remove = function(a,obj) {
- var i = a.indexOf(obj);
- if(i == -1) {
- return false;
- }
- a.splice(i,1);
- return true;
-};
-HxOverrides.iter = function(a) {
- return { cur : 0, arr : a, hasNext : function() {
- return this.cur < this.arr.length;
- }, next : function() {
- return this.arr[this.cur++];
- }};
-};
-var Lambda = function() { };
-Lambda.__name__ = true;
-Lambda.exists = function(it,f) {
- var x = $getIterator(it);
- while(x.hasNext()) if(f(x.next())) {
- return true;
- }
- return false;
-};
-Lambda.find = function(it,f) {
- var v = $getIterator(it);
- while(v.hasNext()) {
- var v1 = v.next();
- if(f(v1)) {
- return v1;
- }
- }
- return null;
-};
-var haxe_ds_StringMap = function() {
- this.h = { };
-};
-haxe_ds_StringMap.__name__ = true;
-haxe_ds_StringMap.prototype = {
- setReserved: function(key,value) {
- if(this.rh == null) {
- this.rh = { };
- }
- this.rh["$" + key] = value;
- }
- ,getReserved: function(key) {
- if(this.rh == null) {
- return null;
- } else {
- return this.rh["$" + key];
- }
- }
-};
-var Lang = function() { };
-Lang.__name__ = true;
-Lang.request = function(path,callback) {
- var http = new haxe_http_HttpJs(path);
- http.onData = callback;
- http.request();
-};
-Lang.init = function(folderPath,callback) {
- var _this = Lang.langs;
- _this.h = { };
- _this.rh = null;
- var count = 0;
- var _g = 0;
- var _g1 = Lang.ids;
- while(_g < _g1.length) {
- var name = [_g1[_g]];
- ++_g;
- Lang.request("" + folderPath + "/" + name[0] + ".json",(function(name1) {
- return function(data) {
- var data1 = JSON.parse(data);
- var lang = new haxe_ds_StringMap();
- var _g2 = 0;
- var _g11 = Reflect.fields(data1);
- while(_g2 < _g11.length) {
- var key = _g11[_g2];
- ++_g2;
- var v = Reflect.field(data1,key);
- if(__map_reserved[key] != null) {
- lang.setReserved(key,v);
- } else {
- lang.h[key] = v;
- }
- }
- var id = haxe_io_Path.withoutExtension(name1[0]);
- var _this1 = Lang.langs;
- if(__map_reserved[id] != null) {
- _this1.setReserved(id,lang);
- } else {
- _this1.h[id] = lang;
- }
- count += 1;
- if(count == Lang.ids.length && callback != null) {
- callback();
- }
- return;
- };
- })(name));
- }
-};
-Lang.get = function(key) {
- var key1 = Lang.lang;
- var _this = Lang.langs;
- if((__map_reserved[key1] != null ? _this.getReserved(key1) : _this.h[key1]) == null) {
- Lang.lang = "en";
- }
- var key2 = Lang.lang;
- var _this1 = Lang.langs;
- var _this2 = __map_reserved[key2] != null ? _this1.getReserved(key2) : _this1.h[key2];
- var text = __map_reserved[key] != null ? _this2.getReserved(key) : _this2.h[key];
- if(text == null) {
- return key;
- } else {
- return text;
- }
-};
-Math.__name__ = true;
-var Reflect = function() { };
-Reflect.__name__ = true;
-Reflect.field = function(o,field) {
- try {
- return o[field];
- } catch( e ) {
- return null;
- }
-};
-Reflect.fields = function(o) {
- var a = [];
- if(o != null) {
- var hasOwnProperty = Object.prototype.hasOwnProperty;
- for( var f in o ) {
- if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) {
- a.push(f);
- }
- }
- }
- return a;
-};
-Reflect.isFunction = function(f) {
- if(typeof(f) == "function") {
- return !(f.__name__ || f.__ename__);
- } else {
- return false;
- }
-};
-Reflect.compareMethods = function(f1,f2) {
- if(f1 == f2) {
- return true;
- }
- if(!Reflect.isFunction(f1) || !Reflect.isFunction(f2)) {
- return false;
- }
- if(f1.scope == f2.scope && f1.method == f2.method) {
- return f1.method != null;
- } else {
- return false;
- }
-};
-var Std = function() { };
-Std.__name__ = true;
-Std.string = function(s) {
- return js_Boot.__string_rec(s,"");
-};
-Std.parseInt = function(x) {
- if(x != null) {
- var _g = 0;
- var _g1 = x.length;
- while(_g < _g1) {
- var i = _g++;
- var c = x.charCodeAt(i);
- if(c <= 8 || c >= 14 && c != 32 && c != 45) {
- var v = parseInt(x, (x[(i + 1)]=="x" || x[(i + 1)]=="X") ? 16 : 10);
- if(isNaN(v)) {
- return null;
- } else {
- return v;
- }
- }
- }
- }
- return null;
-};
-var StringTools = function() { };
-StringTools.__name__ = true;
-StringTools.startsWith = function(s,start) {
- if(s.length >= start.length) {
- return s.lastIndexOf(start,0) == 0;
- } else {
- return false;
- }
-};
-StringTools.replace = function(s,sub,by) {
- return s.split(sub).join(by);
-};
-var client_Buttons = function() { };
-client_Buttons.__name__ = true;
-client_Buttons.init = function(main) {
- client_Buttons.initChatInput(main);
- var smilesBtn = window.document.querySelector("#smilesbtn");
- smilesBtn.onclick = function(e) {
- smilesBtn.classList.toggle("active");
- var smilesWrap = window.document.querySelector("#smileswrap");
- if(smilesBtn.classList.contains("active")) {
- return smilesWrap.style.display = "block";
- } else {
- return smilesWrap.style.display = "none";
- }
- };
- window.document.querySelector("#clearchatbtn").style.display = "inline-block";
- window.document.querySelector("#clearchatbtn").onclick = function(e1) {
- if((main.personal.group & 4) != 0) {
- main.send({ type : "ClearChat"});
- }
- return;
- };
- var userList = window.document.querySelector("#userlist");
- userList.onclick = function(e2) {
- if((main.personal.group & 4) == 0) {
- return;
- }
- var el = e2.target;
- if(userList == el) {
- return;
- }
- if(!el.classList.contains("userlist_item")) {
- el = el.parentElement;
- }
- var name = "";
- if(el.children.length == 1) {
- name = el.lastElementChild.innerText;
- }
- main.send({ type : "SetLeader", setLeader : { clientName : name}});
- return;
- };
- client_Buttons.split = new Split(["#chatwrap","#videowrap"],{ sizes : [40,60], onDragEnd : function() {
- return window.dispatchEvent(new Event("resize"));
- }, minSize : 185, snapOffset : 0});
- var userlistToggle = window.document.querySelector("#userlisttoggle");
- userlistToggle.onclick = function(e3) {
- var style = window.document.querySelector("#userlist").style;
- if(style.display == "none") {
- userlistToggle.classList.add("glyphicon-chevron-down");
- userlistToggle.classList.remove("glyphicon-chevron-right");
- return style.display = "block";
- } else {
- userlistToggle.classList.add("glyphicon-chevron-right");
- userlistToggle.classList.remove("glyphicon-chevron-down");
- return style.display = "none";
- }
- };
- window.document.querySelector("#usercount").onclick = userlistToggle.onclick;
- var extendPlayer = window.document.querySelector("#extendplayer");
- extendPlayer.onclick = function(e4) {
- if(extendPlayer.classList.contains("active")) {
- client_Buttons.split.setSizes([40,60]);
- window.document.querySelector("#userlist").style.width = "90px";
- } else {
- client_Buttons.split.setSizes([20,80]);
- window.document.querySelector("#userlist").style.width = "80px";
- }
- extendPlayer.classList.toggle("active");
- return window.dispatchEvent(new Event("resize"));
- };
- window.document.querySelector("#mediarefresh").onclick = function(e5) {
- main.refreshPlayer();
- return;
- };
- window.document.querySelector("#fullscreenbtn").onclick = function(e6) {
- return client_Utils.toggleFullScreen(window.document.querySelector("#ytapiplayer"));
- };
- var getPlaylist = window.document.querySelector("#getplaylist");
- getPlaylist.onclick = function(e7) {
- client_Utils.copyToClipboard(main.getPlaylistLinks().join(","));
- var icon = getPlaylist.firstElementChild;
- icon.classList.remove("glyphicon-link");
- icon.classList.add("glyphicon-ok");
- return haxe_Timer.delay(function() {
- icon.classList.add("glyphicon-link");
- icon.classList.remove("glyphicon-ok");
- return;
- },2000);
- };
- window.document.querySelector("#clearplaylist").onclick = function(e8) {
- if(!window.confirm(Lang.get("clearPlaylistConfirm"))) {
- return;
- }
- main.send({ type : "ClearPlaylist"});
- return;
- };
- window.document.querySelector("#shuffleplaylist").onclick = function(e9) {
- if(!window.confirm(Lang.get("shufflePlaylistConfirm"))) {
- return;
- }
- main.send({ type : "ShufflePlaylist"});
- return;
- };
- window.document.querySelector("#showmediaurl").onclick = function(e10) {
- window.document.querySelector("#showmediaurl").classList.toggle("collapsed");
- window.document.querySelector("#showmediaurl").classList.toggle("active");
- return window.document.querySelector("#addfromurl").classList.toggle("collapse");
- };
- window.onresize = client_Buttons.onVideoResize;
- window.dispatchEvent(new Event("resize"));
-};
-client_Buttons.onVideoResize = function() {
- var height = window.document.querySelector("#ytapiplayer").offsetHeight - window.document.querySelector("#chatline").offsetHeight;
- window.document.querySelector("#messagebuffer").style.height = "" + height + "px";
- window.document.querySelector("#userlist").style.height = "" + height + "px";
-};
-client_Buttons.initChatInput = function(main) {
- var guestName = window.document.querySelector("#guestname");
- guestName.onkeydown = function(e) {
- if(guestName.value.length == 0) {
- return;
- }
- if(e.keyCode == 13) {
- main.send({ type : "Login", login : { clientName : guestName.value}});
- }
- return;
- };
- var chatLine = window.document.querySelector("#chatline");
- chatLine.onkeydown = function(e1) {
- switch(e1.keyCode) {
- case 13:
- if(chatLine.value.length == 0) {
- return;
- }
- main.send({ type : "Message", message : { clientName : "", text : chatLine.value}});
- client_Buttons.personalHistory.push(chatLine.value);
- if(client_Buttons.personalHistory.length > 50) {
- client_Buttons.personalHistory.shift();
- }
- client_Buttons.personalHistoryId = -1;
- chatLine.value = "";
- break;
- case 38:
- client_Buttons.personalHistoryId--;
- if(client_Buttons.personalHistoryId == -2) {
- client_Buttons.personalHistoryId = client_Buttons.personalHistory.length - 1;
- if(client_Buttons.personalHistoryId == -1) {
- return;
- }
- } else if(client_Buttons.personalHistoryId == -1) {
- client_Buttons.personalHistoryId++;
- }
- chatLine.value = client_Buttons.personalHistory[client_Buttons.personalHistoryId];
- break;
- case 40:
- if(client_Buttons.personalHistoryId == -1) {
- return;
- }
- client_Buttons.personalHistoryId++;
- if(client_Buttons.personalHistoryId > client_Buttons.personalHistory.length - 1) {
- client_Buttons.personalHistoryId = -1;
- chatLine.value = "";
- return;
- }
- chatLine.value = client_Buttons.personalHistory[client_Buttons.personalHistoryId];
- break;
- }
- };
-};
-var client_Main = function(host,port) {
- if(port == null) {
- port = 4201;
- }
- this.matchNumbers = new EReg("^-?[0-9]+$","");
- this.onTimeGet = new haxe_Timer(2000);
- this.isConnected = false;
- this.personal = new Client(null,null,"Unknown",0);
- this.filters = [];
- this.pageTitle = window.document.title;
- this.clients = [];
- var _gthis = this;
- this.player = new client_Player(this);
- if(host == null) {
- host = window.location.hostname;
- }
- if(host == "") {
- host = "localhost";
- }
- this.initListeners();
- this.onTimeGet.run = function() {
- _gthis.send({ type : "GetTime"});
- return;
- };
- window.document.onvisibilitychange = function() {
- if(!window.document.hidden && _gthis.onBlinkTab != null) {
- window.document.title = _gthis.getPageTitle();
- _gthis.onBlinkTab.stop();
- _gthis.onBlinkTab = null;
- }
- return;
- };
- Lang.init("langs",function() {
- _gthis.openWebSocket(host,port);
- return;
- });
-};
-client_Main.__name__ = true;
-client_Main.main = function() {
- new client_Main();
-};
-client_Main.prototype = {
- openWebSocket: function(host,port) {
- var _gthis = this;
- this.ws = new WebSocket("ws://" + host + ":" + port);
- this.ws.onmessage = $bind(this,this.onMessage);
- this.ws.onopen = function() {
- _gthis.serverMessage(1);
- return _gthis.isConnected = true;
- };
- this.ws.onclose = function() {
- if(_gthis.isConnected) {
- _gthis.serverMessage(2);
- }
- _gthis.isConnected = false;
- _gthis.player.pause();
- return haxe_Timer.delay(function() {
- _gthis.openWebSocket(host,port);
- return;
- },2000);
- };
- }
- ,initListeners: function() {
- var _gthis = this;
- client_Buttons.init(this);
- client_MobileView.init();
- window.document.querySelector("#leader_btn").onclick = function(e) {
- _gthis.setLeaderButton((_gthis.personal.group & 2) == 0);
- _gthis.send({ type : "SetLeader", setLeader : { clientName : (_gthis.personal.group & 2) != 0 ? "" : _gthis.personal.name}});
- return;
- };
- window.document.querySelector("#queue_next").onclick = function(e1) {
- _gthis.addVideoUrl(false);
- return;
- };
- window.document.querySelector("#queue_end").onclick = function(e2) {
- _gthis.addVideoUrl(true);
- return;
- };
- window.document.querySelector("#mediaurl").onkeydown = function(e3) {
- if(e3.keyCode == 13) {
- _gthis.addVideoUrl(true);
- }
- };
- }
- ,addVideoUrl: function(atEnd) {
- var _gthis = this;
- var mediaUrl = window.document.querySelector("#mediaurl");
- var url = mediaUrl.value;
- if(url.length == 0) {
- return;
- }
- mediaUrl.value = "";
- var _this_r = new RegExp(",(https?)","g".split("u").join(""));
- var links = url.replace(_this_r,"|$1").split("|");
- this.addVideo(atEnd || this.player.isListEmpty() ? links.shift() : links.pop(),atEnd,function() {
- _gthis.addVideoArray(links,atEnd);
- return;
- });
- }
- ,addVideoArray: function(links,atEnd) {
- var _gthis = this;
- if(links.length == 0) {
- return;
- }
- this.addVideo(atEnd ? links.shift() : links.pop(),atEnd,function() {
- _gthis.addVideoArray(links,atEnd);
- return;
- });
- }
- ,addVideo: function(url,atEnd,callback) {
- var _gthis = this;
- if(!StringTools.startsWith(url,"http")) {
- url = "" + window.location.protocol + "//" + url;
- }
- var pos = url.lastIndexOf("/") + 1;
- var name = HxOverrides.substr(url,pos,null);
- var matchName = new EReg("^(.+)\\.","");
- if(matchName.match(name)) {
- name = matchName.matched(1);
- } else {
- name = Lang.get("rawVideo");
- }
- this.getRemoteVideoDuration(url,function(duration) {
- _gthis.send({ type : "AddVideo", addVideo : { item : { url : url, title : name, author : _gthis.personal.name, duration : duration}, atEnd : atEnd}});
- callback();
- return;
- });
- }
- ,refreshPlayer: function() {
- this.player.refresh();
- }
- ,getPlaylistLinks: function() {
- var items = this.player.getItems();
- var _g = [];
- var _g1 = 0;
- while(_g1 < items.length) _g.push(items[_g1++].url);
- return _g;
- }
- ,getRemoteVideoDuration: function(src,callback) {
- var player = window.document.querySelector("#ytapiplayer");
- var video = window.document.createElement("video");
- video.src = src;
- video.onerror = function(e) {
- callback(0);
- return;
- };
- video.onloadedmetadata = function() {
- if(player.contains(video)) {
- player.removeChild(video);
- }
- callback(video.duration);
- return;
- };
- client_Utils.prepend(player,video);
- }
- ,onMessage: function(e) {
- var data = JSON.parse(e.data);
- var t = data.type;
- var t1 = t.charAt(0).toLowerCase() + HxOverrides.substr(t,1,null);
- haxe_Log.trace("Event: " + data.type,{ fileName : "src/client/Main.hx", lineNumber : 171, className : "client.Main", methodName : "onMessage", customParams : [data[t1]]});
- switch(data.type) {
- case "AddVideo":
- if(this.player.isListEmpty()) {
- this.player.setVideo(data.addVideo.item);
- }
- this.player.addVideoItem(data.addVideo.item,data.addVideo.atEnd);
- break;
- case "ClearChat":
- window.document.querySelector("#messagebuffer").innerHTML = "";
- break;
- case "ClearPlaylist":
- this.player.clearItems();
- if(this.player.isListEmpty()) {
- this.player.pause();
- }
- break;
- case "Connected":
- this.onConnected(data);
- this.onTimeGet.run();
- break;
- case "GetTime":
- var newTime = data.getTime.time;
- var time = this.player.getTime();
- if((this.personal.group & 1 << ClientGroup.Leader._hx_index) != 0) {
- if(Math.abs(time - newTime) < 2) {
- return;
- }
- this.player.setTime(time,false);
- return;
- }
- if(!data.getTime.paused) {
- this.player.play();
- } else {
- this.player.pause();
- }
- if(Math.abs(time - newTime) < 2) {
- return;
- }
- this.player.setTime(newTime);
- break;
- case "Login":
- this.onLogin(data.login.clients,data.login.clientName);
- break;
- case "LoginError":
- var text = StringTools.replace(Lang.get("usernameError"),"$MAX","" + this.config.maxLoginLength);
- this.serverMessage(4,text);
- break;
- case "Logout":
- this.updateClients(data.logout.clients);
- this.personal = new Client(null,null,data.logout.clientName,0);
- this.showGuestLoginPanel();
- break;
- case "Message":
- this.addMessage(data.message.clientName,data.message.text);
- break;
- case "Pause":
- if((this.personal.group & 1 << ClientGroup.Leader._hx_index) != 0) {
- return;
- }
- this.player.pause();
- this.player.setTime(data.pause.time);
- break;
- case "Play":
- if((this.personal.group & 1 << ClientGroup.Leader._hx_index) != 0) {
- return;
- }
- this.player.setTime(data.play.time);
- this.player.play();
- break;
- case "RemoveVideo":
- this.player.removeItem(data.removeVideo.url);
- if(this.player.isListEmpty()) {
- this.player.pause();
- }
- break;
- case "Rewind":
- this.player.setTime(data.rewind.time);
- break;
- case "SetLeader":
- ClientTools.setLeader(this.clients,data.setLeader.clientName);
- this.updateUserList();
- this.setLeaderButton((this.personal.group & 1 << ClientGroup.Leader._hx_index) != 0);
- if((this.personal.group & 1 << ClientGroup.Leader._hx_index) != 0) {
- this.player.setTime(this.player.getTime(),false);
- }
- break;
- case "SetTime":
- var newTime1 = data.setTime.time;
- var time1 = this.player.getTime();
- if(Math.abs(time1 - newTime1) < 2) {
- return;
- }
- this.player.setTime(newTime1);
- break;
- case "ShufflePlaylist":
- break;
- case "UpdateClients":
- this.updateClients(data.updateClients.clients);
- this.personal = ClientTools.getByName(this.clients,this.personal.name,this.personal);
- break;
- case "UpdatePlaylist":
- this.player.setItems(data.updatePlaylist.videoList);
- break;
- case "VideoLoaded":
- this.player.setTime(0);
- this.player.play();
- break;
- }
- }
- ,onConnected: function(data) {
- var connected = data.connected;
- this.setConfig(connected.config);
- if(connected.isUnknownClient) {
- this.updateClients(connected.clients);
- this.personal = ClientTools.getByName(this.clients,connected.clientName,this.personal);
- this.showGuestLoginPanel();
- } else {
- this.onLogin(connected.clients,connected.clientName);
- }
- var guestName = window.document.querySelector("#guestname");
- if(guestName.value.length > 0) {
- this.send({ type : "Login", login : { clientName : guestName.value}});
- }
- var _g = 0;
- var _g1 = connected.history;
- while(_g < _g1.length) {
- var message = _g1[_g];
- ++_g;
- this.addMessage(message.name,message.text,message.time);
- }
- this.player.setItems(connected.videoList);
- }
- ,setConfig: function(config) {
- this.config = config;
- this.pageTitle = config.channelName;
- window.document.querySelector("#guestname").maxLength = config.maxLoginLength;
- window.document.querySelector("#chatline").maxLength = config.maxMessageLength;
- this.filters.length = 0;
- var _g = 0;
- var _g1 = config.filters;
- while(_g < _g1.length) {
- var filter = _g1[_g];
- ++_g;
- this.filters.push({ regex : new EReg(filter.regex,filter.flags), replace : filter.replace});
- }
- var _g2 = 0;
- var _g3 = config.emotes;
- while(_g2 < _g3.length) {
- var emote = _g3[_g2];
- ++_g2;
- this.filters.push({ regex : new EReg(this.escapeRegExp(emote.name),"g"), replace : "<img class=\"channel-emote\" src=\"" + emote.image + "\" title=\"" + emote.name + "\"/>"});
- }
- var smilesWrap = window.document.querySelector("#smileswrap");
- smilesWrap.onclick = function(e) {
- var el = e.target;
- var form = window.document.querySelector("#chatline");
- form.value += " " + el.title;
- form.focus();
- return;
- };
- smilesWrap.innerHTML = "";
- var _g4 = 0;
- var _g5 = config.emotes;
- while(_g4 < _g5.length) {
- var emote1 = _g5[_g4];
- ++_g4;
- var img = window.document.createElement("img");
- img.className = "smile-preview";
- img.src = emote1.image;
- img.title = emote1.name;
- smilesWrap.appendChild(img);
- }
- }
- ,onLogin: function(data,clientName) {
- this.updateClients(data);
- var newPersonal = ClientTools.getByName(this.clients,clientName);
- if(newPersonal == null) {
- return;
- }
- this.personal = newPersonal;
- this.hideGuestLoginPanel();
- }
- ,showGuestLoginPanel: function() {
- window.document.querySelector("#guestlogin").style.display = "block";
- window.document.querySelector("#chatline").style.display = "none";
- }
- ,hideGuestLoginPanel: function() {
- window.document.querySelector("#guestlogin").style.display = "none";
- window.document.querySelector("#chatline").style.display = "block";
- }
- ,updateClients: function(newClients) {
- this.clients.length = 0;
- var _g = 0;
- while(_g < newClients.length) this.clients.push(Client.fromData(newClients[_g++]));
- this.updateUserList();
- }
- ,send: function(data) {
- if(!this.isConnected) {
- return;
- }
- this.ws.send(JSON.stringify(data));
- }
- ,serverMessage: function(type,text) {
- var msgBuf = window.document.querySelector("#messagebuffer");
- var div = window.document.createElement("div");
- var time = "[" + new Date().toTimeString().split(" ")[0] + "] ";
- switch(type) {
- case 1:
- div.className = "server-msg-reconnect";
- div.innerHTML = Lang.get("msgConnected");
- break;
- case 2:
- div.className = "server-msg-disconnect";
- div.innerHTML = Lang.get("msgDisconnected");
- break;
- case 3:
- div.className = "server-whisper";
- div.innerHTML = time + text + " " + Lang.get("entered");
- break;
- case 4:
- div.className = "server-whisper";
- div.innerHTML = time + text;
- break;
- default:
- }
- msgBuf.appendChild(div);
- msgBuf.scrollTop = msgBuf.scrollHeight;
- }
- ,updateUserList: function() {
- window.document.querySelector("#usercount").innerHTML = this.clients.length + " " + Lang.get("online");
- window.document.title = this.getPageTitle();
- var list_b = "";
- var _g = 0;
- var _g1 = this.clients;
- while(_g < _g1.length) {
- var client1 = _g1[_g];
- ++_g;
- list_b += "<div class=\"userlist_item\">";
- if((client1.group & 2) != 0) {
- list_b += "<span class=\"glyphicon glyphicon-star-empty\"></span>";
- }
- list_b += Std.string("<span class=\"" + ((client1.group & 4) != 0 ? "userlist_owner" : "") + "\">" + client1.name + "</span></div>");
- }
- window.document.querySelector("#userlist").innerHTML = list_b;
- }
- ,getPageTitle: function() {
- return "" + this.pageTitle + " (" + this.clients.length + ")";
- }
- ,addMessage: function(name,text,time) {
- var _gthis = this;
- var msgBuf = window.document.querySelector("#messagebuffer");
- var userDiv = window.document.createElement("div");
- userDiv.className = "chat-msg-" + name;
- var tstamp = window.document.createElement("span");
- tstamp.className = "timestamp";
- if(time == null) {
- time = "[" + new Date().toTimeString().split(" ")[0] + "] ";
- }
- tstamp.innerHTML = time;
- var nameDiv = window.document.createElement("strong");
- nameDiv.className = "username";
- nameDiv.innerHTML = name + ": ";
- var textDiv = window.document.createElement("span");
- if(StringTools.startsWith(text,"/")) {
- if(name == this.personal.name) {
- this.handleCommands(HxOverrides.substr(text,1,null));
- }
- } else {
- var _g = 0;
- var _g1 = this.filters;
- while(_g < _g1.length) {
- var filter = _g1[_g];
- ++_g;
- text = text.replace(filter.regex.r,filter.replace);
- }
- }
- textDiv.innerHTML = text;
- var isInChatEnd = msgBuf.scrollHeight - msgBuf.scrollTop == msgBuf.clientHeight;
- userDiv.appendChild(tstamp);
- userDiv.appendChild(nameDiv);
- userDiv.appendChild(textDiv);
- msgBuf.appendChild(userDiv);
- if(isInChatEnd) {
- while(msgBuf.children.length > 200) msgBuf.removeChild(msgBuf.firstChild);
- msgBuf.scrollTop = msgBuf.scrollHeight;
- }
- if(name == this.personal.name) {
- msgBuf.scrollTop = msgBuf.scrollHeight;
- }
- if(window.document.hidden && this.onBlinkTab == null) {
- this.onBlinkTab = new haxe_Timer(1000);
- this.onBlinkTab.run = function() {
- if(StringTools.startsWith(window.document.title,_gthis.pageTitle)) {
- return window.document.title = "*Chat*";
- } else {
- return window.document.title = _gthis.getPageTitle();
- }
- };
- this.onBlinkTab.run();
- }
- }
- ,handleCommands: function(text) {
- if(text == "clear") {
- if((this.personal.group & 4) != 0) {
- this.send({ type : "ClearChat"});
- }
- }
- if(this.matchNumbers.match(text)) {
- this.send({ type : "Rewind", rewind : { time : Std.parseInt(text)}});
- }
- }
- ,setLeaderButton: function(flag) {
- var leaderBtn = window.document.querySelector("#leader_btn");
- if((this.personal.group & 2) != 0) {
- leaderBtn.classList.add("label-success");
- } else {
- leaderBtn.classList.remove("label-success");
- }
- }
- ,escapeRegExp: function(regex) {
- var _this_r = new RegExp("([.*+?^${}()|[\\]\\\\])","g".split("u").join(""));
- return regex.replace(_this_r,"\\$1");
- }
-};
-var client_MobileView = function() { };
-client_MobileView.__name__ = true;
-client_MobileView.init = function() {
- var mvbtn = window.document.querySelector("#mv_btn");
- mvbtn.onclick = function(e) {
- if(client_Utils.toggleFullScreen(window.document.documentElement)) {
- window.document.body.classList.add("mobile-view");
- mvbtn.classList.add("active");
- var vwrap = window.document.querySelector("#videowrap");
- if(vwrap.children[0] == window.document.querySelector("currenttitle")) {
- vwrap.appendChild(vwrap.children[0]);
- }
- } else {
- window.document.body.classList.remove("mobile-view");
- mvbtn.classList.remove("active");
- var vwrap1 = window.document.querySelector("videowrap");
- if(vwrap1.children[0] != window.document.querySelector("currenttitle")) {
- vwrap1.insertBefore(vwrap1.children[1],vwrap1.children[0]);
- }
- }
- return;
- };
-};
-var client_Player = function(main) {
- this.skipSetTime = false;
- this.isLoaded = false;
- this.player = window.document.querySelector("#ytapiplayer");
- this.videoItemsEl = window.document.querySelector("#queue");
- this.items = [];
- this.main = main;
-};
-client_Player.__name__ = true;
-client_Player.prototype = {
- setVideo: function(item) {
- var _gthis = this;
- this.isLoaded = false;
- this.video = window.document.createElement("video");
- this.video.id = "videoplayer";
- this.video.src = item.url;
- this.video.controls = true;
- this.video.oncanplaythrough = function(e) {
- if(!_gthis.isLoaded) {
- _gthis.main.send({ type : "VideoLoaded"});
- }
- return _gthis.isLoaded = true;
- };
- this.video.onseeking = function(e1) {
- if(_gthis.skipSetTime) {
- _gthis.skipSetTime = false;
- return;
- }
- if((_gthis.main.personal.group & 2) == 0) {
- return;
- }
- _gthis.main.send({ type : "SetTime", setTime : { time : _gthis.video.currentTime}});
- return;
- };
- this.video.onpause = function(e2) {
- if((_gthis.main.personal.group & 2) == 0) {
- return;
- }
- _gthis.main.send({ type : "Pause", pause : { time : _gthis.video.currentTime}});
- return;
- };
- this.video.onplay = function(e3) {
- if((_gthis.main.personal.group & 2) == 0) {
- return;
- }
- _gthis.main.send({ type : "Play", play : { time : _gthis.video.currentTime}});
- return;
- };
- this.player.innerHTML = "";
- this.player.appendChild(this.video);
- window.document.querySelector("#currenttitle").innerHTML = item.title;
- }
- ,addVideoItem: function(item,atEnd) {
- var _gthis = this;
- this.items.push(item);
- var itemEl = this.nodeFromString("<li class=\"queue_entry pluid-0 queue_temp queue_active\" title=\"" + Lang.get("addedBy") + ": " + item.author + "\">\n\t\t\t\t<a class=\"qe_title\" href=\"" + item.url + "\" target=\"_blank\">" + item.title + "</a>\n\t\t\t\t<span class=\"qe_time\">" + this.duration(item.duration) + "</span>\n\t\t\t\t<div class=\"qe_clear\"></div>\n\t\t\t\t<div class=\"btn-group\" style=\"display: inline-block;\">\n\t\t\t\t\t<button class=\"btn btn-xs btn-default qbtn-play\">\n\t\t\t\t\t\t<span class=\"glyphicon glyphicon-play\"></span>" + Lang.get("play") + "\n\t\t\t\t\t</button>\n\t\t\t\t\t<button class=\"btn btn-xs btn-default qbtn-next\">\n\t\t\t\t\t\t<span class=\"glyphicon glyphicon-share-alt\"></span>" + Lang.get("skip") + "\n\t\t\t\t\t</button>\n\t\t\t\t\t<button class=\"btn btn-xs btn-default qbtn-tmp\">\n\t\t\t\t\t\t<span class=\"glyphicon glyphicon-flag\"></span>" + Lang.get("makePermanent") + "\n\t\t\t\t\t</button>\n\t\t\t\t\t<button class=\"btn btn-xs btn-default qbtn-delete\" id=\"btn-delete\">\n\t\t\t\t\t\t<span class=\"glyphicon glyphicon-trash\"></span>" + Lang.get("delete") + "\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</li>");
- itemEl.querySelector("#btn-delete").onclick = function(e) {
- _gthis.main.send({ type : "RemoveVideo", removeVideo : { url : itemEl.querySelector(".qe_title").getAttribute("href")}});
- return;
- };
- if(atEnd) {
- this.videoItemsEl.appendChild(itemEl);
- } else {
- client_Utils.insertAtIndex(this.videoItemsEl,itemEl,1);
- }
- this.updateCounters();
- }
- ,removeVideo: function() {
- if(this.video == null) {
- return;
- }
- this.player.removeChild(this.video);
- this.video = null;
- window.document.querySelector("#currenttitle").innerHTML = Lang.get("nothingPlaying");
- }
- ,removeItem: function(url) {
- var _g = 0;
- var _g1 = this.videoItemsEl.children;
- while(_g < _g1.length) {
- var child = _g1[_g];
- ++_g;
- if(child.querySelector(".qe_title").getAttribute("href") == url) {
- this.videoItemsEl.removeChild(child);
- break;
- }
- }
- HxOverrides.remove(this.items,Lambda.find(this.items,function(item) {
- return item.url == url;
- }));
- if(this.video.src == url) {
- if(this.items.length > 0) {
- this.setVideo(this.items[0]);
- }
- }
- this.updateCounters();
- }
- ,updateCounters: function() {
- var tmp = "" + this.items.length + " ";
- var tmp1 = Lang.get("videos");
- window.document.querySelector("#plcount").innerHTML = tmp + tmp1;
- window.document.querySelector("#pllength").innerHTML = this.totalDuration();
- }
- ,getItems: function() {
- return this.items;
- }
- ,setItems: function(list) {
- this.clearItems();
- if(list.length == 0) {
- return;
- }
- if(this.video == null || this.video.src != list[0].url) {
- this.setVideo(list[0]);
- }
- var _g = 0;
- while(_g < list.length) this.addVideoItem(list[_g++],true);
- }
- ,clearItems: function() {
- this.items.length = 0;
- this.videoItemsEl.innerHTML = "";
- this.updateCounters();
- }
- ,refresh: function() {
- if(this.items.length == 0) {
- return;
- }
- this.removeVideo();
- this.setVideo(this.items[0]);
- }
- ,duration: function(time) {
- var h = time / 60 / 60 | 0;
- var m = (time / 60 | 0) - h * 60;
- var s = time % 60 | 0;
- var time1 = "" + m + ":";
- if(m < 10) {
- time1 = "0" + time1;
- }
- if(h > 0) {
- time1 = "" + h + ":" + time1;
- }
- if(s < 10) {
- time1 += "0";
- }
- time1 += s;
- return time1;
- }
- ,totalDuration: function() {
- var time = 0.0;
- var _g = 0;
- var _g1 = this.items;
- while(_g < _g1.length) time += _g1[_g++].duration;
- return this.duration(time);
- }
- ,nodeFromString: function(div) {
- var wrapper = window.document.createElement("div");
- wrapper.innerHTML = div;
- return wrapper.firstElementChild;
- }
- ,isListEmpty: function() {
- return this.items.length == 0;
- }
- ,pause: function() {
- if(this.video == null) {
- return;
- }
- this.video.pause();
- }
- ,play: function() {
- if(this.video == null) {
- return;
- }
- this.video.play();
- }
- ,setTime: function(time,isLocal) {
- if(isLocal == null) {
- isLocal = true;
- }
- if(this.video == null) {
- return;
- }
- this.skipSetTime = isLocal;
- this.video.currentTime = time;
- }
- ,getTime: function() {
- if(this.video == null) {
- return 0;
- }
- return this.video.currentTime;
- }
-};
-var client_Utils = function() { };
-client_Utils.__name__ = true;
-client_Utils.prepend = function(parent,child) {
- if(parent.firstChild == null) {
- parent.appendChild(child);
- } else {
- parent.insertBefore(child,parent.firstChild);
- }
-};
-client_Utils.insertAtIndex = function(parent,child,i) {
- if(i >= parent.children.length) {
- parent.appendChild(child);
- } else {
- parent.insertBefore(child,parent.children[i]);
- }
-};
-client_Utils.toggleFullScreen = function(el) {
- var state = true;
- var doc = window.document;
- var el2 = el;
- if(window.document.fullscreenElement == null && doc.mozFullScreenElement == null && doc.webkitFullscreenElement == null) {
- if(el.requestFullscreen != null) {
- el.requestFullscreen();
- } else if(el2.mozRequestFullScreen != null) {
- el2.mozRequestFullScreen();
- } else if(el2.webkitRequestFullscreen != null) {
- el2.webkitRequestFullscreen(HTMLElement.ALLOW_KEYBOARD_INPUT);
- } else {
- state = false;
- }
- } else {
- if(doc.cancelFullScreen != null) {
- doc.cancelFullScreen();
- } else if(doc.mozCancelFullScreen != null) {
- doc.mozCancelFullScreen();
- } else if(doc.webkitCancelFullScreen != null) {
- doc.webkitCancelFullScreen();
- }
- state = false;
- }
- return state;
-};
-client_Utils.copyToClipboard = function(text) {
- var clipboardData = window.clipboardData;
- if(clipboardData != null && clipboardData.setData != null) {
- clipboardData.setData("Text",text);
- return;
- } else if(window.document.queryCommandSupported != null) {
- var textarea = window.document.createElement("textarea");
- textarea.textContent = text;
- textarea.style.position = "fixed";
- window.document.body.appendChild(textarea);
- textarea.select();
- window.document.execCommand("copy");
- window.document.body.removeChild(textarea);
- }
-};
-var haxe_Log = function() { };
-haxe_Log.__name__ = true;
-haxe_Log.formatOutput = function(v,infos) {
- var str = Std.string(v);
- if(infos == null) {
- return str;
- }
- var pstr = infos.fileName + ":" + infos.lineNumber;
- if(infos.customParams != null) {
- var _g = 0;
- var _g1 = infos.customParams;
- while(_g < _g1.length) str += ", " + Std.string(_g1[_g++]);
- }
- return pstr + ": " + str;
-};
-haxe_Log.trace = function(v,infos) {
- var str = haxe_Log.formatOutput(v,infos);
- if(typeof(console) != "undefined" && console.log != null) {
- console.log(str);
- }
-};
-var haxe_Timer = function(time_ms) {
- var me = this;
- this.id = setInterval(function() {
- me.run();
- },time_ms);
-};
-haxe_Timer.__name__ = true;
-haxe_Timer.delay = function(f,time_ms) {
- var t = new haxe_Timer(time_ms);
- t.run = function() {
- t.stop();
- f();
- };
- return t;
-};
-haxe_Timer.prototype = {
- stop: function() {
- if(this.id == null) {
- return;
- }
- clearInterval(this.id);
- this.id = null;
- }
- ,run: function() {
- }
-};
-var haxe_http_HttpBase = function(url) {
- this.url = url;
- this.headers = [];
- this.params = [];
- this.emptyOnData = $bind(this,this.onData);
-};
-haxe_http_HttpBase.__name__ = true;
-haxe_http_HttpBase.prototype = {
- onData: function(data) {
- }
- ,onBytes: function(data) {
- }
- ,onError: function(msg) {
- }
- ,onStatus: function(status) {
- }
- ,hasOnData: function() {
- return !Reflect.compareMethods($bind(this,this.onData),this.emptyOnData);
- }
- ,success: function(data) {
- this.responseBytes = data;
- this.responseAsString = null;
- if(this.hasOnData()) {
- this.onData(this.get_responseData());
- }
- this.onBytes(this.responseBytes);
- }
- ,get_responseData: function() {
- if(this.responseAsString == null && this.responseBytes != null) {
- this.responseAsString = this.responseBytes.getString(0,this.responseBytes.length,haxe_io_Encoding.UTF8);
- }
- return this.responseAsString;
- }
-};
-var haxe_http_HttpJs = function(url) {
- this.async = true;
- this.withCredentials = false;
- haxe_http_HttpBase.call(this,url);
-};
-haxe_http_HttpJs.__name__ = true;
-haxe_http_HttpJs.__super__ = haxe_http_HttpBase;
-haxe_http_HttpJs.prototype = $extend(haxe_http_HttpBase.prototype,{
- request: function(post) {
- var _gthis = this;
- this.responseAsString = null;
- this.responseBytes = null;
- var r = this.req = js_Browser.createXMLHttpRequest();
- var onreadystatechange = function(_) {
- if(r.readyState != 4) {
- return;
- }
- var s;
- try {
- s = r.status;
- } catch( e ) {
- s = null;
- }
- if(s == 0 && typeof(window) != "undefined") {
- var protocol = window.location.protocol.toLowerCase();
- if(new EReg("^(?:about|app|app-storage|.+-extension|file|res|widget):$","").match(protocol)) {
- s = r.response != null ? 200 : 404;
- }
- }
- if(s == undefined) {
- s = null;
- }
- if(s != null) {
- _gthis.onStatus(s);
- }
- if(s != null && s >= 200 && s < 400) {
- _gthis.req = null;
- var onreadystatechange1 = haxe_io_Bytes.ofData(r.response);
- _gthis.success(onreadystatechange1);
- } else if(s == null) {
- _gthis.req = null;
- _gthis.onError("Failed to connect or resolve host");
- } else if(s == null) {
- _gthis.req = null;
- _gthis.responseBytes = haxe_io_Bytes.ofData(r.response);
- _gthis.onError("Http Error #" + r.status);
- } else {
- switch(s) {
- case 12007:
- _gthis.req = null;
- _gthis.onError("Unknown host");
- break;
- case 12029:
- _gthis.req = null;
- _gthis.onError("Failed to connect to host");
- break;
- default:
- _gthis.req = null;
- _gthis.responseBytes = haxe_io_Bytes.ofData(r.response);
- _gthis.onError("Http Error #" + r.status);
- }
- }
- };
- if(this.async) {
- r.onreadystatechange = onreadystatechange;
- }
- var _g = this.postBytes;
- var _g1 = this.postData;
- var uri = _g1 == null ? _g == null ? null : new Blob([_g.b.bufferValue]) : _g == null ? _g1 : null;
- if(uri != null) {
- post = true;
- } else {
- var _g2 = 0;
- var _g3 = this.params;
- while(_g2 < _g3.length) {
- var p = _g3[_g2];
- ++_g2;
- if(uri == null) {
- uri = "";
- } else {
- uri = Std.string(uri) + "&";
- }
- var s1 = p.name;
- var value = Std.string(uri) + encodeURIComponent(s1) + "=";
- var s2 = p.value;
- uri = value + encodeURIComponent(s2);
- }
- }
- try {
- if(post) {
- r.open("POST",this.url,this.async);
- } else if(uri != null) {
- r.open("GET",this.url + (this.url.split("?").length <= 1 ? "?" : "&") + Std.string(uri),this.async);
- uri = null;
- } else {
- r.open("GET",this.url,this.async);
- }
- r.responseType = "arraybuffer";
- } catch( e1 ) {
- var e2 = ((e1) instanceof js__$Boot_HaxeError) ? e1.val : e1;
- this.req = null;
- this.onError(e2.toString());
- return;
- }
- r.withCredentials = this.withCredentials;
- if(!Lambda.exists(this.headers,function(h) {
- return h.name == "Content-Type";
- }) && post && this.postData == null) {
- r.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
- }
- var _g21 = 0;
- var _g31 = this.headers;
- while(_g21 < _g31.length) {
- var h1 = _g31[_g21];
- ++_g21;
- r.setRequestHeader(h1.name,h1.value);
- }
- r.send(uri);
- if(!this.async) {
- onreadystatechange(null);
- }
- }
-});
-var haxe_io_Bytes = function(data) {
- this.length = data.byteLength;
- this.b = new Uint8Array(data);
- this.b.bufferValue = data;
- data.hxBytes = this;
- data.bytes = this.b;
-};
-haxe_io_Bytes.__name__ = true;
-haxe_io_Bytes.ofData = function(b) {
- var hb = b.hxBytes;
- if(hb != null) {
- return hb;
- }
- return new haxe_io_Bytes(b);
-};
-haxe_io_Bytes.prototype = {
- getString: function(pos,len,encoding) {
- if(pos < 0 || len < 0 || pos + len > this.length) {
- throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds);
- }
- if(encoding == null) {
- encoding = haxe_io_Encoding.UTF8;
- }
- var s = "";
- var b = this.b;
- var i = pos;
- var max = pos + len;
- switch(encoding._hx_index) {
- case 0:
- while(i < max) {
- var c = b[i++];
- if(c < 128) {
- if(c == 0) {
- break;
- }
- s += String.fromCodePoint(c);
- } else if(c < 224) {
- var code = (c & 63) << 6 | b[i++] & 127;
- s += String.fromCodePoint(code);
- } else if(c < 240) {
- var code1 = (c & 31) << 12 | (b[i++] & 127) << 6 | b[i++] & 127;
- s += String.fromCodePoint(code1);
- } else {
- var u = (c & 15) << 18 | (b[i++] & 127) << 12 | (b[i++] & 127) << 6 | b[i++] & 127;
- s += String.fromCodePoint(u);
- }
- }
- break;
- case 1:
- while(i < max) {
- var c1 = b[i++] | b[i++] << 8;
- s += String.fromCodePoint(c1);
- }
- break;
- }
- return s;
- }
-};
-var haxe_io_Encoding = $hxEnums["haxe.io.Encoding"] = { __ename__ : true, __constructs__ : ["UTF8","RawNative"]
- ,UTF8: {_hx_index:0,__enum__:"haxe.io.Encoding",toString:$estr}
- ,RawNative: {_hx_index:1,__enum__:"haxe.io.Encoding",toString:$estr}
-};
-var haxe_io_Error = $hxEnums["haxe.io.Error"] = { __ename__ : true, __constructs__ : ["Blocked","Overflow","OutsideBounds","Custom"]
- ,Blocked: {_hx_index:0,__enum__:"haxe.io.Error",toString:$estr}
- ,Overflow: {_hx_index:1,__enum__:"haxe.io.Error",toString:$estr}
- ,OutsideBounds: {_hx_index:2,__enum__:"haxe.io.Error",toString:$estr}
- ,Custom: ($_=function(e) { return {_hx_index:3,e:e,__enum__:"haxe.io.Error",toString:$estr}; },$_.__params__ = ["e"],$_)
-};
-var haxe_io_Path = function(path) {
- switch(path) {
- case ".":case "..":
- this.dir = path;
- this.file = "";
- return;
- }
- var c1 = path.lastIndexOf("/");
- var c2 = path.lastIndexOf("\\");
- if(c1 < c2) {
- this.dir = HxOverrides.substr(path,0,c2);
- path = HxOverrides.substr(path,c2 + 1,null);
- this.backslash = true;
- } else if(c2 < c1) {
- this.dir = HxOverrides.substr(path,0,c1);
- path = HxOverrides.substr(path,c1 + 1,null);
- } else {
- this.dir = null;
- }
- var cp = path.lastIndexOf(".");
- if(cp != -1) {
- this.ext = HxOverrides.substr(path,cp + 1,null);
- this.file = HxOverrides.substr(path,0,cp);
- } else {
- this.ext = null;
- this.file = path;
- }
-};
-haxe_io_Path.__name__ = true;
-haxe_io_Path.withoutExtension = function(path) {
- var s = new haxe_io_Path(path);
- s.ext = null;
- return s.toString();
-};
-haxe_io_Path.prototype = {
- toString: function() {
- return (this.dir == null ? "" : this.dir + (this.backslash ? "\\" : "/")) + this.file + (this.ext == null ? "" : "." + this.ext);
- }
-};
-var js__$Boot_HaxeError = function(val) {
- Error.call(this);
- this.val = val;
- if(Error.captureStackTrace) {
- Error.captureStackTrace(this,js__$Boot_HaxeError);
- }
-};
-js__$Boot_HaxeError.__name__ = true;
-js__$Boot_HaxeError.__super__ = Error;
-js__$Boot_HaxeError.prototype = $extend(Error.prototype,{
-});
-var js_Boot = function() { };
-js_Boot.__name__ = true;
-js_Boot.__string_rec = function(o,s) {
- if(o == null) {
- return "null";
- }
- if(s.length >= 5) {
- return "<...>";
- }
- var t = typeof(o);
- if(t == "function" && (o.__name__ || o.__ename__)) {
- t = "object";
- }
- switch(t) {
- case "function":
- return "<function>";
- case "object":
- if(o.__enum__) {
- var e = $hxEnums[o.__enum__];
- var n = e.__constructs__[o._hx_index];
- var con = e[n];
- if(con.__params__) {
- s = s + "\t";
- return n + "(" + ((function($this) {
- var $r;
- var _g = [];
- {
- var _g1 = 0;
- var _g2 = con.__params__;
- while(true) {
- if(!(_g1 < _g2.length)) {
- break;
- }
- var p = _g2[_g1];
- _g1 = _g1 + 1;
- _g.push(js_Boot.__string_rec(o[p],s));
- }
- }
- $r = _g;
- return $r;
- }(this))).join(",") + ")";
- } else {
- return n;
- }
- }
- if(((o) instanceof Array)) {
- var str = "[";
- s += "\t";
- var _g3 = 0;
- var _g11 = o.length;
- while(_g3 < _g11) {
- var i = _g3++;
- str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s);
- }
- str += "]";
- return str;
- }
- var tostr;
- try {
- tostr = o.toString;
- } catch( e1 ) {
- var e2 = ((e1) instanceof js__$Boot_HaxeError) ? e1.val : e1;
- return "???";
- }
- if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") {
- var s2 = o.toString();
- if(s2 != "[object Object]") {
- return s2;
- }
- }
- var str1 = "{\n";
- s += "\t";
- var hasp = o.hasOwnProperty != null;
- var k = null;
- for( k in o ) {
- if(hasp && !o.hasOwnProperty(k)) {
- continue;
- }
- if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") {
- continue;
- }
- if(str1.length != 2) {
- str1 += ", \n";
- }
- str1 += s + k + " : " + js_Boot.__string_rec(o[k],s);
- }
- s = s.substring(1);
- str1 += "\n" + s + "}";
- return str1;
- case "string":
- return o;
- default:
- return String(o);
- }
-};
-var js_Browser = function() { };
-js_Browser.__name__ = true;
-js_Browser.createXMLHttpRequest = function() {
- if(typeof XMLHttpRequest != "undefined") {
- return new XMLHttpRequest();
- }
- if(typeof ActiveXObject != "undefined") {
- return new ActiveXObject("Microsoft.XMLHTTP");
- }
- throw new js__$Boot_HaxeError("Unable to create XMLHttpRequest object.");
-};
-function $getIterator(o) { if( o instanceof Array ) return HxOverrides.iter(o); else return o.iterator(); }
-function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; }
-$global.$haxeUID |= 0;
-var __map_reserved = {};
-if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); }
-String.__name__ = true;
-Array.__name__ = true;
-Object.defineProperty(js__$Boot_HaxeError.prototype,"message",{ get : function() {
- return String(this.val);
-}});
-js_Boot.__toStr = ({ }).toString;
-Lang.ids = ["en","ru"];
-Lang.langs = new haxe_ds_StringMap();
-Lang.lang = HxOverrides.substr(window.navigator.language,0,2).toLowerCase();
-client_Buttons.personalHistory = [];
-client_Buttons.personalHistoryId = -1;
-client_Main.main();
-})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this);
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage