// ******************************************
// Formatting functions.
function phoneFormat(field) {
	var m_value = field.value;
	var formatted_value = "";
	var international = false;
	if(m_value.match(/^\+/)) {
		international = true;
	}
	m_value = m_value.replace(/\D/g, "");
	var valueArr = m_value.split("");
	if(international) {
		for(var c=0; c < valueArr.length; c++) {
			if(c == 0) {
				formatted_value += "+";
			} else if(c == 2) {
				formatted_value += " (";
			} else if(c == 6) {
				formatted_value += ") ";
			}
			formatted_value += valueArr[c];
		}
	} else if(valueArr.length == 7) {
		for(var c=0; c < valueArr.length; c++) {
			if(c == 3) {
				formatted_value += "-";
			}
			formatted_value += valueArr[c];
		}
	} else if(valueArr.length == 10) {
		for(var c=0; c < valueArr.length; c++) {
			if(c == 0) {
				formatted_value += "(";
			} else if(c == 3) {
				formatted_value += ") ";
			} else if(c == 6) {
				formatted_value += "-";
			}
			formatted_value += valueArr[c];
		}
	} else if(valueArr.length == 11) {
		for(var c=0; c < valueArr.length; c++) {
			if(c == 1) {
				formatted_value += "(";
			} else if(c == 3) {
				formatted_value += ") ";
			} else if(c == 6) {
				formatted_value += "-";
			}
			formatted_value += valueArr[c];
		}
	} else {
		for(var c=0; c < valueArr.length; c++) {
			formatted_value += valueArr[c];
		}
	}
	field.value = formatted_value;

	return true;
}

function moneyFormat(field) {
	var value = field.value;
	var num = value.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));
	if(num == "0" && cents == "00") num = "";
	num = (((sign)?'':'-') + '$' + num + '.' + cents);
	field.value = num;
	return true;
}

function numberFormat(field) {
	var value = field.value;
	var num = value.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));
	if(num == "0") num = "";
	num = (((sign)?'':'-') + num + '.' + cents);
	field.value = num;
	return true;
}
