if(typeof(Xaprb)==='undefined'){Xaprb=new Object();}
Xaprb.InputMask={masks:{date_iso:{format:'    -  -  ',regex:/\d/},date_us:{format:'  /  /    ',regex:/\d/},time:{format:'  :  :  ',regex:/\d/},phone:{format:'(   )   -    ',regex:/\d/},ssn:{format:'   -  -    ',regex:/\d/},visa:{format:'    -    -    -    ',regex:/\d/}},setupElementMasks:function(){$$('.input_mask').each(function(item){Event.observe(item,'keypress',Xaprb.InputMask.applyMask.bindAsEventListener(item),true);});},applyMask:function(event){var match=/mask_(\w+)/.exec(this.className);if(match.length==2&&Xaprb.InputMask.masks[match[1]]){var mask=Xaprb.InputMask.masks[match[1]];var key=Xaprb.InputMask.getKey(event);if(Xaprb.InputMask.isPrintable(key)){var ch=String.fromCharCode(key);var str=this.value+ch;var pos=str.length;if(getCaret(this)==(pos-1)){if(mask.regex.test(ch)&&pos<=mask.format.length){if(mask.format.charAt(pos-1)!=' '){str=this.value+mask.format.charAt(pos-1)+ch;}
this.value=str;}
Event.stop(event);}}}},isPrintable:function(key){return(key>=32&&key<127);},getKey:function(e){return window.event?window.event.keyCode:e?e.which:0;}};function getCaret(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;}