]> jfr.im git - irc/quakenet/qwebirc.git/blobdiff - js/jslib.js
Better hilighting.
[irc/quakenet/qwebirc.git] / js / jslib.js
index 5f99f7839bfb7d3b40ff2bb666835e5b8ebcf960..07a7e74644448c0e2ae2bd5d1a0732efea954cc3 100644 (file)
@@ -7,6 +7,14 @@ Array.prototype.indexFromEnd = function(d) {
   return p[d];
 }
 
+qwebirc.util.dictCopy = function(d) {
+  var n = {};
+  for(var k in d)
+    n[k] = d[k];
+
+  return n;
+}
+
 /* how horribly inefficient */
 String.prototype.replaceAll = function(f, t) {
   var i = this.indexOf(f);
@@ -30,7 +38,7 @@ String.prototype.splitMax = function(by, max) {
   return newitems;
 }
 
-function setAtEnd(obj) {
+qwebirc.util.setAtEnd = function(obj) {
   pos = obj.value.length;
   
   if(obj.createTextRange) { 
@@ -44,7 +52,7 @@ function setAtEnd(obj) {
 }
 
 /* returns the arguments */
-function parseURI(uri) {
+qwebirc.util.parseURI = function(uri) {
   var result = {}
 
   var start = uri.indexOf('?');
@@ -66,12 +74,69 @@ function parseURI(uri) {
   return result;
 }
 
-function BrowserVersion() {
-  if(Browser.Engine.trident) {
-    if(Browser.Engine.version == '4')
-      return 'ie6';
-    if(Browser.Engine.version == '5')
-      return 'ie7';
+qwebirc.util.DaysOfWeek = {
+  0: "Sun",
+  1: "Mon",
+  2: "Tue",
+  3: "Wed",
+  4: "Thu",
+  5: "Fri",
+  6: "Sat"
+};
+
+qwebirc.util.MonthsOfYear = {
+  0: "Jan",
+  1: "Feb",
+  2: "Mar",
+  3: "Apr",
+  4: "May",
+  5: "Jun",
+  6: "Jul",
+  7: "Aug",
+  8: "Sep",
+  9: "Oct",
+  10: "Nov",
+  11: "Dec"
+};
+
+qwebirc.util.NBSPCreate = function(text, element) {
+  var e = text.split("  ");
+  for(var i=0;i<e.length;i++) {
+    var tn = document.createTextNode(e[i]);
+    element.appendChild(tn);
+    
+    if(i != e.length - 1) {
+      var e2 = new Element("span");
+      e2.set("html", "&nbsp;&nbsp;");
+      element.appendChild(e2);
+    }
+  }
+};
+
+qwebirc.util.longtoduration = function(l) {
+  var seconds = l % 60;
+  var minutes = Math.round((l % 3600) / 60);
+  var hours = Math.round((l % (3600 * 24)) / 3600);
+  var days = Math.round(l / (24*3600));
+  
+  return days + " days " + hours + " hours " + minutes + " minutes " + seconds + " seconds";
+}
+
+qwebirc.util.pad = function(x) {
+  x = "" + x;
+  if(x.length == 1)
+    return "0" + x;
+  return x
+}
+
+RegExp.escape = function(text) {
+  if(!arguments.callee.sRE) {
+    var specials = [
+      '/', '.', '*', '+', '?', '|',
+      '(', ')', '[', ']', '{', '}', '\\'
+    ];
+    arguments.callee.sRE = new RegExp('(\\' + specials.join('|\\') + ')', 'g');
   }
-  return null;
+  
+  return text.replace(arguments.callee.sRE, '\\$1');
 }
\ No newline at end of file