Subversion Repositories HomeAutomation

Rev

Rev 1601 | Rev 1604 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | SVN | RSS feed

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