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;
}
}