Added inital SEPA CORE (Direct Debit) support. Needs testing!
[memberdb.git] / js / utils.js
1
2 function centToEur(value) {
3   valuestr = String(value);
4   return([ valuestr.slice(0, valuestr.length-2), valuestr.slice(-2)].join('.'));
5 }
6
7 function str_pad_left(input, len, str) {
8         input += ''
9         str += '';
10         var cur = input.length;
11         if (cur >= len) {
12                 return input;
13         }
14         while (cur < len) {
15                 input = str + input;
16                 cur++;
17         }
18         return input;
19 }
20 function str_pad_right(input, len, str) {
21         input += ''
22         str += '';
23         var cur = input.length;
24         if (cur >= len) return input;
25         while (cur < len) {
26                 input += str;
27                 cur++;
28         }
29         return input;
30 }
31
32 function str_replace(search, replace, subject) {
33         return subject.split(search).join(replace);
34 }
35
36
37
38 // Javascript ltrim borrowed from http://www.webtoolkit.info/
39 function ltrim(str, chars) {
40         chars = chars || "\\s";
41         return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
42 }
43
44 function toInt(val) {
45         val = ltrim(val, '0');
46         if (val == '') return 0;
47         return parseInt(val);
48 }
49
50 /**
51 * Function : dump()
52 * Arguments: The data - array,hash(associative array),object
53 *    The level - OPTIONAL
54 * Returns  : The textual representation of the array.
55 * This function was inspired by the print_r function of PHP.
56 * This will accept some data as the argument and return a
57 * text that will be a more readable version of the
58 * array/hash/object that is given.
59 */
60 function dump(arr,level) {
61 var dumped_text = "";
62 if(!level) level = 0;
63
64 //The padding given at the beginning of the line.
65 var level_padding = "";
66 for(var j=0;j<level+1;j++) level_padding += "    ";
67
68 if(typeof(arr) == 'object') { //Array/Hashes/Objects
69  for(var item in arr) {
70   var value = arr[item];
71  
72   if(typeof(value) == 'object') { //If it is an array,
73    dumped_text += level_padding + "'" + item + "' ...\n";
74    dumped_text += dump(value,level+1);
75   } else {
76    dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
77   }
78  }
79 } else { //Stings/Chars/Numbers etc.
80  dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
81 }
82 return dumped_text;
83
84