// [dFilter] - A Numerical Input Mask for JavaScript
// Written By Dwayne Forehand - March 27th, 2003
// Please reuse & redistribute while keeping this notice.

var dFilterStep
var strUserAgent = navigator.userAgent.toLowerCase(); 
var isIE = strUserAgent.indexOf("msie") > -1; 
function dFilterStrip (dFilterTemp, dFilterMask)
{
    dFilterMask = replace(dFilterMask,'#','');
    for (dFilterStep = 0; dFilterStep < dFilterMask.length++; dFilterStep++)
		{
		    dFilterTemp = replace(dFilterTemp,dFilterMask.substring(dFilterStep,dFilterStep+1),'');
		}
		return dFilterTemp;
}

function dFilterMax (dFilterMask)
{
 		dFilterTemp = dFilterMask;
    for (dFilterStep = 0; dFilterStep < (dFilterMask.length+1); dFilterStep++)
		{
		 		if (dFilterMask.charAt(dFilterStep)!='#')
				{
		        dFilterTemp = replace(dFilterTemp,dFilterMask.charAt(dFilterStep),'');
				}
		}
		return dFilterTemp.length;
}

function dFilter (objEvent, textbox, dFilterMask)
{		
var key; 
if (isIE) {
 key= objEvent.keyCode; 
} else {
 key= objEvent.which;
 } 

	
		dFilterNum = dFilterStrip(textbox.value, dFilterMask);
		if (key==9)
		{
		    return true;
		}
		else if (key==8&&dFilterNum.length!=0)
		{
		 	 	dFilterNum = dFilterNum.substring(0,dFilterNum.length-1);
		}
 	  else if ( ((key>47&&key<58)||(key>95&&key<106)) && dFilterNum.length<dFilterMax(dFilterMask) )
		{
		//Added by Toby J Boyd  KeyPad wanted to produced number 7 = e etc.
			switch (key) 
			{
			case 96: 
			  key = 48
			  break
			case 97: 
			  key = 49
			  break
			case 98: 
			  key = 50
			  break
			case 99: 
			 key = 51
			  break
			case 100: 
			  key = 52
			  break
			case 101: 
			  key = 53
			  break
			case 102: 
			  key = 54
			  break
			case 103: 
			  key = 55
			  break
			case 104: 
			  key = 56
			  break
			case 105: 
			  key = 57
			  break    
			}

                  	dFilterNum=dFilterNum+String.fromCharCode(key);
        		//dFilterNum=String.fromCharCode(key);
                   }
		var dFilterFinal='';
    for (dFilterStep = 0; dFilterStep < dFilterMask.length; dFilterStep++)
		{
        if (dFilterMask.charAt(dFilterStep)=='#')
				{
					  if (dFilterNum.length!=0)
					  {
				              dFilterFinal = dFilterFinal + dFilterNum.charAt(0);
					      dFilterNum = dFilterNum.substring(1,dFilterNum.length);
					  }
				    else
				    {
				        dFilterFinal = dFilterFinal + "";
				    }
				}
		 		else if (dFilterMask.charAt(dFilterStep)!='#')
				{
				    dFilterFinal = dFilterFinal + dFilterMask.charAt(dFilterStep); 			
				}
//		    dFilterTemp = replace(dFilterTemp,dFilterMask.substring(dFilterStep,dFilterStep+1),'');
		}

		textbox.value = dFilterFinal;
    return false;
}

function replace(fullString,text,by) {
// Replaces text with by in string
    var strLength = fullString.length, txtLength = text.length;
    if ((strLength == 0) || (txtLength == 0)) return fullString;

    var i = fullString.indexOf(text);
    if ((!i) && (text != fullString.substring(0,txtLength))) return fullString;
    if (i == -1) return fullString;

    var newstr = fullString.substring(0,i) + by;

    if (i+txtLength < strLength)
        newstr += replace(fullString.substring(i+txtLength,strLength),text,by);

    return newstr;
}

//Format Commas

<!-- Original:  Mark Henwood (mark_henwood@hotmail.com) -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
// Strips out the dollar sign and commas so it the clean data can be formatted
function stripDollarSign(id) { 
	for (i = 0; i < id.length; i++) { 
		ch = id.substring(i, i + 1); 
		if ((ch == "$") || (ch == ",")) { 
			id = id.substring(0,i)+id.substring(i+1,id.length) 
			i=i-1 
		} 
	} 
	return id;
} 

function commaSplit(srcNumber) 
{
	var txtNumber = '' + srcNumber;
	txtNumber = stripDollarSign(txtNumber);
	 
	var rxSplit = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
	var arrNumber = txtNumber.split('.');
	arrNumber[0] += '.';
	do {
		arrNumber[0] = arrNumber[0].replace(rxSplit, '$1,$2');
	} while (rxSplit.test(arrNumber[0]));
	if (arrNumber.length > 1) {
		return arrNumber.join('');
	}else {
		return arrNumber[0].split('.')[0];
	}
}

function removeCommas( strValue ) 
{
	var objRegExp = /,/g; //search for commas globally
	return strValue.replace(objRegExp,'');
}

//*******for attaching $ in string***
function formatCurrency(num)
{
		
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)?'':'-') + '$' + num + '.' + cents);
					
}


//  End -->

