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

Revision 2616, 4.5 KB checked in by amuller, 14 years ago (diff)

Ticket #911 - Aproveitamento de funções comuns do expressoMail

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
48
49// Make decimal round, using in size message
50function round(value, decimal){
51        var return_value = Math.round( value * Math.pow( 10 , decimal ) ) / Math.pow( 10 , decimal );
52        return( return_value );
53}
54
55function removeAll(id){
56        do
57        {
58                if (typeof(Element(id)) == 'undefined')
59                        break;
60                Element(id).parentNode.removeChild(Element(id));
61        }
62        while(Element(id));
63}
64function validateEmail(email){
65        if (typeof(email) != 'string')
66                return false;
67        var validName = /^[a-z][a-z-_0-9\.]*/i;
68        emailParts = email.split('@');
69        return (validName.test(emailParts[0]) && validateDomain(emailParts[1]));
70}
71function validateDomain(domain){
72        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;
73        return (domainReg.test(domain));
74}
75
76function validateUrl(url){
77        var urlReg = /([A-Za-z]{2,7}:\/\/)(.*)/i;
78        urlParts = url.split(urlReg);
79        return (urlParts[1].length > 4 &&  validateDomain(urlParts[2]));
80}
81
82function trim(inputString) {
83   if (typeof inputString != "string")
84        return inputString;
85     
86   var retValue = inputString;
87   var ch = retValue.substring(0, 1);
88   while (ch == " ") {
89          retValue = retValue.substring(1, retValue.length);
90          ch = retValue.substring(0, 1);
91   }
92   ch = retValue.substring(retValue.length-1, retValue.length);
93   while (ch == " ") {
94          retValue = retValue.substring(0, retValue.length-1);
95          ch = retValue.substring(retValue.length-1, retValue.length);
96   }
97   while (retValue.indexOf("  ") != -1) {
98          retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length);
99   }
100   return retValue;
101}
102
103
104function LTrim(value){
105        var w_space = String.fromCharCode(32);
106        var strTemp = "";
107        var iTemp = 0;
108
109        var v_length = value ? value.length : 0;
110        if(v_length < 1)
111                return "";
112
113        while(iTemp < v_length){
114                if(value && value.charAt(iTemp) != w_space){
115                        strTemp = value.substring(iTemp,v_length);
116                        break;
117                }
118                iTemp++;
119        }
120        return strTemp;
121}
122
123
124function add_className(obj, className){
125        if (obj && !exist_className(obj, className))
126                obj.className = obj.className + ' ' + className;
127}
128
129function remove_className(obj, className){
130        var re = new RegExp("\\s*"+className);
131        if (obj)
132                obj.className = obj.className.replace(re, ' ');
133}
134
135function exist_className(obj, className){
136        return ( obj && obj.className.indexOf(className) != -1 );
137}
138
139
140
141function validate_date(date){
142    if (date.match(/^[0-3][0-9]\/[0-1][0-9]\/\d{4,4}$/))
143    {
144        tmp = date.split('/');
145
146        day = new Number(tmp[0]);
147        month = new Number(tmp[1]);
148        year = new Number(tmp[2]);
149        if (month >= 1 && month <= 12 && day >= 1 && day <= 31)
150        {
151            if (month == 02 && day <= 29)
152            {
153                return true;
154            }
155            return true;
156        }
157        else
158            {
159                return false;
160            }
161    }
162    else
163        {
164            return false;
165        }
166};
167
Note: See TracBrowser for help on using the repository browser.