// JavaScript Document
var defaultEmptyOK = true;

//Regular Expression patterns 
//var reInteger = /^\d\d\d\d\d\d\d$/;

//seven digits
var rePhone = /^\d{7}$/;

//one or more digits
var reInteger = /^\d+$/;

var reEmail = /^.+\@.+\..+$/;

var reDate = /^\d{2}\/d{2}\/d{4}$/;

function validateNumber(field) 
{
  	
	var result = isInteger(field.value, defaultEmptyOK);
	
	if(result == false)
	   {
		  alert("Invalid Number.\r\nPlease enter numbers only.");
		  
		  //put focus on field
		  field.focus();
		  field.select();
		  
		  return false;
	   }

 	return true;
	  
} 

function validatePhoneNumber(field) 
{
  	
	var result = isPhoneNumber(field.value, defaultEmptyOK);
	
	if(result == false)
	   {
		  alert("Invalid Phone Number.\r\nPlease enter a 7 digit number.");
		  
		  //put focus on field
		  field.focus();
		  field.select();
		  
		  return false;
	   }

 	return true;
	  
} 

function validateEmail(field){
	
	if(!isEmail(field.value)){
	
		alert("Invalid Email");
		
		//put the focus on field
		field.focus();
		field.select();
			
		return false;
	
	}
	
	return true;
}

function validateMoney(field, emptyOk) 
{
	 var result=false;
  	
	if(validateMoney.arguments.length == 1)
		result = isMoney(field.value);
	else
		result = isMoney(field.value, emptyOk);	
	
	if(result == false)
	   {
	   	  
		  alert("Invalid money format.\r\nThe correct format is 'nnnnn.xx'");
		  //put focus on field
		  field.focus();
		  field.select();
		  
		  return false;
	   }

 	return true;
	  
} 


function isInt(textObj) {
   var newValue = textObj.value;
   var newLength = newValue.length;
   var aChar = "";
   
   for(var i = 0; i != newLength; i++) {
      aChar = newValue.substring(i,i+1);
      if(aChar < "0" || aChar > "9") {
         return false;
      }
   }
   return true;
}



function isPhoneNumber (s)

{   var i;

    if (isEmpty(s)) 
       if (isPhoneNumber.arguments.length == 1) 
	   		return defaultEmptyOK;
       else return (isPhoneNumber.arguments[1] == true);

    return rePhone.test(s);
}


function isInteger (s)
{   var i;

    if (isEmpty(s)) 
       if (isInteger.arguments.length == 1) 
	   		return defaultEmptyOK;
       else return (isInteger.arguments[1] == true);

    return reInteger.test(s);
}

// isEmail (STRING s [, BOOLEAN emptyOK])
// 
// Email address must be of form a@b.c -- in other words:
// * there must be at least one character before the @
// * there must be at least one character before and after the .
// * the characters @ and . are both required
//
// For explanation of optional argument emptyOK,
// see comments of function isInteger.


function isEmail (s)
{   
	
   if (isEmpty(s)) 
    		
      if (isEmail.arguments.length == 1) 
	  		return defaultEmptyOK;
	  else return (isEmail.arguments[1] == true);
	  
    else {
       return reEmail.test(s);
    }
	
}

function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}


function isMoney(str) {

    //check for blank fields and determine how to handle
	if (isEmpty(str)) 
      if (isMoney.arguments.length == 1) 
	  		return defaultEmptyOK;
	  else return (isMoney.arguments[1] == true);
	  
     var myexp = /^\d+\.\d{0,2}$/;
     var regex = new RegExp(myexp);
     return regex.test(str);
}


//Currency Formatter
function currencyFormatted(amount)
{
	var i = parseFloat(amount);
	if(isNaN(i)) { i = 0.00; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	s = new String(i);
	if(s.indexOf('.') < 0) { s += '.00'; }
	if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
	s = minus + s;
	return s;
}




