/* ---------------------------
' (C) Copyright 2009
' Niro Solutions Pty Limited
' ABN 89 106 967 140
' ---------------------------
' Revision: 3.0.0
' Author: Miles Glisovic
' Modtime: 04/08/09
' --------------------------- */
var cCol = "";
var fcs = false
var _nbsp = "&nbsp;"
var navigator_appName = ""
var SEPARATOR = "/";
var _DOLLAR = 0
var _PCTG = 1
var firstD = true

function cursorH(e) {
    e.style.cursor = "pointer";
}
function cursorA(e) {
    e.style.cursor = "default";
}
function switchToDIV(field) {
    var rr = getMyDIV(field);
    if (rr.style.display == "none")
        showDIV(rr, numberOfTabs)
}
function selectCmb(field) {
    switchToDIV(field)
    field.focus()
}
function getMyDIV(x)
{
	// start with an element and go up through the tree trying to find
	// a <DIV> HTML element;
	// return a reference to an object of type <DIV>
	// or, if not found, return null
	if(x!=null && x.tagName!="DIV")
		return (getMyDIV(x.parentNode));
	else
		return x;
}
function getMyTable(x)
{
	if(x!=null && x.tagName!="TABLE")
		return (getMyTable(x.parentNode));
	else
		return x;
}
function getCmbText(cmb1, u_l_p) {
    //u=>upper
    //l=>lower
    //p=>plain (as-is)
    var s = cmb1.options[cmb1.selectedIndex].text
    if (u_l_p.toUpperCase() == "U")
        return s.toUpperCase();
    else if (u_l_p.toUpperCase() == "L")
        return s.toLowerCase();
    else
        return s;
}
function removeDecimalPart(ns) {
    var li = ns.lastIndexOf(".")
    if (li < 0)
        return ns;
    else
        return (ns.substring(0, li))
}
function openInMain3(_url) {
    try {
        winclose(_url)
    }
    catch (e) {
        msgWindow1 = null;
        msgWindow1 = window.open(_url, 'mainWindow');
        self.close()
    }
}
function mySelect(field)
{
	try
	{
		field.focus()
		field.select()
	}
	catch(e)
	{
		;//alert(e)
	}
}
function isValidValue77(field,value,vMin,vMax,sMin,sMax,sAll, _prompt)
{
	var ret = false;
	if(isInt(field.value))
	{
		if(value < vMin)
		{
			switchToDIV(field)
			if(_prompt)
			{
				alert(sMin)
			mySelect(field)
			}
		}
		else if(value > vMax)
		{
			switchToDIV(field)
			if(_prompt)
			{
				alert(sMax)
			mySelect(field)
			}
		}
		else
			ret=true
	}
	else
	{
		switchToDIV(field)
		if(_prompt)
		{
			alert(sAll)
		mySelect(field)
		}
	}
	return ret;
}
function validField(field, fMin, fMax)
{
	if(isInt(field.value) && (parseInt(field.value,10) >= fMin) && (parseInt(field.value,10) <= fMax))
		return true
	else
		return false
}
function isInt(v)
{
var ret=false;
var int1 = /^\d{1,8}$/;
var reg=new RegExp(int1);
var ret = reg.test(v);
if(ret)
	ret=true;
return ret
}
function getCmbIndex(cmb1,firstLetter)
{
	for(i=0;i<cmb1.options.length;i++)
	{
		if(((cmb1.options[i].text).charAt(0)).toUpperCase()==firstLetter.toUpperCase())
			return i;
	}
	return --i;//just in case
}
function getSafeFieldValue(field)
{
	var x=0
	if(jsLRTrim(field.value)=="" || isNaN(jsLRTrim(field.value)))
		x=0
	else
		x = parseInt(field.value,10)
	return x;
}
function getSafeDecimalFieldValue(field)
{
	var x = 0
	if(jsLRTrim(field.value)=="" || isNaN(jsLRTrim(field.value)))
		x = 0
	else
		x = parseFloat(field.value)
	return x;
}
function isInt_MinMax1(field,min1,max1)
{
var res=false;
var v=field.value
var int1 = /^\d{1,7}$/;
var reg=new RegExp(int1);
var ret = reg.test(v);

if(ret && v >= min1 && v <= max1)
	res = true;
return res;
}
function isInt_MinMax(field,min1,max1,prompt1)
{
var v=field.value
var int1 = /^\d{1,7}$/;
var reg=new RegExp(int1);
var ret = reg.test(v);

if(ret && v >= min1 && v <= max1)
	return true;
else
{
	switchToDIV(field)
	mySelect(field)
	if(prompt1)
		alert("Please enter a whole number between " + min1 + " and " + max1 +".")
	return false;
}
}
function iGetMinPerFrequency(f, cmb, minYearly)
{
	return (Math.ceil(minYearly/cmb.value))
}
function iGetMaxPerFrequency(f, cmb, maxYearly)
{
	return (Math.floor(maxYearly/cmb.value))
}
function dGetMinPerFrequency(f, cmb, minYearly)
{
	return (myMathCeil(minYearly/cmb.value, 2))
}
function dGetMaxPerFrequency(f, cmb, maxYearly)
{
	return (myMathFloor(maxYearly/cmb.value, 2))
}
function setCaretAtEnd(input)
{ 
input.focus(); 
if (input.createTextRange)
{ 
	var range = input.createTextRange(); 
	range.collapse(false); 
	range.select(); 
} 
} 
function setCaretAtStart(input)
{ 
input.focus(); 
if (input.createTextRange)
{ 
	var range = input.createTextRange(); 
	range.collapse(true); 
	range.select(); 
} 
} 
function resetTo0(field)
{
	if(jsLRTrim(field.value)=="")
		field.value=0
}
function resetTo00(field)
{
	if(jsLRTrim(field.value)=="")
		field.value = "0.00"
}
function setEmptyFieldTo1(field)
{
	if(jsLRTrim(field.value) == "")
		field.value = 0
}
function resetToDefault_Field(_field, _fieldNew)
{
	var fld = _field.value
	var fldNew = _fieldNew.value
	if(fld != fldNew)
	{
		_fieldNew.value = _field.value
		return true
	}
	else
		return false
}
function limit4Dec2(field)
{
// find if '.' entered
var li = (field.value).indexOf(".")
if(li<0)
{
	if((field.value).length > 6)
		field.value=(field.value).substring(0,6)
}
else
{
	var s1 = (field.value).substring(0, li)
	var s2 = ((field.value).substring(li+1,(field.value).length))
	if(s2.length > 4)
		field.value=s1+"."+s2.substring(0,4)
	//else
		//field.value=s1+"."+s2
}
}
function validDecimalField2(f,fld, prompt, minV,maxV)
{
	var ret=false
	var field=fld;
	sAll = prompt
// find if '.' entered
var li = (field.value).indexOf(".")
	// if last character is '.'
	if(li >= 0 && (field.value).charAt((field.value).length - 1) == '.')
	{
		if(!isNaN((field.value).substring(0,li)))
		{
			var n=parseInt((field.value).substring(0,li),10)
			if(!(n >= minV && n <= maxV))
			{
				;//field.value=""
			}
			else
				ret=true
		}
		else
			;//field.value=""

		if(!ret && sAll!="")
			alert(sAll)
	}
	else
	{
		if(!isDecimal_MinMax(field,minV,maxV,sAll,(sAll==""?false:true)))
			;//field.value=""
		else
			ret=true
	}

	if(!ret && sAll!="") mySelect(field)
	return ret
}
function getLifeExpectancyFactor2(isFemale,cAge)
{
	// isFemale is TRUE for Females
	ret = 0.0;
if(isFemale != null)
{
	if(!isFemale)
	{
		switch(cAge)
		{
			case 15:
					ret = 63.28;
					break;
			case 16:
					ret = 62.3;
					break;
			case 17:
					ret = 61.33;
					break;
			case 18:
					ret = 60.37;
					break;
			case 19:
					ret = 59.43;
					break;
			case 20:
					ret = 58.48;
					break;
			case 21:
					ret = 57.54;
					break;
			case 22:
					ret = 56.59;
					break;
			case 23:
					ret = 55.65;
					break;
			case 24:
					ret = 54.71;
					break;
			case 25:
					ret = 53.77;
					break;
			case 26:
					ret = 52.83;
					break;
			case 27:
					ret = 51.89;
					break;
			case 28:
					ret = 50.95;
					break;
			case 29:
					ret = 50.01;
					break;
			case 30:
					ret = 49.07;
					break;
			case 31:
					ret = 48.13;
					break;
			case 32:
					ret = 47.19;
					break;
			case 33:
					ret = 46.24;
					break;
			case 34:
					ret = 45.3;
					break;
			case 35:
					ret = 44.35;
					break;
			case 36:
					ret = 43.41;
					break;
			case 37:
					ret = 42.47;
					break;
			case 38:
					ret = 41.53;
					break;
			case 39:
					ret = 40.58;
					break;
			case 40:
					ret = 39.65;
					break;
			case 41:
					ret = 38.71;
					break;
			case 42:
					ret = 37.77;
					break;
			case 43:
					ret = 36.84;
					break;
			case 44:
					ret = 35.91;
					break;
			case 45:
					ret = 34.98;
					break;
			case 46:
					ret = 34.06;
					break;
			case 47:
					ret = 33.13;
					break;
			case 48:
					ret = 32.22;
					break;
			case 49:
					ret = 31.3;
					break;
			case 50:
					ret = 30.39;
					break;
			case 51:
					ret = 29.49;
					break;
			case 52:
					ret = 28.59;
					break;
			case 53:
					ret = 27.69;
					break;
			case 54:
					ret = 26.8;
					break;
			case 55:
				ret = 25.92;
				break;
			case 56:
				ret = 25.05;
				break;
			case 57:
				ret = 24.19;
				break;
			case 58:
				ret = 23.34;
				break;
			case 59:
				ret = 22.49;
				break;
			case 60:
				ret = 21.66;
				break;
			case 61:
				ret = 20.84;
				break;
			case 62:
				ret = 20.04;
				break;
			case 63:
				ret = 19.24;
				break;
			case 64:
				ret = 18.46;
				break;
			case 65:
				ret = 17.7;
				break;
			case 66:
				ret = 16.95;
				break;
			case 67:
				ret = 16.21;
				break;
			case 68:
				ret = 15.48;
				break;
			case 69:
				ret = 14.78;
				break;
			case 70:
				ret = 14.08;
				break;
			case 71:
				ret = 13.41;
				break;
			case 72:
				ret = 12.75;
				break;
			case 73:
				ret = 12.11;
				break;
			case 74:
				ret = 11.5;
				break;
			case 75:
				ret = 10.9;
				break;
			case 76:
				ret = 10.32;
				break;
			case 77:
				ret = 9.77;
				break;
			case 78:
				ret = 9.24;
				break;
			case 79:
				ret = 8.73;
				break;
			case 80:
				ret = 8.24;
				break;
			case 81:
				ret = 7.77;
				break;
			case 82:
				ret = 7.32;
				break;
			case 83:
				ret = 6.89;
				break;
			case 84:
				ret = 6.48;
				break;
			case 85:
				ret = 6.11;
				break;
			case 86:
				ret = 5.77;
				break;
			case 87:
				ret = 5.47;
				break;
			case 88:
				ret = 5.2;
				break;
			case 89:
				ret = 4.95;
				break;
			case 90:
				ret = 4.74;
				break;
			case 91:
				ret = 4.54;
				break;
			case 92:
				ret = 4.36;
				break;
			case 93:
				ret = 4.19;
				break;
			case 94:
				ret = 4.03;
				break;
			case 95:
				ret = 3.87;
				break;
			case 96:
				ret = 3.73;
				break;
			case 97:
				ret = 3.6;
				break;
			case 98:
				ret = 3.47;
				break;
			case 99:
				ret = 3.35;
				break;
			case 100:
				ret = 3.24;
				break;
			default:
				ret = 3.24;// just in case
				break;
		}
	}
	else
	{
		switch(cAge)
		{
			case 15:
					ret = 68.41;
					break;
			case 16:
					ret = 67.42;
					break;
			case 17:
					ret = 66.44;
					break;
			case 18:
					ret = 65.45;
					break;
			case 19:
					ret = 64.48;
					break;
			case 20:
					ret = 63.5;
					break;
			case 21:
					ret = 62.52;
					break;
			case 22:
					ret = 61.54;
					break;
			case 23:
					ret = 60.57;
					break;
			case 24:
					ret = 59.59;
					break;
			case 25:
					ret = 58.61;
					break;
			case 26:
					ret = 57.63;
					break;
			case 27:
					ret = 56.65;
					break;
			case 28:
					ret = 55.68;
					break;
			case 29:
					ret = 54.7;
					break;
			case 30:
					ret = 53.72;
					break;
			case 31:
					ret = 52.75;
					break;
			case 32:
					ret = 51.77;
					break;
			case 33:
					ret = 50.8;
					break;
			case 34:
					ret = 49.82;
					break;
			case 35:
					ret = 48.85;
					break;
			case 36:
					ret = 47.88;
					break;
			case 37:
					ret = 46.91;
					break;
			case 38:
					ret = 45.94;
					break;
			case 39:
					ret = 44.98;
					break;
			case 40:
					ret = 44.01;
					break;
			case 41:
					ret = 43.05;
					break;
			case 42:
					ret = 42.09;
					break;
			case 43:
					ret = 41.14;
					break;
			case 44:
					ret = 40.18;
					break;
			case 45:
					ret = 39.23;
					break;
			case 46:
					ret = 38.28;
					break;
			case 47:
					ret = 37.33;
					break;
			case 48:
					ret = 36.39;
					break;
			case 49:
					ret = 35.45;
					break;
			case 50:
					ret = 34.51;
					break;
			case 51:
					ret = 33.58;
					break;
			case 52:
					ret = 32.66;
					break;
			case 53:
					ret = 31.73;
					break;
			case 54:
					ret = 30.82;
					break;
			case 55:
				ret = 29.91;
				break;
			case 56:
				ret = 29;
				break;
			case 57:
				ret = 28.1;
				break;
			case 58:
				ret = 27.21;
				break;
			case 59:
				ret = 26.32;
				break;
			case 60:
				ret = 25.44;
				break;
			case 61:
				ret = 24.57;
				break;
			case 62:
				ret = 23.71;
				break;
			case 63:
				ret = 22.85;
				break;
			case 64:
				ret = 22;
				break;
			case 65:
				ret = 21.15;
				break;
			case 66:
				ret = 20.32;
				break;
			case 67:
				ret = 19.49;
				break;
			case 68:
				ret = 18.67;
				break;
			case 69:
				ret = 17.87;
				break;
			case 70:
				ret = 17.08;
				break;
			case 71:
				ret = 16.29;
				break;
			case 72:
				ret = 15.53;
				break;
			case 73:
				ret = 14.78;
				break;
			case 74:
				ret = 14.05;
				break;
			case 75:
				ret = 13.33;
				break;
			case 76:
				ret = 12.63;
				break;
			case 77:
				ret = 11.94;
				break;
			case 78:
				ret = 11.27;
				break;
			case 79:
				ret = 10.61;
				break;
			case 80:
				ret = 9.98;
				break;
			case 81:
				ret = 9.38;
				break;
			case 82:
				ret = 8.81;
				break;
			case 83:
				ret = 8.27;
				break;
			case 84:
				ret = 7.76;
				break;
			case 85:
				ret = 7.28;
				break;
			case 86:
				ret = 6.83;
				break;
			case 87:
				ret = 6.41;
				break;
			case 88:
				ret = 6.02;
				break;
			case 89:
				ret = 5.66;
				break;
			case 90:
				ret = 5.33;
				break;
			case 91:
				ret = 5.03;
				break;
			case 92:
				ret = 4.75;
				break;
			case 93:
				ret = 4.5;
				break;
			case 94:
				ret = 4.28;
				break;
			case 95:
				ret = 4.07;
				break;
			case 96:
				ret = 3.88;
				break;
			case 97:
				ret = 3.71;
				break;
			case 98:
				ret = 3.55;
				break;
			case 99:
				ret = 3.4;
				break;
			case 100:
				ret = 3.26;
				break;
			default:
				ret = 3.26;
				break;
		}
	}
}
	return ret;
}
function setNavigatorsName()
{
navigator_appName=""
navigator_appName=navigator.appName
}
function jsLRTrim(s)
{
	return s.replace(/(^\s+)|(\s+$)/g, "");
}
function openInMain(page1)
{
try
{
	(window.opener).location=page1
	window.opener.focus()
}
catch(e)
{
	msgWindow1=null;
	msgWindow1=window.open(page1,'mainWindow');
	self.close()
}
}
function isDecimal_MinMax(field,min1,max1,prompt0,prompt1)
{
var v=field.value
//var int1 = /^\d{1,2}(\.\d{1,})?$/;
var int1 = /^\d{1,}(\.\d{1,})?$/;
var reg=new RegExp(int1);
var ret = reg.test(v);
if(ret && parseFloat(v) >= min1 && parseFloat(v) <= max1)
	return true;
else
{
	switchToDIV(field)
	if(prompt1)
		//alert("Please enter a number between " + min1 + " and " + max1 +".")
		alert(prompt0)
	return false;
}
}
function openWin(page1)
{
try
{
		msgW.close()
		msgW=null
}
catch(e)
{}

try
{
	msgW=null;
	msgW=window.open(page1,'CSF_Window');
	msgW.focus()
}
catch(e)
{}
}
function setCursorHand(e)
{
	e.style.cursor = "pointer";
}

