function trim(strText) { 
    // this will get rid of leading spaces 
    while (strText.substring(0,1) == ' ') 
        strText = strText.substring(1, strText.length);

    // this will get rid of trailing spaces 
    while (strText.substring(strText.length-1,strText.length) == ' ')
        strText = strText.substring(0, strText.length-1);

   return strText;
} 


function validemail(input){
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(input)){return(true);}
	else{return(false);}
}

	
function validurl(input){
	var j=new RegExp();
	j.compile("^[A-Za-z]+://[A-Za-z0-9-]+\.[A-Za-z0-9]+"); 
	if(!j.test(input)){return(false);}
	return(true);
}


function inputmask(input,textbox,what){
	i=0;
	while(i<input.length){
		if(what=='alpha'){
			if((input.charAt(i)>='A' && input.charAt(i)<='Z') || (input.charAt(i)>='a' && input.charAt(i)<='z') || input.charAt(i)==' ' || input.charAt(i)=='.' || input.charAt(i)=="'" || input.charAt(i)=='-' || input.charAt(i)==','){i++;}
			else{input=input.substring(0,i)+input.substring(i+1,input.length);}			
		}
		else if(what=='decimal'){
			if(input.charAt(i)=="." || (isFinite(input.charAt(i)) && input.charAt(i)!=" ")){i++;}
			else{input=input.substring(0,i)+input.substring(i+1,input.length);}
		}
		else if(what=='numeric'){
			if(isFinite(input.charAt(i)) && input.charAt(i)!=" "){i++;}
			else{input=input.substring(0,i)+input.substring(i+1,input.length);}
		}
		else{
			if(isFinite(input.charAt(i)) && input.charAt(i)!=" "){i++;}
			else{input=input.substring(0,i)+input.substring(i+1,input.length);}
		}
	}
	if(input.length>3 && what=='phone'){input=input.substring(0,3)+"-"+input.substring(3,input.length);}
	if(input.length>7 && what=='phone'){input=input.substring(0,7)+"-"+input.substring(7,input.length);}
	textbox.value=input;
}


function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

function isLike(needle,haystack){
	haystack=haystack.toUpperCase();
	needle=needle.toUpperCase();
	var ans=haystack.indexOf(needle);
	if(ans==-1){return(false);}
	return(true);
}


function isInteger(s) {
	return (s.toString().search(/^-?[0-9]+$/) == 0);
}


function isUnsignedInteger(s) {
	return (s.toString().search(/^[0-9]+$/) == 0);
}

function injectText(textElement,txt){
  var pos=getCaretPos(textElement);
  var text=textElement.value;
  textElement.value=text.substr(0,pos)+txt+text.substr(pos);
  setCaretPos(textElement,pos+txt.length);
}

function setCaretPos(textElement, caretPos) {
  var elem = textElement;

  if(elem != null) {
	 if(elem.createTextRange) {
		var range = elem.createTextRange();
		range.move('character', caretPos);
		range.select();
	 }
	 else {
		if(elem.selectionStart) {
		   elem.focus();
		   elem.setSelectionRange(caretPos, caretPos);
		}
		else{elem.focus();}
	 }
  }
}

function getCaretPos(node) {
  if (node.selectionStart) {
	 return node.selectionStart;
  }
  else if (!document.selection) {
	 return 0;
  }

  var c = "\001",
  sel = document.selection.createRange(),
  dul = sel.duplicate(),
  len = 0;

  dul.moveToElementText(node);
  sel.text = c;
  len = dul.text.indexOf(c);
  sel.moveStart('character',-1);
  sel.text = "";
  return len;
}

