﻿	function numericKeyOnly( eventObj, obj, decimalFlag, maxValue, minValue ) {
		var keyCode;
		// Check For Browser Type
		if (document.all){
			keyCode=eventObj.keyCode;
		}
		else{
			keyCode=eventObj.which;
		}
		var str=obj.value;
		if(keyCode==46){
			if (str.indexOf(".")>=0 || decimalFlag == false || str.length == 0){
				return false;
			}
		}
		if ( decimalFlag ) {
    		var decimalPos = str.indexOf(".");
    		if ( decimalPos >= 0 )
    		   if ( (decimalPos + 3) == str.length ) return false; //2 decimal place only
		}
		if((keyCode<48 || keyCode >58) && (keyCode != 46) && (keyCode != 8) && (keyCode != 0)){ // Allow only integers and decimal points
//		if((keyCode<48 || keyCode >58) && (keyCode != 8) && (keyCode != 0)){ // Allow only integers only without decimal
			return false;
		}
		if (maxValue || minValue) {
		    var newValue = getValueBeforeCursor(obj);
		    newValue += String.fromCharCode(keyCode) + getValueAfterCursor(obj);
		    if (maxValue) if (newValue > maxValue) return false;
		    if (minValue) if (newValue < minValue) return false;
		}
		return true;
	}
	
	function getCursorPosition(o) {
	    if (o.value.length == 0) return 0;
	    var selStart = 0;
	    if (o.createTextRange) {
		    var r = document.selection.createRange().duplicate();
		    r.moveEnd('character', o.value.length);
		    if (r.text == '') selStart = o.value.length;
		    else selStart = o.value.lastIndexOf(r.text);
	    } else selStart = o.selectionStart;
	    return selStart;
	}
	function getValueBeforeCursor(o) {
	    var selStart = 0;
	    if (o.value.length == 0) return "";
	    if (o.createTextRange) {
		    var r = document.selection.createRange().duplicate();
		    r.moveEnd('character', o.value.length);
		    if (r.text == '') selStart = o.value.length;
		    else selStart = o.value.lastIndexOf(r.text);
	    } else selStart = o.selectionStart;
	    if (selStart == 0) return "";
	    return o.value.substring(0,selStart);
    }

    function getValueAfterCursor(o) {
	    var selEnd = 0;
	    if (o.value.length == 0) return "";
	    if (o.createTextRange) {
		    var r = document.selection.createRange().duplicate();
		    r.moveStart('character', -o.value.length);
		    selEnd = r.text.length;
	    } else selEnd = o.selectionEnd;
	    if (selEnd == o.value.length) return "";
	    return o.value.substring(selEnd);
    }
