﻿// JScript File

function entryOnlyNumbers(e) {
  var key //= (window.event) ? event.keyCode : e.which;
  if (window.event)
    key = event.keyCode
  else
    key = e.which
    
  // Was key that was pressed a numeric character (0-9) or backspace (8)?
  if ( key > 47 && key < 58 || key == 8 || key == 0 )
    return; // if so, do nothing
  else // otherwise, discard character

    if (window.event) //IE
      window.event.returnValue = null;
    else //Firefox
      e.preventDefault();
}
function entryPhoneNumber(e) {
  var key //= (window.event) ? event.keyCode : e.which;
  if (window.event)
    key = event.keyCode
  else
    key = e.which
    
  // Was key that was pressed a numeric character (0-9) or backspace (8)?
  if ( key > 47 && key < 58 || key == 8 || key == 0 || key == 45)
    return; // if so, do nothing
  else // otherwise, discard character

    if (window.event) //IE
      window.event.returnValue = null;
    else //Firefox
      e.preventDefault();
}
/*********************************************/
function formatNumber(num,decimalNum,bolLeadingZero,bolParens,bolCommas){ 
    if (isNaN(parseInt(num))) return "NaN";

	var tmpNum = num;
	var iSign = num < 0 ? -1 : 1;		// Get sign of number

	// Adjust number so only the specified number of numbers after
	// the decimal point are shown.
	tmpNum *= Math.pow(10,decimalNum);
	tmpNum = Math.round(Math.abs(tmpNum))
	tmpNum /= Math.pow(10,decimalNum);
	tmpNum *= iSign;					// Readjust for sign
	
	if (isNaN(parseInt(tmpNum))) return "NaN";

	// Create a string object to do our formatting on
	var tmpNumStr = new String(tmpNum);

	// See if we need to strip out the leading zero or not.
	if (!bolLeadingZero && num < 1 && num > -1 && num != 0){
		
		if (num > 0){
			
			tmpNumStr = tmpNumStr.substring(0,tmpNumStr.length);
		}else{
			tmpNumStr = "-" + tmpNumStr.substring(2,tmpNumStr.length);
		}
	}
	// See if we need to put in the commas
	
	if (bolCommas && (num >= 1000 || num <= -1000)) {
		var iStart = tmpNumStr.indexOf(".");
		if (iStart < 0)
			iStart = tmpNumStr.length;

		iStart -= 3;
		while (iStart >= 1) {
			tmpNumStr = tmpNumStr.substring(0,iStart) + "," + tmpNumStr.substring(iStart,tmpNumStr.length)
			iStart -= 3;
		}		
	}

	if (decimalNum > 0){
		var pos = tmpNumStr.indexOf(".");
		var zeros = ".";
		var decimalpart = "";

		if (pos > 0){
			decimalpart = tmpNumStr.substr(pos + 1,tmpNumStr.length); 
	
			zeros = "";
		}
		for (var i=decimalpart.length; i<decimalNum;i++) zeros += "0"; 

		tmpNumStr += zeros; 
	}

	// See if we need to use parenthesis
	if (bolParens && num < 0)
		tmpNumStr = "(" + tmpNumStr.substring(1,tmpNumStr.length) + ")";

	return tmpNumStr;		// Return our formatted string!
}
function onlyNumbersOrLetters(sender){
  var rege = new RegExp("[^\\w]","g");
  var newvalue = sender.value.replace(rege, "");
  if(newvalue == sender.value){
   return;
  }
  sender.value = newvalue;
}
function setValidtorByControl(input,f,ev){
 if(ev == null){
  ev = "keyup";
 }
 var caller = function(){
  f(input);
 }
 var attach = function(el, eType, fn) {
 if(el == null){
  return;
 }
   if (el.addEventListener) {
    el.addEventListener(eType, fn, true);
    return true;
   } 
   else if (el.attachEvent) {
    return el.attachEvent('on' + eType, fn);
   } else {
    el['on' + eType] = fn;
   }
  } 
  attach(input,ev,caller);
}
function setValidatorByControlId(inputid,f,ev){
  var input = document.getElementById(inputid);
  setValidtorByControl(input,f,ev);
}