﻿// ********************************************************************************************************
function FormatPhoneNumber(field,forcenum) {
// Reformat phone number input to match (###) ###-####.
	strip = field.value;
	if (forcenum!=true) { 
	  strip = strip.replace(/[^0-9a-zA-Z\(\) -]+/g, "");
	} else {
	  strip = strip.replace(/[^0-9\(\) -]+/g, "");
	}
	if (field.value!= strip) { field.value = strip; return; }

	num = field.value;
	num = num.replace(/[^0-9\(\) -]+/g, "");
	if (strip!= num) { return; }
	if (num.length>14) { field.value = num.substring(0,14); return; }
	
	if (num.match(/\(\d{3}\) \d{3}-\d{4}/) != null) return;
	num = num.replace(/[^0-9]+/g, "");
	if (num.length==11 && num.charAt(0)=="1") num = num.substring(1,11);
	if (num.length==10) {
	  num = "(" + num.substring(0,3) + ") " + num.substring(3,6) + "-" + num.substring(6,10);
		field.value = num;
	}
}

function LimitText(field, length) {
	if (field.value.length > length) field.value = field.value.substring(0, length);
}

function RemoveBreaks(field) {
	v = field.value;
	v = v.replace(/\r/, ' ').replace(/\n/, '');
	if (v!=field.value) field.value = v;
}

function Trim(text) {
	return (text.replace(/^\W+/,'')).replace(/\W+$/,'');
}

function FormatNumber(num,dec,zero)
{ 
  if (isNaN(parseFloat(num))) return "";
  if (zero==false && num==0) return "";

  var neg = (num < 0);
  
	var tmpNum = num;
	tmpNum *= Math.pow(10,dec);
	tmpNum = Math.round(Math.abs(tmpNum))
	tmpNum /= Math.pow(10,dec);
	
	if (neg) tmpNum *= -1;
	
	var tmpNumStr = new String(tmpNum);
	if (dec>0) {
	  var pos = tmpNumStr.lastIndexOf(".");
	  if (pos == -1) {
	    tmpNumStr += "." + StrRepeat("0",dec);
	  } else if (pos < dec + 1) {
  	  tmpNumStr += StrRepeat("0",pos-dec);
	  }
	}
	
	return tmpNumStr;
}

function StrRepeat(str,mult) {
  return new Array(mult+1).join(str);  
}

