/*
 Author 		: Chairat Panpun
 Date			: 8/11/00
 Description 	: This module consists of a collection of functions concerning to
	number input from clients such as type validation.
 Module 		: Number Functions
 Supervisor 	: Mark Able 
 Version 		: 1.0  
 Compatability	: IE 4.0+/Netscape 4.0+ 
*/

// isNumber(inpVal) determines whether str is a positive or negative number 
function isNumber(inpVal) {
	var blnDec = false
	var aChar
	var	strTmp = inpVal.toString()
	for (var i = 0; i < strTmp.length; i++)	{
		aChar = strTmp.charAt(i)
		if (i == 0 && aChar == "-")	{
			continue
		}
		if (aChar == "." && !blnDec) {
			blnDec = true
			continue
		}
		if (aChar < "0" || aChar > "9")	{
			return false	// e.g. 1,000; +10; 0..5
		}
	}
	return true		// e.g. 1000; -10; -0.5
}

// isInteger(inpVal) determines whether str is a positive or negative integer
function isInteger(inpVal) { 
	var strTmp = inpVal.toString()
	var aChar
	
	for (var i = 0; i < strTmp.length; i++)	{
		aChar = strTmp.charAt(i)
		if (i==0 && aChar == "-") {
			continue
		}
		if (aChar < "0" || aChar > "9") {
			return false	// e.g. +200; -1.0; 1,000
		}
	}
	return true		// e.g. -200; 1; 000
}

// isPosInteger(inpVal) determines whether str is a positive integer
function isPosInteger(inpVal) {
	var strTmp = inpVal.toString()
	var aChar
	for (var i = 0; i < strTmp.length; i++)	{
		aChar = strTmp.charAt(i)	
		if (aChar < "0" || aChar > "9")	{
			return false	// e.g. -10; 10.; 0.1
		}
	}
	return true		// e.g. 0; 10; 01
}

function isPosIntegerBlank(inpVal) { 
	var strTmp = inpVal.toString()
	var aChar
	if(inpVal.length==0){
		return true;}
	for (var i = 0; i < strTmp.length; i++)	{
		aChar = strTmp.charAt(i)	
		if (aChar < "0" || aChar > "9")	{
			return false	// e.g. -10; 10.; 0.1
		}
	}
	return true		// e.g. 0; 10; 01
}


function isPosNumeric(inpVal){
	var Exp = /[.0-9]/;
	var result;
	var Chr;
	var j;
	var ZeroVal;
	
	ZeroVal = true;
	result = true;
	for(var i=0; i<inpVal.length; i++){
		j = i+1;
		Chr = inpVal.substring(i,j)
		if ((Chr!="0")&&(Chr!=".")) 
			ZeroVal = false;
		if (Exp.test(Chr)==false) result = false;
	}
	FloatVal = parseFloat(inpVal);
	if (ZeroVal==true) result = false;
	if (FloatVal<0.005) result = false;
	return result;
}