Subversion Repositories HomeAutomation

Rev

Rev 1607 | Rev 1609 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | SVN | RSS feed

  1.  
  2. var legacy = false;
  3.  
  4. function Start()
  5. {
  6.     if (legacy)
  7.     {
  8.         LoadScript("legacy/System/Base.js");
  9.         LoadScript("legacy/System/Startup.js");
  10.         LoadScript("legacy/Autostart.js");
  11.        
  12.         autostart();
  13.     }
  14.     else
  15.     {
  16.         LoadScript("user/autostart.js");
  17.     }
  18. }
  19.  
  20. function Extend(descendant, parent)
  21. {
  22.     var s_constructor = parent.toString();
  23.     var a_match = s_constructor.match(/\s*function (.*)\(/);
  24.    
  25.     if (a_match != null)
  26.     {
  27.         descendant.prototype[a_match[1]] = parent;
  28.     }
  29.    
  30.     for (var m in parent.prototype)
  31.     {
  32.         descendant.prototype[m] = parent.prototype[m];
  33.     }
  34. }
  35.  
  36. String.prototype.ltrim = function(charlist)
  37. {
  38.     charlist = !charlist ? ' \s\xA0' : charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '\$1');
  39.     var re = new RegExp('^[' + charlist + ']+', 'g');
  40.     return this.replace(re, '');
  41. }
  42.  
  43. String.prototype.rtrim = function(charlist)
  44. {
  45.     charlist = !charlist ? ' \s\xA0' : charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '\$1');
  46.     var re = new RegExp('[' + charlist + ']+$', 'g');
  47.     return this.replace(re, '');
  48. }
  49.  
  50. String.prototype.trim = function(charlist)
  51. {
  52.     var str = this.ltrim(charlist);
  53.     return str.rtrim(charlist);
  54. }
  55.  
  56. function EventBase()
  57. {
  58.     this.callbacks_ = new Array();
  59. }
  60.  
  61. EventBase.prototype.callbacks_ = null;
  62.  
  63. EventBase.prototype.Bind = function(event_name, callback)
  64. {
  65.     if (typeof this.callbacks_[event_name] == 'undefined')
  66.     {
  67.         this.callbacks_[event_name] = new Array();
  68.     }
  69.    
  70.     this.callbacks_[event_name].push(callback);
  71. }
  72.  
  73. EventBase.prototype.Trigger = function(event_name)
  74. {
  75.     if (typeof this.callbacks_[event_name] != 'undefined')
  76.     {
  77.         for (var n = 0; n < this.callbacks_[event_name].length; n++)
  78.         {
  79.             this.callbacks_[event_name][n].apply(null, Array.prototype.slice.call(arguments, 0));
  80.         }
  81.     }
  82. }
  83.