////////////////////////////////////////////////////////////////////////
//Function Takes a String/Number and Formats it into a Money value//
////////////////////////////////////////////////////////////////////////
function Currency(Num){
   Num = Num.replace(/,/g,"");
   Num = Num.replace(/\$/g,"");
   
   workNum=Math.abs((Math.round(Num*100)/100));workStr=""+workNum
   if (workStr.indexOf(".")==-1){workStr+=".00"}
   dStr=workStr.substr(0,workStr.indexOf("."));dNum=dStr-0
   pStr=workStr.substr(workStr.indexOf("."))
   while (pStr.length<3){pStr+="0"}
	   if (dNum>=1000) {
		  dLen=dStr.length
		  dStr=parseInt(""+(dNum/1000))+","+dStr.substring(dLen-3,dLen)
	   }

		if (dNum>=1000000) {
		  dLen=dStr.length
		  dStr=parseInt(""+(dNum/1000000))+","+dStr.substring(dLen-7,dLen)
		}	
	retval = dStr + pStr 
   
   if (Num<0) {retval="("+retval+")"}
   return "$"+retval
}

////////////////////////////////////////////////////////////////////////
///Function Allows only Integers
////////////////////////////////////////////////////////////////////////
function IntegersOnly(KeyCode){
	if(KeyCode >= 48 && KeyCode <= 57){
		event.returnValue = true;
	}else{
		event.returnValue = false;
	}
}

////////////////////////////////////////////////////////////////////////
//Function Allows only Characters 
//Argument: An Event's Key Code
////////////////////////////////////////////////////////////////////////
function AlphaOnly(KeyCode){
	if((KeyCode >= 65 && KeyCode <=90) || (KeyCode >= 97 && KeyCode <= 122)){
		event.returnValue = true;
	}else{
		event.returnValue = false;
	}
}

////////////////////////////////////////////////////////////////////////
//Function Doesn't allow Double Quotes to pass the event.  
//Argument: An Event's Key Code
////////////////////////////////////////////////////////////////////////
function NoDoubleQuotes(KeyCode){
	if(KeyCode == 34){event.returnValue = false;}
}

//////////////////////////////////////////////////////////////////////////
//Function Allows only Integers and one decimal With a precision of 2
//Arguments: 1)An Events Key Code
//			 2)The calling Object -- Usually a text object
//////////////////////////////////////////////////////////////////////////
function CurrencyOnly(KeyCode,obj){
	if((KeyCode >= 48 && KeyCode <= 57) || KeyCode == 46){
		
		if(KeyCode == 46){
			//var Temp = eval('document.all(\'' + obj.name + '\').value;');
			var Temp = obj.value;
			var Cnt = 0;
				for(x=0;x<=Temp.length - 1;x++){
					if(Temp.charCodeAt(x) == 46){Cnt += 1}
				}
			if(Cnt == 1){
				event.returnValue = false;
			}else{
				event.returnValue = true;
			}			
		}else{
			//Here Check for the precision
			var strArr = (obj.value).split(".");
			if((obj.value).indexOf(".") != -1){
				
			}else{
				event.returnValue = true;
			}
		}
	}else{
		event.returnValue = false;
	}
}

//////////////////////////////////////////////////////////////////////////
//Function Allows only Integers and one decimal
//Arguments: 1)An Events Key Code
//			 2)The calling Object -- Usually a text object
//////////////////////////////////////////////////////////////////////////
function DoublesOnly(KeyCode,obj){
	if((KeyCode >= 48 && KeyCode <= 57) || KeyCode == 46){
		
		if(KeyCode == 46){
			//var Temp = eval('document.all(\'' + obj.name + '\').value;');
			var Temp = obj.value;
			var Cnt = 0;
				for(x=0;x<=Temp.length - 1;x++){
					if(Temp.charCodeAt(x) == 46){Cnt += 1}
				}
			if(Cnt == 1){
				event.returnValue = false;
			}else{
				event.returnValue = true;
			}			
		}else{
			event.returnValue = true;
		}
	}else{
		event.returnValue = false;
	}
}

//////////////////////////////////////////////////////////////////////////
//Function Allows only positive and negative Integers and one decimal
//Arguments: 1)An Events Key Code
//			 2)The calling Object -- Usually a text object
//////////////////////////////////////////////////////////////////////////
function DoublesOnlyNeg(KeyCode,obj){
	if((KeyCode >= 48 && KeyCode <= 57) || KeyCode == 46 || KeyCode == 45){
		
		if(KeyCode == 46){
			var Temp = obj.value;
			var Cnt = 0;
				for(x=0;x<=Temp.length - 1;x++){
					if(Temp.charCodeAt(x) == 46){Cnt += 1}
				}
			if(Cnt == 1){
				event.returnValue = false;
			}else{
				event.returnValue = true;
			}			
		}else{
			event.returnValue = true;
		}
	}else{
		event.returnValue = false;
	}
}
function SelectAllText(obj){
	//obj.select();
	glbSelect = true;
}




function IsEmpty(strVal){ ///AS BOOLEAN

	var NewStr = (strVal).replace(/\s*/,"");
	var retVal = (NewStr.length == 0)? true:false;
	
	return retVal;
}

function StripOpenParen(s){
	return s.replace(/^\(/,"-");
}
function StripEndParen(s){
	return s.replace(/\)$/,"");
}
function StripDollar(s){
	return s.replace(/\$/,"");
}
function LTrim(s){
	return s.replace(/^\s*/,"")
}

function RTrim(s){
	return s.replace(/\s*$/,"");
}

function Trim(s){
	return RTrim(LTrim(s));
}
function Round(Num, Places) {
   if (Places > 0) {
      if ((Num.toString().length - Num.toString().lastIndexOf('.')) > (Places + 1)) {
         var Rounder = Math.pow(10, Places);
         return Math.round(Num * Rounder) / Rounder;
      }
      else return Num;
   }
   else return Math.round(Num);
}


//////////////////////////////////////////////////////////////////////////
//Function Checks for a valid email address format
//Arguments: 1) Email Address to validate
//////////////////////////////////////////////////////////////////////////

function IsValidEmail(str){
var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	return filter.test(str)
}