function showStatus(s)
{
	window.status=s;
	return true;
}
function limitNoDecimalPlaces(field, n)
{
// find if '.' entered
var li = (field.value).indexOf(".")
if(li >= 0)
{
	var s1 = (field.value).substring(0, li)
	var s2 = ((field.value).substring(li+1,(field.value).length))
	if(s2.length > n)
		field.value=s1+"."+s2.substring(0,n)
}
}
function myRound(number,dp)
{
return Math.round(number*Math.pow(10,dp))/Math.pow(10,dp);
}
function myMathFloor(number,dp)
{
return myRound((Math.floor(number*Math.pow(10,dp)))/Math.pow(10,dp),dp)
}
function myMathCeil(number,dp)
{
return myRound((Math.ceil(number*Math.pow(10,dp)))/Math.pow(10,dp),dp)
}
function validDecimalField2_11_1(f, fld, prompt, minV, maxV)
{
	var ret=false
	var field=fld;
	sAll = prompt
// find if '.' entered
var li = (field.value).indexOf(".")
	// if last character is '.'
	if(li >= 0 && (field.value).charAt((field.value).length - 1) == '.')
	{
		if(!isNaN((field.value).substring(0,li)))
		{
			var n=parseInt((field.value).substring(0,li),10)
			if(!(n >= minV && n <= maxV))
			{
				field.value=""
			}
			else
				ret=true
		}
		else
			field.value=""

		if(!ret && sAll!="")
			alert(sAll)
	}
	else
	{
		if(!isDecimal_MinMax11(field,minV,maxV,sAll,(sAll==""?false:true)))
		{
			//if(minV == 0)
			//	field.value=""
			;
		}	
		else
			ret=true
	}
	return ret
}
function isDecimal_MinMax11(field,min1,max1,prompt0,prompt1)
{
var v=field.value
//var int1 = /^\d{1,2}(\.\d{1,})?$/;
var int1 = /^\d{1,}(\.\d{1,})?$/;
var reg=new RegExp(int1);
var ret = reg.test(v);
if(ret && parseFloat(v) >= min1 && parseFloat(v) <= max1)
	return true;
else
	return false;
}
function formatted_toFixed1(_value, np, _sign)
{
// _value has to be a number;
// use getSafeDecimalFieldValue(field) or getSafeFieldValue(field) to pass in _value parameter
return formatCurrency(_value.toFixed(np), _sign)
}
function formatCurrency(num, _sign)
{
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + _sign + num + '.' + cents);
}
function removeCommasDollars(strValue)
{
  var objRegExp = /,|\$/g; //search for commas or $ sign globally
  //replace all matches with empty strings
  return strValue.replace(objRegExp,'');
}
function fixCommasDollarSign(field)
{
field.value = removeCommasDollars(field.value)
}
function fixCommasDollarSign2(field)
{
var in1 = field.value
var out1 = removeCommasDollars(in1)
field.value = out1
if(in1 != out1)
	return true
else
	return false
}
function fixCommasDollarSignAll()
{
	// find all INPUT txt boxes; for each, remove '$' and ','; for each, if there is onkeyup event, execute it
	var eleObjArr=document.getElementsByTagName("input");
	
	var excludeField = document.getElementById("txtGrossSalary")
	
	for(var i = 0; i < eleObjArr.length; i++)
	{
		if(eleObjArr[i] != excludeField)
		{
			fixCommasDollarSign(eleObjArr[i])
			if(eleObjArr[i].getAttribute("onkeyup") != null)
			{
				eleObjArr[i].onkeyup()
			}
		}
	}
}
function adjustDecimalPoint(field)
{
	if((field.value).indexOf(".")==0)
		field.value="0"+(field.value)
}
function setEmptyFieldTo0(field)
{
	var x=0
	if(jsLRTrim(field.value)=="")
		x=0
	else
		x = field.value
	return x;
}
function numberValid2(_val, _sPrompt, _promptYesNo)
{
	if(isNaN(_val))
	{
		if(_promptYesNo)
			alert(_sPrompt)
	}
	return !isNaN(_val)
}
function getDlrPctgString(trueFalse)
{
return ((trueFalse)?"dollar amount":"percentage")
}
function numberOfChars(s, chr)
{
	var ind = 0
	for(var i = 0; i < s.length; i++)
	{
		if(s.charAt(i) == chr)
			ind++;
	}
	return ind
}
function validDate(field)
{
var ret=false;
var strDateArray;
var strDay;
var strMonth;
var strYear;
var strDate=field.value;

var intDay, intMonth, intYear

	if(strDate.indexOf(SEPARATOR) != -1)
	{
		strDateArray = strDate.split(SEPARATOR);
		if (strDateArray.length == 3)
		{
			strDay = jsLRTrim(strDateArray[0]);
			strMonth = jsLRTrim(strDateArray[1]);
			strYear = jsLRTrim(strDateArray[2]);
			if(strYear.length!=4)
				return false

			if(isNaN(strDay) || isNaN(strMonth) || isNaN(strYear))
				return false

			intDay = parseInt(strDay, 10);
			intMonth = parseInt(strMonth, 10);
			intYear = parseInt(strYear, 10);

			if(isInt(intDay) && isInt(intMonth) && isInt(intYear))
			{
				if(intMonth <= 12 && intMonth >= 1)
				{
					if((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intDay > 31 || intDay < 1))
						return false;

					if((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intDay > 30 || intDay < 1))
						return false;

					if(intMonth == 2)
					{
						if(intDay >= 1)
						{
							if(LeapYear(intYear) == true)
							{
								if(intDay > 29)
									return false;
							}
							else
							{
								if(intDay > 28)
									return false;
							}
						}
						else
							return false
					}
					ret=true
				}
			}
		}
	}
	return ret
}
function LeapYear(intYear)
{
	if(intYear % 100 == 0)
	{
		if(intYear % 400 == 0)
			return true;
	}
	else
	{
		if((intYear % 4) == 0)
			return true;
	}
	return false;
}
function selectCmbOption(f, cmb, firtsLetter)
{
cmb.selectedIndex = getCmbIndex(cmb, firtsLetter)
}
function getAllProperties(obj,pr)
{
// accept an object and list all it's attributes (name and value pairs)
    var k=0
    var s=pr + ":             ";
    for (var ii in obj)
    {
    	s=s+ (ii + " - " + ((obj[ii]=='' || obj[ii]==null)?'.':obj[ii]) +"*")
    	k++;
		}
		alert(s)
		   alert("Total number of object's properties: " + k)

}
function debug1(message)
{
	java.lang.System.out.println( message );
}
function isDecimal_MinMaxValue(_value,field,min1,max1,prompt0,prompt1)
{
var v=_value//field.value
//var int1 = /^\d{1,2}(\.\d{1,})?$/;
var int1 = /^\d{1,}(\.\d{1,})?$/;
var reg=new RegExp(int1);
var ret = reg.test(v);
if(ret && parseFloat(v) >= min1 && parseFloat(v) <= max1)
	return true;
else
{
	switchToDIV(field)
	if(prompt1)
		alert(prompt0)
	return false;
}
}
function originalEqualNew(originalValue, newValue)
{
	var rtrn = false
	if(originalValue == newValue)
		rtrn = true
	else
	{
		if(numberValidDecimalNumber(originalValue) && numberValidDecimalNumber(newValue))
		{
			if(parseFloat(originalValue) == parseFloat(newValue))
				rtrn = true
		}
	}
	return rtrn
}
function numberValidDecimalNumber(_val, _sPrompt, _promptYesNo)
{
	var int1 = /^\d{1,}(\.\d{1,})?$/;
	var reg=new RegExp(int1);
	var ret = reg.test(_val);
	if(!ret)
	{
		if(_promptYesNo)
			alert(_sPrompt)
	}
	return ret
}
function reformatTxtField(sOriginalValue)
{
	var xs = (0 + parseFloat(removeCommasDollars((jsLRTrim(sOriginalValue) == "")?"0.00":(jsLRTrim(sOriginalValue)))))
	return removeCommasDollars(formatted_toFixed1(xs, 2, ""))
}
function validDecimalField3(f, fld, checkThisValue, _prompt, minV, maxV)
{
	var ret = false
	var field = fld;
	sAll = _prompt
	if(numberValidDecimalNumber(field.value))
	{
		if(!isDecimal_MinMax3(field, checkThisValue, minV, maxV, sAll, (sAll==""?false:true)))
			;
		else
			ret = true
	}
	else
	{
		if(sAll != "")
		{
			alert(sAll)
			mySelect(field)
		}
		ret = false
	}

	if(!ret && sAll != "")
		mySelect(field)
	return ret
}
function isDecimal_MinMax3(field, checkThisValue, min1, max1, prompt0, prompt1)
{
	var v = checkThisValue
	//var int1 = /^\d{1,2}(\.\d{1,})?$/;
	var int1 = /^\d{1,}(\.\d{1,})?$/;
	var reg = new RegExp(int1);
	var ret = reg.test(v);
	if(ret && parseFloat(v) >= min1 && parseFloat(v) <= max1)
		return true;
	else
	{
		switchToDIV(field)
		if(prompt1)
			//alert("Please enter a number between " + min1 + " and " + max1 +".")
			alert(prompt0)
		return false;
	}
}
function get_max(f, cmb, _max)
{
	return Math.floor(_max/cmb.value)
}
function getNumberFromLabel(l)
{
return parseFloat(removeCommDollSpacPerc(l.toString()))
}

