source: trunk/phpgwapi/js/expressoAjax/dom.js @ 2618

Revision 2618, 7.0 KB checked in by amuller, 14 years ago (diff)

Ticket #911 - Usando xconnector e transformando lang para API

Line 
1function borkb(size){
2        kbyte = 1024;
3        mbyte = kbyte*1024;
4        gbyte = mbyte*1024;
5        if (!size)
6                size = 0;
7        if (size < kbyte)
8                return size + ' B';
9        else if (size < mbyte)
10                return parseInt(size/kbyte) + ' KB';
11        else if (size < gbyte)
12                if (size/mbyte > 100)
13                        return (size/mbyte).toFixed(0) + ' MB';
14                else
15                        return (size/mbyte).toFixed(1) + ' MB';
16        else
17                return parseInt(size/gbyte).toFixed(1) + ' GB';
18}
19
20function url_encode(str){
21    return escape(str);
22}
23function url_decode(str) {
24        return unescape(str);
25}
26
27function replaceAll(string, token, newtoken) {
28        while (string.indexOf(token) != -1) {
29                string = string.replace(token, newtoken);
30        }
31        return string;
32}
33
34function config_events(pObj, pEvent, pHandler)
35{
36    if( typeof pObj == 'object')
37    {
38        if( pEvent.substring(0, 2) == 'on')
39            pEvent = pEvent.substring(2, pEvent.length);
40
41        if ( pObj.addEventListener )
42            pObj.addEventListener(pEvent, pHandler, false);
43        else if( pObj.attachEvent )
44            pObj.attachEvent('on' + pEvent, pHandler );
45    }
46}
47
48function removeAll(id){
49        do
50        {
51                if (typeof(Element(id)) == 'undefined')
52                        break;
53                Element(id).parentNode.removeChild(Element(id));
54        }
55        while(Element(id));
56}
57function validateEmail(email){
58        if (typeof(email) != 'string')
59                return false;
60        var validName = /^[a-z][a-z-_0-9\.]*/i;
61        emailParts = email.split('@');
62        return (validName.test(emailParts[0]) && validateDomain(emailParts[1]));
63}
64function validateDomain(domain){
65        var domainReg = /^(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/i;
66        return (domainReg.test(domain));
67}
68
69function validateUrl(url){
70        var urlReg = /([A-Za-z]{2,7}:\/\/)(.*)/i;
71        urlParts = url.split(urlReg);
72        return (urlParts[1].length > 4 &&  validateDomain(urlParts[2]));
73}
74
75function trim(inputString) {
76   if (typeof inputString != "string")
77        return inputString;
78
79   var retValue = inputString;
80   var ch = retValue.substring(0, 1);
81   while (ch == " ") {
82          retValue = retValue.substring(1, retValue.length);
83          ch = retValue.substring(0, 1);
84   }
85   ch = retValue.substring(retValue.length-1, retValue.length);
86   while (ch == " ") {
87          retValue = retValue.substring(0, retValue.length-1);
88          ch = retValue.substring(retValue.length-1, retValue.length);
89   }
90   while (retValue.indexOf("  ") != -1) {
91          retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length);
92   }
93   return retValue;
94}
95
96
97function LTrim(value){
98        var w_space = String.fromCharCode(32);
99        var strTemp = "";
100        var iTemp = 0;
101
102        var v_length = value ? value.length : 0;
103        if(v_length < 1)
104                return "";
105
106        while(iTemp < v_length){
107                if(value && value.charAt(iTemp) != w_space){
108                        strTemp = value.substring(iTemp,v_length);
109                        break;
110                }
111                iTemp++;
112        }
113        return strTemp;
114}
115
116
117function add_className(obj, className){
118        if (obj && !exist_className(obj, className))
119                obj.className = obj.className + ' ' + className;
120}
121
122function remove_className(obj, className){
123        var re = new RegExp("\\s*"+className);
124        if (obj)
125                obj.className = obj.className.replace(re, ' ');
126}
127
128function exist_className(obj, className){
129        return ( obj && obj.className.indexOf(className) != -1 );
130}
131
132
133
134function validate_date(date){
135    if (date.match(/^[0-3][0-9]\/[0-1][0-9]\/\d{4,4}$/))
136    {
137        tmp = date.split('/');
138
139        day = new Number(tmp[0]);
140        month = new Number(tmp[1]);
141        year = new Number(tmp[2]);
142        if (month >= 1 && month <= 12 && day >= 1 && day <= 31)
143        {
144            if (month == 02 && day <= 29)
145            {
146                return true;
147            }
148            return true;
149        }
150        else
151            {
152                return false;
153            }
154    }
155    else
156        {
157            return false;
158        }
159}
160
161// Translate words and phrases using user language from eGroupware.
162function get_lang(_key) {
163        try
164        {
165                var key = _key.toLowerCase();
166                if(array_lang[key])
167                        var _value = array_lang[key];
168                else
169                        var _value = _key+"*";
170
171                if(arguments.length > 1)
172                        for(j = 1; typeof(arguments[j]) != 'undefined'; j++)
173                                _value = _value.replace("%"+j,arguments[j]);
174                return _value;
175        }
176        catch ( e )
177        {
178                return _key+"*";
179        }
180}
181
182
183function showBar(){
184        bar = document.getElementById("toolbar");
185        bar.style.visibility = "";
186        bar.style.position ="static";
187        but = document.getElementById("hiddenButton");
188        but.style.visibility = "";
189        but.style.position = "absolute";
190        but.style.top = "55px";
191        but.style.left = "2px";
192        title = get_lang('hide_bar_txt');
193        extra = document.getElementById("extraButton");
194        extra.style.visibility = "hidden";
195        but.innerHTML="<a title='"+title+"' onClick='javascript:changeBar()'><img src="+URL_SERVER+"'/phpgwapi/templates/default/images/up.button.png'></a>";
196        var neverExpires = new Date("January 01, 2100 00:00:00");
197        document.cookie = "showHeader=true"+
198                ";expires=" + neverExpires.toGMTString()+
199                ";path=/";
200}
201
202function hideBar(){
203        bar = document.getElementById("toolbar");
204        bar.style.position ="absolute";
205        bar.style.visibility = "hidden";
206        but = document.getElementById("hiddenButton");
207        but.style.visibility = "hidden";
208        title = get_lang('show_bar_txt');
209        extra = document.getElementById("extraButton");
210        extra.style.visibility = "";
211        extra.style.top = "-11px";
212        extra.style.left = "-10px";
213        var neverExpires = new Date("January 01, 2100 00:00:00");
214        document.cookie = "showHeader=false"+
215                ";expires=" + neverExpires.toGMTString()+
216                ";path=/";
217}
218function changeBar(){
219        bar = document.getElementById("toolbar");
220        if(bar.style.visibility == "hidden")
221                showBar();
222        else
223                hideBar();
224}
225function initBar(val){
226
227        if(val == 'true')
228                showBar();
229        else
230                hideBar();
231}
232var zoominTimer = new Array();
233var zoomoutTimer = new Array();
234function zoom_in(id)
235{
236        clearTimeout(zoomoutTimer[id]);
237        var elem = document.getElementById(id);
238        if (elem.height > 34)
239        {
240                clearTimeout(zoominTimer[id]);
241                return false;
242        }
243        elem.height += 4;
244        elem.width += 4;
245        zoominTimer[id] = setTimeout('zoom_in("'+id+'");',30);
246}
247function zoom_out(id)
248{
249        clearTimeout(zoominTimer[id]);
250        var elem = document.getElementById(id);
251        if ( ! elem )
252                return;
253        if (elem.height < 24)
254        {
255                clearTimeout(zoomoutTimer[id]);
256                return false;
257        }
258        elem.height -= 2;
259        elem.width -= 2;
260        zoomoutTimer[id] = setTimeout('zoom_out("'+id+'");',30);
261};
262
Note: See TracBrowser for help on using the repository browser.