Subversion Repositories HomeAutomation

Rev

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

Rev Author Line No. Line
1601 runge 1
 
1649 runge 2
function get_time()
3
{
4
    return Math.round(new Date().getTime() / 1000);
5
}
6
 
1647 runge 7
function to_array(obj)
8
{
9
    var result = [];
10
 
11
    for (var n = 0; n < obj.length; n++)
12
    {
13
        result.push(obj[n]);
14
    }
15
 
16
    return result;
17
}
18
 
1646 runge 19
function array_length(array)
20
{
21
    var count = 0;
1647 runge 22
 
1646 runge 23
    for (var n in array)
24
    {
25
        count++;
26
    }
1647 runge 27
 
1646 runge 28
    return count;
29
}
30
 
1660 runge 31
function array_remove_empty(array)
32
{
33
    var result = [];
34
 
35
    for (var n in array)
36
    {
37
        if (array[n] && (typeof array[n] == 'string' && array[n].length > 0))
38
        {
39
            result.push(array[n]);
40
        }
41
    }
42
 
43
    return result;
44
}
45
 
1644 runge 46
function in_array(array, item)
1601 runge 47
{
1644 runge 48
    for (var n in array)
1604 runge 49
    {
1644 runge 50
        if (array[n] == item)
51
        {
52
            return true;
53
        }
1604 runge 54
    }
1603 runge 55
 
1644 runge 56
    return false;
1603 runge 57
}
58
 
1644 runge 59
function key_in_array(array, key)
1614 runge 60
{
1619 runge 61
    for (var n in array)
1614 runge 62
    {
1644 runge 63
        if (n == key)
1614 runge 64
        {
65
            return true;
66
        }
67
    }
68
 
69
    return false;
70
}
71
 
1647 runge 72
function get_keys(array)
73
{
74
    var result = [];
75
 
76
    for (var name in array)
77
    {
78
        result.push(name);
79
    }
80
 
81
    return result;
82
}
83
 
1603 runge 84
String.prototype.ltrim = function(charlist)
85
{
86
    charlist = !charlist ? ' \s\xA0' : charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '\$1');
87
    var re = new RegExp('^[' + charlist + ']+', 'g');
88
    return this.replace(re, '');
89
}
90
 
91
String.prototype.rtrim = function(charlist)
92
{
93
    charlist = !charlist ? ' \s\xA0' : charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '\$1');
94
    var re = new RegExp('[' + charlist + ']+$', 'g');
95
    return this.replace(re, '');
96
}
97
 
98
String.prototype.trim = function(charlist)
99
{
100
    var str = this.ltrim(charlist);
101
    return str.rtrim(charlist);
102
}
1660 runge 103
 
104
String.prototype.rpad = function(char, length)
105
{
106
    var result = this;
107
 
108
    while (result.length < length)
109
    {
110
        result += char;
111
    }
112
 
113
    return result;
114
}
115
 
116
function create_table(table_lines)
117
{
118
    var table_rows = [];
119
 
120
    if (table_lines.length == 0)
121
    {
122
        return table_rows;
123
    }
124
 
125
    for (var col = 0; col < table_lines[0].length; col++)
126
    {
127
        var len = 0;
128
 
129
        for (var row = 0; row < table_lines.length; row++)
130
        {
131
            if (table_lines[row][col].length > len)
132
            {
133
                len = table_lines[row][col].length;
134
            }
135
        }
136
 
137
        len += 6;
138
 
139
        for (var row = 0; row < table_lines.length; row++)
140
        {
141
            if (!table_rows[row])
142
            {
143
                table_rows[row] = "";
144
            }
145
 
146
            var str = table_lines[row][col] + '';
147
            str = str.rpad(" ", len);
148
            //Log("col=" + col + ", row=" + row + " len=" + len + ", str=\"" + str + "\", str.length=" + str.length + "\n");
149
            table_rows[row] += str;
150
        }
151
    }
152
 
153
    return table_rows;
154
}