blob: b0501324ccf81f489cec4fbb13b7d339ebcabe13 [file] [log] [blame]
function count_occurrences(string, subString, allowOverlapping) {
string+=""; subString+="";
if(subString.length<=0) return string.length+1;
var n=0, pos=0;
var step=(allowOverlapping)?(1):(subString.length);
while(true){
pos=string.indexOf(subString,pos);
if(pos>=0){ n++; pos+=step; } else break;
}
return(n);
}
function log(args) {
if (typeof window.console != 'undefined') {
console.log(args);
if (arguments.length>1) {
for (i=1; i<arguments.length; i++)
console.log(arguments[i])
}
}
}
function setVisibility(obj, visible) {
if (visible) obj.show()
else obj.hide()
}
/** preps data for output */
function prep(s) {
if (s==null) return "";
return _.escape(s);
}
function roundIfNumberToNumDecimalPlaces(v, mantissa) {
if (typeof v !== 'number')
return v;
log("rounding")
log(v)
if (isWholeNumber(v))
return Math.round(v);
var vk = v, xp = 1;
for (i=0; i<mantissa; i++) {
vk *= 10;
xp *= 10;
if (isWholeNumber(vk)) {
log("bailing")
log(vk)
log(Math.round(vk)/xp);
return Math.round(vk)/xp;
}
}
log("toFixed")
log(Number(v.toFixed(mantissa)))
return Number(v.toFixed(mantissa))
}
function isWholeNumber(v) {
return (Math.abs(Math.round(v) - v) < 0.000000000001);
}