var startup_list = []; wn.utils.full_name = function(fn, ln) { return fn + (ln ? ' ' : '') + (ln ? ln : '') } function fmt_money(v){ if(v==null || v=='')return '0.00'; // no nulls v = (v+'').replace(/,/g, ''); // remove existing commas v = parseFloat(v); if(isNaN(v)) { return ''; // not a number } else { var cp = locals['Control Panel']['Control Panel']; var val = 2; // variable used to differentiate other values from Millions if(cp.currency_format == 'Millions') val = 3; v = v.toFixed(2); var delimiter = ","; // replace comma if desired amount = v+''; var a = amount.split('.',2) var d = a[1]; var i = parseInt(a[0]); if(isNaN(i)) { return ''; } var minus = ''; if(v < 0) { minus = '-'; } i = Math.abs(i); var n = new String(i); var a = []; if(n.length > 3) { var nn = n.substr(n.length-3); a.unshift(nn); n = n.substr(0,n.length-3); while(n.length > val) { var nn = n.substr(n.length-val); a.unshift(nn); n = n.substr(0,n.length-val); } } if(n.length > 0) { a.unshift(n); } n = a.join(delimiter); if(d.length < 1) { amount = n; } else { amount = n + '.' + d; } amount = minus + amount; return amount; } } // to title case function toTitle(str){ var word_in = str.split(" "); var word_out = []; for(w in word_in){ word_out[w] = word_in[w].charAt(0).toUpperCase() + word_in[w].slice(1); } return word_out.join(" "); } function is_null(v) { if(v==null) { return 1 } else if(v==0) { if((v+'').length>=1) return 0; else return 1; } else { return 0 } } function $s(ele, v, ftype, fopt) { if(v==null)v=''; if(ftype =='Text'|| ftype =='Small Text') { ele.innerHTML = v?v.replace(/\n/g, '
'):''; } else if(ftype =='Date') { v = dateutil.str_to_user(v); if(v==null)v='' ele.innerHTML = v; } else if(ftype =='Link' && fopt) { ele.innerHTML = ''; doc_link(ele, fopt, v); } else if(ftype =='Currency') { ele.style.textAlign = 'right'; if(is_null(v)) ele.innerHTML = ''; else ele.innerHTML = fmt_money(v); } else if(ftype =='Int') { ele.style.textAlign = 'right'; ele.innerHTML = v; } else if(ftype == 'Check') { if(v) ele.innerHTML = ''; else ele.innerHTML = ''; } else { ele.innerHTML = v; } } function clean_smart_quotes(s) { if(s) { s = s.replace( /\u2018/g, "'" ); s = s.replace( /\u2019/g, "'" ); s = s.replace( /\u201c/g, '"' ); s = s.replace( /\u201d/g, '"' ); s = s.replace( /\u2013/g, '-' ); s = s.replace( /\u2014/g, '--' ); } return s; } function copy_dict(d) { var n = {}; for(var k in d) n[k] = d[k]; return n; } function $p(ele,top,left) { ele.style.position = 'absolute'; ele.style.top = top+'px'; ele.style.left = left+'px'; } function replace_newlines(t) { return t?t.replace(/\n/g, '
'):''; } function cstr(s) { if(s==null)return ''; return s+''; } function flt(v,decimals) { if(v==null || v=='')return 0; v=(v+'').replace(/,/g,''); v=parseFloat(v); if(isNaN(v)) v=0; if(decimals!=null) return v.toFixed(decimals); return v; } function esc_quotes(s) { if(s==null)s=''; return s.replace(/'/, "\'");} var crop = function(s, len) { if(s.length>len) return s.substr(0, len-3) + '...'; else return s; } var strip = function(s, chars) { var s= lstrip(s, chars) s = rstrip(s, chars); return s; } var lstrip = function(s, chars) { if(!chars) chars = ['\n', '\t', ' ']; // strip left var first_char = s.substr(0,1); while(in_list(chars, first_char)) { var s = s.substr(1); first_char = s.substr(0,1); } return s; } var rstrip = function(s, chars) { if(!chars) chars = ['\n', '\t', ' ']; var last_char = s.substr(s.length-1); while(in_list(chars, last_char)) { var s = s.substr(0, this.length-1); last_char = s.substr(this.length-1); } return s; } function repl_all(s, s1, s2) { var idx = s.indexOf(s1); while (idx != -1){ s = s.replace(s1, s2); idx = s.indexOf(s1); } return s; } function repl(s, dict) { if(s==null)return ''; for(key in dict) s = repl_all(s, '%('+key+')s', dict[key]); return s; } ///// dict type function keys(obj) { var mykeys=[];for (key in obj) mykeys[mykeys.length]=key;return mykeys;} function values(obj) { var myvalues=[];for (key in obj) myvalues[myvalues.length]=obj[key];return myvalues;} function seval(s) { return eval('var a='+s+';a'); } function in_list(list, item) { for(var i=0; i= 100) comma = ',' else comma = '' return bestguess + comma + ' ' + in_words(remainder); } else { return bestguess; } }