// file: math_lib.js
// shared functions
// $Id: math_lib.js,v 1.2 2004/11/14 05:40:09 bill Exp bill $

// isDigit(value)  returns true if value is a 1-character digit
//  Author: Matt Kruse http://www.mattkruse.com 
//  modified by: William.Haynes 2002 william.haynes@usa.net
// =============================================================
function isDigit(num) {
   var digits = "0123456789";

   if (digits.indexOf(num) == -1 ) return false;

   return true;
}

// ifFloat(value)  returns true if value is a positive decimal float number
//  Author: Matt Kruse http://www.mattkruse.com 
//  modified by: William.Haynes 2002 william.haynes@usa.net
// =============================================================
function isFloat(val) {
   var dp = false;

   for (var i=0; i < val.length; i++) {
      if (!isDigit(val.charAt(i))) {
         if (val.charAt(i) == '.') {
            if (dp == true) {
               return false;      // already saw a decimal point
            } else {
               dp = true;        // 1st time
            }
         } else {
            return false;        // not a digit or a decimal point
         }
      }
   }

   return true;
}

// isInt(value)  returns true if value contains all digits
//  Author: Matt Kruse http://www.mattkruse.com 
//  modified by: William.Haynes 2002 william.haynes@usa.net
// =============================================================
function isInt(val) {

   for (var i=0; i < val.length; i++ ) {
      if (!isDigit(val.charAt(i))) return false; // not a digit
   }

   return true;
}

// mkNull0(value)  returns 0 if value contains empty/null/all blank characters
// =============================================================
function mkNull0(val) {

   if ((val == null) || (val == "") || (val == " ")) {
      val = 0;
   }

   return val;
}

// round2d(value) returns 0.00 
// =============================================================
function round2d(val) {

   val = Math.round((val * 100)) / 100;

   return(val);
}

// end math_lib.js
