﻿(function($){eBags.validate={maxNum:function(selector,maxValue,precision){precision=precision||2;$(selector).blur(function(){var val=$(this).val();if(parseFloat(val)>maxValue){$(this).val((maxValue).toFixed(precision));}});},isFloat:function(selector,event){event=event||'keypress';eBags.validate.input(selector,/^\d*(\.\d*)?$/,event);},isInt:function(selector,event){event=event||'keypress';eBags.validate.input(selector,/^\d*$/,event);},input:function(selector,regex,event){event=event||'blur';$(selector).bind(event,function(e){var val,valObj,code=(event==='keypress')?'which':'keyCode';if(e[code]&&(e[code]==8||e[code]==0)){return true;}valObj=removeSelectedText(this);if(e[code]){val=valObj.begin+String.fromCharCode(e[code])+valObj.end;}else{val=$(this).val();}return regex.test(val);});}};function removeSelectedText(elem){var beginIdx=0,endIdx=0,valBegin='',valEnd='',raw=$(elem).val();if(elem.setSelectionRange){beginIdx=elem.selectionStart;endIdx=elem.selectionEnd;}else if(document.selection&&document.selection.createRange){var range=document.selection.createRange();beginIdx=0-range.duplicate().moveStart('character',-100000);endIdx=beginIdx+range.text.length;}if(beginIdx>0){valBegin=raw.substring(0,beginIdx);}if(endIdx<raw.length){valEnd=raw.substring(endIdx);}return{begin:valBegin,end:valEnd};}})(jQuery);